System Architecture Overview

advertisement
CSE Senior Design II
Overview:
Software System Architecture
Software System Test
Mike O’Dell
Based on an earlier presentation by
Bill Farrior, UTA, modified by Mike O’Dell
1 What is System Design?
A progressive definition of how a system
will be constructed:
 Guiding principles/rules for design (Metaarchitecture)
 Top-level structure, design abstraction
(Architecture Design)
 Details of all lowest-level design elements
(Detailed Design)
CSE 4317
2
1 What is Software Architecture?
A critical bridge between what a system
will do/look like, and how it will be
constructed
A blueprint for a software system and
how it will be built
An abstraction: a conceptual model of
what must be done to construct the
software system
 It is NOT a specification of the details of
the construction
CSE 4317
3
1 What is Software Architecture?
The top-level breakdown of how a system
will be constructed:




design principles/rules
high-level structural components
high-level data elements (external/internal)
high-level data flows (external/internal)
Discussion: Architectural elements of
the new ERB
CSE 4317
4
1 System Architecture Design
Process
Define guiding principles/rules for design
Define top-level components of the
system structure (“architectural layers”)
Define top-level data elements/flows
(external and between layers)
Deconstruct layers into major functional
units (“subsystems”)
Translate top-level data elements/flows
to subsystems
CSE 4317
5
1 Layer Example: The Internet
Protocol Stack Architecture
Layers/Services:
 application: supporting network
applications
application
 transport: host-host data transfer
transport
 ftp, smtp, http
 tcp, udp
 network: routing of datagrams from
source to destination
 ip, routing protocols
 link: data transfer between
neighboring network elements
 E.g., Ethernet, 802.11 WLAN
network
link
physical
 physical: bits “on the wire”
6
1: Introduction
1
Subsystem Example: The Internet
Network Layer
Transport layer: TCP, UDP
Network
layer
IP protocol
•addressing conventions
•datagram format
•packet handling conventions
Routing protocols
•path selection
•RIP, OSPF, BGP
routing
table
ICMP protocol
•error reporting
•router “signaling”
Link layer
Physical layer
4b4: Network7Layer
1 Subsystem Example: IEEE 802.11
Architecture (Link Layer)
Polling mode
(PCF)
CSMA/CA mode
(DCF)
1-2 Mbps
Infrared, or
2.4-2.5 GHz
Freq. hopping
or DSSS
(1997)
54 Mbps
5-6 GHz
OFDM
11 Mbps
2.4-2.5 GHz
DSSS
802.11a
(1999)
802.11b
(2000)
54/108 Mbps 248 Mbps (2x2)
2.4-2.5 GHz
2.4/5 GHz
OFDM
MIMO w/
spacial mpx
802.11g/g+
802.11n
(2003)
(2008)
6-8
6: Wireless and Mobile
1 IEEE 802.11 MAC (Detailed
Design) Timing in Basic Access
duration depends
on MAC load type
duration depends
on network condition
MAC frame: Control,
management , data + headers
(size depends on frame load and type)
Reference: W.
Stallings: Data
and Computer
Communications,
7th ed
PCF: Point Coordination Function (asynchronous, connectionless access)
DCF: Distributed Coordination Function (connection oriented access)
DIFS: DCF Inter Frame Space (minimum delay for asynchronous frame
access)
PIFS: PCF Inter Frame Space (minimum poll timing interval)
SIFS: Short IFS (minimum timing for high priority frame access as ACK, CTS,
MSDU…)
MSDU: MAC Service Data Unit
6-9
6: Wireless and Mobile
1 Criteria for a Good Architecture
(The Four I’s)
 Independence – the layers are independent of
each other and each layer’s functions are
internally-specific and have little reliance on
other layers. Changes in the implementation of
one layer should not impact other layers.
 Interfaces/Interactions – the interfaces and
interactions between layers are complete and
well-defined, with explicit data flows.
 Integrity – the whole thing “hangs together”.
It’s complete, consistent, accurate… it works.
 Implementable – the approach is feasible, and
the specified system can actually be designed
and built using this architecture.
CSE 4317
10
1 How do you Document a Software
Architecture?
Describe the “rules” : meta-architecture
 guiding principles, vision, concepts
 key decision criteria
Describe the layers
 what they do, how they interact with other
layers
 what are they composed of (subsystems)
CSE 4317
11
1 How do you Document a Software
Architecture?
Describe the data flows between layers
 what are the critical data elements
 provider subsystems (sources) and consumer
subsystems (sinks)
Describe the subsystems within each
layer
 what does it do
 what are its critical interfaces of the
subsystem, within and external to its layer
 what are its critical interfaces outside the
system
CSE 4317
12
1 Final Thoughts – Verification
System Definition
SRD: System
Requirements
MAP:
All Specified
Requirements
System
Validation
Test
ADS: Architecture
Specification
MAP:
All Subsystem
& Layer
Interfaces &
Interactions
Integration Test
DDS: Detailed
Design Specification
MAP:
All Module
Interfaces &
Interactions
Component
Test (a.k.a.
Function Test)
MAP:
All Modules
Implementation
Unit Test
System Verification
CSE 4317
13
1 Final Thoughts – Verification
 Unit Test: verifies that EVERY module
(HW/SW) specified in the DDS operates as
specified.
 Component/Function Test: verifies integrity of
ALL inter-module interfaces and interactions.
 Integration Test: verifies integrity of ALL
inter-subsystem interfaces and interactions.
 System Verification Test: verifies ALL
requirements are met.
CSE 4317
14
Download