Software Life-Cycle Build-And-Fix Model Build-And-Fix Model ...

lumpysteerSoftware and s/w Development

Dec 2, 2013 (3 years and 9 months ago)

90 views

1
Ch2 Copyright ©2004 by Eugean
Hacopians
1
Software Life-Cycle
• Series of steps through which software product
progresses
– From requirements through retirement
• A life-cycle is selected during requirement
Phase
Ch2 Copyright ©2004 by Eugean
Hacopians
2
Build-And-Fix Model
• Product is implemented without any
specification or design
• May work for projects with few hundred line of
code
Ch2 Copyright ©2004 by Eugean
Hacopians
3
Build-And-Fix Model
Modify until
client is satisfied
Maintenance
Phase
Retirement
Build First
version
Development
Maintenance
Ch2 Copyright ©2004 by Eugean
Hacopians
4
Waterfall Model
Requirements
Phase
Verify
Specification
Phase
Verify
Design
Phase
Verify
Implementation
phase
Test
Integration
phase
Test
Maintenance
phase
Retirement
Changed
requirements
Verify
Development
Maintenance
2
Ch2 Copyright ©2004 by Eugean
Hacopians
5
Rapid Prototyping Model
• Develop product with reduced capability
• Present to client for approval
• Develop specification with better understanding
• Prototype could give designers
– Insight to the product
– What not to do
Ch2 Copyright ©2004 by Eugean
Hacopians
6
Rapid Prototyping Model
Rapid
prototype
Verify
Specification
Phase
Verify
Design
Phase
Verify
Implementation
phase
Test
Integration
phase
Test
Maintenance
phase
Retirement
Changed
requirements
Verify
Development
Maintenance
Ch2 Copyright ©2004 by Eugean
Hacopians
7
Incremental Model
• The product is divided into builds
• Each build contains an operational quality
subsystem
• With each additional build a new subsystem is
integrated with the previous build
• Other types of Incremental Models
– Extreme Programming Model
– Synchronize-And-Stabilize Model
Ch2 Copyright ©2004 by Eugean
Hacopians
8
Incremental Model
Requirements
Phase
Verify
Specification
Phase
Verify
Architectural
Design
Verify
For each build:
Perform detailed
design, implementation,
and integration. Test.
Deliver to client.
Maintenance
phase
Retirement
Development
Maintenance
3
Ch2 Copyright ©2004 by Eugean
Hacopians
9
Spiral Model
• Concept is to minimize risk via the use of
prototypes and other means
• Well suited for:
– Internal development
– Large scale
Ch2 Copyright ©2004 by Eugean
Hacopians
10
Spiral Model
• Set of important requirements are selected for
each prototype
• Risk analysis is performed at each step of
development
– Specification
– Design
– Implementation
– Integration
Ch2 Copyright ©2004 by Eugean
Hacopians
11
Spiral Model
Ch2 Copyright ©2004 by Eugean
Hacopians
12
Object-Oriented Life-Cycle
Models
• Fountain model
• Recursive/parallel life cycle
• Unified software development process
4
Ch2 Copyright ©2004 by Eugean
Hacopians
13
Object-Oriented Life-Cycle
Models
• All Object oriented life cycles are:
– Iterative
– Incorporate some form of parallelism (Overlap of
Activities)
– Support incremental development
Ch2 Copyright ©2004 by Eugean
Hacopians
14
Object-Oriented Life-Cycle
Models
• Fountain model
– Each circle represents various phases overlap
– Overlap between activities
– Arrows within each phase represent iteration within
that phase
– The maintenance circle is smaller
• Symbolizes reduced maintenance effort when Object
Oriented paradigm is used
Ch2 Copyright ©2004 by Eugean
Hacopians
15
Object-Oriented Life-Cycle
Models
• Fountain model
Further
Development
Maintenance
Implementation and
integration phase
Implementation
phase
Object-Oriented
design phase
Object-Oriented
analysis phase
Requirement
phase
Ch2 Copyright ©2004 by Eugean
Hacopians
16
Comparison of Life-Cycle
Models
Life-Cycle Model Strengths Weaknesses
Build-and-fix model Fine for short programs that will
not requier any maintenance
Totally unsatisfactory for
nontrivial programs
Waterfall model Desciplined approach.
Document driven
Delivered product may not meet
client's needs
Rapid prototyping model Ensures that delivered product
meets client's needs
beyond all doubt
Incremental model Maximizes early return on
investment.
Promotes maintainability
Requires open architecture
May degenerate into build-and-
fix
Extreme model Maximizes early return on
investment.
Works well when client's
requirment are vague
Has not yet been widely used
Syncronize-and-stabilize model Future users' needs are met
Ensures components can be
successfully integrated
Has not been widely used other
that at Microsoft
Spiral model Incorporates features of all the
above models
Can be used only for large-
scale, in-house products
Developers have to be
competent in risk analysis and
risk resolution
Object-Oriented model Support iteration within phases,
p
arallelism between phases
May degenerate into CABTAB
Figure 3.10