SOFTWARE DEVELOPMENT
PROCESS MODELS
- B BENNY JOSEPH
Software Development Process Models
• Software Development life cycle (SDLC) is used in project management that defines the stages
include in an information system development project, from an initial feasibility study to the
maintenance of the completed application.
• There are different software development life cycle models, which are followed during the software
development phase. These models are also called "Software Development Process Models."
• Some Software Development Process Models:
• Water Fall Model
• V – Model
• Incremental Process Model
• Prototype Model
• Spiral Model
The Waterfall Model
• The waterfall model is the oldest paradigm for software engineering.
• The waterfall model, sometimes called the classic life cycle , suggests a
systematic, sequential approach to software development that begins with
customer specification of requirements and progresses through planning,
modeling, construction and deployment, culminating in ongoing support of the
completed software
• Real time examples: Construction of a house, Banking Sector
Advantages of
Waterfall model
• This model is simple to implement
also the number of resources that
are required for it is minimal.
• The requirements are simple and
explicitly declared; they remain
unchanged during the entire
project development.
• It gives easy to control and clarity
for the customer due to a strict
reporting system.
Disadvantages of
Waterfall model
• This model cannot accept the changes
in requirements during development.
• It becomes tough to go back to the
phase. For example, if the application
has now shifted to the coding phase,
and there is a change in requirement,
It becomes tough to go back and
change it.
• In this model, the risk factor is higher,
so this model is not suitable for more
significant and complex projects.
V – MODEL
• A variation in the representation of the waterfall model is called the V-model.
• The V-model depicts the relationship of quality assurance actions to the actions
associated with communication, modeling, and early construction activities.
• As a software team moves down the left side of the V, basic problem
requirements are refined into progressively more detailed and technical
representations of the problem and its solution.
• Once code has been generated, the team moves up the right side of the V,
essentially performing a series of tests (quality assurance actions) that validate
each of the models created as the team moves down the left side.
• The V-model provides a way of visualizing how verification and validation
actions are applied to earlier engineering work.
• Examples: Online Banking System
Advantage (Pros) of
V-Model
• Easy to Understand.
• Testing Methods like planning, test
designing happens well before coding.
• This saves a lot of time. Hence a higher
chance of success over the waterfall
model.
• Works well for small plans where
requirements are easily understood.
Disadvantage (Cons) of
V-Model
• Very rigid and least flexible.
• Not a good for a complex project.
• Software is developed during the
implementation stage, so no early
prototypes of the software are
produced.
• If any changes happen in the midway,
then the test documents along with the
required documents, has to be updated.
Incremental Process Models
• There are many situations in which initial software requirements are reasonably
well defined, but the overall scope of the development effort precludes a purely
linear process.
• In addition, there may be a compelling need to provide a limited set of software
functionality to users quickly and then refine and expand on that functionality
in later software releases.
• In such cases, you can choose a process model that is designed to produce the
software in increments.
• The incremental model applies linear sequences in a staggered fashion as
calendar time progresses.
• Each linear sequence produces deliverable “increments” of the software
• For example, word-processing software developed using the incremental
paradigm might deliver basic file management, editing, and document
production functions in the first increment; more sophisticated editing and
document production capabilities in the second increment; spelling and
grammar checking in the third increment; and advanced page layout
capability in the fourth increment.
• When an incremental model is used, the first increment is often a core product.
That is, basic requirements are addressed but many supplementary features
(some known, others unknown) remain undelivered.
• The core product is used by the customer (or undergoes detailed evaluation).
• As a result of use and/ or evaluation, a plan is developed for the next
increment.
• The plan addresses the modification of the core product to better meet the
needs of the customer and the delivery of additional features and functionality.
• This process is repeated following the delivery of each increment, until the
complete product is produced.
Prototype Model
• The prototype model begins with communication.
• You meet with other stakeholders to define the overall objectives for the software,
identify whatever requirements are known, and outline areas where further definition
is mandatory.
• A prototyping iteration is planned quickly, and modeling (in the form of a “quick
design”) occurs.
• A quick design focuses on a representation of those aspects of the software that will
be visible to end users (e.g., human interface layout or output display formats).
• The quick design leads to the construction of a prototype.
• The prototype is deployed and evaluated by stakeholders, who provide feedback that
is used to further refine requirements.
• Iteration occurs as the prototype is tuned to satisfy the needs of various stakeholders,
while at the same time enabling you to better understand what needs to be done.
Advantage of Prototype Model
• Good where requirement are
changing/uncommitted.
• Reduce Maintenance cost.
• Errors can be detected much earlier as the
system is made side by side.
Disadvantage of Prototype Model
• Require extensive customer collaboration
• Difficult to know how long the project will
last.
• Prototyping tools are expensive.
• It is a time-consuming process.
• Example: Food Delivery App
Spiral Model
• The spiral model is an evolutionary software process model that couples the
iterative nature of prototyping with the controlled and systematic aspects of the
waterfall model.
• It provides the potential for rapid development of increasingly more complete
versions of the software.
• Using the spiral model, software is developed in a series of evolutionary
releases.
• During early iterations, the release might be a model or prototype.
• During later iterations, increasingly more complete versions of the engineered
system are produced.
When to use Spiral Model?
• When requirements are unclear and complex.
• When changes may require at any time.
• Large and high budget projects
Advantages
• High amount of risk analysis
• Useful for large and mission-critical projects.
Disadvantages
• Can be a costly model to use.
• Doesn't work well for smaller projects.
Example: Autonomous Driving System
CONCLUSION
• Diverse Suitability: Different models cater to various project requirements, team dynamics, and
client expectations, ensuring flexibility in application.
• Risk Mitigation: Models like Spiral focus on early risk identification and mitigation, reducing
potential project failures.
• Team Collaboration: Models promote clear communication and collaboration among stakeholders,
developers, and testers throughout the development lifecycle.
• Quality Assurance: By integrating testing phases within the development cycle, process models
ensure the delivery of high-quality software.
• Cost and Time Management: Proper implementation of process models aids in controlling
development costs and adhering to deadlines.
• Choice Matters: Selecting the appropriate model (e.g., Waterfall, Agile, V-Model) is critical for
project success, depending on factors like project complexity, team expertise, and client flexibility.
THANK YOU

Software Development Process Models in Software Engineering.pptx

  • 1.
  • 2.
    Software Development ProcessModels • Software Development life cycle (SDLC) is used in project management that defines the stages include in an information system development project, from an initial feasibility study to the maintenance of the completed application. • There are different software development life cycle models, which are followed during the software development phase. These models are also called "Software Development Process Models." • Some Software Development Process Models: • Water Fall Model • V – Model • Incremental Process Model • Prototype Model • Spiral Model
  • 3.
    The Waterfall Model •The waterfall model is the oldest paradigm for software engineering. • The waterfall model, sometimes called the classic life cycle , suggests a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modeling, construction and deployment, culminating in ongoing support of the completed software • Real time examples: Construction of a house, Banking Sector
  • 4.
    Advantages of Waterfall model •This model is simple to implement also the number of resources that are required for it is minimal. • The requirements are simple and explicitly declared; they remain unchanged during the entire project development. • It gives easy to control and clarity for the customer due to a strict reporting system. Disadvantages of Waterfall model • This model cannot accept the changes in requirements during development. • It becomes tough to go back to the phase. For example, if the application has now shifted to the coding phase, and there is a change in requirement, It becomes tough to go back and change it. • In this model, the risk factor is higher, so this model is not suitable for more significant and complex projects.
  • 5.
    V – MODEL •A variation in the representation of the waterfall model is called the V-model. • The V-model depicts the relationship of quality assurance actions to the actions associated with communication, modeling, and early construction activities. • As a software team moves down the left side of the V, basic problem requirements are refined into progressively more detailed and technical representations of the problem and its solution. • Once code has been generated, the team moves up the right side of the V, essentially performing a series of tests (quality assurance actions) that validate each of the models created as the team moves down the left side. • The V-model provides a way of visualizing how verification and validation actions are applied to earlier engineering work. • Examples: Online Banking System
  • 7.
    Advantage (Pros) of V-Model •Easy to Understand. • Testing Methods like planning, test designing happens well before coding. • This saves a lot of time. Hence a higher chance of success over the waterfall model. • Works well for small plans where requirements are easily understood. Disadvantage (Cons) of V-Model • Very rigid and least flexible. • Not a good for a complex project. • Software is developed during the implementation stage, so no early prototypes of the software are produced. • If any changes happen in the midway, then the test documents along with the required documents, has to be updated.
  • 8.
    Incremental Process Models •There are many situations in which initial software requirements are reasonably well defined, but the overall scope of the development effort precludes a purely linear process. • In addition, there may be a compelling need to provide a limited set of software functionality to users quickly and then refine and expand on that functionality in later software releases. • In such cases, you can choose a process model that is designed to produce the software in increments. • The incremental model applies linear sequences in a staggered fashion as calendar time progresses. • Each linear sequence produces deliverable “increments” of the software
  • 9.
    • For example,word-processing software developed using the incremental paradigm might deliver basic file management, editing, and document production functions in the first increment; more sophisticated editing and document production capabilities in the second increment; spelling and grammar checking in the third increment; and advanced page layout capability in the fourth increment. • When an incremental model is used, the first increment is often a core product. That is, basic requirements are addressed but many supplementary features (some known, others unknown) remain undelivered. • The core product is used by the customer (or undergoes detailed evaluation). • As a result of use and/ or evaluation, a plan is developed for the next increment. • The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional features and functionality. • This process is repeated following the delivery of each increment, until the complete product is produced.
  • 11.
    Prototype Model • Theprototype model begins with communication. • You meet with other stakeholders to define the overall objectives for the software, identify whatever requirements are known, and outline areas where further definition is mandatory. • A prototyping iteration is planned quickly, and modeling (in the form of a “quick design”) occurs. • A quick design focuses on a representation of those aspects of the software that will be visible to end users (e.g., human interface layout or output display formats). • The quick design leads to the construction of a prototype. • The prototype is deployed and evaluated by stakeholders, who provide feedback that is used to further refine requirements. • Iteration occurs as the prototype is tuned to satisfy the needs of various stakeholders, while at the same time enabling you to better understand what needs to be done.
  • 12.
    Advantage of PrototypeModel • Good where requirement are changing/uncommitted. • Reduce Maintenance cost. • Errors can be detected much earlier as the system is made side by side. Disadvantage of Prototype Model • Require extensive customer collaboration • Difficult to know how long the project will last. • Prototyping tools are expensive. • It is a time-consuming process. • Example: Food Delivery App
  • 13.
    Spiral Model • Thespiral model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfall model. • It provides the potential for rapid development of increasingly more complete versions of the software. • Using the spiral model, software is developed in a series of evolutionary releases. • During early iterations, the release might be a model or prototype. • During later iterations, increasingly more complete versions of the engineered system are produced.
  • 14.
    When to useSpiral Model? • When requirements are unclear and complex. • When changes may require at any time. • Large and high budget projects Advantages • High amount of risk analysis • Useful for large and mission-critical projects. Disadvantages • Can be a costly model to use. • Doesn't work well for smaller projects. Example: Autonomous Driving System
  • 15.
    CONCLUSION • Diverse Suitability:Different models cater to various project requirements, team dynamics, and client expectations, ensuring flexibility in application. • Risk Mitigation: Models like Spiral focus on early risk identification and mitigation, reducing potential project failures. • Team Collaboration: Models promote clear communication and collaboration among stakeholders, developers, and testers throughout the development lifecycle. • Quality Assurance: By integrating testing phases within the development cycle, process models ensure the delivery of high-quality software. • Cost and Time Management: Proper implementation of process models aids in controlling development costs and adhering to deadlines. • Choice Matters: Selecting the appropriate model (e.g., Waterfall, Agile, V-Model) is critical for project success, depending on factors like project complexity, team expertise, and client flexibility.
  • 16.