We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14
CS301 Software Engineering
Evolutionary Model
Sunil Kumar P V CSE Evolutionary Model with Iterations
Recognizes the reality of changing requirements
▶ Capers Jones’s research on 8000 projects: 40% of final requirements arrived after development had already begun Promotes early risk mitigation: ▶ Breaks down the system into mini-projects and focuses on the riskier issues first. ▶ “plan a little, design a little, and code a little” Encourages all development participants to be involved earlier on,: End users, Testers, integrators, and technical writers Evolutionary Model with Iterations
“A complex system will be most successful if imple-
mented in small steps... “retreat” to a previous suc- cessful step on failure... opportunity to receive some feedback from the real world before throwing in all resources... and you can correct possible errors...”– Tom Glib in Software Metrics Evolutionary Model with Iterations
“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. Evolutionary methods are consistent with the pattern of unpredictable discovery and change in new product development.”– Craig Larman Evolutionary Model
First develop the core modules of the software.
The initial skeletal software is refined into increasing levels of capability: (Iterations) by adding new functionalities in successive versions. Activities in an Iteration
Software developed over several “mini waterfalls”.
The result of a single iteration: ▶ Ends with delivery of some tangible code ▶ An incremental improvement to the software — leads to evolutionary development Evolutionary Model: Features Outcome of each iteration: tested, integrated, executable system Iteration length is short and fixed ▶ Usually between 2 and 6 weeks ▶ Development takes many iterations (for example: 10-15) Will not be: “freeze” requirements and then conservatively design Implies, an opportunity always exists to modify requirements as well as the design In Successive versions: Functioning systems capable of performing some useful work is built A new release may include new functionality: Also existing functionality in the current release might have been enhanced. Evolutionary Model: Schematic Evolves an initial implementation with user feedback: Multiple versions until the final version Evolutionary Model: Pros
Users get a chance to experiment with a partially
developed system: (Much before the full working version is released) Helps finding exact user requirements: (Software more likely to meet exact user requirements) Core modules get tested thoroughly: (Reduces chances of errors in final delivered software) Evolutionary Model: Pros Better management of complexity by developing one increment at a time. Better management of changing requirements. Can get customer feedback and incorporate them much more efficiently as compared when customer feedbacks come only after the development work is complete Training can start on an earlier release after customer feedback is taken into account Frequent releases allow developers to fix unanticipated problems quicker. Evolutionary Model: Cons
The process is intangible: –No regular, well-defined
deliverables. The process is unpredictable: –Hard to manage, e.g., scheduling, workforce allocation, etc. Systems are rather poorly structured: –Continual, unpredictable changes tend to degrade the software structure. Systems may not even converge to a final version. Hybrid Models
Combining pros of many models
RAD (Rapid Application Development) Unified Process Self study.. References
1 Fundamentals of SW Engg by Prof. Rajib Mall
(Text book) 2 NPTEL video lectures by Prof. Rajib Mall Thank you..
Jason McFeetors, Tanay Pant - Rapid Product Development With n8n - Practical Guide To Creating Digital Products On The Web Using Workflow Automation and n8n (2022, - Packt Publishing) - Libgen - Li