Академический Документы
Профессиональный Документы
Культура Документы
and Evaluation
03 - The Design Process
Stefan Rhrup
University of Freiburg
Computer Networks and Telematics
Summer 2009
Lecture Times
Exercise
class
Today:
Development Process
()
eate =
n.cr sor
?
eces
pred
nil; r =
esso
succ
n;
')
in(n =
n.jo sor
eces
pred
nil; r =
esso esso
succd_succ
in
n'.f
Examples ...
Build first
version
Modify until
client is satisfied
Operations
Development Mode
Maintenance
Retirement
Operations
Problems Development Mode
Retirement
begin coding, think about
requirements, design etc. later
higher effort for fixing errors in later phases
Examples:
Build-and-Fix Model
Waterfall Model
Boehms Spiral Model
etc.
Requirements
Design specification
and validation
Implementation
Deployment and
maintenance
Requirements
Design specification
and validation
requirements may
Implementation
change at any stage
Requirements
Design specification
and validation
Implementation
Deployment and
maintenance
are
softw ering
ne
Requirements engi
f t ware
s o g
g i n eerin
Design specification en
e and validation ing
i s le ctur r a m m
t h prog sses
cla
Implementation
Acceptance
Requirements
test
Architecture
Integration test
design
Implementation
Outline Intermediate
Implementation Initial version
version
Initial version
description
Progress
through
steps
Adaptive process
Iterative development cycles
Emphasis on working functional units
Short time frames instead of long-term planning
Communication instead of detailed documentation
V-Model
extends the waterfall model, considers modular design
Agile methods
iterative process; flexible, but changes are difficult
Requirements
describe desired behaviour of a protocol
independent of the later design and implementation
(describe what the protocol does, not how)
Customer or user
requirements
Requirements Requirements
Requirements Requirements
analysis and documentation
elicitation validation
negotiation and specification
Negotiated and
validated
requirements
Design constraints
environment, interfaces
[S. Pfleeger, J. Atlee, Software Engineering - Theory and Practice, 3/e, Prentice Hall]
Requirements definition
abstract description of the systems services and
functions (external behaviour)
mostly written in natural language
for developers and users
Requirements specification
precise description of the systems functions
may be written in a formal language
[S. Pfleeger, J. Atlee, Software Engineering - Theory and Practice, 3/e, Prentice Hall]
[S. Pfleeger, J. Atlee, Software Engineering - Theory and Practice, 3/e, Prentice Hall]
Requirements analysis
and specification
Design specification
and validation
Model checking
Automated verification technique
Does a protocol satisfy some predefined logical
properties?
Requirements Requirements
Requirements Requirements
analysis and documentation
elicitation validation
negotiation and specification
validation model checking
model M M=L
Negotiated and
validated
requirements
Requirements
Design specification
Scope and validation
of classic
model checking
Implementation
Deployment and
maintenance
Requirements
Validation
Design specification Abstract Conformance
and validation model testing
Implemented
Implementation software
Deployment and
maintenance
Correct Erroneous
specification specification
Design on
Correct design Erroneous design
erroneous spec.
Correctable Uncorrectable
Correct functions Hidden errors
errors errors
Testing
Requirements
Unit tests
Design specification Integration tests
cture and validation
thi s le Conformance testing
Implementation
Evaluation methods
Test and evaluation
i s le cture (Analysis)
th
Deployment and Simulation
maintenance
Experiments