Professional Documents
Culture Documents
CMPE-30073-Software-Design - Lesson 2
CMPE-30073-Software-Design - Lesson 2
Julian Lorico
1
1
Software Life Cycle Models
2
Software Life Cycle Models
3
Build & Fix
Model
4
Build & Fix
Model
5
Waterfall Model
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
6
Waterfall Model
7
Waterfall Model
8
Incremental Process Models
9
Iterative Enhancement Model
This model has the same phases as the waterfall model, but with
fewer restrictions. Generally the phases occur in the same order as
in the waterfall model, but they may be conducted in several cycles.
Useable product is released at the end of the each cycle, with each
release providing additional functionality.
Requirements
specification
Architectural
design
Detailed
design
Implementation
and unit testing
Integration
and testing
Operation and
Maintenance
11
The Rapid Application Development (RAD)
Model
o Developed by IBM in 1980
o User participation is essential
13
The Rapid Application Development (RAD)
Model
14
Evolutionary Process Models
This model is useful for projects using new technology that is not
well understood. This is also used for complex projects where all
functionality must be delivered at one time, but the requirements
are unstable or not well understood at the beginning.
15
Evolutionary Process Model
Concurr ent
activities
Initial
Specification
version
Outline Intermediate
Development
description versions
Final
Validation
version
16
Prototyping
Model
17
Prototyping
Model
• Linear model
• “Rapid”
18
Spiral Model
19
Spiral Model
20
Spiral Model
The radial dimension of the model represents the cumulative costs.
Each path around the spiral is indicative of increased costs. The
angular dimension represents the progress made in completing each
cycle. Each loop of the spiral from X-axis clockwise through 360o
represents one phase. One phase is split roughly into four sectors of
major activities.
▪ Planning: Determination of objectives, alternatives &
constraints.
▪ Risk Analysis: Analyze alternatives and attempts to identify
and resolve the risks involved.
▪ Development: Product development and testing product.
▪ Assessment: Customer evaluation
21
Spiral Model
▪ An important feature of the spiral model is that each phase is
completed with a review by the people concerned with the
project (designers and programmers)
▪ The advantage of this model is the wide range of options to
accommodate the good features of other life cycle models.
▪ It becomes equivalent to another life cycle model in
appropriate situations.
The spiral model has some difficulties that need to be resolved
before it can be a universally applied life cycle model. These
difficulties include lack of explicit process guidance in determining
objectives, constraints, alternatives; relying on risk assessment
expertise; and provides more flexibility than required for many
applications.
22
The Unified Process
23
Phases of the Unified Process
Time
24
Phases of the Unified Process
• Inception: defines scope of the project.
• Elaboration
- How do we plan & design the project?
- What resources are required?
- What type of architecture may be suitable?
• Construction: the objectives are translated in design &
architecture documents.
• Transition : involves many activities like delivering, training,
supporting, and maintaining the product.
25
Initial development & Evolution Cycles
V1
Inception Elaboration Construction Transition
Initial development Cycle
V2
Inception Elaboration Construction Transition
Evolution Cycle
V3
Inception Elaboration Construction Transition
27
Inception Phase
28
Outcomes of Inception Phase
29
Elaboration Phase
30
Outcomes of Elaboration Phase
31
Construction Phase
32
Outcomes of Construction Phase
Test Operational
Outline manuals
Documentation
Construction Test Suite
manuals
A description
Software of the
product User manuals current release
33
Transition Phase
34
Outcomes of Transition Phase
Transition
35
Selection of a Life Cycle Model
b) Development team
c) Users
d) Project type and associated risk
36
Based On Characteristics Of
Requirements
Requirements Waterfall Prototype Iterative Evolutionary Spiral RAD
enhancement development
Are requirements
easily understandable Yes No No No No Yes
and defined?
Do we change
requirements quite No Yes No No Yes No
often?
Can we define
requirements early Yes No Yes Yes No Yes
in the cycle?
Requirements are
indicating a complex No Yes Yes Yes Yes No
system to be built
Less experience on
No Yes No No Yes No
similar projects?
Less domain
knowledge (new to Yes No Yes Yes Yes No
the technology)
Less experience on
tools to be used Yes No No No Yes No
Availability of
training if required No No Yes Yes No Yes
38
Based On User’s
Participation
Involvement Waterfall Prototype Iterative Evolutionary Spiral RAD
of Users enhancement development
User involvement
in all phases No Yes No No No Yes
Limited user
participation Yes No Yes Yes Yes No
User have no
previous experience No Yes Yes Yes Yes No
of participation in
similar projects
39
Based OnType Of Project With Associated
Risk
Project type Waterfall Prototype Iterative Evolutionary Spiral RAD
and risk enhancement development
Project is the
enhancement of the No No Yes Yes No Yes
existing system
Funding is stable
for the project Yes Yes No No No Yes
High reliability
requirements No No Yes Yes Yes No
Tight project
schedule No Yes Yes Yes Yes Yes
Use of reusable
components No Yes No No Yes Yes
Are resources
(time, money, No Yes No No Yes No
people etc.) scare?
40