Engineering Wireless-Based Software Systems

friendlybathΚινητά – Ασύρματες Τεχνολογίες

12 Νοε 2013 (πριν από 3 χρόνια και 11 μήνες)

87 εμφανίσεις

Engineering Wireless
-
Based Software Systems



Course No.: CMPE 296A


Course Name: Design of Wireless
-
Based Software Systems


Instructor: Jerry Gao, Ph.D.


Copyright@2004. Jerry Gao, Ph.D

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Wireless
-
Based System Development Process

Wireless

Domain Analysis

System Analysis

System Design

System

Implementation

System Integration

and Testing

System

Deployment

Network Infrastructure Analysis

Business Workflow Analysis

Mobile User & Data Analysis

Domain Function Analysis

Communication Analysis

Data, Function Analysis

Mobile System Behavior Analysis

Technology & Technical Analysis

Comm. & Architecture Design

Wireless Data & Function Design

Dynamic Behavior Design

Technical Solution Design

Wireless/Fixed Protocol Coding

Wireless Application Server Coding

Mobile Client Coding

Facilitating Function Coding

Mobile Client
-
Server Integration

Wireless & Fixed Network Integration

Wireless Function and System Testing

Performance & Deployment Testing

Network & Service Deployment

System Function Deployment

Mobile Device Deployment

Customer Technical Support

Engineering Perspectives

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

-

Network Communication Infrastructures, Protocols and Connectivity Interfaces


-

Mobile Operation Environments and Mobile Technology Selection


-

Wireless Security Issues and Solutions


-

Mobile Device and Mobile User Interfaces


-

Various Standards

-

Networking connectivity and protocol standards

-

Wireless security standards

-

Mobile technology standards

Engineering Perspectives
-

Requirements

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Basic requirements:




High reliability: deliver reliable functions and services to mobile users




Secured functional services: provide necessary user privacy and required
security solutions




Standardization: choose and adopt well
-
defined standards in wireless
communications and mobile technologies.




Platform independence: support mobile users with platform
-
independent mobile
client software to copy with diverse wireless devices.




Good performance: provide efficient functional services to meet mobile users’
performance expectation




Scalability: support functional services to mobile users in a large scale.

Development Issues, Concerns, and Challenges

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Major Issues:




Poor reliability in networking communications.




Existing security solutions and techniques focus on wired networks. They are not
good enough for wireless networking and mobile
-
based application systems.




Inconsistent standards in wireless networking, air interfaces, mobile technologies,
and operation environments.




Diversified mobile devices and operation environments.




Lack of experienced engineers in developing wireless
-
based software systems




Lack of mature development environments and tools to support mobile software
development and debugging.




Lack of testing tools for wireless
-
based application systems.

Development Issues, Concerns, and Challenges

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Major Concerns:




Reliability:



How to deliver reliable wireless communications, functions and services to
mobile users?



Security:



How to provide end
-
to
-
end secure functions and services to solutions?



How to select or defined a proper set of security solutions for mobile users and
involved parties to support secured communications over wireless networks or
wireless internet, secured sessions for mobile access transactions, authentications
and certifications for all parties?




Standardization:



How to select standardized wireless networks, air interfaces, mobile
technologies, and mobile operation environments for wireless
-
based software
system and applications?



Mobility:



How to provide location
-
based functions and information services?



How to support mobile users in a global scope with universal mobile device IDs?

Development Issues, Concerns, and Challenges

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Concerns:




Mobile user person ability:



How to provide mobile uses with customizable mobile interface presentation,
formats, and services?



How to provide mobile users with profile
-
based information, contents, and
services?



Platform independence:



How support mobile users with platform
-
independent mobile client software to
copy with diverse wireless devices?




System performance:



How to provide efficient functional services to meet mobile users’ performance
expectation?




Scalability:



How to support scalable functional services to mobile users in a large scale?

Development Issues, Concerns, and Challenges

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Concerns:




Mobile data accessibility:



How to provide mobile uses with customizable mobile interface presentation,
formats, and services?



How to provide mobile users with profile
-
based information, contents, and
services?



Mobile information delivery:



How to deliver diversified mobile information in a cost
-
effective manner?



How to support mobile users with various peer
-
to
-
peer information delivery
service?



Mobile data presentation:



How to allow mobile users to customize and configure their selected formats of
mobile data?



How to present mobile data in a concise and easy understandable way?

Development Issues, Concerns, and Challenges

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Major Challenges:




Network challenges:



Limited bandwidth and unreliable wireless communications





Security challenges:



Existing security solutions for wired networks and web
-
based applications may not
be suitable (or may not be good enough) to wireless networks and wireless or
wireless Internet
-
based application systems.




Mobile device challenges:



Limited power, storage, CPU computing power, small display screens




Technology challenges:



Fast updated of diversified wireless networks and mobile technologies, and
operation environments.

Development Issues, Concerns, and Challenges

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Major Challenges:



Standard challenges:



Region
-
based wireless networking standards in wireless connectivity & air
interfaces.



Vendor
-
driven standards in operation environments and mobile technologies




Design challenges:


Reliability, scalability, security, and mobility, and location
-
based




Implementation challenges:



Lack of mature software development and debugging tools to assist engineers to
create mobile client software for mobile devices. (J2ME
-
based or XML
-
based)



Testing challenges:



Lack of automatic tools and facilities for testing wireless
-
based software
application systems.



Lack of research results and systematic solutions for validating wireless
security, wireless scalability, performance, and mobility

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Wireless Domain Analysis

Wireless

Connectivity Analysis

Wireless Standard

& Technology Analysis

Wireless User


Analysis

Wireless Data &

Accessibility Analysis

Wireless Function


and Service Analysis

Wireless Security

Analysis

Wireless Network Infrastructure

Wireless Connectivity Protocols

Wireless and Wired Network Connectivity

Wireless Connectivity on Mobile Devices

Wireless Network Standards

Wireless Connectivity Standards

Mobile Technology Standards

Mobile Operation Environments

Mobile User Groups

Mobile User Mobility Analysis

Mobile Access Patterns

Mobile User Profile Analysis

Wireless/Communication Data

Wireless Data Repository & Storage

Mobile Users’ Data Requirements

Wireless Data Accessibility

Wireless Connectivity Functions

Wireless Domain
-
Oriented Functions

Wireless Service Functions

Mobile Users’ Accessible Functions

Security in Wireless Networking

Security in Wireless Communications

Secured Wireless Access Sessions

Mobile User Privacy & Security Needs

Wireless
-
Based System Analysis

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

System Infrastructure

& Architecture Analysis

System User


Analysis & Modeling

System Function


Analysis & Modeling

System Data Analysis

& Modeling

System Behavior


Analysis & Modeling

Object
-
Oriented

Analysis & Modeling

Wireless
-
Based System Infrastructure

System Components and Connections

Mobile & Other Client Architecture

Wireless & Other Server Architecture

System User Grouping

System User Scenario Analysis

Mobile & Other User Navigation

Service Function Analysis

Server Function Analysis

Mobile Function Analysis

System Data & Relation Analysis

System Repository Analysis

System Accessibility Analysis

Connectivity Behavior Analysis

Client
-
server Interaction Modeling

Server Behavior Analysis & Modeling

OO Analysis & Modeling for Comm.

OO Analysis & Modeling for Servers

OO Analysis & Modeling for Clients

Wireless
-
Based System Analysis and Modeling

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Analysis & Modeling

Modeling Notations

Descriptions

System Infrastructure
Analysis & Modeling

System Connectivity Diagram (SCD)

SCDs

are

used

to

model

the

connectivity

among

system

servers

and

components

in

a

wireless
-
based

system

infrastructure


System Architecture
Analysis & Modeling

Architecture Context Diagram (ACD) or
Architecture Flow Diagram (AFD)

ACDs/AFDs

are

used

to

model

the

system

architecture

and

client/server

architectures

in

terms

of

black

function

boxes

and

connection

flows

among

them
.

System User

Analysis & Modeling

User Scenario Diagram (USD)

USDs

can

be

used

to

model

various

user

scenarios

for

each

user

group

in

the

system
.

User Navigation Diagram (UND)

UNDs

can

be

used

to

model

system
-
user

interfaces

in

terms

of

user

navigation

flows

among

different

user

screens

(deck

cards

or

pages)
.

System Data

Analysis & Modeling

Entity Relation Diagram (ERD)

ERDs

can

be

used

to

model

system

data

classes,

their

attributes

and

relationships

for

each

relational

data

repository
.

Class Relation Diagram (CRD)

CRDs

can

be

used

to

model

identified

classes

and

their

relationships

for

an

object
-
oriented

data

repository
.

System Function

Analysis & Modeling

Data Flow Diagram (DFD)

DFDs

can

be

used

to

model

system

functions

in

terms

of

functional

processes

and

data

flow

among

them
.


Object
-
Oriented

Analysis & Modeling

Class Relation Diagram (CRD)

CRDs

can

be

used

to

model

identified

classes

and

their

relationships

for

each

system

component
.

System Behavior

Analysis & Modeling

Component Sequence Diagram (CSD)

CSDs

can

be

used

to

model

the

event
-
based

interactions

among

different

system

components
.


Message Sequence Diagram (MSD)

MSDs

can

be

used

to

model

wireless/wired

protocol
-
based

message

communications

among

involved

parties
.

State Transition Diagram (STD)

STDs

can

be

used

to

model

state
-
based

dynamic

system

behaviors

in

terms

of

states

and

transitions

which

changes

system

states

from

one

to

another
.


System Infrastructure Analysis & Modeling


SC Diagram

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Text Chat User
Details
Repository
Web
Registration
Client

Internet
Web Server
Servlets
Database
Server
Customer
Details
Repository
Mobile
User
Mobile Client Software for a Wireless
Multimedia
based Text Chat System


Wireless
Network
Text Chat
Client
(J2ME)
Multimedia
Client
(Audio/
Video)
(J2ME)
Wireless Multimedia
based Text Chat
Service Provider
Server
SJSU
Jabber
Server
SJSU
Multimedia
Server
HTTP
TCP
HTTP/RTP
Multimedia
user details
Repository
Web Server
Internet
SJSU Tracking Server
SJSU Jabber IM
SJSU Multimedia
The System Connectivity Diagram for SJSU Jabber IM

System Architecture Analysis & Modeling


ACD Diagram

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

IM Message Store API

DB Server

XML Message Parser

XML Message

Generator

Message Sender

Membership

Manager

Authentication

Controller

Rooster

Manager

IMS Session

Messenger

IM Message


Router

IM Message Processor

IM Message

Generator

IM GroupChat

Controller

IM Message DB

IM Membership DB

Message Receiver

Message Broadcaster

IM User

Router

Viewer

The Server Structure of SJSU Jabber IM

System Architecture Analysis & Modeling


ACD Diagram

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

XML Streams as Bytes streams TCP/HTTP

-



Access

Control

Roster View

Roster

Management

Chatting

Interface

XML Stream Processor (Forming/ Parsing)

Communication Module

(Send/Receive XML Streams)

XML Streams as String

System Home Page

The Mobile Client Structure of SJSU Jabber IM

System OO Analysis & Modeling


Class Diagram

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

The Class Structure of Mobile Client Software

System Dynamic Modeling


State Transition Diagram

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Displaying
Display Roster to the user
with the next operation
selection
Initial
State
Prompting
Prompt user to enter
new friend’s details
XML Stream Forming
Form XML stream with
<IQ> element to send a
message to server
Selected
“Add a new
friend”
Entered
details
XML Stream Parsing
Parse XML Stream to
detect type of message
Prompting
Display to user about
unsuccessful “Add” and
prompt user to enter
the details again
Displaying
Displaying User’s
Roster with an new
item
Final State
Detected
response
Received
Detected
as Error
Detected
as
successful
“Add” of an
new item
User entered details for
an new item
Final State
User cancelled to
“Add” an new item
Displaying
Display user's roster
with no changes
Receiveing
Receiving server
response over socket
connection
Listening
Keep listening on an
socket connection for any
response from server
Sending
Sending a stream over
socket connection
Request
Sent
Request Timed Out
System Dynamic Modeling


Sequence Diagram

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Jabber Server
Mobile User
Roster View
UI
XML stream
forming /
parsing
module
Communication
Module
Send a presence
updatereceived from
user’s friend to user.
The message in a form
of XML
Receive this message,
convert to a byte
stream and send it for
parsing
Parse this message,
after converting it to
the type String.
Show the updated
roster to user in Roster
Exchanging Presence Sequence Diagram

Upon successf ul play
Legend
= Functionality
= event
Click Video
Multimedia Home Page
Audio/Video Selection
Functionality
Selection
Back
Click
Open existing Url
Click
Add new Url
Back
Back
Video Url
Selection
Click Download &
Play
Enter the new
Url
Url
Download
Showing the
progress
Click conf irm
URL
Addition
Click
Add
Multimedia
Home Page
Exit
Click
Play
Stopped
Video
File
Click
Pause
Click
Stop
URL
Play
Paused
Video
File
Click
Resume
Click Next
Url Selection
f rom the list
Url
Download
Showing the
progress
Click conf irm
URL
Deletion
Click
Modif y
Click
Delete
URL
Modif ication
Multimedia
Home Page
Exit
Click
Play
Stopped
Video
File
Click
Pause
Click
Stop
URL
Play
Paused
Video
File
Click
Resume
Upon successf ul play
Back
Back
Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

System Dynamic Modeling


User Navigation Diagram

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Wireless
-
Based System Design Process

System Infrastructure

& Architecture Design

System Data


Design

System Function


Design

Object
-
Oriented

Design

System User

Interface Design

System Behavior

Design

System Infrastructure Design

Network Connectivity Design

Component
-
Based System Architecture

Component Interaction Design

System Persistent Data Design

System Mobile Data Design

System Database Design

Server Component Design

Function Logic Design

Mobile Function Design

Server Object
-
Oriented Design

Client Object
-
Oriented Design

Mobile
-
Based Navigation Modeling

Mobile & System GUI Layout Design

Mobile & System GUI

State
-
Based Behavior Modeling

Class
-
Based Sequence Modeling

Message
-
Based Interaction Modeling

Mobile Technology and Environment Selection

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Various Types of Mobile Programming Languages for Mobile Clients

Operating Environments

J2ME

Palm OS

Symbain OS

Window CE

Network Connectivity

Presentation Technology

Programming
Environment

Mobile Data Support

Multimedia Support

Targeted Application

Targeted Mobile
Devices

Supporting Application
Software

Internet Browser

Wireless Capability

Various Types of Mobile Operating Systems and Environments

Mobile Technology and Environment Selection

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Mobile
-
Based Presentation
Technology

cHTML

WML

XHTML

J2ME

Network Connectivity

Created By

Essential GUI Features

Mobile Data Support

Multimedia Support

Targeted Application

Targeted Mobile Devices

Popular Region

Data Description
Capability

Wireless Capability

Various Types of Mobile Programming Languages for Mobile Clients

Wireless
-
Based System Design, Practice and Artifacts

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems


Design for Reliability



Design for Scalability



Design for Performance



Design for User Mobility



Design for Location
-
Based Services and Applications



Design for Security



Design for Inter
-
operation ability

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Engineering Wireless
-
Based System Implementations

(a) Online Buddy List (b) Offline Buddy List (c) Friend comes “Online” (d) Friend goes “Offline






(e) Add a friend UI (f) Accept request for add (g) Delete a friend (h) Conformationa
l alert




while deleting a friend

User Interface Examples of The SJSU Jabber IM

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Engineering Wireless
-
Based System Implementations




(i) Select friends to chat (j) Send a message to (k)
Accept request of add as (l) Updated Roster



friends acknowledgement

(m) Request for chat (n) Current chat session

Wireless
-
Based System Testing and Deployment

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Unit Testing

System Integration


Testing

System Function


Validation

Mobile Device

Deployment Checking

System Deployment

& User Trial

System Performance

Testing

Mobile Client Unit Testing Using Emulator

Unit Testing for Application Components

Unit Testing for Application Servers

Network Connectivity Integration

Application Component Integration

Mobile Client
-
Server Integration

External Component Integration

Mobile Function Testing

Service Function Testing

Other Function Validation

Mobile Device Deployment

System Function Development

System Service Deployment

Network Deployment Check

System Connectivity Check

System Function Check by Trial Users

Function Process Performance,

System Reliability, Scalability,

Boundary, and Throughput

Copyright@2004. Jerry Gao, Ph.D

Topic: Engineering Wireless
-
Based Software Systems

Major Challenges:




How to conduct cost
-
effective mobile client testing?



How to create systematic testing tools for client software on mobile

devices?




How to performance a cost
-
effective system performance testing?



How to measure and evaluate the reliability, scalability, and

boundaries for a wireless
-
based software system?



How to establish a systematic testing environment to evaluate and

measure system wireless
-
based system performance in:


System Boundaries, Reliability, Performance, Scalability



How to check and monitor system mobility, efficiency, and failures

a wireless
-
based software?

Wireless
-
Based System Testing and Deployment