Transcript Ch02

Software Engineering: A Practitioner’s Approach, 6/e
Chapter 2
Process: A Generic View
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
For University Use Only
May be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
Any other reproduction or use is expressly prohibited.
Coming up: A Layered Technology
1
A Layered Technology
Software Engineering
tools
methods
process model
a “quality” focus
Coming up: What is a process framework
2
What is a process framework
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
Coming up: Framework Activities
3
Framework Activities



Communication
Planning
Modeling



Construction



Analysis of requirements
Design
Code generation
Testing
Deployment
What are some artifacts (work tasks, work products, milestones &
deliverables, QA checkpoints) of each activity?
Coming up: Umbrella Activities
4
Umbrella Activities








Coming up: The Process Model:
Adaptability
Software project management
Formal technical reviews
Software quality assurance
Software configuration management
Work product preparation and production
Reusability management
Measurement
Risk management
5
The Process Model:
Adaptability

The framework activities will always be applied on
every project ... BUT

The tasks (and degree of rigor) for each activity
will vary based on:



Coming up: Text Question
the type of project
characteristics of the project
common sense judgment; concurrence of the project
team
6
Question

Pick any one of the project types below and tell me
which process activity would be emphasized or
deemphasized and why
Project Types:
- 1.Space Shuttle control system
- 2.Web-based calendar
- 3.Embedded controller in your refrigerator
- 4.Automatic “daily fortune” text-messager
Framework Activities
 Communication
 Planning
 Modeling



Construction



Coming up: The CMMI
Analysis of requirements
Design
Code generation
Testing
Deployment
7
The CMMI



The CMMI defines each process area in terms of
“specific goals” and the “specific practices” required to
achieve these goals.
Specific goals establish the characteristics that must
exist if the activities implied by a process area are to be
effective.
Specific practices refine a goal into a set of processrelated activities.
PP - project planning
REQM - Requirements Mgmt
MA - Measurement and Analysis
CM - Configuration Mgmt
PPQA - Process and Product QA
Coming up: The CMMI
8
The CMMI






Level 0 - Incomplete - process area is either not performed or does
not achieve all specified goals.
Level 1 - Performed - All specific CMMI defined goals of the process
area have been satisfied
Level 2 - Managed - All work conforms to an organizationally defined
policy; all people doing the work have access to adequate resources
to get the job done; work tasks are monitored, controlled and
reviewed, evaluated for adherence to the process description
Level 3 - Defined - process is tailored according to organization’s
tailoring guidelines. Work products, measurements, etc… are
contributed to the organizational process assets
Level 4 - Quantitatively managed - Process area uses quantitative
measurement to control and improve the process area. Quantitative
objectives for quality and performance are established and used.
Level 5 - Optimized - Process area adapted and optimized to meet
changing customer’s needs and continually improve the process
area
Coming up: Process Assessment
9
Process Assessment


The process should be assessed to ensure that it meets
a set of basic process criteria that have been shown to
be essential for successful software engineering.
Many different assessment options are available:




SCAMPI --- assessed for CMMI standards compliance
SPICE --- assessed for ISO/IEC15504 compliance
ISO 9001:2000 --- assessed for ISO 9001 compliance
Process Assessment is often used to “certify” a company
as compliant (“Company X is ISO9001 certified “or
“Company Y is CMM level 4”)
Coming up: Assessment and Improvement
10
The Waterfall Model

Do all process steps in the following order (this is
generally thought of as the most basic model)
Com m unic a t ion
proje c t init ia t ion
re quire m e nt ga t he ring
Coming up: Different families of models
Planning
estimat ing
scheduling
tracking
Mode ling
analysis
design
Const r uc t ion
code
t est
De ploy m e nt
de liv e ry
s upport
f e e dba c k
17
Different families of models
Prescriptive (ch 3)
Agile (ch 4)
Prescriptive Models 1970->Present
Agile Models 2001->Present
-Waterfall (1970)
-Evolutionary (1975)
-Incremental (1975)
-Spiral (1988)
-RAD (1991)
- eXtreme Programming (1999)
- SCRUM (1990s)
- DSDM (1997)
- Crystal (2001)
All dates are approximate based on publications
Coming up: Different families of models
18
Different families of models
Prescriptive (ch 3)
Agile (ch 4)
Goal: Higher Quality Software
Goal: Higher Quality Software
Philosophy:
Philosophy:
•Bring order to chaos
•Provide repeatability/consistency
•Provide ability to control
•Provide ability to coordinate teams
•Individuals and interaction over process and tools
•Working software over large documentation
•Customer collaboriation over contract negotiation
•Responding to change over following a plan
Which is probably better for large teams? A. Prescriptive B. Agile C. Same
Which is probably better for a web application?
Which is probably better for Mars rover control system?
Which is produces better software?
End of presentation
19