ch02 pressmann software engineering

15
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1 Software Engineering: A Practitioner’s Approach, Software Engineering: A Practitioner’s Approach, 6/e 6/e Chapter 2 Chapter 2 Process: A Generic View Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.

Upload: manuel-sosaeta

Post on 18-Jul-2016

42 views

Category:

Documents


1 download

DESCRIPTION

Ch02 Pressmann Software engineering

TRANSCRIPT

Page 1: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1

Software Engineering: A Practitioner’s Software Engineering: A Practitioner’s Approach, 6/eApproach, 6/e

Chapter 2Chapter 2Process: A Generic ViewProcess: A Generic View

copyright © 1996, 2001, 2005R.S. Pressman & Associates, Inc.

For University Use OnlyMay be reproduced ONLY for student use at the university level

when used in conjunction with Software Engineering: A Practitioner's Approach.Any other reproduction or use is expressly prohibited.

Page 2: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2

Questions to answerQuestions to answer What is a software process?What is a software process? What are the generic framework activities that What are the generic framework activities that

are present in every software process?are present in every software process? How are processes modeled and what the How are processes modeled and what the

process patterns?process patterns? What are prescriptive process models and what What are prescriptive process models and what

are their strengths and weaknesses?are their strengths and weaknesses? What characteristics of incremental models make What characteristics of incremental models make

them amenable to modern software projects?them amenable to modern software projects? What is the unified process? What is the unified process?

Page 3: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3

Questions to answer (cont.)Questions to answer (cont.) Why is “agility” a watchword in modern software Why is “agility” a watchword in modern software

engineering work?engineering work? What is agile software development and how What is agile software development and how

does it differ from more traditional process does it differ from more traditional process models?models?

Page 4: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4

A Layered A Layered TechnologyTechnology

Software Engineering

a “quality” focusa “quality” focus

process modelprocess model

methodsmethods

toolstools

Page 5: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5

A Process A Process FrameworkFramework

Process frameworkProcess frameworkFramework activitiesFramework activities

work taskswork taskswork productswork productsmilestones & deliverablesmilestones & deliverablesQA checkpointsQA checkpoints

Umbrella ActivitiesUmbrella Activities

Page 6: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6

Framework ActivitiesFramework Activities CommunicationCommunication PlanningPlanning ModelingModeling

Analysis of requirementsAnalysis of requirements DesignDesign

ConstructionConstruction Code generationCode generation TestingTesting

DeploymentDeployment

Page 7: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7

Umbrella ActivitiesUmbrella Activities Software project managementSoftware project management Formal technical reviewsFormal technical reviews Software quality assuranceSoftware quality assurance Software configuration managementSoftware configuration management Work product preparation and productionWork product preparation and production Reusability managementReusability management MeasurementMeasurement Risk managementRisk management

Page 8: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8

The Process Model:The Process Model:AdaptabilityAdaptability

the framework activities will the framework activities will alwaysalways be be applied on applied on everyevery project ... BUT project ... BUT

the tasks (and degree of rigor) for each the tasks (and degree of rigor) for each activity will vary based on:activity will vary based on: the type of project the type of project characteristics of the projectcharacteristics of the project common sense judgment; concurrence of the common sense judgment; concurrence of the

project teamproject team

Page 9: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9

The CMMIThe CMMI The CMMI defines each process area in terms of The CMMI defines each process area in terms of

“specific goals” and the “specific practices” “specific goals” and the “specific practices” required to achieve these goals.required to achieve these goals.

Specific goalsSpecific goals establish the characteristics that establish the characteristics that must exist if the activities implied by a process must exist if the activities implied by a process area are to be effective. area are to be effective.

Specific practicesSpecific practices refine a goal into a set of refine a goal into a set of process-related activities.process-related activities.

Page 10: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10

Process PatternsProcess Patterns Process patterns define a set of activities, Process patterns define a set of activities,

actions, work tasks, work products and/or related actions, work tasks, work products and/or related behaviorsbehaviors

A template is used to define a patternA template is used to define a pattern Typical examples:Typical examples:

Customer communication (a process activity)Customer communication (a process activity) Analysis (an action)Analysis (an action) Requirements gathering (a process task)Requirements gathering (a process task) Reviewing a work product (a process task)Reviewing a work product (a process task) Design model (a work product)Design model (a work product)

Page 11: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11

Process AssessmentProcess Assessment The process should be assessed to ensure that it The process should be assessed to ensure that it

meets a set of basic process criteria that have been meets a set of basic process criteria that have been shown to be essential for a successful software shown to be essential for a successful software engineeringengineering.

Many different assessment options are available: Many different assessment options are available: SCAMPI – Standard CMMI Assessment Method for Process SCAMPI – Standard CMMI Assessment Method for Process

improvementimprovement CBA IPI – CMM-Based Appraisal for Internal Process CBA IPI – CMM-Based Appraisal for Internal Process

Improvement. Improvement. SPICE - (ISO/IEC15504) standard defines a set of SPICE - (ISO/IEC15504) standard defines a set of

requirements process assessment.requirements process assessment. ISO 9001:2000 – overall quality standard for products, ISO 9001:2000 – overall quality standard for products,

systems, or services provided.systems, or services provided.

Page 12: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12

Assessment and ImprovementAssessment and ImprovementSoftware Process

Software Process Assessment

is examined by identifies capabilitiesand risk of

identifiesmodifications to

Software Process Improvement

Capability Determinationleads to leads to

motivates

Page 13: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13

Personal Software Process Personal Software Process (PSP)(PSP)

Recommends five framework activities:Recommends five framework activities: PlanningPlanning High-level designHigh-level design High-level design reviewHigh-level design review DevelopmentDevelopment PostmortemPostmortem

stresses the need for each software stresses the need for each software engineer to identify errors early and as engineer to identify errors early and as important, to understand the types of important, to understand the types of errorserrors

Page 14: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14

Team Software Process (TSP)Team Software Process (TSP) Each project is “launched” using a “script” Each project is “launched” using a “script”

that defines the tasks to be accomplishedthat defines the tasks to be accomplished Teams are self-directedTeams are self-directed Measurement is encouragedMeasurement is encouraged Measures are analyzed with the intent of Measures are analyzed with the intent of

improving the team processimproving the team process

Page 15: Ch02 Pressmann Software engineering

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15

The Primary Goal of Any Software The Primary Goal of Any Software Process: Process: High QualityHigh Quality

Remember:Remember:

High quality = project timelinessHigh quality = project timeliness

Why?Why?

Less rework!Less rework!