Software processes Contents Software process The effector process

advertisement
Contents
„ Definitions
Software processes
„ Software life-cycle processes
„
„
activities
software life-cycle models
„ Process models
Kristian Sandahl
krs@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Software process
The effector process
„ Sequence of steps
„ A process that verifies
„ Result: software items
itself
„ A process that exits
under certain criteria
„ Input
„ Output
analysis design implementation
„
„
„
„
„ Resource consumption
„ Feed-back
„ ETVXM-architecture:
„
resources
Entry
Task
Verify
Exit
Measure
side-effects
Example:
in
out
plan
E
feed-back
Kristian Sandahl, IDA
krisa@ida.liu.se
decide
M
# defects
write SRS
SRS
T
Inspect
V
X
Kristian Sandahl, IDA
krisa@ida.liu.se
1
Process levels
The software life-cycle
„ Universal:
= time for concept -> time for “unavailability”
„
Processes suitable for many projects
„ Worldly
„
Processes adapted to a certain project or
product
„ Atomic
„
document
whiteboard
The SLC is made up by:
„ Software life-cycle model
„ Activities
Detailed processes for teams and individuals
Kristian Sandahl, IDA
krisa@ida.liu.se
Software life-cycle models
Kristian Sandahl, IDA
krisa@ida.liu.se
Waterfall model
Concept
exploration
de Facto reference model
„ forward engineering
Requirements
„ manageable
„ fixed documents
Design
Negative:
Implementation
„ one-step delivery
„ the negative circle:
Test
„ sensitivity to changes ->
Installation
more time for planning ->
shortened design time ->
Operation
sensitivity to changes....
„ Waterfall model
„ Incremental model
„ Spiral model
„ Win-win spiral model
fee
„ Iterative model: “RUP”
ba
d-
ck
Maintenance
Replacement
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
2
Incremental model
Concept
exploration
Requirements
The original spiral model
The release
planning
problem
Design
Implementation
Test
Installation
R1
Design
Implementation
Test
Installation
R2
Design
Implementation
Test
Installation
Rn
Involves early phases
in increments ⇒
the process is iterative
Original goal: handle
risks
See:
http://www.sei.cmu.edu/
cbs/spiral2000/
Kristian Sandahl, IDA
krisa@ida.liu.se
The win-win negotiation
Kristian Sandahl, IDA
krisa@ida.liu.se
The win-win spiral model
„ Find stake-holders’ win
condition
„ Infer design attributes
„ Negotiate a suitable
architectural solution
See:
http://sunset.usc.edu/ different
markets
research/WINWIN/
index.html
example:
layered
architecture:
+ changeability
- response time
fast
updates
distributed
development
Negotiation
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
3
RUP – Rational Unified Process
Prototypig
„ Sometimes called RAD
Concept
(Rapid Application
exploration
Development)
„ Focus on feed-back
Design
Negative:
„ too early commitment Implementation
„ hard to obtain quality?
Requirements
Design
Implementation
Test
Test
See: http://www306.ibm.com/software/awdtools/rup/
Kristian Sandahl, IDA
krisa@ida.liu.se
Synchronise and Stabilise
Kristian Sandahl, IDA
krisa@ida.liu.se
Cleanroom process model
„ Idea: to always be prepared to deliver
„ Incremental method
„ Incremental method
„ Committed to formal specification
„ Frequent increment installation and test
„ Dedicated use of ETVXM
„
Daily Build
„ Usage-based verification
„ Smoke tests
„ Regression testing
„ The MS way
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
4
eXtreme Programming
Some XP-rules
„ User stories are written
„ Make frequent small
„
„
„
„
„
releases
Move people around
Simplicity
Choose a system metaphor
Create spike solutions to
reduce risk
Refactor whenever and
wherever possible
„ The customer is always
available
„ Code the unit test first
„ All production code is pair
programmed
„ Leave optimisation till last
„ No overtime
„ All code must pass all unit
tests before it can be
released
„ Acceptance tests are run
often and the score is
published.
See: http://www.extremeprogramming.org/
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Open source
„ The code is published
„ An interested community voluntarily evolves
the code
„ All results are free to use
„ Success #1: Linux
„ ”Software culture”
Kristian Sandahl, IDA
krisa@ida.liu.se
5
Download