Elizabeth M. Crispino
01 December 2010
Explain why programs which are developed using Evolutionary Development are likely difficult to maintain.
Evolutionary development is an iterative and incremental approach to software development. Instead of creating a comprehensive artifact, such as a requirements specification, that you review and accept before creating a comprehensive design model (and so on) you instead evolve the critical development artifacts over time in an iterative manner. Instead of building and then delivering your system in a single “big bang” release you instead deliver it incrementally over time.
Programs that are that are developed in Evolutionary Development are likely to be difficult to maintain because the specifications of evolutionary development projects are often abstract, and as the project continues, the development and validation portions of software engineering overlap one another. This usually results in the systems being poorly constructed due to a good initial specification, and on a large projects make it more difficult to integrate new systems into the evolutionary design. Lastly the documentation for such projects is often lacking, as the designs are constantly rebuilt to the customer’s specifications.
Explain how both the waterfall model of the software process and the prototyping model can be accumulated in the spiral model.
Waterfall Model- Abstracts the essential activities of software development and lists them in their most primitive sequence of dependency. Real development projects (software and other) rarely follow such a model literally, mainly because the model can and is applied to itself recursively, yielding an almost fractal fabric of actual activity.
Prototyping Model- Is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements.
Spiral Model - Is a software development