Lec1March.prototype.iterative.model
Lec1March.prototype.iterative.model
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.
The entry and exit criteria are well defined, so it easy and systematic to proceed with
quality.
Results are well documented.
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
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.
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
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.