Coming up: A Layered Technology 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2...
-
Upload
henry-wade -
Category
Documents
-
view
218 -
download
0
Transcript of Coming up: A Layered Technology 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2...
Coming up: A Layered Technology 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, 2005
R.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.
Coming up: What is a process framework 2
A Layered A Layered TechnologyTechnology
Software Engineering
a “quality” focusa “quality” focus
process modelprocess model
methodsmethods
toolstools
Coming up: Framework Activities 3
What is a process What is a process frameworkframework
Process frameworkProcess frameworkFramework activitiesFramework activities
work taskswork taskswork productswork productsmilestones & deliverablesmilestones & deliverablesQA checkpointsQA checkpoints
Umbrella ActivitiesUmbrella Activities
Coming up: Umbrella Activities 4
Framework ActivitiesFramework Activities
CommunicationCommunication PlanningPlanning ModelingModeling
Analysis of requirementsAnalysis of requirements DesignDesign
ConstructionConstruction Code generationCode generation TestingTesting
DeploymentDeployment
Coming up: The Process Model:Adaptability 5
Umbrella ActivitiesUmbrella Activities Software project management Formal technical reviews Software quality assurance Software configuration management Work product preparation and
production Reusability management Measurement Risk management
Coming up: Text Question 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
QuestionQuestion
Pick any one of the project types below and tell Pick any one of the project types below and tell me which process activity would be emphasized me which process activity would be emphasized or deemphasized and whyor deemphasized and why
Coming up: The CMMI 7
Project Types:Project Types:- 1.Space Shuttle control system1.Space Shuttle control system- 2.Web-based calendar2.Web-based calendar- 3.Embedded controller in your 3.Embedded controller in your refrigeratorrefrigerator- 4.Automatic “daily fortune” text-4.Automatic “daily fortune” text-messagermessager
Framework ActivitiesFramework Activities CommunicationCommunication PlanningPlanning ModelingModeling
Analysis of requirementsAnalysis of requirements DesignDesign
ConstructionConstruction Code generationCode generation TestingTesting
DeploymentDeployment
Coming up: The CMMI 8
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.
PP - project planningREQM - Requirements MgmtMA - Measurement and AnalysisCM - Configuration MgmtPPQA - Process and Product QA
Coming up: Process Assessment 9
The CMMIThe CMMI Level 0 - IncompleteLevel 0 - Incomplete - process area is either not performed or - process area is either not performed or
does not achieve all specified goals.does not achieve all specified goals. Level 1 - PerformedLevel 1 - Performed - All specific CMMI defined goals of the - All specific CMMI defined goals of the
process area have been satisfiedprocess area have been satisfied Level 2 - ManagedLevel 2 - Managed - All work conforms to an organizationally - All work conforms to an organizationally
defined policy; all people doing the work have access to adequate defined policy; all people doing the work have access to adequate resources to get the job done; work tasks are monitored, resources to get the job done; work tasks are monitored, controlled and reviewed, evaluated for adherence to the process controlled and reviewed, evaluated for adherence to the process descriptiondescription
Level 3 - DefinedLevel 3 - Defined - process is tailored according to organization’s - process is tailored according to organization’s tailoring guidelines. Work products, measurements, etc… are tailoring guidelines. Work products, measurements, etc… are contributed to the organizational process assetscontributed to the organizational process assets
Level 4 - Quantitatively managedLevel 4 - Quantitatively managed - Process area uses quantitative - Process area uses quantitative measurement to control and improve the process area. measurement to control and improve the process area. Quantitative objectives for quality and performance are Quantitative objectives for quality and performance are established and used.established and used.
Level 5 - OptimizedLevel 5 - Optimized - Process area adapted and optimized to meet - Process area adapted and optimized to meet changing customer’s needs and continually improve the process changing customer’s needs and continually improve the process areaarea
Coming up: Assessment and Improvement 10
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 successful software shown to be essential for successful software engineeringengineering.
Many different assessment options are available: Many different assessment options are available: SCAMPI --- assessed for CMMI standards complianceSCAMPI --- assessed for CMMI standards compliance SPICE --- assessed for ISO/IEC15504 complianceSPICE --- assessed for ISO/IEC15504 compliance ISO 9001:2000 --- assessed for ISO 9001 complianceISO 9001:2000 --- assessed for ISO 9001 compliance
Process Assessment is often used to “certify” a Process Assessment is often used to “certify” a company as compliant (“Company X is ISO9001 company as compliant (“Company X is ISO9001 certified “or “Company Y is CMM level 4”)certified “or “Company Y is CMM level 4”)
The Waterfall ModelThe Waterfall Model
Do all process steps in the following order (this is Do all process steps in the following order (this is generally thought of as the most basic model)generally thought of as the most basic model)
Coming up: Different families of models 17
CommunicationPlanning
ModelingConstruction
Deploymentanalysisdesign code
test
project initiationrequirement gathering estimating
schedulingtracking
deliverysupportfeedback
Different families of modelsDifferent families of models
18
Prescriptive (ch 3) Agile (ch 4)
Prescriptive Models 1970->Present
-Waterfall (1970)-Evolutionary (1975)-Incremental (1975)-Spiral (1988)-RAD (1991)
Agile Models 2001->Present
- eXtreme Programming (1999)- SCRUM (1990s)- DSDM (1997)- Crystal (2001)
All dates are approximate based on publications
Coming up: Different families of models
Different families of modelsDifferent families of models
19
Prescriptive (ch 3) Agile (ch 4)
Goal: Higher Quality Software
Philosophy:•Bring order to chaos•Provide repeatability/consistency•Provide ability to control•Provide ability to coordinate teams
Goal: Higher Quality Software
Philosophy:•Individuals and interaction over process and tools•Working software over large documentation•Customer collaboriation over contract negotiation•Responding to change over following a plan
Which is probably better for large teams? A. Prescriptive B. Agile C. Same
Which is probably better for a web application?
Which is probably better for Mars rover control system?
Which is produces better software?End of presentation