Presentation on theme: "Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com."— Presentation transcript:
Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com
Review of Last Lecture When Waterfall model is used? Advantages and Disadvantages of Waterfall model? What are the steps in CBSE? Pros and cons of CBSE? How Incremental Model Works? Advantages and disadvantages of Incremental Model?
Objectives Spiral Model RAD Model Prototype Model
Spiral Model Process is represented as a spiral rather than as a sequence of activities Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. Risks are explicitly assessed and resolved throughout the process.
Spiral model sectors Objective setting Specific objectives for the phase are identified. Risk assessment and reduction Risks are assessed and activities put in place to reduce the key risks. Development and validation A development model for the system is chosen which can be any of the generic models. Planning The project is reviewed and the next phase of the spiral is planned.
Advantages of Spiral Model Estimates (budget, schedule) become more realistic It is more able to cope with the (nearly inevitable) changes Software engineers (who can get restless with protracted design processes) can get their hands in
Disadvantages of Spiral Model Limiting re-usability Applied differently for each application Requires considerable expertise in risk evaluation and reduction Risk assessment could cost more than development
When to use Spiral Model When creation of a prototype is appropriate When costs and risk evaluation is important Users are unsure of their needs Significant changes are expected
Difference b/w Waterfall and Spiral Model Risk Factor Requirements are freezed Linear sequential and Loop Spiral Model is costly better communication between developer and customer
RAD Model Requirements planning phase User description phase Construction phase Cutover phase
RAD Model Strengths Time-box approach mitigates cost and schedule risk Reduced cycle time and improved productivity Customer involved throughout Focus moves from documentation to code
RAD Weaknesses Must give quick responses Never achieving closure Hard to use with legacy systems
When to use RAD Model well-known requirements User involved throughout the life cycle Project can be time-boxed Functionality delivered in increments High performance not required
Waterfall Model Vs RAD Model How big is the project? Do you need a prototype? Are you using a packaged solution? How flexible is your team? How much will your customer participate in the process? Is your project manager experienced?
Prototyping Model Developers build a prototype during the requirements phase Prototype is evaluated by end users Users give corrective feedback Developers further refine the prototype When the user is satisfied, the prototype code is brought up to the standards needed for a final product.
Advantages of Prototyping Model Customers can “see” the system requirements Developers learn from customers A more accurate end product Unexpected requirements accommodated Allows for flexible design and development
Drawbacks of Prototyping Model Bad reputation for “quick-and-dirty” methods Maintainability may be overlooked The customer may want the prototype delivered Process may continue forever