You are on page 1of 15

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.

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 process­related 
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
Five­step 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

identifies is examined by identifies capabilities


modifications to and risk of

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
 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

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 self­directed:
 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

You might also like