8/10/2019 Life Cy Cycle Model
1/19
Software Life-Cycle Models
Hans Van Vliet, Software Engineering: Principles and Practices, 3rdedition, Wiley 2008. (Chapter 3)
Eric J. Braude, Software Engineering, An Object-OrientedPerspective, Wiley, 2001. (Section 2.4. Identifying and retiring risks)
Roger S. Pressman, Software Engineering, A Practitioners Approach, 6th edition, McGraw Hill, 2005. (Chapter 25. RiskManagement)
8/10/2019 Life Cy Cycle Model
2/19
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
8/10/2019 Life Cy Cycle Model
3/19
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
8/10/2019 Life Cy Cycle Model
4/19
Build and Fix Model
Problems No specifications No design
Totally unsatisfactory Need life-cycle model
Game plan Phases
Milestones
4
8/10/2019 Life Cy Cycle Model
5/19
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
systems5
8/10/2019 Life Cy Cycle Model
6/19
Rapid Prototyping Model(Throwaway)
Determine needs ofcustomer
Refine with interaction ofcustomers
Experiment with parts notunderstood Prototype system poorly
structured Operational product at end
6
8/10/2019 Life Cy Cycle Model
7/19
Evolutionary Prototyping
Process not visible (needdeliverables)
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
Concurrentactivities
8/10/2019 Life Cy Cycle Model
8/19
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
8/10/2019 Life Cy Cycle Model
9/19
Incremental Model (Variation)
More risky version pieces may not fit
9
8/10/2019 Life Cy Cycle Model
10/19
Transformation Model
Viewed as a sequence of steps that transforms a specificationinto 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
Requirementsanalysis andspecification
Developmenthistory
Reusablecomponents
Requirements Formalspecifications
Formal specifications(lower level)
Decisions, rationaleand trans. rules
8/10/2019 Life Cy Cycle Model
11/19
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
8/10/2019 Life Cy Cycle Model
12/19
Simplified Spiral Model
Focus on eliminating errors early Examines level of effort Accommodates growth and
change (evolution) Restrictions
In-house development (notcontracted)
Good for large-scale systems Requires training in risk
analysis and resolution
12
8/10/2019 Life Cy Cycle Model
13/19
Full Spiral Model (contd)
13
8/10/2019 Life Cy Cycle Model
14/19
Risk
A risk is something that may occur in the course of aproject, and which, under the worst outcome, would affectit 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 oreliminated.
14
8/10/2019 Life Cy Cycle Model
15/19
Risk Management Activities
Identification Mindset: try to continually identify risks Write down concerns and press all team members to think of
moreRetirement planning Outline the steps that can be taken to retire the risk.Prioritization Options: l ikelihood (10 most likely), i mpact (10 most impact),
r etirement c ost (10 highest cost)
Formula: (11 - l ) (11 - i ) rc Lowest is first to addressRetirement or mitigation
15
8/10/2019 Life Cy Cycle Model
16/19
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
8/10/2019 Life Cy Cycle Model
17/19
Example Risks
Underestimation of sizeTime lag in learning new toolsLack of top management commitment
Personnel resignChanging scope and/or objectivesTechnical breakthroughs change in product
Unrealistic schedulePersonnel lack required knowledge or skills
17
8/10/2019 Life Cy Cycle Model
18/19
Feature Driven Development (FDD)
Develop an
OverallModel
Build aFeature List Plan by
Feature
Design byFeature Build by
Feature
1) Selection of domainexperts and development
teams2) Completion of
requirements definition byguidance team
Entry Criteria
Completion of:
a) the object model(class, sequencediagrams andexplanatory notes)b) Interview Reportc) Feasibility Reportd) Use case scenarios
Exit Criteria
Completion of thedevelop an overall
model process
Entry Criteria
Completion of thebuild a feature list
process
Completion of theplan by feature
process
Completion of thedesign by feature for
each of the selectedfeatures
Entry CriteriaEntry Criteria
Entry Criteria
Completion of:
a) feature list, including alist of major feature setsand a list of featureswithin each feature setb) GUIc) Modelsd) Requirements
Completion of:
a) development plan,consisting feature setswith completion dates
Completion of:
a) design package,comprising a designdocument, referencedrequirements in the form ofdocuments, memos,supporting documentation,design alternatives, latestobject model, class andmethod prologues, to dotask list on affected classesfor each team members
Completion of:
a) development ofone or morefeatures (client-valued functions)
Exit CriteriaExit Criteria
Exit CriteriaExit Criteria
18
8/10/2019 Life Cy Cycle Model
19/19
Exam Questions
What is Extreme Programming? What are the advantages and disadvantages
of using Extreme Programming as
development model?
19