Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE Senior Design II Overview: Software System Architecture Software System Test Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified.

Similar presentations


Presentation on theme: "CSE Senior Design II Overview: Software System Architecture Software System Test Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified."— Presentation transcript:

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


Download ppt "CSE Senior Design II Overview: Software System Architecture Software System Test Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified."

Similar presentations


Ads by Google