You are on page 1of 19

Software Life-Cycle Models

Hans Van Vliet, Software Engineering: Principles and Practices, 3rd


edition, Wiley 2008. (Chapter 3)

Eric J. Braude, Software Engineering, An Object-Oriented
Perspective, Wiley, 2001. (Section 2.4. Identifying and retiring risks)

Roger S. Pressman, Software Engineering, A Practitioners
Approach, 6th edition, McGraw Hill, 2005. (Chapter 25. Risk
Management)
Software Life-Cycle Models
Life-cycle model (formerly, process model)
The steps through which the product
progresses
Requirements phase
Specification phase
Design phase
Implementation phase
Integration phase
Maintenance phase
Retirement
Q: In what order to perform these steps?
2
Many Life-Cycle Models
Several dimensions
Sequential vs. iterative
Whole vs. incremental
Elaborative vs. transformational
Use of prototype

Examples
Waterfall, Rapid prototyping, Incremental, Spiral,
Model-driven, Feature-driven, Unified Process
(UP), Extreme Programming (XP),
3
Build and Fix Model
Problems
No specifications
No design
Totally unsatisfactory
Need life-cycle model
Game plan
Phases
Milestones
4
Waterfall Model
Characterized by
Feedback loops
Documentation-driven
Operational product at end
Advantages
Documentation
Maintenance may be easier
Disadvantages
Customer may not be aware of
what getting
Costly when discrepancy found
in later stages
Sometimes freezes part of
development
May lead to badly structured
systems
5
Rapid Prototyping Model
(Throwaway)
Determine needs of
customer
Refine with interaction of
customers
Experiment with parts not
understood
Prototype system poorly
structured
Operational product at end



6
Evolutionary Prototyping
Process not visible (need
deliverables)
Need highly skilled team
Appropriate
Small teams
Part of system not well
understood
Short lifecycle system


7
Problem description
(outline)
Specification
Development
Validation
Initial version
Intermediate version
Final version
Concurrent
activities
Incremental Model
Divide project into builds
Operational quality portion
of product within weeks
Smaller capital outlay,
rapid return on investment
Need open architecture
maintenance implications
Requires skilled
developers
8
Incremental Model (Variation)
More risky versionpieces may not fit
9
Transformation Model
Viewed as a sequence of steps that transforms a specification
into an implementation
Use of formal specifications/models and transformation rules
Correctness by construction <-> program correctness proof
E.g., Model-driven development (MDD)
10
Transformation
/optimization
Requirements
analysis and
specification
Development
history
Reusable
components
Requirements
Formal
specifications
Formal specifications
(lower level)
Decisions, rationale
and trans. rules
Spiral Model
Keys: risk analysis and evaluation
Simplified form: Waterfall model
plus risk analysis
Precede each phase by
Alternatives
Risk analysis
Follow each phase by
Evaluation
Planning of next phase
11
Simplified Spiral Model
Focus on eliminating errors early
Examines level of effort
Accommodates growth and
change (evolution)
Restrictions
In-house development (not
contracted)
Good for large-scale systems
Requires training in risk
analysis and resolution

12
Full Spiral Model (contd)
13
Risk
A risk is something that may occur in the course of a
project, and which, under the worst outcome, would affect
it negatively and significantly [Braude 2001, Section 2.4].
Two types:
Those that can be avoided or worked around
Those cannot be avoided
Problems are those risks that have not been identified.
Risks must be managed!
Risk retirement is process whereby risks are reduced or
eliminated.
14
Risk Management Activities
Identification
Mindset: try to continually identify risks
Write down concerns and press all team members to think of
more
Retirement planning
Outline the steps that can be taken to retire the risk.
Prioritization
Options: likelihood (10 most likely), impact (10 most impact),
retirement cost (10 highest cost)
Formula: (11 - l) (11 - i) rc
Lowest is first to address
Retirement or mitigation
15
Types of Risks (Pressman 2005, Chapter 25)
Generic (every project)
Product size
Business impact (constraints imposed by mgmt)
Customer characteristics
Process definition
Development environment
Technology to be built
Staff size and experience
Product-specific (characteristics of product)
Examples?
16
Example Risks
Underestimation of size
Time lag in learning new tools
Lack of top management commitment
Personnel resign
Changing scope and/or objectives
Technical breakthroughschange in product
Unrealistic schedule
Personnel lack required knowledge or skills
17
Feature Driven Development (FDD)
Develop an
Overall
Model
Build a
Feature List
Plan by
Feature
Design by
Feature
Build by
Feature
1) Selection of domain
experts and development
teams
2) Completion of
requirements definition by
guidance team
Entry Criteria
Completion of:
a) the object model
(class, sequence
diagrams and
explanatory notes)
b) Interview Report
c) Feasibility Report
d) Use case scenarios
Exit Criteria
Completion of the
develop an overall
model process
Entry Criteria
Completion of the
build a feature list
process
Completion of the
plan by feature
process
Completion of the
design by feature for
each of the selected
features
Entry Criteria
Entry Criteria
Entry Criteria
Completion of:
a) feature list, including a
list of major feature sets
and a list of features
within each feature set
b) GUI
c) Models
d) Requirements
Completion of:
a) development plan,
consisting feature sets
with completion dates
Completion of:
a) design package,
comprising a design
document, referenced
requirements in the form of
documents, memos,
supporting documentation,
design alternatives, latest
object model, class and
method prologues, to do
task list on affected classes
for each team members
Completion of:
a) development of
one or more
features (client-
valued functions)
Exit Criteria
Exit Criteria
Exit Criteria
Exit Criteria
18
Exam Questions
What is Extreme Programming?
What are the advantages and disadvantages
of using Extreme Programming as
development model?
19

You might also like