Beruflich Dokumente
Kultur Dokumente
Team issues
Proposal issues
– Project title
– Team members (skills, anticipated role within and
contributions to the project)
– Project website URL
– Objectives of project
– Description of project (why do you want to do it, what
features do you anticipate it will have, anticipated life-
cycle model, anticipate language(s), special needs)
Website issues
– Title, names (contact info), meeting summaries, docs
CHAPTER 3
SOFTWARE
LIFE-CYCLE
MODELS
Software Life-Cycle Models
Life-cycle model
The steps through which the product
progresses
– Requirements phase
– Specification phase
– Design phase
– Implementation phase
– Integration phase
– Maintenance phase
– Retirement
Overview
Build-and-fix model
Waterfall model
Rapid prototyping model
Incremental model
Extreme programming
Synchronize-and-stabilize model
Spiral model
Object-oriented life-cycle models
Comparison of life-cycle models
Build and Fix Model
Build and Fix Model
Problems
– No specifications
– No design
Totally
unsatisfactory
Need life-cycle
model
– “Game plan”
– Phases
– Milestones
Waterfall Model (contd)
Waterfall Model (contd)
Characterized by
– Feedback loops
– Documentation-driven
Advantages
– Documentation
– Maintenance easier
Disadvantages
– Specifications
Rapid Prototyping Model
Linear model
“Rapid”
Three Key Points
Waterfall model
– Many successes
– Client needs
Rapid prototyping model
– Not proved
– Has own problems
Solution
– Rapid prototyping for requirements
phase
– Waterfall for rest of life cycle
Incremental Model
Divide project
into builds
Incremental Model (contd)
Simplified form
– Waterfall model
plus risk analysis
Precede each
phase by
– Alternatives
– Risk analysis
Follow each
phase by
– Evaluation
– Planning of next
phase
Simplified Spiral Model
If risks
cannot be
resolved,
project is
immediately
terminated
Full Spiral Model (contd)
Analysis of Spiral Model
Strengths
– Easy to judge how much to test
– No distinction between development,
maintenance
Weaknesses
– For large-scale software only
– For internal (in-house) software only
Conclusions
Four cycles
– inception
– elaboration
– construction
– transition
– each followed by a major milestone
RUP: Inception Phase
Purpose
– establish the business case and define the project
scope
Selected deliverables
– A vision document
– An initial use-case model
– An initial project glossary
– An initial business case
– An initial risk assessment
– A project plan
– One or more prototypes
RUP: Lifecycle Objectives Milestone
Stakeholder buy-in
Requirements understanding
Credibility of estimates
Prototype evaluation
RUP: Elaboration Phase
Purpose
– analyze problem, establish a sound architecture,
develop a project plan, and eliminate high risk elements
Hardest phase
Selected deliverables
– A use-case model
– An architecture description
– A development plan
RUP: Lifecycle Architecture Milestone
Purpose
– develop remaining components and into them into the
product
Should be incremental
Deliverables
– the software product
– the user manuals
– a description of the current release
RUP: Initial Operational Capability Milestone
Purpose
– to transition the product to the user community
Selected objectives
– beta testing
– training
– roll-out to marketing, distribution, and sales
– achieving final product baseline as rapidly and cost
effectively as practical
RUP: Product Release Milestone
Read chapter 3
– Problems 3.5, 3.6, 3.7, 3.8
– Follow (AND READ) the guided tour at
http://www.extremeprogramming.org
» DEMO
– Describe what you would like and not like if you worked
in an organization that used extreme programming.
– Due: February 3rd
Project Assignment
Website
Proposal