SWE 313 Software Process and Modeling
SWE 313 Software Process and Modeling
SWE 313 Software Process and Modeling
This is the instructor’s notes. Students has to read the required textbook to understand the covered concepts.
1
Outline
5
6
Process models
• Approaches for organizing a project into activities
6
Project Visibility
7
8
Project Visibility
8
9
What is a Software Process Model?
Definition
9
10
What is a Software Process Model?
project plan =
process model + project parameters
10
Hundreds of different models exist and are
used, but many are minor variations on a
small number of basic models.
11
12
12
13
Choosing a Software Process Model
13
14
Software Process Model Duration
14
Outline
Poor model!
16
17
17
The Waterfall Model
18
19
19
20
The Waterfall Workflow
Delivery
20
Time
21
Advantages
23
24
Advantages
1. No administrative overhead
2. Signs of progress (code) early
3. Low expertise, anyone can use it!
4. Useful for small “proof-of-concept” projects,
e.g. as part of risk reduction.
24
25
Disadvantages
1. Dangerous!
• No visibility/control
• No resource planning
• No deadlines
• Mistakes hard to detect/correct
2. Impossible for large projects,
communication breakdown, chaos.
25
26
Evolutionary Development Types
26
27
Type 1 (Exploratory Development):
The spiral model
27
28
28
29
29
30
Advantages
1. Realism:
it accurately reflects the iterative nature of software
development on projects with unclear requirements
2. Flexible:
incoporates the advantages of the waterfall and
evolutionary methods
3. Comprehensive model that decreases risk
4. Good project visibility
30
31
Disadvantages
31
32 Type 2 (Throwaway Prototyping):
Rapid Prototyping
32
The Rapid Prototype Workflow
Requirements Capture
Iterate
Quick Design
Build Prototype
Customer Evaluation
of Prototype
Engineer Final
Product
33
34
Advantages
34
35
Disadvantages I
35
36
Disadvantages II
36
37 Type 1 (Exploratory Development):
Agile Software Processes
37
38
Agile Principles
38
Agile
39
Agile Manifesto
40
41
Agile Approaches
41
42
42
43
Select Breakdown
release stories to Plan release
stories tasks
Evaluate Develop/
Release
system Integrate/
code
Test code
44
Agile Modeling
Content is more important than representation.
A UML class diagram
sketch on Microsoft Visio
paper Diagram
The sketch is sufficient for its purpose - took one-third the time of drawing it
using a sophisticated tool. Making it prettier using a tool and documenting it
comprehensively does not add anything to further this goal.
45
Agile Modeling
46
Trello - An Agile Project Tool
Cards
(User Stories)
Boards to
communicate
status, progress,
and issues.
47
48
Advantages
48
49
Disadvantages
49
50
COTS
50
51
Possible Approaches
52
53
Disadvantages
53
54
54
55
Single
Iteration
55
56
Rational Unified Process (RUP)
56
57
57
58
Details
58
59
UP Process – RUP Phase Workflow
Inception Elaboration
Transition Construction
60
61
RUP Phases
• Transition
– release a mature version and deploy in real
world
61
The Iterative Approach
In an iteration,
you walk
through all
disciplines.
Disciplines
group
activities
logically.
RUP Workflows
Business
Modeling
Workflow
Requirements
Workflow
64
RUP Workflows
64
65
Unified Process:
Project Product
SoftwareProcess
Management
Environment * * releases
Workflow Cycle
Requirements Inception
4
Analysis/ Phase Elaboration
Design
Implementation * Construction
Iteration
Testin
Transition
g *
Business
Deployment Artifact
Modeling
65
66
RUP Practise View
66
67
specified by
UML class
diagram!
Analysis Model realised by
Deployment Model
68
69
Combining/Evolving Process Models
Re-engineering
70
References
71