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
Ad

Recommended

Software and software engineering basics by ram k paliwal
Software and software engineering basics by ram k paliwal
Ram Paliwal
 
Software process in software engineering basics by ram k paliwal part 2
Software process in software engineering basics by ram k paliwal part 2
Ram Paliwal
 
Software reuirement elicitation in software engineering basics by ram k paliwal
Software reuirement elicitation in software engineering basics by ram k paliwal
Ram Paliwal
 
Sdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwal
Ram Paliwal
 
Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2
Ram Paliwal
 
Need for Software Engineering
Need for Software Engineering
Upekha Vandebona
 
Characteristics of Software
Characteristics of Software
Upekha Vandebona
 
Software Engineering Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Software engineering layers
Software engineering layers
Self-employed
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Chapter 01
Chapter 01
ans ali raza
 
Software Process Models
Software Process Models
Ahmed Alageed
 
SDLC RAD model
SDLC RAD model
Jay Sharma
 
software process model
software process model
juhi kumari
 
Cocomo model
Cocomo model
Baskarkncet
 
Week 8 final assesement presentation
Week 8 final assesement presentation
matumba Thuso
 
Software engineering lecture notes
Software engineering lecture notes
Ammar Shafiq
 
Software process model
Software process model
Umar Farooq
 
5. software process model
5. software process model
Muhammad Sikandar Mustafa
 
RAD Model
RAD Model
university of education,Lahore
 
Scope of software engineering
Scope of software engineering
Muhammad Naveed Zafar
 
Software Engineering(unit 1)
Software Engineering(unit 1)
Dr. SURBHI SAROHA
 
Software Product Development - Simple Process flow
Software Product Development - Simple Process flow
Sabina Siddiqi
 
Software engineering
Software engineering
MOHAMED RIYAZUDEEN
 
Software process
Software process
Jennifer Polack
 
Software engineering tutorial
Software engineering tutorial
Ahmed Elshal
 
LECTURE 155662355366589625633022333.pptx
LECTURE 155662355366589625633022333.pptx
ROHANPAL39
 
Chapter_2_Software_Development_Life_Cycle_and_Process_Models.pptx
Chapter_2_Software_Development_Life_Cycle_and_Process_Models.pptx
gadisaAdamu
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 
Software Engineering Process Models important
Software Engineering Process Models important
ధావన్ కుమార్
 

More Related Content

What's hot (18)

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

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

LECTURE 155662355366589625633022333.pptx
LECTURE 155662355366589625633022333.pptx
ROHANPAL39
 
Chapter_2_Software_Development_Life_Cycle_and_Process_Models.pptx
Chapter_2_Software_Development_Life_Cycle_and_Process_Models.pptx
gadisaAdamu
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 
Software Engineering Process Models important
Software Engineering Process Models important
ధావన్ కుమార్
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
Rasan Samarasinghe
 
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
GeethaRRaj
 
01lifecycles(system development life cycle).ppt
01lifecycles(system development life cycle).ppt
krishnakrishkrish100
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharya
Sharbani Bhattacharya
 
The process
The process
prakashvs7
 
2-models.pptx
2-models.pptx
ssuserd0fdaa
 
Software Process Models
Software Process Models
andyr91
 
Software process life cycles
Software process life cycles
sathish sak
 
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
PriyanshuJadon2
 
Software Engineering : Process Models
Software Engineering : Process Models
Ajit Nayak
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02
Asifuzzaman Hridoy
 
01lifecycles
01lifecycles
Abdihakim Dalmar
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
MarwondoMarwondo
 
Object Oriented Software engineering.pptx
Object Oriented Software engineering.pptx
SowmiyaN23
 
UML
UML
Niit
 
LECTURE 155662355366589625633022333.pptx
LECTURE 155662355366589625633022333.pptx
ROHANPAL39
 
Chapter_2_Software_Development_Life_Cycle_and_Process_Models.pptx
Chapter_2_Software_Development_Life_Cycle_and_Process_Models.pptx
gadisaAdamu
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
Rasan Samarasinghe
 
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
GeethaRRaj
 
01lifecycles(system development life cycle).ppt
01lifecycles(system development life cycle).ppt
krishnakrishkrish100
 
Software Process Models
Software Process Models
andyr91
 
Software process life cycles
Software process life cycles
sathish sak
 
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
PriyanshuJadon2
 
Software Engineering : Process Models
Software Engineering : Process Models
Ajit Nayak
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02
Asifuzzaman Hridoy
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
MarwondoMarwondo
 
Object Oriented Software engineering.pptx
Object Oriented Software engineering.pptx
SowmiyaN23
 
UML
UML
Niit
 
Ad

More from Ram Paliwal (16)

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

Recently uploaded (20)

Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
 
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
 
IPL_Logic_Flow.pdf Mainframe IPLMainframe IPL
IPL_Logic_Flow.pdf Mainframe IPLMainframe IPL
KhadijaKhadijaAouadi
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Proposal for folders structure division in projects.pdf
Proposal for folders structure division in projects.pdf
Mohamed Ahmed
 
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
 
NEW Strengthened Senior High School Gen Math.pptx
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
 
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
 
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
Complete University of Calculus :: 2nd edition
Complete University of Calculus :: 2nd edition
Shabista Imam
 
DESIGN OF REINFORCED CONCRETE ELEMENTS S
DESIGN OF REINFORCED CONCRETE ELEMENTS S
prabhusp8
 
Solar thermal – Flat plate and concentrating collectors .pptx
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Stay Safe Women Security Android App Project Report.pdf
Stay Safe Women Security Android App Project Report.pdf
Kamal Acharya
 
Unit III_One Dimensional Consolidation theory
Unit III_One Dimensional Consolidation theory
saravananr808639
 
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
Complete guidance book of Asp.Net Web API
Complete guidance book of Asp.Net Web API
Shabista Imam
 
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
Cadastral Maps
Cadastral Maps
Google
 
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
 
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
 
IPL_Logic_Flow.pdf Mainframe IPLMainframe IPL
IPL_Logic_Flow.pdf Mainframe IPLMainframe IPL
KhadijaKhadijaAouadi
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Proposal for folders structure division in projects.pdf
Proposal for folders structure division in projects.pdf
Mohamed Ahmed
 
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
 
NEW Strengthened Senior High School Gen Math.pptx
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
 
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
 
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
Complete University of Calculus :: 2nd edition
Complete University of Calculus :: 2nd edition
Shabista Imam
 
DESIGN OF REINFORCED CONCRETE ELEMENTS S
DESIGN OF REINFORCED CONCRETE ELEMENTS S
prabhusp8
 
Solar thermal – Flat plate and concentrating collectors .pptx
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Stay Safe Women Security Android App Project Report.pdf
Stay Safe Women Security Android App Project Report.pdf
Kamal Acharya
 
Unit III_One Dimensional Consolidation theory
Unit III_One Dimensional Consolidation theory
saravananr808639
 
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
Complete guidance book of Asp.Net Web API
Complete guidance book of Asp.Net Web API
Shabista Imam
 
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
Cadastral Maps
Cadastral Maps
Google
 

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.