T2 - models students - 2025
T2 - models students - 2025
Waterfall model
It was 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 fully before the next phase can begin. This type
of software development model is basically used for the project which is small and there are no
uncertain requirements.
In the olden days, Waterfall model was used to develop enterprise applications like Customer
Relationship Management (CRM) systems, Human Resource Management Systems (HRMS), Supply
Chain Management Systems, Inventory Management Systems, Point of Sales (POS) systems for
Retail chains etc.
When to use the waterfall model
• This model is used only when the requirements are very well known, clear and fixed.
• Product definition is stable.
• Technology is understood.
• There are no ambiguous requirements
• Ample resources with required expertise are available freely
• The project is short.
Advantages of waterfall model
• This model is simple and easy to understand and use.
• It is easy to manage due to the rigidity of the model – each phase has specific deliverables
and a review process.
• In this model phases are processed and completed one at a time. Phases do not overlap.
• Waterfall model works well for smaller projects where requirements are clearly defined and
very well understood.
Disadvantages of waterfall model
• Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
• High amounts of risk and uncertainty.
• 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.
1|Page
RAD
• RAD model is Rapid Application Development model. It is a type of incremental model.
• In RAD model the components or functions are developed in parallel as if they were mini
projects.
• The developments are time boxed, delivered and then assembled into a working prototype.
Phases
1. Business modeling: The information flow is identified between various business functions.
• What information drives the business process?
• What information is generated?
• Who generates it?
• Where does the information go?
• Who processes it?
2. Data modeling: Information gathered from business modeling is used to define data objects that
are needed for the business.
3. Process modeling: Data objects defined in data modeling are converted to achieve the business
information flow to achieve some specific business objective.
4. Application generation: Automated tools are used to convert process models into code and the
actual system.
5. Testing and turnover: Test new components and all the interfaces.
When to use
• RAD should be used when there is a need to create a system that can be modularized in 2-3
months of time.
• It should be used if there’s high availability of designers for modeling and the budget is high
enough to afford their cost along with the cost of automated code generating tools.
• RAD SDLC model should be chosen only if resources with high business knowledge are available
and there is a need to produce the system in a short span of time (2-3 months).
• Depends on strong team and individual performances for identifying business requirements.
• Only system that can be modularized can be built using RAD
• Requires highly skilled developers/designers.
• High dependency on modeling skills
• Inapplicable to cheaper projects as cost of modeling and automated code generation is very
high.
2|Page
Spiral model
• This phase, studies and collects the requirements for continuous communication between the
customer and system analyst.
• It involves estimating the cost and resources for the iteration.
2) Risk Analysis
This phase, identifies the risk and provides the alternate solutions if the risk is found.
3) Engineering
In this phase, actual development i.e coding of the software is completed. Testing is completed at the
end of the phase.
4) Evaluation
Get the software evaluated by the customers. They provide the feedback before the project continues
to the next spiral.
3|Page
Agile Model
• Customers are satisfied because of quick and continuous delivery of useful software.
• Regular delivery of working software.
• Face to face interaction between the customers, developers and testers and it is best form of
communication.
• Even the late changes in the requirement can be incorporated in the software.
• It is totally depends on customer interaction. If the customer is not clear with their
requirements, the development team can go in the wrong direction.
• Documentation is less, so the transfer of technology to the new team members is challenging.
4|Page
Prototype
• Prototype is defined as first or preliminary form using which other forms are copied or derived.
• Prototype model is a set of general objectives for software.
• It does not identify the requirements like detailed input, output.
• It is software working model of limited functionality.
• In this model, working programs are quickly produced.
• The client involvement is more and it is not always considered by the developer.
• It is a slow process because it takes more time for development.
• Many changes can disturb the rhythm of the development team.
• It is a throw away prototype when the users are confused with it.
1. Rapid Throwaway Prototypes: Discarded after gathering feedback and refining requirements.
2. Evolutionary Prototype: Continuously refined based on feedback until it becomes the final
product.
3. Incremental Prototype: Developed in manageable chunks, with each increment being integrated
into the final product.
4. Extreme Prototype: Focused on rapid, frequent releases, particularly in web development, with
continuous user involvement and testing.
5|Page