Generic Processes

advertisement
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)
Download