SlideShare a Scribd company logo
Software Engineering-
Unit 1
SOFTWARE DEVELOPMENT LIFE CYCLE PROCESS MODEL AND
CHARACTERISTICS IN SOFTWARE ENGINEERING BY RAM K PALIWAL
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 1
Process Models
Prescriptive process models were originally proposed to bring order
to the chaos of software development. History has indicated that
these traditional models have brought a certain amount of useful
structure to software engineering work and have provided a
reasonably effective road map for software teams. However,
software engineering work and the product that it produces remain
on “the edge of chaos.”
All software process models can accommodate the generic
framework activities, but each applies a different emphasis to these
activities and defines a process flow that invokes each framework
activity (as well as software engineering actions and tasks) in a
different manner
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 2
Software Development Models
Waterfall Model
The waterfall model, sometimes called the classic life cycle, suggests
a systematic, sequential approach. Classical waterfall model divides
the life cycle into a set of phases. This model considers that one
phase can be started after completion of the previous phase. That is
the output of one phase will be the input to the next phase. Here
the phases do not overlap with each other. The different sequential
phases of the classical waterfall model are shown in the figure:
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 3
Waterfall Model
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 4
Waterfall Model
Feasibility Study: The main goal of this phase is to determine whether it
would be financially and technically feasible to develop the software.
Requirements analysis and specification: The aim of the requirement
analysis and specification phase is to understand the exact requirements of
the customer and document them properly. This phase consists of two
different activities.
◦ Requirement gathering and analysis
◦ Requirement specification
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 5
Waterfall Model
Design: The aim of the design phase is to transform the
requirements specified in the SRS document into a structure that is
suitable for implementation in some programming language.
Coding and Unit testing: In coding phase software design is
translated into source code using any suitable programming
language. Thus each designed module is coded. The aim of the unit
testing phase is to check whether each module is working properly
or not.
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 6
Waterfall Model
Integration and System testing: Integration of different modules are
undertaken soon after they have been coded and unit tested.
Integration of various modules is carried out incrementally over a
number of steps.
System testing consists three different kinds of testing activities as
described below:
◦ α-testing
◦ β-testing
◦ Acceptance testing
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 7
Waterfall Model
Maintenance: Maintenance is the most important phase of
a software life cycle. The effort spent on maintenance is the
60% of the total effort spent to develop a full software.
There are basically three types of maintenance:
◦ Corrective Maintenance
◦ Perfective Maintenance
◦ Adaptive Maintenance
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 8
Waterfall Model
Advantages
1. This model is very simple and is easy to understand.
2. Phases in this model are processed one at a time.
3. Each stage in the model is clearly defined.
4. This model has very clear and well understood milestones.
5. Process, actions and results are very well documented.
6. Reinforces good habits: define-before- design, design-before-code.
7. This model works well for smaller projects and projects where requirements
are well understood.
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 9
Waterfall Model
Disadvantages
Classical waterfall model suffers from various shortcomings, basically
we can’t use it in real projects, but we use other software
development lifecycle models which are based on the classical
waterfall model. Below are some major drawbacks of this model:
◦ No feedback path
◦ Difficult to accommodate change requests
◦ No overlapping of phases
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 10
Prototyping Model
Prototyping is defined as the process of developing a working replication of a product or system
that has to be engineered.
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 11
Prototyping Model
In this process model,
◦ The system is partially implemented before or during the analysis phase thereby
giving the customers an opportunity to see the product early in the life cycle.
◦ The process starts by interviewing the customers and developing the incomplete
high-level paper model.
◦ This document is used to build the initial prototype supporting only the basic
functionality as desired by the customer.
◦ Once the customer figures out the problems, the prototype is further refined to
eliminate them.
◦ The process continues till the user approves the prototype and finds the working
model to be satisfactory.
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 12
Prototyping Model
There are 2 approaches for this model:
Rapid Throwaway Prototyping
◦ This technique offers a useful method of exploring ideas and
getting customer feedback for each of them.
Evolutionary Prototyping
◦ In this method, the prototype developed initially is incrementally
refined on the basis of customer feedback till it finally gets
accepted.
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 13
Rapid Throwaway Prototyping Model
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 14
Evolutionary Prototyping Model
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 15
Prototyping Model
Advantages –
1. The customers get to see the partial product early in the life cycle. This ensures a greater level
of customer satisfaction and comfort.
2. New requirements can be easily accommodated as there is scope for refinement.
3. Missing functionalities can be easily figured out.
4. Errors can be detected much earlier thereby saving a lot of effort and cost, besides enhancing
the quality of the software.
5. The developed prototype can be reused by the developer for more complicated projects in
the future.
6. Flexibility in design.
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 16
Prototyping Model
Disadvantages –
1. Costly with respect to time as well as money.
2. There may be too much variation in requirements each time the prototype is evaluated by the customer.
3. Poor Documentation due to continuously changing customer requirements.
4. It is very difficult for the developers to accommodate all the changes demanded by the customer.
5. There is uncertainty in determining the number of iterations that would be required before the
prototype is finally accepted by the customer.
6. After seeing an early prototype, the customers sometimes demand the actual product to be delivered
soon.
7. Developers in a hurry to build prototypes may end up with sub-optimal solutions.
8. The customer might lose interest in the product if he/she is not satisfied with the initial prototype.
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 17
References:
https://www.geeksforgeeks.org/software-engineering-software-crisis/
7th edition Software Engineering A Practitioners Approach by Roger S. Pressman
8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 18

More Related Content

What's hot (18)

PPTX
Software engineering layers
Self-employed
 
PDF
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
PPT
Chapter 01
ans ali raza
 
PPTX
Software Process Models
Ahmed Alageed
 
PDF
SDLC RAD model
Jay Sharma
 
PPTX
software process model
juhi kumari
 
PPTX
Cocomo model
Baskarkncet
 
PPTX
Week 8 final assesement presentation
matumba Thuso
 
PDF
Software engineering lecture notes
Ammar Shafiq
 
PDF
Software process model
Umar Farooq
 
PPT
5. software process model
Muhammad Sikandar Mustafa
 
PPSX
Scope of software engineering
Muhammad Naveed Zafar
 
PPTX
Software Engineering(unit 1)
Dr. SURBHI SAROHA
 
PPTX
Software Product Development - Simple Process flow
Sabina Siddiqi
 
DOCX
Software engineering
MOHAMED RIYAZUDEEN
 
PPTX
Software process
Jennifer Polack
 
PPTX
Software engineering tutorial
Ahmed Elshal
 
Software engineering layers
Self-employed
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Chapter 01
ans ali raza
 
Software Process Models
Ahmed Alageed
 
SDLC RAD model
Jay Sharma
 
software process model
juhi kumari
 
Cocomo model
Baskarkncet
 
Week 8 final assesement presentation
matumba Thuso
 
Software engineering lecture notes
Ammar Shafiq
 
Software process model
Umar Farooq
 
5. software process model
Muhammad Sikandar Mustafa
 
Scope of software engineering
Muhammad Naveed Zafar
 
Software Engineering(unit 1)
Dr. SURBHI SAROHA
 
Software Product Development - Simple Process flow
Sabina Siddiqi
 
Software engineering
MOHAMED RIYAZUDEEN
 
Software process
Jennifer Polack
 
Software engineering tutorial
Ahmed Elshal
 

Similar to Sdlc process models in software engineering basics by ram k paliwal (20)

PPTX
pmse-sitttr-session-3.pptx
MuhammedSahil26
 
PDF
Plagiarism Report SDLC 1.pdf
OmethSanchitha
 
PDF
4-prototyping and spiral life cycle models.pdf
RjSingh33
 
PPTX
Lecture-3-SDLC Models-part1.pptx
YaseenNazir3
 
PDF
Software Development Taxonomy
Ali Gholami
 
PDF
software construction modules,language,tools,design
nemali akhilesh
 
PPTX
Software Engineering Unit 1 AKTU Complete
malviyamishra19
 
PPTX
Waterfall, Spiral and iterative model
Sandesh Jonchhe
 
PPTX
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Amity University | FMS - DU | IMT | Stratford University | KKMI International Institute | AIMA | DTU
 
PDF
My 15 day intern report
BibekShahShankhar
 
PPTX
Structured system analysis and design
Jayant Dalvi
 
PPTX
Software Engineering
Nethan Shaik
 
PPTX
SDLC
JayeshPatil149
 
PPTX
Robotics
UnknownOp10
 
PPT
Process models
Hiren Selani
 
PDF
Software development life cycle (SDLC) Models
Asmita Singh
 
PPTX
SDLC MODEL
KOMAL DAHERIYA
 
PPTX
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 
PDF
se.pdf
PavanKumarPNVS
 
PPTX
Software Engg. process models
Tauseef Ahmad
 
pmse-sitttr-session-3.pptx
MuhammedSahil26
 
Plagiarism Report SDLC 1.pdf
OmethSanchitha
 
4-prototyping and spiral life cycle models.pdf
RjSingh33
 
Lecture-3-SDLC Models-part1.pptx
YaseenNazir3
 
Software Development Taxonomy
Ali Gholami
 
software construction modules,language,tools,design
nemali akhilesh
 
Software Engineering Unit 1 AKTU Complete
malviyamishra19
 
Waterfall, Spiral and iterative model
Sandesh Jonchhe
 
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Amity University | FMS - DU | IMT | Stratford University | KKMI International Institute | AIMA | DTU
 
My 15 day intern report
BibekShahShankhar
 
Structured system analysis and design
Jayant Dalvi
 
Software Engineering
Nethan Shaik
 
Robotics
UnknownOp10
 
Process models
Hiren Selani
 
Software development life cycle (SDLC) Models
Asmita Singh
 
SDLC MODEL
KOMAL DAHERIYA
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 
Software Engg. process models
Tauseef Ahmad
 
Ad

More from Ram Paliwal (16)

PPTX
Mis classification By Ram K Paliwal
Ram Paliwal
 
PPTX
Management inofrmation system basics by ram k paliwal
Ram Paliwal
 
PPTX
Database design (entity attribute and its types) unit 2 part 4
Ram Paliwal
 
PPTX
Database design (entity, entity set and entity type) unit 2 part 3
Ram Paliwal
 
PPTX
Database design (conceptual, logical and physical design) unit 2 part 2
Ram Paliwal
 
PPTX
Database development life cycle unit 2 part 1
Ram Paliwal
 
PPTX
Memory hierarchy unit 2 by ram k paliwal
Ram Paliwal
 
PPTX
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Ram Paliwal
 
PPTX
System component and system calls unit 1 by ram k paliwal
Ram Paliwal
 
PPTX
Types of operating system unit 1 by Ram K Paliwal
Ram Paliwal
 
PPTX
Srs (software requirement specification) in software engineering basics by ra...
Ram Paliwal
 
PPT
Database models unit 1 part 2
Ram Paliwal
 
PPT
Database overview unit 4 part 1
Ram Paliwal
 
PPTX
Database development life cycle unit 2 part 1
Ram Paliwal
 
PPTX
Operating system basics function of os unit 1 by ram k paliwal part 1
Ram Paliwal
 
PPT
Do lecommerce
Ram Paliwal
 
Mis classification By Ram K Paliwal
Ram Paliwal
 
Management inofrmation system basics by ram k paliwal
Ram Paliwal
 
Database design (entity attribute and its types) unit 2 part 4
Ram Paliwal
 
Database design (entity, entity set and entity type) unit 2 part 3
Ram Paliwal
 
Database design (conceptual, logical and physical design) unit 2 part 2
Ram Paliwal
 
Database development life cycle unit 2 part 1
Ram Paliwal
 
Memory hierarchy unit 2 by ram k paliwal
Ram Paliwal
 
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Ram Paliwal
 
System component and system calls unit 1 by ram k paliwal
Ram Paliwal
 
Types of operating system unit 1 by Ram K Paliwal
Ram Paliwal
 
Srs (software requirement specification) in software engineering basics by ra...
Ram Paliwal
 
Database models unit 1 part 2
Ram Paliwal
 
Database overview unit 4 part 1
Ram Paliwal
 
Database development life cycle unit 2 part 1
Ram Paliwal
 
Operating system basics function of os unit 1 by ram k paliwal part 1
Ram Paliwal
 
Do lecommerce
Ram Paliwal
 
Ad

Recently uploaded (20)

PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PPTX
Innowell Capability B0425 - Commercial Buildings.pptx
regobertroza
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPTX
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
PDF
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PPTX
Break Statement in Programming with 6 Real Examples
manojpoojary2004
 
PPTX
Green Building & Energy Conservation ppt
Sagar Sarangi
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
Benefits_^0_Challigi😙🏡💐8fenges[1].pptx
akghostmaker
 
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
PPTX
ISO/IEC JTC 1/WG 9 (MAR) Convenor Report
Kurata Takeshi
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
Innowell Capability B0425 - Commercial Buildings.pptx
regobertroza
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
MRRS Strength and Durability of Concrete
CivilMythili
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Break Statement in Programming with 6 Real Examples
manojpoojary2004
 
Green Building & Energy Conservation ppt
Sagar Sarangi
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Benefits_^0_Challigi😙🏡💐8fenges[1].pptx
akghostmaker
 
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
ISO/IEC JTC 1/WG 9 (MAR) Convenor Report
Kurata Takeshi
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
Thermal runway and thermal stability.pptx
godow93766
 

Sdlc process models in software engineering basics by ram k paliwal

  • 1. Software Engineering- Unit 1 SOFTWARE DEVELOPMENT LIFE CYCLE PROCESS MODEL AND CHARACTERISTICS IN SOFTWARE ENGINEERING BY RAM K PALIWAL 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 1
  • 2. Process Models Prescriptive process models were originally proposed to bring order to the chaos of software development. History has indicated that these traditional models have brought a certain amount of useful structure to software engineering work and have provided a reasonably effective road map for software teams. However, software engineering work and the product that it produces remain on “the edge of chaos.” All software process models can accommodate the generic framework activities, but each applies a different emphasis to these activities and defines a process flow that invokes each framework activity (as well as software engineering actions and tasks) in a different manner 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 2
  • 3. Software Development Models Waterfall Model The waterfall model, sometimes called the classic life cycle, suggests a systematic, sequential approach. Classical waterfall model divides the life cycle into a set of phases. This model considers that one phase can be started after completion of the previous phase. That is the output of one phase will be the input to the next phase. Here the phases do not overlap with each other. The different sequential phases of the classical waterfall model are shown in the figure: 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 3
  • 4. Waterfall Model 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 4
  • 5. Waterfall Model Feasibility Study: The main goal of this phase is to determine whether it would be financially and technically feasible to develop the software. Requirements analysis and specification: The aim of the requirement analysis and specification phase is to understand the exact requirements of the customer and document them properly. This phase consists of two different activities. ◦ Requirement gathering and analysis ◦ Requirement specification 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 5
  • 6. Waterfall Model Design: The aim of the design phase is to transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language. Coding and Unit testing: In coding phase software design is translated into source code using any suitable programming language. Thus each designed module is coded. The aim of the unit testing phase is to check whether each module is working properly or not. 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 6
  • 7. Waterfall Model Integration and System testing: Integration of different modules are undertaken soon after they have been coded and unit tested. Integration of various modules is carried out incrementally over a number of steps. System testing consists three different kinds of testing activities as described below: ◦ α-testing ◦ β-testing ◦ Acceptance testing 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 7
  • 8. Waterfall Model Maintenance: Maintenance is the most important phase of a software life cycle. The effort spent on maintenance is the 60% of the total effort spent to develop a full software. There are basically three types of maintenance: ◦ Corrective Maintenance ◦ Perfective Maintenance ◦ Adaptive Maintenance 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 8
  • 9. Waterfall Model Advantages 1. This model is very simple and is easy to understand. 2. Phases in this model are processed one at a time. 3. Each stage in the model is clearly defined. 4. This model has very clear and well understood milestones. 5. Process, actions and results are very well documented. 6. Reinforces good habits: define-before- design, design-before-code. 7. This model works well for smaller projects and projects where requirements are well understood. 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 9
  • 10. Waterfall Model Disadvantages Classical waterfall model suffers from various shortcomings, basically we can’t use it in real projects, but we use other software development lifecycle models which are based on the classical waterfall model. Below are some major drawbacks of this model: ◦ No feedback path ◦ Difficult to accommodate change requests ◦ No overlapping of phases 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 10
  • 11. Prototyping Model Prototyping is defined as the process of developing a working replication of a product or system that has to be engineered. 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 11
  • 12. Prototyping Model In this process model, ◦ The system is partially implemented before or during the analysis phase thereby giving the customers an opportunity to see the product early in the life cycle. ◦ The process starts by interviewing the customers and developing the incomplete high-level paper model. ◦ This document is used to build the initial prototype supporting only the basic functionality as desired by the customer. ◦ Once the customer figures out the problems, the prototype is further refined to eliminate them. ◦ The process continues till the user approves the prototype and finds the working model to be satisfactory. 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 12
  • 13. Prototyping Model There are 2 approaches for this model: Rapid Throwaway Prototyping ◦ This technique offers a useful method of exploring ideas and getting customer feedback for each of them. Evolutionary Prototyping ◦ In this method, the prototype developed initially is incrementally refined on the basis of customer feedback till it finally gets accepted. 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 13
  • 14. Rapid Throwaway Prototyping Model 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 14
  • 15. Evolutionary Prototyping Model 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 15
  • 16. Prototyping Model Advantages – 1. The customers get to see the partial product early in the life cycle. This ensures a greater level of customer satisfaction and comfort. 2. New requirements can be easily accommodated as there is scope for refinement. 3. Missing functionalities can be easily figured out. 4. Errors can be detected much earlier thereby saving a lot of effort and cost, besides enhancing the quality of the software. 5. The developed prototype can be reused by the developer for more complicated projects in the future. 6. Flexibility in design. 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 16
  • 17. Prototyping Model Disadvantages – 1. Costly with respect to time as well as money. 2. There may be too much variation in requirements each time the prototype is evaluated by the customer. 3. Poor Documentation due to continuously changing customer requirements. 4. It is very difficult for the developers to accommodate all the changes demanded by the customer. 5. There is uncertainty in determining the number of iterations that would be required before the prototype is finally accepted by the customer. 6. After seeing an early prototype, the customers sometimes demand the actual product to be delivered soon. 7. Developers in a hurry to build prototypes may end up with sub-optimal solutions. 8. The customer might lose interest in the product if he/she is not satisfied with the initial prototype. 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 17
  • 18. References: https://www.geeksforgeeks.org/software-engineering-software-crisis/ 7th edition Software Engineering A Practitioners Approach by Roger S. Pressman 8/20/2019 RAM K PALIWAL - SOFTWARE PROCESS IN SOFTWARE ENGINEERING - UNIT 1 18

Editor's Notes

  • #6: The feasibility study involves understanding the problem and then determine the various possible strategies to solve the problem. These different identified solutions are analyzed based on their benefits and drawbacks, The best solution is chosen and all the other phases are carried out as per this solution strategy. Requirement gathering and analysis: Firstly all the requirements regarding the software are gathered from the customer and then the gathered requirements are analyzed. The goal of the analysis part is to remove incompleteness (an incomplete requirement is one in which some parts of the actual requirements have been omitted) and inconsistencies (inconsistent requirement is one in which some part of the requirement contradicts with some other part). Requirement specification: These analyzed requirements are documented in a software requirement specification (SRS) document. SRS document serves as a contract between development team and customers. Any future dispute between the customers and the developers can be settled by examining the SRS document.
  • #8: During each integration step, previously planned modules are added to the partially integrated system and the resultant system is tested. Finally, after all the modules have been successfully integrated and tested, the full working system is obtained and system testing is carried out on this. α-testing: α-testing is the system testing performed by the development team. β-testing: β-testing is the system testing performed by a friendly set of customers. Acceptance testing: After the software has been delivered, the customer performed the acceptance testing to determine whether to accept the delivered software or to reject it.
  • #9: Corrective Maintenance: This type of maintenance is carried out to correct errors that were not discovered during the product development phase. Perfective Maintenance: This type of maintenance is carried out to enhance the functionalities of the system based on the customer’s request. Adaptive Maintenance: Adaptive maintenance is usually required for porting the software to work in a new environment such as work on a new computer platform or with a new operating system.
  • #10: Classical waterfall model is an idealistic model for software development. It is very simple, so it can be considered as the basis for other software development life cycle models.
  • #11: No feedback path: In classical waterfall model evolution of a software from one phase to another phase is like a waterfall. It assumes that no error is ever committed by developers during any phases. Therefore, it does not incorporate any mechanism for error correction. Difficult to accommodate change requests: This model assumes that all the customer requirements can be completely and correctly defined at the beginning of the project, but actually customers’ requirements keep on changing with time. It is difficult to accommodate any change requests after the requirements specification phase is complete. No overlapping of phases: This model recommends that new phase can start only after the completion of the previous phase. But in real projects, this can’t be maintained. To increase the efficiency and reduce the cost, phases may overlap.
  • #12: The Prototyping Model is one of the most popularly used Software Development Life Cycle Models (SDLC models).This model is used when the customers do not know the exact project requirements beforehand. In this model, a prototype of the end product is first developed, tested and refined as per customer feedback repeatedly till a final acceptable prototype is achieved which forms the basis for developing the final product.
  • #14: Rapid Throwaway Prototyping – This technique offers a useful method of exploring ideas and getting customer feedback for each of them. In this method, a developed prototype need not necessarily be a part of the ultimately accepted prototype. Customer feedback helps in preventing unnecessary design faults and hence, the final prototype developed is of a better quality. Evolutionary Prototyping – In this method, the prototype developed initially is incrementally refined on the basis of customer feedback till it finally gets accepted. In comparison to Rapid Throwaway Prototyping, it offers a better approach which saves time as well as effort. This is because developing a prototype from scratch for every iteration of the process can sometimes be very frustrating for the developers.