Professional Documents
Culture Documents
Semester: 432
Lecture: 3
Course profile
● Assessment materials:
○ 2 midterm exams (from week 8 to week 10) = %40
○ Group project = 20% (assessment is throughout the course and week 14 is
final presentation)
○ Final Exam = %40
2
Outline
○ Waterfall model
● Process activities
3
What is a software process model?
viewpoint.
● It may contain
4
Generic Software Process Models
5
The Waterfall Model
● Strengths
○ Aligns to system
engineering
process
○ Complete set of
documentation
6
The Waterfall Model
● Strengths
○ Aligns to system
engineering
process
○ Complete set of
documentation
● Weaknesses
○ Inflexible to changing
requirements
○ Late discovery of technical
problems
○ Sequential: next phase waits
for previous phase
7
Incremental Development
● Strengths
○ Effectively manages
evolving requirements
○ Identifies and resolves
technical risk early
○ Receive early customer
feedback
8
Incremental Development
● Strengths
○ Effectively manages
evolving requirements
○ Identifies and resolves
technical risk early
○ Receive early customer
feedback
● Weaknesses
○ Reduced visibility and
control of activities
○ May lead to poor
structured software
9
Reuse-oriented (component-based) Development
● Strengths
10
Reuse-oriented (component-based) Development
● Strengths ● Weaknesses
11
Process Activities: software specification
12
Process Activities: software development
13
Process Activities: software development (design)
14
Process Activities: software implementation
● Manual implementation
● In MDD, model transformation is used to
transformed design outputs (graphical models like
UML) into other types of software: documents, code,
models
● In Agile development: design outputs could be
represented in the code of the program
15
Process Activities: software development (testing)
16
Process Activities: software V&V
● Medium-size and bigger systems should not be tested as whole
○ Three-stage testing process should be used
● Component Testing: test each component independently
● System testing: system components are integrated and testing as whole
○ This could be multi-staged testing
● Acceptance Testing: test using real data from customers/clients
17
Process Activities: software V&V (cont.)
18
Process Activity: software evolution
19