Documente Academic
Documente Profesional
Documente Cultură
Life-Cycle Models
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Four Essential Phases of any
Software Development Process
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Each Phase has an “Output”
Phase Output
Requirements analysis Software Requirements
Specification (SRS),
Use Cases
Design Design Document,
Design Classes
Implementation Code
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Models
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
“Life-Cycle” Models
Single-Version Models
Incremental Models
Single-Version with Prototyping
Iterative Models
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
“Life-Cycle” Models (1)
Single-Version Models
Big-Bang Model
Waterfall Model
Waterfall Model with “back flow”
“V” model: Integrating testing
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Big-Bang Model
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Waterfall Model
Requirements
Design
Implementation
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Waterfall Model with Back Flow
(sometimes this is implied by “waterfall”)
Requirements
Design
Implementation
Test
Adjustments made to immediately previous phase
based on issues with successive phase.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
“V” Model
Each phase has corresponding test or validation counterpart
Requirements Acceptance
Analysis Test
Implementation
Sawtooth Model (Brugge)
Requirements Demo Prototype Demo Prototype
Acceptance Test
Analysis 1 2
Implementation
Incremental vs. Iterative
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Example: Building a House
Incremental: Start with a modest house,
keep adding rooms and upgrades to it.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Winchester Mystery House
San Jose, CA
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Why Not Waterfall?
1. Complete Requirements Not Known at Project Start
Creeping Req's as % of Orig
60
50
40
30
20
10
0
10 100 1000 10000 100000
Project Size in Function Points
Source:
These slides prepared Applied
by Prof. Bob KellerSoftware
of Harvery MuddMeasurement, Capers
College and printed Jones, 1997.
for ERAU/Prescott Based
SE300 usage with on 6,700 systems.
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Function Point?
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Why Not Waterfall?
2. Requirements are not stable/unchanging.
The market changes—constantly.
80000
70000 66690
60000
Person Months
50000
40000
30000
20000
10000 4362
1 20 267
0
10 100 1000 10000 100000
Project Size in Function Points
Source: Craig Larman
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Large vs. Small Steps:
Productivity
4500
4000
SLOC/Person Month
3500
3000
2500
2000
1500
1000
500
0
1 10 100 1000
Project Size in KSLOC
Source: Measures For Excellence, Putnam,
1992.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage withBased on 1,600 systems.
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
“Life-Cycle” Models (3)
Iterative Models
Spiral Model & Variants
ROPES Model
Controlled Iteration Model: Unified Process
Time Box Model
Scrum Model
Fountain Model
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Boehm Spiral Model
(of which some other models are variants)
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Risk? What risk?
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
“Wicked Problems”
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Source of some of this
Prentice-Hall, 1990
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Some Roots of Wickedness
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
The Waffle Principle
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
The Mythical Man-Month
Addison-Wesley
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Wicked Problems
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
US Air Force
Risk Classification
Performance risk: The project might not
meet requirements or otherwise be fit for
use.
Cost risk: The budget might get overrun.
Support risk: The software might not be
adaptable, maintainable, extendable
Schedule risk: The project might be
delivered too late.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
USAir Force
Software Risk Impact Classification
Negligible
Marginal
Critical
Catastrophic
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Ways to Manage Risk
Risk cannot be eliminated; it must be
managed.
Do thorough requirements analysis before the
design.
Use tools to track requirements,
responsibilities, implementations, etc.
Build small prototypes to test and demonstrate
concepts and assess the approach, prior to
building full product.
Prototype integration as well as components.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Front-Loading
Tackle the unknown and harder parts earlier
rather than later.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
ROPES Model - Similar to Spiral
Rapid Object-Oriented Process for Embedded Systems
Bruce Douglass
http://www.sdmagazine.com/breakrm/features/s999f1.shtml
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
ROPES Model
Rapid Object-Oriented Process for Embedded Systems
Bruce Douglass
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Controlled-Iteration Model
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Rational Unified Process
(a form of controlled iteration)
Phases
Process Workflows Inception Elaboration Construction Transition
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Supporting Workflows
Configuration Mgmt
Management
Environment
Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1
Requirements analysis
Initial design
while( not done )
{
Develop a version within a bounded time
Deliver to customer
Get feedback
Plan next version
}
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Scrum,
A cure for the Wicked?
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Scrum Model
(incremental model,
includes some aspects of team structure, as well as process)
Start
See http://www.cetus-links.org/oo_ooa_ood_methods.html
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Argument for the Scrum Model
over other iterative models
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Some Principles of Scrum Model
Always have a product that you can theoretically
ship: “done” can be declared at any time.
Build early, build often.
Continuously test the product as you build it.
Assume requirements may change; Have ablility
to adapt to marketplace changes during
development.
Small teams work in parallel to maximize
communication and minimize overhead.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Concepts Used in Scrum
(from http://www.controlchaos.com/ap.htm)
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Use of Iteration in Scrum
http://www.controlchaos.com/scrumwp.htm
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Fountain Model
(Ian Graham, et al., The OPEN Process Specification
OPEN = Object-oriented Process Environment and Notation )
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Additional Models/Acronyms
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Extreme Programming (XP)
Each release is preceded by a release planning
meeting.
Each day begins with a stand-up meeting to share
problems and concerns.
CRC cards are used for design. [XP and CRC were
created by the same person, Kent Beck.]
Spike solutions are done to assess risks.
The customer is always available.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Extreme Programming (XP)
All code must pass unit tests, which are coded
before the code being tested (test-driven
design).
Refactoring is done constantly.
Integration is done by one pair.
Integration is done frequently.
Optimization is done last.
Acceptance tests are run often.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
System Metaphor?
“Choose a system metaphor to keep the team on the same page by
naming classes and methods consistently. What you name your
objects is very important for understanding the overall design of
the system and code reuse as well. Being able to guess at what
something might be named if it already existed and being right is a
real time saver. Choose a system of names for your objects that
everyone can relate to without specific, hard to earn knowledge
about the system.
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt
Keller’s Roll-Your-Own
Software Life-Cycle Construction Kit
Requirements System Design Prototype Validate
Elicitation
Program Design Simulate Verify
Requirements
Analysis Detailed Design Implement Integration Test
Configure
Maintain
Party
These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with
his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt