Professional Documents
Culture Documents
6/e
Chapter 2
Process: A Generic View
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Software Engineering
What is it?
The establishment and use of sound engineering principles in
order to obtain economically feasible software that works
efficiently on real machines [F.Bauer, 1969]
More than a discipline or a body of knowledge: It is a way of
approaching a problem [S. Whitmire]
(1) The application of systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of
software; I.e. the application of engineering to software.
(2) The study of approaches as in (1) above. [IEEE 1993]
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2
A Layered
Technology
Software Engineering
Tools: CASE preferred
Methods: technical “how to’s”
Process model: the “framework”
A quality focus: the “bedrock”
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3
A Process
Framework
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
Framework activities are applicable to all S/W projects, regardless
of their size and complexity
Umbrella activities are applicable across the entire S/W process
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4
Framework Activities
Communication: with customers, stakeholders, team
Planning: for the workflow that is to follow
Modeling: to advance the understanding of requirements
Analysis of requirements
Design
Construction
Code generation: either manual or automated or both
Testing
Deployment: delivery to the customer for evaluation
DEF: “STAKEHOLDER: A person holding a large and sharp stake … If you do not look
after your stakeholder, you know where the stake will end up” [R. Thomsett] (;))
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5
Umbrella Activities
Software project management
Formal technical reviews
Software quality assurance
Software configuration management
Work product preparation and production
Reusability management
Measurement
Risk management
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6
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:
the type of project
characteristics of the project
common sense judgment; concurrence of the project team
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7
The CMMI:
Capability Maturity
Model Integration
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. More on CMMI under www.sei.cmu.edu/cmmi
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8
Process Patterns
Process patterns define a set of activities, actions, work
tasks, work products and/or related behaviors
A template is used to define a pattern
Typical examples:
Customer communication (a process activity)
Planning (an action)
Analysis (an action)
Requirements gathering (a process task)
Reviewing a work product (a process task)
Design model (a work product)
Construction
Deployment
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 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 a successful software engineering.
Many different assessment options are available:
SCAMPI: Standard CMMI Assessment Method for Process
Improvement
Fivestep model: initiating, diagnosing, establishing, acting, learning.
CBA IPI: CMM Based Appraisal for Internal Process Improvement
Uses SEI CMM; a diagnostic technique for assessing the relative
maturity of software organizations
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10
Process Assessment
More assessment options:
SPICE (ISO/IEC15504): Standard defining set of requirements for
software process assessment. Intent: To assist in developing an
objective evaluation of the efficacy of any defined S/W process
ISO 9001:2000: Generic standard that applies to any organization
intent on improving the overall quality of the products, systems or
services. This standard is directly applicable to S/W organizations and
companies.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11
Assessment and Improvement
Software Process
Software Process
Assessment
Capability
Software Process leads to leads to
Determination
Improvement
motivates
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12
Personal Software Process (PSP)
Recommends five framework activities:
Planning
Highlevel design
Highlevel design review
Development
Postmortem
Stresses the need for each software engineer to
identify errors early and as important, to
understand the types of errors
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13
Team Software Process (TSP)
Each project is “launched” using a “script” that
defines the tasks to be accomplished
Teams (of 2 to 20 engineers) are selfdirected:
Plan and track work, set goals, own processes and plans
Measurement is encouraged
Measures are analyzed with the intent of
improving the team process (through coaching,
motivation, …)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14
The Primary Goal of Any Software Process:
High Quality
Remember:
High quality = project
timeliness
Why?
Less rework!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15