02 Software Process
02 Software Process
Zheng Li(李征)
Jing Wan(万静)
Topic covered today
Chapter 3:
Software Process Structure
A Story
Software process
A Generic Process Model(通用过程模型)
Framework activities
▪ communication
▪ planning
▪ modeling
▪ construction
▪ deployment
Umbrella activities
▪ project tracking and control
▪ risk management
▪ quality assurance
▪ configuration management
▪ technical reviews
15
Process Flow
describe how the framework activities and the actions and tasks that occur within each
framework activity are organized with respect to sequence and time
Linear process
flow
iterative
process flow
evolutionary witrespect
process flow
parallel
process flow
16
Defining A Framework Activity
What actions are appropriate for a framework activity, given the nature
of the problem to be solved, the characteristics of the people doing the
work, and the stakeholder who are sponsoring the project?
For a small software project requested by one person, the
communication activity might encompass one action
--phone conversation
▪ Make contact with stakeholder via telephone
▪ Discuss requirements and develop notes
▪ Organize notes into a brief written statement of requierments
▪ Email to stakeholder for review and approval
17
Identifying a Task Set
18
Process Patterns
A process pattern
▪ describes a process-related problem that is
encountered during software engineering work,
▪ identifies the environment in which the problem has
been encountered, and
▪ suggests one or more proven solutions to the
problem.
Stated in more general terms, a process pattern
provides you with a template [Amb98]—a consistent (
统一)method for describing problem solutions within
the context of the software process.
19
Process Pattern Types
20
Part One : The Software Process
Chapter 4:
Process Models
Prescriptive Process Models
22
The Waterfall Model
Com m unic a t ion
proje c t init ia t ion Planning
re quire m e nt ga t he ring estimating Mode ling
scheduling
analysis Const r uc t ion
tracking
design De ploy m e nt
code
t est de liv e ry
s upport
f e e dba c k
23
The V-Model
24
Advantages of Waterfall Model
▪ The model suggests that software engineers should
work in a series of stages.
▪ Before completing each stage, they should perform
quality assurance (verification and validation).
▪ The waterfall model can be useful in helping
developers lay out what they need to do.
▪ The model postpone(推迟) the coding stage.
Limitations of Waterfall Model
▪ The main drawback of the waterfall model is the difficulty of
accommodating changes after the process is underway
▪ The assumption that all requirements have to be known at the
beginning in sufficient details lead to premature decisions
▪ The activities cannot be performed concurrently
▪ It is hard to locate the system faults in the early stages.
▪ For large projects, the users have to wait a long time for the
delivery of the system
increment # n
Co m m u n i c a t i o n
Pla nning
M ode ling
analy s is Co n s t ru c t i o n
des ign
c ode De p l o y m e n t
t es t d e l i v e ry
fe e dba c k
Co m m u n i c a t i o n
Pla nning
M ode ling
analy s is Co n s t ru c t i o n
des ign c ode De p l o y m e n t
t es t d e l i v e ry
fe e dba c k
deliv ery of
increment # 1 2nd increment
Co m m u n i c a t i o n
Pla nning
M ode ling
analy s is Co n s t ru c t i o n
des ign c ode De p l o y m e n t
t es t d e l i v e ry deliv ery of
fe e dba c k
1st increment
The incremental model combines the elements’ linear and parallel process flows.
27
Evolutionary Models: Prototyping
Q u ick p l an
Quick •Good first step when
Com m unicat ion plan
communication customer has a legitimate(合
Mo d e li n g
Modeling
理) need, but is clueless
Q u ick d e sig n
Quick design about the details
•The prototype must be
thrown away.
Deployment
Deployment
De live r y
delivery
& Fe e dback& Const r uct ion
feedback Construction
of
of ot
pr prototype
ot ype
28
Evolutionary Models: The Spiral
planning
estimation
scheduling
•Prototyping + Waterfall
risk analysis •Risk-driven
•Large-scale systems and
communication software
modeling
analysis
design
start
deployment
construction
delivery code
feedback test
29
Evolutionary Models: Concurrent
none
•Defines a series of events that will
Modeling act ivit y
trigger transitions from state to state
Under
represents the state
of a software engineering
for each of the activities, actions or
development
activity or task
tasks.
•Especially good for client/server
A wait ing
changes applications
•Defines a network of activities
Under review instead of linear sequence of events
Under
revision
Baselined
Done
30
Still Other Process Models
Elaborat ion
elaboration
Incept ion
inception
product ion
32
UP Phases
UP Phases
Incept ion Elaborat ion Const ruct ion Transit ion Product ion
Workflows
Requirements
Analysis
Design
Implementation
Test
Support
Iterations #1 #2 #n-1 #n
33
UP Work Products
Incept ion phase
34
Part One : The Software Process
Chapter 5:
Agile Development
The Manifesto(宣言) for Agile Software Development
36
What is “Agility”?
37
Agility and the Cost of Change
38
An Agile Process
39
Extreme Programming (XP)
The most widely used agile process, proposed by Kent Beck
40
Extreme Programming (XP)
XP Planning
▪ Begins with the creation of “user stories”
▪ Agile team assesses each story and assigns a cost
▪ Stories are grouped to for a deliverable increment
▪ A commitment is made on delivery date
▪ After the first increment “project velocity(速度)” is
used to help define subsequent delivery dates for
other increments
41
Extreme Programming (XP)
XP Design
42
Extreme Programming (XP)
XP Coding
▪ Recommends the construction of a unit test for a
store before coding commences
▪ Encourages “pair programming”
XP Testing
▪ All unit tests are executed daily
▪ “Acceptance tests”(验收测试) are defined by the
customer and excuted to assess customer visible
functionality
43
Scrum
Originally proposed by Schwaber and Beedle
Scrum—distinguishing features
▪ Development work is partitioned into “packets”
▪ Testing and documentation are on-going as the product is
constructed
▪ Work occurs in “sprints” and is derived from a “backlog”of
existing requirements
▪ Meetings are very short and sometimes conducted without
chairs
▪ “demos” are delivered to the customer with the time-box
allocated
44
Scrum
45
习题
P38 3.3,3.4
P78 5.2,5.11
Most of Slides are from the slide set to accompany
Software Engineering: A Practitioner’s Approach, 8/e