Generic Processes
Download
Report
Transcript Generic Processes
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)