Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 15

Software Engineering: A Practitioner’s Approach, 7/e

Chapter 2
Process: A Generic View

1
A Layered Technology
Software Engineering

tools

methods

process model

a “quality” focus

2
A Process Framework
Process framework
Umbrella activities
framework activity #1 framework activity #2
SE action #1.1 SE action #2.1

 work tasks  work tasks


work
task work products task
sets  QA points sets  products
QA points
 milestones  milestones
SE action #1.2 SE action #2.2

 work tasks
work  work tasks
work
task task
sets  products
QA points sets  products
QA points
 milestones  milestones

3
Framework Activities
 Communication
 Planning
 Modeling
 Analysis of requirements
 Design
 Construction
 Code generation
 Testing
 Deployment

4
Umbrella Activities
 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:
 the type of project
 characteristics of the project
 common sense judgment; concurrence of the
project team

6
The CMMI
 Capability Maturity Model Integration (CMMI) –
developed by The Software Engineering Institute (SEI)
 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.

7
The CMMI
 Level 0: Incomplete - Process goals not satisfied
 Level 1: Performed - Process goals satisfied
 Level 2: Managed - Process areas conforms to
organizationally defined policy, resources are available,
work tasks are monitored
 Level 3: Defined - Tailored according to the organization’s
standard processes
 Level 4: Quantitatively managed - Quantitative assessment
 Level 5: Optimized - Processes are optimized

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

9
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

10
Personal Software Process

 The PSP was created by Watts Humphrey to


apply the underlying principles of the Software
Engineering Institute’s (SEI) Capability Maturity
Model (CMM) to the software development
practices of a single developer. It gives software
engineers the process skills necessary to work
on a Team Software Process (TSP) team.

11
Personal Software Process

 The PSP provides software engineers with


disciplined methods for improving personal
software development processes. The PSP helps
software engineers to:
 Improve their estimating and planning skills.
 Make commitments they can keep.
 Manage the quality of their projects.
 Reduce the number of defects in their work.

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

13
Team Software Process (TSP)
 Provides a simple process framework
based on the PSP.
 TSP can help you build self-directed teams
that plan and track their work, establish
goals, and own their processes and plans.
TSP can help your organization establish a
mature, disciplined engineering practice
that produces secure, reliable software.

14
The Primary Goal of Any Software Process:
High Quality

Remember:

High quality = project timeliness

Why?

Less rework!

15

You might also like