Timebox Development

Download Report

Transcript Timebox Development

CSE Senior Design II
Overview:
System/Product Design
Mike O’Dell
Based on an earlier presentation by
Bill Farrior, UTA, modified by Mike O’Dell
1 What is System Design?
A progressive definition of how a system
will be constructed:
 Guiding principles/rules for design (Metaarchitecture)
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
2
1 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 how it 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
3
1 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
4
1 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 lowestlevel components
details of interactions between hardware and
software.
acceptance criteria (testing) for each module
CSE 4317
5
1 Layer Example: The Internet
Protocol Stack Architecture
Layers/Services:
 application: supporting network
applications
application
 transport: host-host data transfer
transport
 ftp, smtp, http
 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
network
link
physical
 physical: bits “on the wire”
6
1
Subsystem Example: Voice-Over-IP
Control Application
Speech
Compression
RTCP
RTP
Gateway
Location
Protocol
Session Initiation
Protocol
UDP
SDP
TCP/UDP
IP
Data Link Protocol
Physical Layer Protocol
7
1
Subsystem Example: The Internet
Network Layer
Transport layer: TCP, UDP
Network
layer
IP protocol
•addressing conventions
•datagram format
•packet handling conventions
Routing protocols
•path selection
•RIP, OSPF, BGP
routing
table
ICMP protocol
•error reporting
•router “signaling”
Link layer
Physical layer
4b4: Network8Layer
1 Subsystem Example: IEEE 802.11
Architecture (Link Layer)
Polling mode
(PCF)
CSMA/CA mode
(DCF)
1-2 Mbps
Infrared, or
2.4-2.5 GHz
Freq. hopping
or DSSS
(1997)
54 Mbps
5-6 GHz
OFDM
11 Mbps
2.4-2.5 GHz
DSSS
802.11a
(1999)
802.11b
(2000)
54/108 Mbps 248 Mbps (2x2)
2.4-2.5 GHz
2.4/5 GHz
OFDM
MIMO w/
spacial mpx
802.11g/g+
802.11n
(2003)
(2008)
9
1 IEEE 802.11 MAC (Detailed
Design) Timing in Basic Access
duration depends
on MAC load type
duration depends
on network condition
MAC frame: Control,
management , data + headers
(size depends on frame load and type)
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
10
1 Example:
Team
Chronos
Architecture
CSE 4317
11
1 Example:
Team
Chronos
Detailed
Design
CSE 4317
12
1 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
13
1 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
14
1 Final Thoughts – Verification
System Definition
Release Planning
Product
Backlog
MAP:
All PBIs
(per Sprint)
System
Validation &
Acceptance
Testing
Detailed Design
Architecture
MAP:
All Low-Level
Module
Interfaces &
Interactions
MAP:
All Top-Level
Interfaces &
Interactions
Integration
Testing
Sprint Execution
Sprint Planning
Component
Testing
(a.k.a.
Function
Testing)
MAP:
All
Modules
Implementation
Unit (SW
& HW)
Testing
Sprint Execution
100%
Done
CSE 4317
System Verification
15