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

Comparison of Software Engineering Models

  • 3.
    Table Of Content Introduction Models WaterfallModel Iterative Model Prototyping Model Spiral Model Comparison Table Conclusion
  • 4.
    Introduction Importance of computerin 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 developmentprocess 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 Asoftware 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  Classicalmodel 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 touse 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 followinglist 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 Definesthe 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 understandand 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 BasicPrinciples 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 useiterative 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 modelof 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 touse 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 anidea 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 elementsof 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 touse 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 amountof 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 ofFour 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 Modelis 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.
  • 24.