cse senior design ii overview: software system architecture software system test mike o’dell based...
TRANSCRIPT
CSE Senior Design IICSE Senior Design IIOverview:Overview:
Software System ArchitectureSoftware System ArchitectureSoftware System TestSoftware System Test
Mike O’DellMike O’Dell
Based on an earlier presentation by Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’DellBill Farrior, UTA, modified by Mike O’Dell
1
CSE 4317 2
What is System Design?What is System Design?
A progressive definition of how a system will be constructed: Guiding principles/rules for design (Meta-
architecture) Top-level structure, design abstraction
(Architecture Design) Details of all lowest-level design elements
(Detailed Design)
1
CSE 4317 3
What is Software Architecture?What is Software Architecture?
A critical bridgebridge between whatwhat a system will do/look like, and howhow it will be constructed
A blueprint for a software system and howhow it will be built
An abstractionabstraction: a conceptual model of what must be done to construct the software system It is NOT a specification of the details of
the construction
1
CSE 4317 4
What is Software Architecture?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
1
CSE 4317 5
System Architecture Design System Architecture Design ProcessProcess
Define guiding principles/rules for designDefine 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
1
1: Introduction6
Layer Example: The Internet Layer Example: The Internet Protocol Stack ArchitectureProtocol Stack Architecture
Layers/Services: application: supporting network
applications ftp, smtp, http
transport: host-host data transfer 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
physical: bits “on the wire”
application
transport
network
link
physical
1
4: Network Layer4b-
7
Subsystem Example: The Subsystem Example: The Internet Network LayerInternet Network Layer
routingtable
Routing protocols•path selection•RIP, OSPF, BGP
IP protocol•addressing conventions•datagram format•packet handling conventions
ICMP protocol•error reporting•router “signaling”
Transport layer: TCP, UDP
Link layer
Physical layer
Networklayer
1
6: Wireless and Mobile Networks
6-8
Subsystem Example: IEEE Subsystem Example: IEEE 802.11 Architecture (Link 802.11 Architecture (Link Layer)Layer)
(PCF)
(DCF)
1-2 MbpsInfrared, or2.4-2.5 GHz
Freq. hopping or DSSS
(1997)
54 Mbps5-6 GHzOFDM
802.11a(1999)
11 Mbps2.4-2.5 GHz
DSSS
802.11b(2000)
54/108 Mbps2.4-2.5 GHz
OFDM
802.11g/g+(2003)
248 Mbps (2x2)2.4/5 GHz MIMO w/
spacial mpx802.11n(2008)
Polling mode
CSMA/CA mode
1
6: Wireless and Mobile Networks
6-9
IEEE 802.11 MAC (Detailed IEEE 802.11 MAC (Detailed Design) Timing in Basic AccessDesign) Timing in Basic Access
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
MAC frame: Control, management , data + headers(size depends on frame load and type)
duration depends on MAC load type
duration depends on network condition
1
CSE 4317 10
Criteria for a Good ArchitectureCriteria for a Good Architecture(The Four I’s) (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.
1
CSE 4317 11
How do you Document a How do you Document a Software Architecture?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)
1
CSE 4317 12
How do you Document a How do you Document a Software Architecture?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
1
CSE 4317 13
Final Thoughts – VerificationFinal Thoughts – Verification
SRD: System Requirements
ADS: ArchitectureSpecification
DDS: Detailed Design Specification
Implementation
Integration Test
Component Test (a.k.a.
Function Test)Unit Test
System Validation
Test
System Verification
System Definition
MAP:All SpecifiedRequirements
MAP:All ModuleInterfaces &Interactions
MAP:All Modules
MAP:All Subsystem & LayerInterfaces &Interactions
1 Final Thoughts – VerificationFinal 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