You are on page 1of 15

Software Engineering: A Practitioners 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 Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

Questions to answer

What is a software process?


What are the generic framework activities that are
present in every software process?
How are processes modeled and what the process
patterns?
What are prescriptive process models and what are their
strengths and weaknesses?
What characteristics of incremental models make them
amenable to modern software projects?
What is the unified process?

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

Questions to answer (cont.)

Why is agility a watchword in modern software


engineering work?
What is agile software development and how does it
differ from more traditional process models?

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

A Layered Technology
Software Engineering
tools

methods
process model
a quality focus

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

A Process Framework
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

Framework Activities

Communication
Planning
Modeling

Construction

Analysis of requirements
Design
Code generation
Testing

Deployment

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

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 Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

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 Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

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.

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

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)


Analysis (an action)
Requirements gathering (a process task)
Reviewing a work product (a process task)
Design model (a work product)

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

10

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
CBA IPI CMM-Based Appraisal for Internal Process
Improvement.
SPICE - (ISO/IEC15504) standard defines a set of requirements
process assessment.
ISO 9001:2000 overall quality standard for products, systems,
or services provided.

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

11

Assessment and Improvement


Software Pr oce ss

is e xamine d by

identifies
modifications to

identifies cap abilities


and risk of

Software Process
Assessment

Software Process
Imp rovement

leads to

leads to

Capability
Determin ation

motivates

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners 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 Practitioners 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 are self-directed
Measurement is encouraged
Measures are analyzed with the intent of
improving the team process

These courseware materials are to be used in conjunction with Software Engineering: A Practitioners 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 Practitioners Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

15

You might also like