0
5.8kviews
Explain the difference between prescriptive and evolutionary model.

Subject: Software Engineering

Topic: Process Models

Difficulty: High

1 Answer
0
64views

Evolutionary iterative development implies that the requirements, plan, estimates, and solution evolve or are refined over the course of the iterations, rather than fully defined and “frozen” in a major up-front specification effort before the development iterations begin.

The evolutionary software development model is based on the idea of rapidly developing an software from start with very raw specification and modifying this according to your software needs. It makes the versions on software in which requirements are added with each versions.Each version inherits the best features from earlier versions.Each version is based upon feedback from user to produce a system which satisfies user’s needs.”The evolutionary software process model, is more commonly known as the “spiral model”.Refer question no.10, for spiral model.

Prescriptive Models:As the name suggests, that refers to the process used to create a piece of software over time - in what order and in what way it's specified, designed, built, tested, maintained, so on. "Models" in this context are a particular overall structure for that life cycle, given a descriptive name. E.g. as the name "waterfall" might.– when work flows from communication through deployment in a reasonably linear fashion. The waterfall model is a traditional method, sometimes called the classic life cycle, suggests a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modeling, construction and deployment, culminating in on-going support of the completed software.

This is one of the initial models. As the figure implies stages are cascaded and shall be developed one after the other. In other words one stage should be completed before the other begins. Hence, when all the requirements are elicited by the customer, analyzed for completeness and consistency, documented as per requirements, the development and design activities commence.

This model presents a high level view and suggests to the developer the sequence of events they should expect to encounter. This model is used to prescribe software development activities in variety of contexts. It is the basis for software deliverable. Associated with each activity are milestones and outcomes, for managers to monitor. One of the main needs of this model is the user‘s explicit prescription of complete requirements at the start of development. For developers it is useful to layout what they need to do at the initial stages. Its simplicity makes it easy to explain to customers who may not be aware of software development process. It makes explicit with intermediate products to begin at every stage of development.

One of the biggest limitation is it does not reflect the way code is really developed. Problem is well understood but software is developed with great deal of iteration. Often this is a solution to a problem which was not solved earlier and hence software developers shall have extensive experience to develop such application; as neither the user nor the developers are aware of the key factors.

enter image description here

Please log in to add an answer.