Академический Документы
Профессиональный Документы
Культура Документы
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
D
3 tware Pr ess M els: .Waterall.
Main characteristics:
Also called classic software life cycle or
sequential model
Process activities (phases/stages) are clearly
separated
After a number of iterations, phases of the life
cycle (such as specification and design) are
´frozenµ
"
3 tware Pr ess M els: ..Waterall
Advantages:
Organized approach, provides robust separation of phases
Reflects common engineering practice
Disadvantages:
Doesn·t cope well with changes required by the client
Development teams might wait for each other
A working version of the product is available only late
Applicability:
When requirements are well known and few changes are
likely to be needed
Can be used also for parts of larger software systems
Ã
3 tware Pr ess M els:
Ev luti nary Devel ent«
Evolutionary Development model [SE-
[SE-8, Fig 4.2]
Concurrent
activities
Initial
Specification
version
Outline Intermediate
Development
description versions
Final
Validation
version
ñ
3 tware Pr ess M els:
.Ev luti nary Devel ent..
Main characteristics:
The phases of the software construction are interleaved
Feedback from the user is used throughout the entire
process
The software product is refined through many versions
Types of evolutionary development:
Exploratory development
Throw--away prototyping
Throw
r
3 tware Pr ess M els:
..Ev luti nary Devel ent.
Advantages:
Deals constantly with changes
Provides quickly an initial version of the system
Involves all development teams
Disadvantages:
Quick fixes may be involved
´Invisibleµ process, not well-
well-supported by
documentation
The system·s structure can be corrupted by continuous
change
Ñ
3 tware Pr ess M els:
«Ev luti nary Devel ent
Disadvantages [cont·d]:
Special tools and techniques may be necessary
The client may have the impression the first version is very
close to the final product and thus be less patient
Applicability:
When requirements are not well understood
When the client and the developer agree on a ´rapid
prototypeµ that will be thrown away
Good for small and medium-
medium-sized software systems
|
3 tware Pr ess M els:
C nent-
nent-base 3 tware Engineering«
Development System
and integration validation
||
3 tware Pr ess M els:
.C nent
nent--base 3 tware Engineering..
Main characteristics:
Makes intensive use of existing reusable components
The focus is on integrating the components rather than
on creating them from the scratch
|Ô
3 tware Pr ess M els:
..C nent-
nent-base 3 tware Engineering.
Advantages:
Reduces considerably the software to be developed ´in-
´in-
houseµ
Allows faster delivery
In principle, more reliable systems, due to using previously
tested components
|è
3 tware Pr ess M els:
«C nent
nent--base 3 tware Engineering
Disadvantages:
Compromises in requirements are needed
Less control over the system·s evolution
Applicability:
When there is a pool of existing components that could
satisfy the requirements of the new product
Emerging trend: integration of web services from a range of
suppliers
|D
3 tware Pr ess M els:
Inreental Devel ent«
The Incremental model [SE
[SE--8, Fig 4.4]
|"
3 tware Pr ess M els:
.Inreental..
Main characteristics:
Hybrid model that combines elements of the waterfall and
evolutionary paradigms
The specification, design, and implementation phases are
broken in smaller increments
|Ã
3 tware Pr ess M els:
..Inreental.
Advantages:
Provides better support for process iteration
Reduces rework in the software construction process
Some decisions on requirements may be delayed
Allows early delivery of parts of the system
Supports easier integration of sub-
sub-systems
Lower risk of project failure
Delivery priorities can be more easily set
|ñ
3 tware Pr ess M els:
...Inreental
Disadvantages:
Increments need be relatively small
Mapping requirements to increments may not be easy
Common software facilities may be difficult to identify
Applicability:
When it is possible to deliver the system ´part-
´part-by-
by-partµ
|r
3 tware Pr ess M els: 3iral M el..
Boehm·s Spiral Model [SE
[SE--8, Fig 4.5]
Determine objectives
Evaluate alternatives
alternatives and
identify, resolve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 tional
Prototype 2 protoype
Risk
REVIEW analysis Proto-
type 1
Requirements plan Simulations, models, benchmarks
Life-cycle plan Concept of
Operation S/W
requirements Product
design Detailed
Requirement design
Development
plan validation Code
Design Unit test
Integration
and test plan V&V Integration
Plan next phase test
Acceptance
Service test Develop, verify
next-level product
|Ñ
.3 tware Pr ess M els: 3iral M el.
Main characteristics:
Also a hybrid model that support process iteration
The process is represented as a spiral, each loop in the spiral
representing a process phase
Four sectors per loop: objective setting, risk assessment and
reduction, development and validation, planning
Risk is explicitly taken into consideration
Ô
3 tware Pr ess M els: ..3iral M el
Advantages:
Risk reduction mechanisms are in place
Supports iteration and reflects real-
real-world practices
Systematic approach
Disadvantages:
Requires expertise in risk evaluation and reduction
Complex, relatively difficult to follow strictly
Applicable only to large systems
Applicability:
Internal development of large systems
Ô|
Pr ess Ativities: 3eiiati n
Requirements engineering [SE
[SE--8, Fig. 4.6]
Feasibility Requirements
study elicitation and
analysis
Requirements
specification
Feasibility Requirements
report validation
System
models
User and system
requirements
Requirements
document
ÔÔ
Pr ess Ativities: Design &
Ileentati n
A general model for design [SE-
[SE-8, Fig 4.7]
Requirements
specification
Design activities
Software Data
System Interface Component Algorithm
specification structure
architecture specification specification specification
specification
Design products
Ôè
Pr ess Ativities: Testing..
The debugging process [SE-
[SE-8, Fig 4.8]
ÔD
Pr ess Ativities: .Testing.
The testing process [SE-
[SE-8, Fig 4.9]
Ô"
Pr ess Ativities: ..Testing
Testing phases in the SE process [SE-
[SE-8, Fig. 4.10]
ÔÃ
Pr ess Ativities: Ev luti n
System evolution [SE
[SE--8, Fig 4.11]
Existing New
systems system
Ôñ
The Rati nal Uniie Pr ess.
RUP phases [SE
[SE--8, Fig 4.12]
Ôr
.The Rati nal Uniie Pr ess
RUP workflows [SE
[SE--8, Fig 4.13]
p
! 6
!
6
6
"
" #
!
$
6
#
6
"
%
&
% '()
* #
&
% +)
ÔÑ
CA3E
Classification of CASE technology [SE-
[SE-7, Fig 4.14]
CASE
technology
Analysis and
Programming Testing
design