SlideShare a Scribd company logo
1 of 24
Table Of Content
Introduction
Models
Waterfall Model
Iterative Model
Prototyping Model
Spiral Model
Comparison Table
Conclusion
Introduction
Importance of computer in our life
Computer has become essential in today's life as it is used in
many fields of life
Computer is considered a time- saving device
Introduction
A software development process also known as a Software Development Life Cycle
Subset of System Development Life Cycle.
Software Engineering (SE) is the application of a systematic, disciplined, approach
to the development, operation, and maintenance of software .
Software Process Models
A software process model is an abstract representation of a process. It presents a
description of a process from some particular viewpoint as:
1. Specification.
2. Design.
3. Validation.
4. Evolution.
General Software Process Models are
 Waterfall model
Prototype model
Iterative model
Spiral model
Waterfall model
 Classical model of software engineering
Sequential development approach
Basic Principles
 Project is divided into sequential phases, with some overlap and splash
back acceptable between phases.
Stretched control is maintained over the life of the project via extensive
written documentation, formal reviews, and approval/signoff by the user
and information technology management occurring at the end of most
phases before beginning the next phase.
Waterfall model
When to use the waterfall model:
 Requirements are very well known, clear and fixed.
 Product definition is stable.
 Technology is understood.
 There are no ambiguous requirements
 Sufficient resources with required knowledge are available freely
 The project is short.
Waterfall model
The following list details the steps for using the waterfall model:
System requirements
 Establishes the components for building the system
 Include hardware requirements, software tools, and other necessary components.
Software requirements
 Requirements analysis includes determining interaction needed with other
applications and databases, performance requirements, user interface requirements,
and so on.
Architectural design
 Defines the major components and the interaction of those components, but it does
not define the structure of each component.
Waterfall model
Detailed design
Defines the specification of each component in detail
Coding
Implements the detailed design specification
Testing
Determines whether the software meets the specified requirements and
finds any errors present in the code
Maintenance
Addresses problems and enhancement requests after the software
releases
Advantages
Easy to understand and implement.
Widely used and known (in theory!).
Reinforces good habits: define-
before- design, design-before-code
Works well on mature products and
weak teams.
Disadvantages
 Idealized, doesn’t match reality well.
 Software is delivered late in project,
delays discovery of serious errors.
 Difficult to integrate risk
management.
 Difficult and expensive to make
changes.
Iterative Waterfall Model
Basic Principles
Iterative model, the project is divided into small parts
Allows the development team to make obvious results earlier in the
process and obtain valuable feedback from system users
Each iteration is actually a mini-Waterfall process with the feedback from
one phase providing critical
Information for the design of the next phase
When to use iterative model:
 Requirements of the complete system are clearly defined and understood.
 When the project is big.
 Major requirements must be defined; however, some details can evolve with time.
Iterative Waterfall Model
Advantages
Much better model of the software
process
Allows feedback to proceeding stages
Can be used where the requirements
are not well understood
Disadvantages
 Not easy to manage this model
 No clear milestones in the
development process
 No stage is really finished
Prototyping Model
Basic Principles
 More traditional development methodology
 User is involved throughout the development process
 Increases the likelihood of user acceptance of the final implementation
Prototyping Model
When to use Prototype model:
 Used when the desired system needs to have a lot of interaction with the end
users
 Typically, online systems, web interfaces have a very high amount of interaction
with end users, are best suited for Prototype model
 Prototyping ensures that the end users constantly work with the system and
provide a feedback which is incorporated in the prototype to result in a useable
system.
Advantages
Gives users an idea of what the final
system looks like
Encourages active participation
among users and producer
Enables a higher output for user
Cost effective (Development costs
reduced)
Increases system development speed
Disadvantages
 Possibility of causing systems to be
left unfinished
 Possibility of implementing systems
before they are ready
 Producer might produce a system
inadequate for overall organization
needs
 Often lack flexibility.
 Not suitable for large applications
 Project management difficulties.
Spiral Model
Combining elements of both design and prototyping-in-stages
An effort to combine advantages of top-down and bottom up
concepts
Basic Principles
Focus is on risk assessment
 Minimizing project risk by breaking a project into smaller segments
Providing more relieve-of-change during the development process
Each cycle involves a progression through the same sequence of
steps
Begin each cycle with an identification of stakeholders and their win
conditions, and end each cycle with review and assurance
Spiral Model
When to use Spiral model:
 When costs and risk evaluation is important
 For medium to high-risk projects
 Long-term project commitment
 Users are unsure of their needs
 Requirements are complex
 New product line
Advantages
 High amount of risk analysis
 Good for large and mission-critical
projects
 Software is produced early in the
software life cycle
Disadvantages
 Can be a costly model to use
 Risk analysis requires highly specific
expertise
 Project’s success is highly
dependent on the risk analysis phase
 Doesn’t work well for smaller
projects
Comparative Analysis of Four Models
Features Water fall Iterative Prototyping Spiral
Requirement
Specification
Beginning Beginning Frequently
Changed
Beginning
Understanding
Requirements Well
Understood Not
Well
Understood Not
Well
understood Well Understood
Cost Low Low High Expensive
Availability of reusable
component
No yes yes yes
Complexity of system Simple Simple complex complex
Risk Analysis Only at beginning No Risk Analysis No Risk Analysis yes
User Involvement in all
phases of SDLC
Only at beginning Intermediate High High
Guarantee of Success Less High Good High
Overlapping Phases No No Yes Yes
Cost Control Yes No No yes
Conclusion
Water Fall Model is commonly Used for Software Process Modeling
Iterative water fall model overcome the drawback of original waterfall
model. It allow feedback to proceeding stage
Prototype model used to develop online systems for transaction
processing
Spiral model is used for development of large, complicated and expensive
projects like scientific Projects
Each model has advantages and disadvantages for the development of
systems , so each model tries to eliminate the disadvantages of the
previous model
Q
U
E
A S
N T
Y I
O
N
?
Thank You

More Related Content

What's hot

Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineering
Ehtesham Mehmood
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Oliver Cheng
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
Saurabh Kumar
 

What's hot (20)

Software engineering model
Software engineering modelSoftware engineering model
Software engineering model
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineering
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
AGILE Model (SDLC).pptx
AGILE Model (SDLC).pptxAGILE Model (SDLC).pptx
AGILE Model (SDLC).pptx
 
Software process
Software processSoftware process
Software process
 
Checkpoints of the Process
Checkpoints of the ProcessCheckpoints of the Process
Checkpoints of the Process
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative model
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Lect3 conventional vs modern spm
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spm
 
Chapter 5 Agile Software development
Chapter 5 Agile Software developmentChapter 5 Agile Software development
Chapter 5 Agile Software development
 
waterfall model
waterfall modelwaterfall model
waterfall model
 
Agile Process models
Agile Process modelsAgile Process models
Agile Process models
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
 
component based development model
component based development modelcomponent based development model
component based development model
 

Similar to Comparison of Software Engineering Models

61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
SuhleemAhmd
 

Similar to Comparison of Software Engineering Models (20)

Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
The process
The processThe process
The process
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Assignment
AssignmentAssignment
Assignment
 
Software process
Software processSoftware process
Software process
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basic
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
Sdlc
SdlcSdlc
Sdlc
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 
Bba ii cam u iii-introduction to sdlc cycle
Bba ii cam  u iii-introduction to sdlc cycleBba ii cam  u iii-introduction to sdlc cycle
Bba ii cam u iii-introduction to sdlc cycle
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx61f4fc87-9977-4003-baf8-37f13200977b.pptx
61f4fc87-9977-4003-baf8-37f13200977b.pptx
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
Software process model
Software process modelSoftware process model
Software process model
 
3
33
3
 
SDLC
SDLCSDLC
SDLC
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Comparison of Software Engineering Models

  • 1.
  • 2.
  • 3. Table Of Content Introduction Models Waterfall Model Iterative Model Prototyping Model Spiral Model Comparison Table Conclusion
  • 4. Introduction Importance of computer in our life Computer has become essential in today's life as it is used in many fields of life Computer is considered a time- saving device
  • 5. Introduction A software development process also known as a Software Development Life Cycle Subset of System Development Life Cycle. Software Engineering (SE) is the application of a systematic, disciplined, approach to the development, operation, and maintenance of software .
  • 6. Software Process Models A software process model is an abstract representation of a process. It presents a description of a process from some particular viewpoint as: 1. Specification. 2. Design. 3. Validation. 4. Evolution. General Software Process Models are  Waterfall model Prototype model Iterative model Spiral model
  • 7. Waterfall model  Classical model of software engineering Sequential development approach Basic Principles  Project is divided into sequential phases, with some overlap and splash back acceptable between phases. Stretched control is maintained over the life of the project via extensive written documentation, formal reviews, and approval/signoff by the user and information technology management occurring at the end of most phases before beginning the next phase.
  • 8. Waterfall model When to use the waterfall model:  Requirements are very well known, clear and fixed.  Product definition is stable.  Technology is understood.  There are no ambiguous requirements  Sufficient resources with required knowledge are available freely  The project is short.
  • 9. Waterfall model The following list details the steps for using the waterfall model: System requirements  Establishes the components for building the system  Include hardware requirements, software tools, and other necessary components. Software requirements  Requirements analysis includes determining interaction needed with other applications and databases, performance requirements, user interface requirements, and so on. Architectural design  Defines the major components and the interaction of those components, but it does not define the structure of each component.
  • 10. Waterfall model Detailed design Defines the specification of each component in detail Coding Implements the detailed design specification Testing Determines whether the software meets the specified requirements and finds any errors present in the code Maintenance Addresses problems and enhancement requests after the software releases
  • 11. Advantages Easy to understand and implement. Widely used and known (in theory!). Reinforces good habits: define- before- design, design-before-code Works well on mature products and weak teams. Disadvantages  Idealized, doesn’t match reality well.  Software is delivered late in project, delays discovery of serious errors.  Difficult to integrate risk management.  Difficult and expensive to make changes.
  • 12. Iterative Waterfall Model Basic Principles Iterative model, the project is divided into small parts Allows the development team to make obvious results earlier in the process and obtain valuable feedback from system users Each iteration is actually a mini-Waterfall process with the feedback from one phase providing critical Information for the design of the next phase
  • 13. When to use iterative model:  Requirements of the complete system are clearly defined and understood.  When the project is big.  Major requirements must be defined; however, some details can evolve with time. Iterative Waterfall Model
  • 14. Advantages Much better model of the software process Allows feedback to proceeding stages Can be used where the requirements are not well understood Disadvantages  Not easy to manage this model  No clear milestones in the development process  No stage is really finished
  • 15. Prototyping Model Basic Principles  More traditional development methodology  User is involved throughout the development process  Increases the likelihood of user acceptance of the final implementation
  • 16. Prototyping Model When to use Prototype model:  Used when the desired system needs to have a lot of interaction with the end users  Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model  Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system.
  • 17. Advantages Gives users an idea of what the final system looks like Encourages active participation among users and producer Enables a higher output for user Cost effective (Development costs reduced) Increases system development speed Disadvantages  Possibility of causing systems to be left unfinished  Possibility of implementing systems before they are ready  Producer might produce a system inadequate for overall organization needs  Often lack flexibility.  Not suitable for large applications  Project management difficulties.
  • 18. Spiral Model Combining elements of both design and prototyping-in-stages An effort to combine advantages of top-down and bottom up concepts Basic Principles Focus is on risk assessment  Minimizing project risk by breaking a project into smaller segments Providing more relieve-of-change during the development process Each cycle involves a progression through the same sequence of steps Begin each cycle with an identification of stakeholders and their win conditions, and end each cycle with review and assurance
  • 19. Spiral Model When to use Spiral model:  When costs and risk evaluation is important  For medium to high-risk projects  Long-term project commitment  Users are unsure of their needs  Requirements are complex  New product line
  • 20. Advantages  High amount of risk analysis  Good for large and mission-critical projects  Software is produced early in the software life cycle Disadvantages  Can be a costly model to use  Risk analysis requires highly specific expertise  Project’s success is highly dependent on the risk analysis phase  Doesn’t work well for smaller projects
  • 21. Comparative Analysis of Four Models Features Water fall Iterative Prototyping Spiral Requirement Specification Beginning Beginning Frequently Changed Beginning Understanding Requirements Well Understood Not Well Understood Not Well understood Well Understood Cost Low Low High Expensive Availability of reusable component No yes yes yes Complexity of system Simple Simple complex complex Risk Analysis Only at beginning No Risk Analysis No Risk Analysis yes User Involvement in all phases of SDLC Only at beginning Intermediate High High Guarantee of Success Less High Good High Overlapping Phases No No Yes Yes Cost Control Yes No No yes
  • 22. Conclusion Water Fall Model is commonly Used for Software Process Modeling Iterative water fall model overcome the drawback of original waterfall model. It allow feedback to proceeding stage Prototype model used to develop online systems for transaction processing Spiral model is used for development of large, complicated and expensive projects like scientific Projects Each model has advantages and disadvantages for the development of systems , so each model tries to eliminate the disadvantages of the previous model
  • 23. Q U E A S N T Y I O N ?