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

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

Embed Size (px)

Citation preview

Page 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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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)

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

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

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

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

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

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