0% found this document useful (0 votes)
12 views

Software Development Models-WaterfallPrototypeSpiralAgile

The document discusses various software development models, including the Waterfall, Prototyping, and Agile models, highlighting their processes, applications, advantages, and disadvantages. Each model is suited for different project requirements and complexities, with the Waterfall model being linear and straightforward, the Prototyping model allowing for flexibility and user interaction, and the Agile model promoting iterative development and collaboration. The document emphasizes the importance of selecting the appropriate model based on project goals and user needs.

Uploaded by

ankitm1014
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Software Development Models-WaterfallPrototypeSpiralAgile

The document discusses various software development models, including the Waterfall, Prototyping, and Agile models, highlighting their processes, applications, advantages, and disadvantages. Each model is suited for different project requirements and complexities, with the Waterfall model being linear and straightforward, the Prototyping model allowing for flexibility and user interaction, and the Agile model promoting iterative development and collaboration. The document emphasizes the importance of selecting the appropriate model based on project goals and user needs.

Uploaded by

ankitm1014
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Software Development Models

Learning Management System By Prakash Kshetri


Software Development Models
• The software development models are the
various processes or methodologies that are
being selected for the development of the
project depending on the project’s aims and
goals.
• There are many development life cycle models
that have been developed in order to achieve
different required objectives.
• The models specify the various stages of the
process and the order in which they are
carried out.

Learning Management System By Prakash Kshetri


Some of the popular software development
models:
• Waterfall Model
• Prototyping Model
• Spiral Model
• Agile Development Approach

Learning Management System By Prakash Kshetri


Waterfall Model
• The Waterfall Model was the first Process Model to be introduced.
• It is also referred to as a linear-sequential life cycle model.
• It is very simple to understand and use.
• In a waterfall model, each phase must be completed before the next
phase can begin and there is no overlapping in the phases.

Learning Management System By Prakash Kshetri


Fig. Waterfall Model

Learning Management System By Prakash Kshetri


Waterfall Model - Application
• Requirements are very well documented, clear and fixed.
• Product definition is stable.
• Technology is understood and is not dynamic.
• There are no ambiguous requirements.
• The project is short.

Learning Management System By Prakash Kshetri


Waterfall Model - Advantages
• Simple and easy to understand and use.
• Phases are processed and completed one at a time.
• Works well for smaller projects, where requirements are very well
understood.
• Clearly defined stages.
• Easy to arrange tasks.
• Process and results are well documented (recognized).

Learning Management System By Prakash Kshetri


Waterfall Model - Disadvantages
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate
to high risk of changing. So, risk and uncertainty is high with this
process model.
• Adjusting scope during the life cycle can end a project.

Learning Management System By Prakash Kshetri


Prototyping Model
• The Software Prototyping refers to building software application
prototypes which displays the functionality of the product under
development, but may not actually hold the exact logic of the original
software.
• Prototyping Model is used when the customers do not know the
exact project requirements beforehand.
• In this model, a prototype of the end product is first developed,
tested and refined as per customer feedback repeatedly till a final
acceptable prototype is achieved which forms the basis for
developing the final product.
Learning Management System By Prakash Kshetri
Learning Management System By Prakash Kshetri
Prototype Model - Application
• Prototype model should be 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.

Learning Management System By Prakash Kshetri


Prototype Model - Advantages
• This model is flexible in design.
• It is easy to detect errors.
• We can find missing functionality easily.
• There is scope of refinement, it means new requirements can be
easily accommodated.
• It ensures a greater level of customer satisfaction and comfort.
• It is ideal for online system.
• It helps developers and users both understand the system better.
• It can actively involve users in the development phase.

Learning Management System By Prakash Kshetri


Prototype Model - Disadvantages
• This model is costly.
• It has poor documentation because of continuously changing
customer requirements.
• There may be too much variation in requirements.
• Customers may not be satisfied or interested in the product after
seeing the initial prototype.
• There is uncertainty in determining the number of iterations.
• There may increase the complexity of the system.

Learning Management System By Prakash Kshetri


Agile Model
• Agile software development refers to a group of software
development methodologies based on iterative development, where
requirements and solutions evolve through collaboration between
self-organizing cross-functional teams.
• In other words, Agile means move quickly. In modern software
development process, large project is divided into small chunks
(iteration) then the programmers develops, test and release the
software.
• In same time, collect the feedback from the end users (clients), and
make the changes again re-release the software.
Learning Management System By Prakash Kshetri
Fig. Agile Model
Learning Management System By Prakash Kshetri
Agile Model - Advantages
• Is a very realistic approach to software development.
• Promotes teamwork and cross training.
• Resource requirements are minimum.
• Suitable for fixed or changing requirements
• Delivers early partial working solutions.
• Good model for environments that change gradually.
• Minimal rules and documentation.
• Enables concurrent development and delivery.
• Little or no planning required.
• Easy to manage.
• Gives flexibility to developers.

Learning Management System By Prakash Kshetri


Agile Model - Disadvantages
• Depends heavily on customer interaction, so if customer is not clear,
team can be driven in the wrong direction.
• There is a very high individual dependency, since there is minimum
documentation generated.
• Transfer of technology to new team members may be quite
challenging due to lack of documentation etc.

Learning Management System By Prakash Kshetri

You might also like