0% found this document useful (0 votes)
2 views20 pages

Software Process Models

The document discusses software process models, specifically the Waterfall and Incremental models. It highlights the characteristics, advantages, and disadvantages of each model, along with when to use them. Additionally, it provides a case study of the Incremental model applied to a patient management system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views20 pages

Software Process Models

The document discusses software process models, specifically the Waterfall and Incremental models. It highlights the characteristics, advantages, and disadvantages of each model, along with when to use them. Additionally, it provides a case study of the Incremental model applied to a patient management system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Software Process Models

[email protected]

1
Enroll vào lớp eLearning

● Lớp eLearning:
Phát triển ứng dụng thực tiễn - 243_71SEDP40153_01, 02

2
Bài tập tại lớp (nhóm)

If every requirement stated in the Software Requirement Specification has


only one interpretation, SRS is said to be…
A. Correct
B. Unambiguous
C. Consistent
D. Verifiable

3
Plan-driven and Agile processes

● Plan-driven processes are processes where all of the process activities are
planned in advance and progress is measured against this plan.
● In agile processes, planning is incremental and it is easier to change the
process to reflect changing customer requirements.
● In practice, most practical processes include elements of both plan-driven
and agile approaches.
● There are no right or wrong software processes.

4
Topics covered

● Waterfall model

● Incremental model

5
The software process

● How many phases/stages/activities required to develop a software?


1. ???
2. ???
3. ???
4. ???
5. ???

6
Example of the software process

● Problems: Write a console program to solve ax+b=0


1. Requirements definition/Specification (what)
2. Design (how): the solution to implement
When a ≠ 0: the equation has one solution x = -b / a.
When a = 0: T
• b = 0: infinite solutions
• b ≠ 0: no solutions F
T

3. Implementation (do): using C/C++ language to write the program


F
4. Testing (check): run program
• case 1: a ≠ 0
• case 2: a=0 & b=0
• case 3: a=0 & b ≠ 0

5. Use

7
Process 1

8
Process 2
Design, Implementation, Testing

Design, Implementation, Testing

Design, Implementation, Testing

9
Waterfall Model

● Waterfall model is a process of


software development where…
○ A phase has to be complete before
moving into the next phase with no
overlap between the phases
○ The software team is not allowed to
return to the previous phase.
○ The big outcome is delivered

10
Waterfall model problems

Advantages Disadvantages
● Easy to use ● No parallelism
● Easy to follow ● No feedback
● Difficult to respond to changing
customer requirements

11
When to use the waterfall model?

● Requirement is clear
● Requirement is not changing frequently
● Environment is stable

12
Incremental Model

● The software is divided into separate increments (modules, components)


● Each increment done through the requirements, design, coding and testing
phases
● When any increment is ready, then the increment is delivered to the customer
● The increments are delivered to the customer one by one by integrating new
increment with old one

13
Incremental development
Waterfall
Analysis

Design
The big
Implementation outcome is
Testing delivered

Requirements

Incremental
The increments are
ADIT ADIT ADIT ADIT delivered one by
one by integrating
new increment with
old one

14
Incremental development benefits

● Give rapid delivery


○ Customers are able to use the software earlier than waterfall process.

● It is easier to get customer feedback on the development work that has


been done.
● The cost of accommodating changing customer requirements is reduced.

15
Incremental development problems

● System structure tends to degrade as new increments are added.


● Needs a proper design to integrate the components

16
When to use the incremental model?

● When major requirements are understood but some requirements can


evolve within the passage of time.
● When demand for an early release of a product arises
● When a customer has no problem with the budget but he demands more
and more quality in software.

17
A case study of incremental model (1)

● The MHC-PMS (Mental Health Care-Patient Management System) is a


patient information system to support mental health care that is intended for
use in clinics.
● MHC-PMS key features
○ create records for patients,
○ edit the information in the system,
○ view patient history
○ report data summaries so that doctors can quickly learn about the key problems and
treatments that have been prescribed.

18
A case study of incremental model (2)

● According to the incremental model, the system is divided into three


increments
○ Increment 1: Create and View
○ Increment 2: Edit
○ Increment 3: Report

● The increment 1 undergoes the phases of requirements gathering and


analysis, design, implementation and testing. When this increment is ready,
this one is delivered to the customer.
● After that, increment 2
● After that, increment 3
● Result: one system is produced and delivered to the customer in increments.
19
Key points

● Software processes are the activities involved in producing a software


system.
1. requirements,
2. design,
3. implementation,
4. testing and
5. evolution/maintenance

● In the waterfall model, they are organized in sequence


● In incremental development they are inter-leaved

20

You might also like