SlideShare a Scribd company logo
Software Engineering
&
Process Models
Presentation By
Nishu Rastogi
Assistant Professor
Invertis University, Bareilly
1
Content
What is Software Engineering?
Principles of S.E.
Scope and Necessity of S.E.
Software Process Models
 Software Development Life Cycle
Various Process Model
Model Comparison
2
Technology Development
• ART- esoteric use of past experience
• CRAFT- Unorganized use of past experience
• ENGINEERING- systematic use of past
experience and formation of scientific basis
3
What is Software Engineering?
Software + Engineering
Software : Collection of modules
Engineering : Branch of science and technology
concerned with the design, building, and use of engines,
machines, and structures.
4
Software Engineering is an engineering approach for
software development.
OR
Software Engineering provides tools and techniques
which can be used to design and develop a software in a
systematic and cost effective manner.
5
What is Software Engineering? [Contd..]
Software Crisis
• A time came few years back, that the cost of software became
so high in comparison to hardware products.
• Organizations had to invest large potion of their budget to
purchase the required software to automate the work.
• To tackle such a scenario, Software Engineering was the
option.
• Then a scenario came that with hardware product started
providing software by default without any cost.
6
Program vs. Software Product
• Programs are developed by individuals for personal use.
• Limited functionality and size
• Lack of good UI and proper documentation
• Software products have multiple user, have good UI, proper
user manuals and documentation.
• Systematically designed, implemented and well tested.
• Developed by a group of Engineers.
7
Why Software Engineering
• To reduce development time
• To reduce development cost
• To reduce development complexity-
By decomposing the problem, and being well
planned.
8
Software Engineering Principles
Principle of Abstraction
Considers only those aspects of the problem that are
relevant for certain purpose and suppress other aspects that
are not relevant.
Principle of Decomposition
A complex problem is divided into several smaller
problems and then the smaller problems are solved one by
one.
9
Scope and Necessity of Software Eng..
Without using software engineering principles it would be
difficult to develop large programs.
Ex. A program of size 1,000 lines of code has some
complexity. But a program with 10,000 LOC is not just 10
times more difficult to develop, but may as well turn out to
be 100 times more difficult unless software engineering
principles are used.
Software Engineering helps to reduce the programming
complexity. 10
Software Life Cycle and Model
• A series of identifiable stages that a software product undergoes during
its lifetime is known as software life cycle.
• A descriptive and diagrammatic representation of software life cycle is
known as software life cycle model.
• Model represents all activities required to make a software product.
• Software life cycle is often referred to as Software process model
• Life cycle is used to develop a software in systematic and disciplined
manner
11
Software Process Models
A Software Process Model is a standardised format for
 Planning
 Organising, and
 Running
the development of a software project.
“A set of activities that leads to the production of a software
product is known as Software Process.”
12
Software Development Life Cycle (SDLC)
Problem Identification
1. Feasibility Study
To determine whether it would be financially and technically
feasible to develop the product.
2. Requirement Analysis and Specification
To understand the exact requirements of the customer and to
document them properly.
 Requirements gathering and analysis
ƒRequirements specification
(“Software Requirement Specification is developed”)
13
SDLC [Contd..]
3. Design
To transform the requirements specified in the SRS
document into a structure that is suitable for
implementation in some programming language.
4. Coding
To transform the logics developed into code by using
syntax of particular programming language.
14
5. Testing
To verify and validate the software that it works as
expected.
6. Maintenance
To modify a software product after delivery to correct faults
and to improve performance.
15
SDLC [Contd..]
 Classical Waterfall Model
 Iterative Waterfall Model
 Prototyping Model
 Evolutionary Model
 Rapid Application Development
 Spiral Model 16
Various Software Process Models
1- Classical Waterfall Model
 The waterfall model is the classic process model
– it is widely known, understood and used.
 In some respect, waterfall is the ”common sense”
approach.
17
Classical Waterfall Model [Contd..]
18
Limitation of Classical Model
The classical waterfall model is an idealistic.
 It assumes that no development error is ever committed
by the engineers during any of the life cycle phases.
 In practical environment engineers do commit mistakes.
19
2- Iterative Waterfall Model
 Defects usually get detected much later in the
life cycle:
For example, a design defect might go unnoticed till the
coding or testing phase.
20
Iterative Waterfall Model [Contd..]
 Once a defect is detected:
 We need to go back to the phase where it was
introduced.
 Redo some of the work done during that and all
subsequent phases.
 Therefore, we need feedback paths in the classical
waterfall model.
21
Iterative Waterfall Model [Contd..]
22
3- Prototyping Model
 A prototype is a toy implementation of the system.
 A prototype usually exhibits limited functional
capabilities, low reliability, and inefficient performance
compared to the actual software.
 A prototype is usually built using several shortcuts.
23
Prototyping Model [Contd..]
24
Requirement
Gathering
Quick
Design
Refine
Requirements Build Prototype
Customer Evaluation of
Prototype
Design
Implement
Test
Maintain
Reasons for DevelopingAPrototype
To illustrate the input data formats, messages, reports,
and the interactive dialogues to the customer.
 Examine technical issues associated with product
development.
 It is impossible to ``get it right'' the first time, we must
plan to throw away the first product, if we want to
develop a good product.
25
Advantages of Prototyping
 Provides better understanding of the customer’s needs
 how the screens might look like
 how the user interface would behave
 how the system would produce outputs
Prototype building needs Additional Cost.
26
4- Evolutionary Model
 Also called as Successive Version or Incremental Model.
 System is broken down into several modules which can
be incrementally implemented and delivered.
 First develop the core modules of the system.
 Initial product skeleton is refined into increasing levels
of capability, by adding new functionalities in successive
versions.
27
Evolutionary Model [Contd..]
28
A
B
C
A A
B
29
Advantages of Evolutionary Model
 Users get a chance to experiment with a partially
developed system much before the full working version is
released.
 Helps finding exact user requirements, much before
fully working system is developed.
 Core modules get tested thoroughly reduces chances of
errors in final product.
30
 Difficult to subdivide problems into functional units
which can be incrementally implemented and delivered.
 Only useful for very large problems, where it is easier to
find modules for incremental implementation.
31
Disadvantages of Evolutionary Model
 Lack of extensive pre-planning.
 Allows software to be written much faster, and makes it
easier to change requirements.
 Used when time to develop software is very less and
product is required to be developed at earliest.
32
5- RapidApplication Development
RapidApplication Development [Contd..]
33
Requirements
Planning
User Design Construction
Cutover
1. Requirement Planning
Combines elements of the system planning and systems
analysis phases.
It ends when the team agrees on the key issues and
obtains management authorization to continue.
2. User Design
Users interact with systems analysts and develop models
and prototypes.
User Design is a continuous interactive process that
allows users to understand and modify the system. 34
RapidApplication Development [Contd..]
3. Construction
Tasks are programming and application development like
coding, unit-integration and system testing.
4. Cutover
Tasks include testing, changeover to the new system, and
user training.
New system is built, delivered, and placed in operation
much sooner.
35
RapidApplication Development [Contd..]
 Proposed by Boehm in 1988.
 Each loop of the spiral represents a phase of the software
process:
 the innermost loop might be concerned with system
feasibility,
 the next loop with system requirements definition,
 the next one with system design, and so on.
 Each loop in the spiral is split into four sectors
(quadrants 36
6- Spiral Model
Spiral Model [Contd..]
37
1. Identify objectives of the phase, examine the risks
associated with these objective.
Risk is any adverse circumstance that might hamper
successful completion of a software project.
2. Find alternate solutions possible
38
Spiral Model [I- Quadrant]
 For each identified project risk, a detailed analysis is
carried out.
 Steps are taken to reduce the risk.
 For example, if there is a risk that the requirements are
inappropriate, a prototype system may be developed.
39
Spiral Model [II- Quadrant]
 Develop and validate the next level of the product.
 Review the results achieved so far with the customer
and plan the next iteration around the spiral.
With each iteration around the spiral progressively more
complete version of the software gets built.
40
Spiral Model [III &IV - Quadrant]
Model Comparison
 Iterative waterfall model
 most widely used model.
 suitable only for well-understood problems.
 Prototype model is suitable for projects which are not
well understood in terms of
 user requirements
 technical aspects
41
 Evolutionary model is suitable for large problems
 can be decomposed into a set of modules that can be
incrementally implemented,
 incremental delivery of the system is acceptable to
the customer.
 Spiral model
 suitable for development of technically challenging
software products that are subject to several kinds of
risks.
42
Model Comparison [Contd..]
Software Characteristics
1- External Characteristics- User Interest
• Correctness- degree to which system is free from faults in
system design, specification and implementation.
• Usability- Ease with which users can learn and use the system
• Reliability- ability of system to perform when required
without failure.
• Integrity- prevention of unauthorized/improper use.
• Adaptability- usability in other application.
• Accuracy- degree of quantitative correctness.
• Robustness- functioning of system in presence of invalid
inputs.
43
S/w Characteristics
2- Internal Characteristics- Manager Interest
• Maintainability- ease of modifying software for changing or
adding capabilities or improving performance.
• Flexibility- extent of modifying system for other user or
environment.
• Portability- ease of modifying system for operating in different
environment.
• Reusability- re-use of existing code
• Readability
44
Thank You !!!
45

More Related Content

What's hot

Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
Abhimanyu Mishra
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Zahoorali Khan
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testing
NitishMhaske1
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
Hitesh Mohapatra
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Baskarkncet
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
Sandeep Kumar Nayak
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
NancyBeaulah_R
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debuggingsvilen.ivanov
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
kavitha muneeshwaran
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
Seema Kamble
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
ghayour abbas
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
Damian T. Gordon
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)
AmanSharma1172
 

What's hot (20)

Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testing
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debugging
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)
 

Viewers also liked

software engineering
 software engineering software engineering
software engineering
Ahmed Elshahat Mohamed
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
Ashok Mohanty
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering pptshruths2890
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
Belal Raslan
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9Ian Sommerville
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
Mohammed Romi
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Mohammed Romi
 
Professional Code of Ethics in Software Engineering
Professional Code of Ethics in Software EngineeringProfessional Code of Ethics in Software Engineering
Professional Code of Ethics in Software EngineeringLemi Orhan Ergin
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9Ian Sommerville
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 
Software Engineering UPTU
Software Engineering UPTUSoftware Engineering UPTU
Software Engineering UPTU
Rishi Shukla
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software designPiyush Gogia
 
Software design methodologies
Software design methodologiesSoftware design methodologies
Software design methodologies
Dr. C.V. Suresh Babu
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 

Viewers also liked (20)

software engineering
 software engineering software engineering
software engineering
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Professional Code of Ethics in Software Engineering
Professional Code of Ethics in Software EngineeringProfessional Code of Ethics in Software Engineering
Professional Code of Ethics in Software Engineering
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Software Engineering UPTU
Software Engineering UPTUSoftware Engineering UPTU
Software Engineering UPTU
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
 
Software design methodologies
Software design methodologiesSoftware design methodologies
Software design methodologies
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 

Similar to Software Engineering- Crisis and Process Models

Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available Methodology
IJMER
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
IIUI
 
2. Software process
2. Software process2. Software process
2. Software process
Ashis Kumar Chanda
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
BinyamBekele3
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
Delowar hossain
 
Chapter 1.pptxs Introduction to software Engineering
Chapter 1.pptxs Introduction to software EngineeringChapter 1.pptxs Introduction to software Engineering
Chapter 1.pptxs Introduction to software Engineering
Bayesayohannis
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
NorshadilaAhmadBadel1
 
2.SDLC Models.ppt
2.SDLC Models.ppt2.SDLC Models.ppt
2.SDLC Models.ppt
ssuser1288e7
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
MarriamNawaz
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
ssuserd0fdaa
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
Dr. Anthony Vincent. B
 
Software engineering
Software engineeringSoftware engineering
Software engineering
nimmik4u
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
NorshadilaAhmadBadel1
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
Jkumararaja
 
The process
The processThe process
The process
prakashvs7
 
Lecture #02 ECS-511.pptx
Lecture #02 ECS-511.pptxLecture #02 ECS-511.pptx
Lecture #02 ECS-511.pptx
AbuBakkarShayan
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
WrushabhShirsat3
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
RAVALCHIRAG1
 

Similar to Software Engineering- Crisis and Process Models (20)

Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available Methodology
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
2. Software process
2. Software process2. Software process
2. Software process
 
Process models
Process modelsProcess models
Process models
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
Chapter 1.pptxs Introduction to software Engineering
Chapter 1.pptxs Introduction to software EngineeringChapter 1.pptxs Introduction to software Engineering
Chapter 1.pptxs Introduction to software Engineering
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
2.SDLC Models.ppt
2.SDLC Models.ppt2.SDLC Models.ppt
2.SDLC Models.ppt
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
The process
The processThe process
The process
 
Lecture #02 ECS-511.pptx
Lecture #02 ECS-511.pptxLecture #02 ECS-511.pptx
Lecture #02 ECS-511.pptx
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 

Recently uploaded

HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 

Recently uploaded (20)

HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 

Software Engineering- Crisis and Process Models

  • 1. Software Engineering & Process Models Presentation By Nishu Rastogi Assistant Professor Invertis University, Bareilly 1
  • 2. Content What is Software Engineering? Principles of S.E. Scope and Necessity of S.E. Software Process Models  Software Development Life Cycle Various Process Model Model Comparison 2
  • 3. Technology Development • ART- esoteric use of past experience • CRAFT- Unorganized use of past experience • ENGINEERING- systematic use of past experience and formation of scientific basis 3
  • 4. What is Software Engineering? Software + Engineering Software : Collection of modules Engineering : Branch of science and technology concerned with the design, building, and use of engines, machines, and structures. 4
  • 5. Software Engineering is an engineering approach for software development. OR Software Engineering provides tools and techniques which can be used to design and develop a software in a systematic and cost effective manner. 5 What is Software Engineering? [Contd..]
  • 6. Software Crisis • A time came few years back, that the cost of software became so high in comparison to hardware products. • Organizations had to invest large potion of their budget to purchase the required software to automate the work. • To tackle such a scenario, Software Engineering was the option. • Then a scenario came that with hardware product started providing software by default without any cost. 6
  • 7. Program vs. Software Product • Programs are developed by individuals for personal use. • Limited functionality and size • Lack of good UI and proper documentation • Software products have multiple user, have good UI, proper user manuals and documentation. • Systematically designed, implemented and well tested. • Developed by a group of Engineers. 7
  • 8. Why Software Engineering • To reduce development time • To reduce development cost • To reduce development complexity- By decomposing the problem, and being well planned. 8
  • 9. Software Engineering Principles Principle of Abstraction Considers only those aspects of the problem that are relevant for certain purpose and suppress other aspects that are not relevant. Principle of Decomposition A complex problem is divided into several smaller problems and then the smaller problems are solved one by one. 9
  • 10. Scope and Necessity of Software Eng.. Without using software engineering principles it would be difficult to develop large programs. Ex. A program of size 1,000 lines of code has some complexity. But a program with 10,000 LOC is not just 10 times more difficult to develop, but may as well turn out to be 100 times more difficult unless software engineering principles are used. Software Engineering helps to reduce the programming complexity. 10
  • 11. Software Life Cycle and Model • A series of identifiable stages that a software product undergoes during its lifetime is known as software life cycle. • A descriptive and diagrammatic representation of software life cycle is known as software life cycle model. • Model represents all activities required to make a software product. • Software life cycle is often referred to as Software process model • Life cycle is used to develop a software in systematic and disciplined manner 11
  • 12. Software Process Models A Software Process Model is a standardised format for  Planning  Organising, and  Running the development of a software project. “A set of activities that leads to the production of a software product is known as Software Process.” 12
  • 13. Software Development Life Cycle (SDLC) Problem Identification 1. Feasibility Study To determine whether it would be financially and technically feasible to develop the product. 2. Requirement Analysis and Specification To understand the exact requirements of the customer and to document them properly.  Requirements gathering and analysis ƒRequirements specification (“Software Requirement Specification is developed”) 13
  • 14. SDLC [Contd..] 3. Design To transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language. 4. Coding To transform the logics developed into code by using syntax of particular programming language. 14
  • 15. 5. Testing To verify and validate the software that it works as expected. 6. Maintenance To modify a software product after delivery to correct faults and to improve performance. 15 SDLC [Contd..]
  • 16.  Classical Waterfall Model  Iterative Waterfall Model  Prototyping Model  Evolutionary Model  Rapid Application Development  Spiral Model 16 Various Software Process Models
  • 17. 1- Classical Waterfall Model  The waterfall model is the classic process model – it is widely known, understood and used.  In some respect, waterfall is the ”common sense” approach. 17
  • 19. Limitation of Classical Model The classical waterfall model is an idealistic.  It assumes that no development error is ever committed by the engineers during any of the life cycle phases.  In practical environment engineers do commit mistakes. 19
  • 20. 2- Iterative Waterfall Model  Defects usually get detected much later in the life cycle: For example, a design defect might go unnoticed till the coding or testing phase. 20
  • 21. Iterative Waterfall Model [Contd..]  Once a defect is detected:  We need to go back to the phase where it was introduced.  Redo some of the work done during that and all subsequent phases.  Therefore, we need feedback paths in the classical waterfall model. 21
  • 23. 3- Prototyping Model  A prototype is a toy implementation of the system.  A prototype usually exhibits limited functional capabilities, low reliability, and inefficient performance compared to the actual software.  A prototype is usually built using several shortcuts. 23
  • 24. Prototyping Model [Contd..] 24 Requirement Gathering Quick Design Refine Requirements Build Prototype Customer Evaluation of Prototype Design Implement Test Maintain
  • 25. Reasons for DevelopingAPrototype To illustrate the input data formats, messages, reports, and the interactive dialogues to the customer.  Examine technical issues associated with product development.  It is impossible to ``get it right'' the first time, we must plan to throw away the first product, if we want to develop a good product. 25
  • 26. Advantages of Prototyping  Provides better understanding of the customer’s needs  how the screens might look like  how the user interface would behave  how the system would produce outputs Prototype building needs Additional Cost. 26
  • 27. 4- Evolutionary Model  Also called as Successive Version or Incremental Model.  System is broken down into several modules which can be incrementally implemented and delivered.  First develop the core modules of the system.  Initial product skeleton is refined into increasing levels of capability, by adding new functionalities in successive versions. 27
  • 29. 29
  • 30. Advantages of Evolutionary Model  Users get a chance to experiment with a partially developed system much before the full working version is released.  Helps finding exact user requirements, much before fully working system is developed.  Core modules get tested thoroughly reduces chances of errors in final product. 30
  • 31.  Difficult to subdivide problems into functional units which can be incrementally implemented and delivered.  Only useful for very large problems, where it is easier to find modules for incremental implementation. 31 Disadvantages of Evolutionary Model
  • 32.  Lack of extensive pre-planning.  Allows software to be written much faster, and makes it easier to change requirements.  Used when time to develop software is very less and product is required to be developed at earliest. 32 5- RapidApplication Development
  • 34. 1. Requirement Planning Combines elements of the system planning and systems analysis phases. It ends when the team agrees on the key issues and obtains management authorization to continue. 2. User Design Users interact with systems analysts and develop models and prototypes. User Design is a continuous interactive process that allows users to understand and modify the system. 34 RapidApplication Development [Contd..]
  • 35. 3. Construction Tasks are programming and application development like coding, unit-integration and system testing. 4. Cutover Tasks include testing, changeover to the new system, and user training. New system is built, delivered, and placed in operation much sooner. 35 RapidApplication Development [Contd..]
  • 36.  Proposed by Boehm in 1988.  Each loop of the spiral represents a phase of the software process:  the innermost loop might be concerned with system feasibility,  the next loop with system requirements definition,  the next one with system design, and so on.  Each loop in the spiral is split into four sectors (quadrants 36 6- Spiral Model
  • 38. 1. Identify objectives of the phase, examine the risks associated with these objective. Risk is any adverse circumstance that might hamper successful completion of a software project. 2. Find alternate solutions possible 38 Spiral Model [I- Quadrant]
  • 39.  For each identified project risk, a detailed analysis is carried out.  Steps are taken to reduce the risk.  For example, if there is a risk that the requirements are inappropriate, a prototype system may be developed. 39 Spiral Model [II- Quadrant]
  • 40.  Develop and validate the next level of the product.  Review the results achieved so far with the customer and plan the next iteration around the spiral. With each iteration around the spiral progressively more complete version of the software gets built. 40 Spiral Model [III &IV - Quadrant]
  • 41. Model Comparison  Iterative waterfall model  most widely used model.  suitable only for well-understood problems.  Prototype model is suitable for projects which are not well understood in terms of  user requirements  technical aspects 41
  • 42.  Evolutionary model is suitable for large problems  can be decomposed into a set of modules that can be incrementally implemented,  incremental delivery of the system is acceptable to the customer.  Spiral model  suitable for development of technically challenging software products that are subject to several kinds of risks. 42 Model Comparison [Contd..]
  • 43. Software Characteristics 1- External Characteristics- User Interest • Correctness- degree to which system is free from faults in system design, specification and implementation. • Usability- Ease with which users can learn and use the system • Reliability- ability of system to perform when required without failure. • Integrity- prevention of unauthorized/improper use. • Adaptability- usability in other application. • Accuracy- degree of quantitative correctness. • Robustness- functioning of system in presence of invalid inputs. 43
  • 44. S/w Characteristics 2- Internal Characteristics- Manager Interest • Maintainability- ease of modifying software for changing or adding capabilities or improving performance. • Flexibility- extent of modifying system for other user or environment. • Portability- ease of modifying system for operating in different environment. • Reusability- re-use of existing code • Readability 44