Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 6/e

advertisement
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: A Process Framework
2
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



Coming up: Umbrella Activities
Analysis of requirements
Design
Code generation
Testing
Deployment
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: The CMMI
the type of project
characteristics of the project
common sense judgment; concurrence of the project
team
6
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
7
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 Patterns
8
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 a successful software engineering.
Many different assessment options are available:




SCAMPI
CBA IPI
SPICE
ISO 9001:2000
Coming up: Assessment and Improvement
9
Assessment and Improvement
Software Process
is examined by
identifies
modifications to
identifies capabilities
and risk of
Software Process
Assessment
Software Process
Improvement
leads to
leads to
Capability
Determination
motivates
Coming up: Personal Software Process (PSP)
10

Personal Software Process
(PSP)
Recommends five framework activities:






Planning
High-level design
High-level design review
Development
Postmortem
stresses the need for each software
engineer to identify errors early and as
important, to understand the types of
errors
Defect Removal
(From Watt’s Humphrey,
The Personal Software Process)
Coming up: Team Software Process (TSP)
11
Team Software Process (TSP)




Each project is “launched” using a “script” that
defines the tasks to be accomplished
Teams are self-directed
Measurement is encouraged
Measures are analyzed with the intent of
improving the team process
Coming up: Team Software Process (TSP)
12
Team Software Process (TSP)

Launch Script


Review project objectives with management and agree
on and document team goals
Establish team roles
Define
the team’s development process
Make a quality plan and set quality targets
Plan for needed support facilities
Produce an overall development strategy
Make a development plan for the entire project
Make detailed plans for each developer in the next stage
Rebalance the workload to minimize overall schedule
Assess project risks and assign tracking responsibility to each
Coming up: The Primary Goal of Any Software Process: High Quality
13
The Primary Goal of Any Software
Process: High Quality
Remember:
High quality = project timeliness
Why?
Less rework!
Coming up: CMMI Case Study
14
CMMI Case Study

Lets review the CMMI Case study….
Coming up: CMMI Case Study
15
Download