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

Lec1March.prototype.iterative.model

The document outlines various software development models including the Waterfall, Prototyping, Iterative, and Rational Unified Process (RUP). Each model has distinct phases, advantages, and disadvantages, with the Waterfall model being suitable for smaller projects while the Prototyping model encourages user interaction and feedback. The Iterative model focuses on gradual development and refinement, and RUP provides a structured approach to software creation through four defined phases.

Uploaded by

Priyanshu Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Lec1March.prototype.iterative.model

The document outlines various software development models including the Waterfall, Prototyping, Iterative, and Rational Unified Process (RUP). Each model has distinct phases, advantages, and disadvantages, with the Waterfall model being suitable for smaller projects while the Prototyping model encourages user interaction and feedback. The Iterative model focuses on gradual development and refinement, and RUP provides a structured approach to software creation through four defined phases.

Uploaded by

Priyanshu Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

6

1.Waterfall Model:
 Waterfall model is an example of a Sequential model. In this model, the software
development activity is divided into different phases and each phase consists of
series of tasks and has different objectives.
 It is divided into phases and output of one phase becomes the input of the next phase.
It is mandatory for a phase to be completed before the next phase starts. In short,
there is no overlapping in Waterfall model.

 In waterfall, development of one phase starts only when the previous phase is
complete. Because of this nature, each phase of waterfall model is quite precise well
defined. Since the phases fall from higher level to lower level, like a waterfall, It’s
named as waterfall model.

Pictorial representation of waterfall model:

Pros and Cons of waterfall model:

Advantages of using Waterfall model :

 Simple and easy to understand and use.


 For smaller projects, waterfall model works well and yield the appropriate results.
 Since the phases are rigid and precise, one phase is done one at a time, it is easy to
maintain.
7

 The entry and exit criteria are well defined, so it easy and systematic to proceed with
quality.
 Results are well documented.

Disadvantages of using Waterfall model:

 Cannot adopt the changes in requirements


 It becomes very difficult to move back to the phase. For example, if the application
has now moved to the testing stage and there is a change in requirement, It becomes
difficult to go back and change it.
 Delivery of the final product is late as there is no prototype which is demonstrated
intermediately.
 For bigger and complex projects, this model is not good as a risk factor is higher.
 Not suitable for the projects where requirements are changed frequently.
 Does not work for long and ongoing projects.
 Since the testing is done at a later stage, it does not allow identifying the challenges
and risks in the earlier phase so the risk mitigation strategy is difficult to prepare.

Conclusion:
In the waterfall model, it is very important to take the sign off of the deliverables of each
phase. As of today most of the projects are moving with Agile and Prototype models,
Waterfall model still holds good for smaller projects. If requirements are straightforward and
testable, Waterfall model will yield the best results.

2.Prototyping :

 The basic idea in Prototype model is that instead of freezing the requirements before
a design or coding can proceed, a throwaway prototype is built to understand the
requirements.
 This prototype is developed based on the currently known requirements. Prototype
model is a software development model. By using this prototype, the client can get
an “actual feel” of the system, since the interactions with prototype can enable the
client to better understand the requirements of the desired system.
 Prototyping is an attractive idea for complicated and large systems for which there is
no manual process or existing system to help determining the requirements.
 The prototype are usually not complete systems and many of the details are not built
in the prototype. The goal is to provide a system with overall functionality.
8

Diagram of Prototype model:

Advantages of Prototype model:

 Users are actively involved in the development


 Since in this methodology a working model of the system is provided, the users get a
better understanding of the system being developed.
 Errors can be detected much earlier.
 Quicker user feedback is available leading to better solutions.
 Missing functionality can be identified easily

Disadvantages of Prototype model:

 Leads to implementing and then repairing way of building systems.


 Practically, this methodology may increase the complexity of the system as scope of
the system may expand beyond original plans.

When to use Prototype model:

 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, are best suited for Prototype model. It might take a while for a system to be
built that allows ease of use and needs minimal training for the end user.
 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. They
are excellent for designing good human computer interface systems.
9

3.Iterative Model :

An iterative life cycle model does not attempt to start with a full specification of
requirements. Instead, development begins by specifying and implementing just part of the
software, which can then be reviewed in order to identify further requirements. This process
is then repeated, producing a new version of the software for each cycle of the model.

For example:

In the diagram above when we work iteratively we create rough product or product piece in
one iteration, then review it and improve it in next iteration and so on until it’s finished. As
shown in the image above, in the first iteration the whole painting is sketched roughly, then in
the second iteration colors are filled and in the third iteration finishing is done. Hence, in
iterative model the whole product is developed step by step.

Diagram of Iterative model:

Advantages of Iterative model:

 In iterative model we can only create a high-level design of the application before we
actually begin to build the product and define the design solution for the entire
product. Later on we can design and built a skeleton version of that, and then evolved
the design based on what had been built.
 In iterative model we are building and improving the product step by step. Hence we
can track the defects at early stages. This avoids the downward flow of the defects.
 In iterative model we can get the reliable user feedback. When presenting sketches
and blueprints of the product to users for their feedback, we are effectively asking
them to imagine how the product will work.
 In iterative model less time is spent on documenting and more time is given for
designing.
10

Disadvantages of Iterative model:

 Each phase of an iteration is rigid with no overlaps


 Costly system architecture or design issues may arise because not all requirements are
gathered up front for the entire lifecycle

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.

4.Relational unified process(RUP) :

RUP Stands for "Rational Unified Process." RUP is a software development process from
Rational, a division of IBM. It divides the development process into four distinct phases that
each involve business modeling, analysis and design, implementation, testing, and
deployment. The four phases are:

1. Inception - The idea for the project is stated. The development team determines if
the project is worth pursuing and what resources will be needed.
2. Elaboration - The project's architecture and required resources are further
evaluated. Developers consider possible applications of the software and costs
associated with the development.
3. Construction - The project is developed and completed. The software is designed,
written, and tested.
4. Transition - The software is released to the public. Final adjustments or updates
are made based on feedback from end users.

The RUP development methodology provides a structured way for companies to envision
create software programs. Since it provides a specific plan for each step of the development
process, it helps prevent resources from being wasted and reduces unexpected development
costs.

You might also like