Академический Документы
Профессиональный Документы
Культура Документы
Engineering
What is a Process?
We can think of a series of activities as a process
Any process has the following characteristics
It prescribes all of the major activities
It uses resources and produces intermediate and final products
It may include sub-processes and has entry and exit criteria
The activities are organized in a sequence
Constraints or control may apply to activities
(budget control, availability of resources )
Software Processes
When the process involves the building of some product,
we refer to the process as a life cycle
Software development process software life cycle
Fundamental Assumptions:
Evolutionary development
Reuse-based development
http://www.sei.cmu.edu/cmmi/
Operation and
Maintenance
10
11
12
13
14
15
16
17
20
21
Operation and
Maintenance
Evolutionary development
Exploratory development
22
Evolutionary development
Rapid prototyping
23
Evolutionary development
Concurrent
Activities
Requirements
Outline
Description
24
Initial
Version
Design
Intermediate
Versions
Implementation
Final
Version
Evolutionary development
25
Evaluation
Requirements
Implementation
(prototype)
Design
Evolutionary development
Problems
26
Process iteration
Modern development processes take iteration as a fundamental
concept.
System requirements ALWAYS evolve during the course of a
project; so process iteration where earlier stages are reworked is
always part of the process for large systems.
Iteration can be applied to any of the generic process models.
Two (related) approaches:
Incremental development
Spiral development
27
Incremental development
System is not a single delivery; the development and
delivery broken down into increments delivering part of
the required functionality.
User requirements are prioritized and the highest
priority requirements are included in early increments.
Once the development of an increment is started,
the requirements are frozen though requirements
for later increments can continue to evolve.
28
Incremental development
Defineoutline
requirements
Developsystem
increment
Assignrequirements
toincrements
Valida te
increment
Designsystem
architecture
Integrate
increment
Valida te
system
Final
system
Systemincomplete
29
30
Spiral Model
The spiral model is a risk-driven process model
generator for software projects. Based on the unique risk
patterns of a given project, the spiral model guides a team to
adopt elements of one or more process models, such as
incremental, waterfall, or evolutionary prototyping.
This model was first described by Barry Boehm in his
1986 paper "A Spiral Model of Software Development and
Enhancement".
33
Spiral development
Process is represented as a spiral rather than as a sequence of
activities with backtracking.
Each loop in the spiral represents a phase in the process.
No fixed phases such as specification or design loops in the
spiral are chosen depending on what is required.
Risks are explicitly assessed and resolved throughout the
process.
34
Risk
analysis
Evaluatealternatives
identify,resolverisks
Risk
analysis
Risk
analysis
REVIEW
Requirementsplan
Lifecycleplan
Development
plan
Plannextphase
35
Integration
andtestplan
Prototype3
Prototype2
Risk
analy sis Proto
type1
Conceptof
Operation
Opera
tional
protoype
Simulations,models,benchmarks
S/W
requirements
Requirement
validation
Product
design
Detailed
design
Code
Unittest
Design
V&V
Integr ation
test
Acceptance
test
Develop,verify
Service
nextlevelproduct
37