Download presentation
Presentation is loading. Please wait.
Published byAmber Bryan Modified over 9 years ago
1
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
2
1 CSE 4317 2 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)
3
1 CSE 4317 3 What is Software Architecture? bridgewhat how A critical bridge between what a system will do/look like, and how it will be constructed how A blueprint for a software system and how it will be built abstraction 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
4
1 CSE 4317 4 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
5
1 CSE 4317 5 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
6
1 1: Introduction 6 Layer Example: The Internet Protocol 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
7
1 4: Network Layer 4b- 7 Subsystem Example: The Internet Network Layer routing table 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 Network layer
8
1 6: Wireless and Mobile Networks 6-8 Subsystem Example: IEEE 802.11 Architecture (Link Layer) (PCF) (DCF) 1-2 Mbps Infrared, or 2.4-2.5 GHz Freq. hopping or DSSS (1997) 54 Mbps 5-6 GHz OFDM 802.11a (1999) 11 Mbps 2.4-2.5 GHz DSSS 802.11b (2000) 54/108 Mbps 2.4-2.5 GHz OFDM 802.11g/g+ (2003) 248 Mbps (2x2) 2.4/5 GHz MIMO w/ spacial mpx 802.11n (2008) Polling mode CSMA/CA mode
9
1 6: Wireless and Mobile Networks 6-9 IEEE 802.11 MAC (Detailed Design) 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
10
1 CSE 4317 10 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.
11
1 CSE 4317 11 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)
12
1 CSE 4317 12 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
13
1 CSE 4317 13 Final Thoughts – Verification SRD: System Requirements ADS: Architecture Specification 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 Specified Requirements MAP: All Module Interfaces & Interactions MAP: All Modules MAP: All Subsystem & Layer Interfaces & Interactions
14
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.