1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View...
-
Upload
julia-roberts -
Category
Documents
-
view
330 -
download
12
description
Transcript of 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View...
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.
2
A Layered A Layered TechnologyTechnology
Software Engineering
a “quality” focusa “quality” focus
process modelprocess model
methodsmethods
toolstools
3
A Process A Process FrameworkFramework
Process frameworkProcess frameworkFramework activitiesFramework activities
work taskswork taskswork productswork productsmilestones & deliverablesmilestones & deliverablesQA checkpointsQA checkpoints
Umbrella ActivitiesUmbrella Activities
4
Framework ActivitiesFramework Activities CommunicationCommunication PlanningPlanning ModelingModeling
Analysis of requirementsAnalysis of requirements DesignDesign
ConstructionConstruction Code generationCode generation TestingTesting
DeploymentDeployment
5
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
6
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
7
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.
8
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)
9
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 meets a set of basic process criteria that have been shown to be essential for a successful been shown to be essential for a successful software engineeringsoftware engineering.
Many different assessment options are available: Many different assessment options are available: SCAMPISCAMPI CBA IPICBA IPI SPICESPICE ISO 9001:2000ISO 9001:2000
10
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
11
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
12
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
13
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!