PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered...
-
Upload
mark-warner -
Category
Documents
-
view
212 -
download
0
Transcript of PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered...
![Page 1: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/1.jpg)
PART ONE The Product and the Process
Chapter 2 The Process
Software Engineering: A Layered Technology
a “quality” focusa “quality” focus
process modelprocess model
methodsmethods
toolstools
A road map that helps you create a timely, high-quality result.
Provide technical how-to’s for building software.
Computer-Aided Software Engineering
![Page 2: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/2.jpg)
PART ONE – The ProcessThe 3 generic phases of software engineering:
Definition
Development
Support
What ?
info to be processed function and performance system behavior interfaces design constrains validation criteria
How ?
data structure function and procedure implementation interfaces design translation and testing
Change (also called maintenance)
corrective maintenance: correct defects adaptive maintenance: accommodate changes to its external
environment perfective maintenance: extend the software beyond its original fu
nctional requirements preventive maintenance (software reengineering): make the
software being more easily corrected, adapted, and enhanced
![Page 3: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/3.jpg)
PART ONE – The Process
Common process framework
Umbrella Activities Project tracking & control Formal technical reviews Quality assurance Configuration management Documentation Reusability management Measurement Risk management
Framework Activitieswork taskswork productsmilestones & deliverablesQA checkpoints
Framework Activitieswork taskswork productsmilestones & deliverablesQA checkpoints
![Page 4: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/4.jpg)
PART ONE – The Process
The Capability Maturity Model (CMM)—— by Software Engineering Institute (SEI) of Carnegie Mellon University (CMU)
Level 1Initial
Level 2Repeatable
Level 5OptimizingLevel 4
ManagedLevel 3Defined
Ad hoc and chaotic
Configuration management
Quality assurance
Subcontract management
Project tracking & oversight
Project planning
Requirements management
Peer reviewsIntergroup co
ordinationProduct engin
eeringIntegrated sof
tware management
Training program
Organization process definition
Organization process focus
Quality management
Quantitative process management
Process change management
Technology change management
Defect prevention
Key Process
Area
KPA Description Goals Commitments Abilities Activities Methods for monitoring implementation Methods for verifying implementation
能力成熟度模型能力成熟度模型 (CMM):(CMM):
软件过程改进指南软件过程改进指南The Capability Maturity Model
Guidelines for Improving the Software Process
SEI of CMU 编著
刘孟仁 等译
电子工业出版社 ( 2001 )
![Page 5: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/5.jpg)
PART ONE – The Process
Software Process Models
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
statusquo
problemdefinition
technicaldevelopment
solutionintegration
A problem solving loop
![Page 6: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/6.jpg)
PART ONE – The Process
Waterfall Model
Definition
Feasibility Study
Requirements Analysis
System Design
Program Design
Coding & Module Testing
Integration & System Testing
Definition
Development
Delivery & MaintenanceSupport
Real projects rarely follow the sequential flow.
Customers usually can’t state all requirements explicitly.
A working version will not be available
until late in the project time- span.
System Lifecycle
![Page 7: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/7.jpg)
PART ONE – The Process
Prototyping Model
listento
customerbuild/revisemock-up
customertest-drivesmock-up
The prototype must be thrown away.
![Page 8: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/8.jpg)
PART ONE – The Process
Rapid Application Development Model
businessmodeling
datamodeling
processmodeling
applicationgeneration
testing&
turnover
businessmodeling
datamodeling
processmodeling
applicationgeneration
testing&
turnover
businessmodeling
datamodeling
processmodeling
applicationgeneration
testing&
turnover
team #1
team #2team #3
60 - 90 days
Reuse
Require sufficient human resources.
If a system cannot be properly modularized, RAD may not work.
RAD is not appropriate when technical risks are high.
Require commitment to the rapid-fire activities from both developers and customers.
![Page 9: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/9.jpg)
PART ONE – The Process
Incremental Model
calendar time
analysis design code test
System/informationengineering
increment 1
delivery of1st increment
Core product
analysis design code testincrement 2 delivery of2nd increment
More features and functionality
analysis design code test
analysis design code test
increment 3
increment 4
delivery of3rd increment
delivery of4th increment
Makes a better use of resources.
![Page 10: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/10.jpg)
PART ONE – The Process
Spiral Model
ReviewCommitment
Partition
Risk analy-sis Prototype 1
Simulations, models, benchmarksRequirements plan, life-cycle
planConcept of operation
Prototype 2
Risk analysis
Software requirements
Requirements validation
Develop-ment plan
Risk analysis
Prototype 3
Software product design
Design validation and verification
Integration and test
plan
Risk analysis
Operational prototype
Detailed design
Unit test
Code
Integration and test
Acceptance testImplementation
Plan next phasesDevelop, verify next-level product
Determine objectives, alternatives, constrains
Evaluate alternatives, identify, resolve risks
Cumulative costProgress through steps
Not yet widely used.
![Page 11: PART ONE The Product and the Process Chapter 2 The Process Software Engineering: A Layered Technology a “quality” focus process model methods tools.](https://reader036.fdocuments.net/reader036/viewer/2022072014/56649e755503460f94b76600/html5/thumbnails/11.jpg)
PART ONE – The Process
Concurrent development model — especially good for client/server applications; defines a network of activities instead of linear sequence of events.
Still Other Process Models
Component-based model — the process to apply when reuse is a development objective.
Formal methods and clean-room software engineering — the process to apply when a formal mathematical specification is to be developed. Good at detecting ambiguity, incompleteness, and inconsistency.
Unified Modeling Language
Fourth Generation Techniques (4GT) — automatically generate source code based on high-level specifications. May become the dominant approach when coupled with component-based development.