process: a generic view n a software process is a roadmap to building high quality software...

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.

Upload: byron-garrison

Post on 25-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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.

Page 2: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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

Page 3: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing 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

A Process Framework

Process frameworkProcess frameworkFramework activitiesFramework activities

work taskswork productsmilestones & deliverablesQA checkpoints

Umbrella ActivitiesUmbrella Activities

Page 4: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

Common Process Framework Activities

Communication Planning Modeling

Analysis of requirements Design

Construction Code generation Testing

Deployment

Page 5: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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

Page 6: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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

A Generic Process Model

Page 7: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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

7

Process Flow

Page 8: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

8

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

Page 9: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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

Page 10: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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

Page 11: Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities

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)