0% found this document useful (0 votes)
36 views15 pages

Process Models: Dr. Hameedur Rahman

The document discusses different software process models including the waterfall model, V model, and prototyping model. It describes the stages of the waterfall model and advantages and disadvantages of the model. It also discusses using prototypes with the waterfall model to allow for verification and validation.

Uploaded by

Orhan rumi
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)
36 views15 pages

Process Models: Dr. Hameedur Rahman

The document discusses different software process models including the waterfall model, V model, and prototyping model. It describes the stages of the waterfall model and advantages and disadvantages of the model. It also discusses using prototypes with the waterfall model to allow for verification and validation.

Uploaded by

Orhan rumi
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/ 15

Process Models

Dr. Hameedur Rahman


Assistant Professor
Department of Computer Science
HITEC University, Taxila
[email protected]

1
CS-204 Software Engineering
SOFTWARE PROCESS MODELS
SOFTWARE LIFE CYCLE
 When a process involves building a software, the
process may be referred to as software life cycle
 Requirements analysis and definition
 System (architecture) design
 Program (detailed/procedural) design
 Writing programs (coding/implementation)
 Testing: unit, integration, system
 System delivery (deployment)
 Maintenance

2
SOFTWARE PROCESS MODELS
SOFTWARE DEVELOPMENT PROCESS MODELS
 Waterfall model
 V model
 Prototyping model
 Operational specification
 Transformational model
 Phased development: increments and iterations
 Spiral model
 Agile methods

3
SOFTWARE PROCESS MODELS
WATERFALL MODEL
 One of the first process development models proposed
 Works for well understood problems with minimal or no changes in the
requirements
 In it, one development stage should be completed before the next
begins, thus when all the requirements are elicited from the customer,
analyzed for completeness and consistency and documented in a
requirement document, then the development team can go on to
system design activities.
 Simple and easy to explain to customers
 It presents
 a very high-level view of what goes on during development
 sequence of process activities
 Each major phase is marked by milestones and deliverables
(artifacts) 4
- Milestones are the end-point of a process activity
- Deliverables are project results delivered to customers
SOFTWARE PROCESS MODELS
WATERFALL MODEL (CONTINUED)

5
SOFTWARE PROCESS MODELS
WATERFALL MODEL (CONTINUED)
 There is no iteration in waterfall model
 Most software developments apply a great many
iterations

6
Fig: The software development process in reality
SOFTWARE PROCESS MODELS
ADVANTAGES OF THE WATERFALL MODEL

 The waterfall model, as described above, offers numerous


advantages for software developers.

 First, the staged development cycle enforces discipline

 Every phase has a defined start and end point, and


progress can be conclusively identified (through the use of
milestones) by both vendor and client.

 The emphasis on requirements and design before writing


a single line of code ensures minimal wastage of time and
7
effort and reduces the risk of schedule slippage, or of
customer expectations not being met.
SOFTWARE PROCESS MODELS
ADVANTAGES OF THE WATERFALL MODEL (CONT..

 Getting the requirements and design out of the way first


also improves quality; it's much easier to catch and correct
possible flaws at the design stage than at the testing
stage, after all the components have been integrated and
tracking down specific errors is more complex.

 Finally, because the first two phases end in the


production of a formal specification, the waterfall model
can aid efficient knowledge transfer when team members
are dispersed in different locations.
8
SOFTWARE PROCESS MODELS
DRAWBACKS OF THE WATERFALL MODEL

 Provides no guidance how to handle changes to


products and activities during development
(assumes requirements can be frozen)
 Views software development as manufacturing
process rather than as creative process
 There is no iterative activities that lead to
creating a final product.
 Poor model for long and ongoing projects.
 Long wait before a final product is delivered.
 It is difficult to measure progress within stages. 9
SOFTWARE PROCESS MODELS
WATERFALL MODEL WITH PROTOTYPE
 A prototype is a partially developed product that
enables customers and developers to examine some
aspect of the proposed system and decide if it is suitable
or appropriate for the finished product.

 For example: parts of the design may be prototyped,


which helps developers assess alternative design
strategies and decide which is best for a particular
project.

10
SOFTWARE PROCESS MODELS
WATERFALL MODEL WITH PROTOTYPE
(CONTINUED)

 Prototyping helps
 developers assess alternative design strategies (design
prototype)
 users understand what the system will be like (user
interface prototype)
 Prototyping is useful for verification and validation
- Validation: ensures that the system has
implemented all of the requirements, so that each
system function can be traced back to a particular
requirement in the specification. It ensures that
developer is building the right product (according to
specifications).
- Verification : ensures that each function works
correctly. It checks quality of the implementation.
11
SOFTWARE PROCESS MODELS
WATERFALL MODEL WITH PROTOTYPE
(CONTINUED)
 Waterfall model with prototyping

12
SOFTWARE PROCESS MODELS
V MODEL
 V model is a variation of the waterfall model
 Uses unit testing to verify program design i.e during
unit and integration testing, the coders and test team
members should ensure that all aspects of the program
design have been implemented correctly in the code.
 Uses integration testing to verify architectural (system)
design
 Uses acceptance testing to validate the requirements
 If problems are found during verification and
validation, the left side of the V can be re-executed to
fix and improve the requirements, design and code
before testing step on the right side are re-enacted.
13
SOFTWARE PROCESS MODELS
V MODEL (CONTINUED)

14
ASSIGNMENT # 01
The assignment is to read the chapter 2 from the book called "Software
Engineering : A practitioners Approach by roger pressman" and then
answer the following.

“The process provides interaction between users and designers,


between users and evolving tools, and between designers and evolving
tools.”

List five questions that :(1) designers should ask users,(2) users should ask
designers, (3) users should ask themselves about the software product
that is to be built, and (4) designers should ask themselves about the
software product that is to be built and the process that will be used to
build it.

15

You might also like