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

Process: A Generic View

 A software process
 is a roadmap to building high quality software
products.
 provides a framework for managing activities.
 adapts to meet needs of software engineers and
managers.
 Different types of projects require different
software processes.
 Best indicators of how well a process worked
are the quality, timeliness, and long-term
viability of the resulting software product.
Software Processes
 What is a process?
 Sequence of steps required to develop or maintain
software

 Characteristics
 prescribes major activities
 constraints and controls apply to activities,
resources, and products
 utilizes resources, subject to constraints such as
schedule, to produce intermediate and final results
 constraints on activities: time, budget, tools
 controls on activities: config. mgmt, reports
A Process Framework

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

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill
2009). Slides copyright 2009 by Roger Pressman. 3
Common Process Framework Activities

 Communication
 Planning
 Modeling
 Analysis of requirements
 Design
 Construction
 Code generation
 Testing
 Deployment
Umbrella Activities

 Software project tracking and control


 Formal technical reviews
 Software quality assurance
 Software configuration management
 Work product preparation and production (activities to
create models, documents, logs, forms, lists, etc.)
 Reusability management (defines criteria for work
product reuse and establish mechanisms to achieve
component reuse)
 Measurement
 Risk management
A Generic Process Model

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill,
2009). Slides copyright 2009 by Roger Pressman. 6
Process Flow

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill,
2009). Slides copyright 2009 by Roger Pressman.
7
Identifying a Task Set

 A task set defines the actual work to be done


to accomplish the objectives of a software
engineering action.
 A list of the task to be accomplished
 A list of the work products to be produced
 A list of the quality assurance filters to be applied

8
Attributes for Comparing Process Models
 Overall flow and level of task dependencies
 Degree to which work products are identified and
required within each framework activity
 Manner in which quality assurance activities are
applied
 Manner in which project tracking and control activities
are applied
 Overall degree of detail and rigor of process
description
 Degree to which stakeholders are involved in the
project
 Level of autonomy given to project team
 Degree to which team organization and roles are
prescribed
Process Assessment

 SPICE (ISO/IE15504) standard defines a set


of requirements for process assessment

 ISO 9001:2000 for Software defines


requirements for a quality management
system that will produce higher quality
products and improve customer satisfaction
Software Engineering Institute (SEI) Capability
Maturity Model Integration (CMMI)
 Level 0: Incomplete (process is not performed)
 Level 1: Performed (tasks are being conducted)
 Level 2: Managed (tasks and products are monitored,
reviewed, and evaluated for conformance to process
description)
 Level 3: Defined (processes documented,
standardized, and integrated into organization-wide
software process)
 Level 4: Quantitatively Managed (software process
and products are quantitatively understood and
controlled using detailed measures)
 Level 5: Optimizing (continuous process
improvement is enabled by quantitative feedback
from the process and testing innovative ideas)

You might also like