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. 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. 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.
What is Prototype model- advantages, disadvantages and when to use it?
The basic idea here 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. 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. 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
Confusing or difficult functions can be identified
Requirements validation, Quick implementation of, incomplete, but functional, application.
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. Incomplete application may cause application not to be used as the full system was designed
Incomplete or inadequate problem analysis.
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.
What is RAD model- advantages,...
Please join StudyMode to read the full document