1 / 15

Overview: System/Product Design

Learn about system design, architecture, and detailed design processes. Explore key elements and principles in software system construction. Understand the layers, protocols, and subsystem examples in system architecture.

ellington
Download Presentation

Overview: System/Product Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview:System/Product Design Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell

  2. What is System Design? • A progressive definition of how a system will be constructed: • Guiding principles/rules for design (Meta-architecture) • Per Portfolio (Release structure) • Top-level structure, design abstraction (Architecture Design)… • Per Release (Product Backlog in its entirety) • Details of all lowest-level design elements (Detailed Design)… • Per Sprint (lowest-level PBIs) CSE 4317

  3. What is System Architecture? • A critical bridge between what a product will do/look like, and how it will be constructed • A blueprint for a system and howit 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

  4. What is System Architecture? • The top-level breakdown of how a system will be constructed: • design principles/rules • high-level structural components • Layers: top-level components • Subsystems: intermediate-level components • high-level data elements (external/internal) • high-level data flows, interfaces, and interactions between components (external/internal) CSE 4317

  5. What is Detailed Design? • Expands/enhances the system architecture (more detail) • refines the architecture to its lowest-level components • Can be used as an “implementation guide” for the product • exactly how it should be built • key relationships/dependencies between lowest-level components • details of interactions between hardware and software. • acceptance criteria (testing) for each module CSE 4317

  6. 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 Layer Example: The Internet Protocol Stack Architecture

  7. Subsystem Example: Voice-Over-IP Control Application Speech Compression Session Initiation Protocol Gateway Location Protocol RTCP SDP RTP UDP TCP/UDP IP Data Link Protocol Physical Layer Protocol

  8. ICMP protocol • error reporting • router “signaling” IP protocol • addressing conventions • datagram format • packet handling conventions Routing protocols • path selection • RIP, OSPF, BGP routing table Subsystem Example: The Internet Network Layer Transport layer: TCP, UDP Network layer Link layer Physical layer 4: Network Layer

  9. (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) Subsystem Example: IEEE 802.11 Architecture (Link Layer) Polling mode CSMA/CA mode

  10. duration depends on MAC load type duration depends on network condition MAC frame: Control, management , data + headers(size depends on frame load and type) 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 Reference: W. Stallings: Data and Computer Communications, 7th ed IEEE 802.11 MAC (Detailed Design) Timing in Basic Access

  11. Example:Team ChronosArchitecture CSE 4317

  12. Example:Team ChronosDetailedDesign CSE 4317

  13. Criteria for a Good Design(The Four I’s) • Independence – the modules are independent of each other and each module’s functions are internally-specific and have little reliance on other modules. Changes in the implementation of one module should minimally impact others. • Interfaces/Interactions – the interfaces and interactions between modules are complete and well-defined, with explicit data flows. • Integrity – the whole thing “hangs together”. It’s complete, consistent, accurate… it works. • Implementability – the approach is feasible, and the specified system can actually be designed and built using this design. CSE 4317

  14. Design Sequencing in Scrum • Architecture Design: • Done as part of the release planning • Reviewed/updated/refined during Sprint Planning for each Sprint • Modified as necessary based on changes in overall aproach • Detailed Design: • Done during each Sprint, as a task on the Sprint Backlog, for each PBI that is to be implemented in that Sprint CSE 4317

  15. Final Thoughts – Verification System Definition Sprint Execution Release Planning Sprint Planning Detailed Design Architecture Product Backlog Implementation MAP: All Low-Level Module Interfaces & Interactions MAP: All Top-Level Interfaces & Interactions MAP: All PBIs (per Sprint) MAP: All Modules System Validation & Acceptance Testing Integration Testing Unit (SW & HW) Testing Component Testing (a.k.a. Function Testing) Sprint Execution System Verification 100% Done CSE 4317

More Related