This action might not be possible to undo. Are you sure you want to continue?
Build-and-fix model Waterfall model Rapid prototyping model Spiral model Build-and-fix model
Most software is developed using build-and-fix model. Basically there is no model. Disadvantages: No specifications No design Lack of visibility Easily leads to poorly structured systems Totally unsatisfactory Need life-cycle model Waterfall Model
The waterfall model is the classic lifecycle model it is widely known, understood and commonly used
Advantages: Each phase is well documented. Maintenance is easier. Easy to understand and implement. Widely used and known Disadvantages: If there is a mismatch between what the client wanted and was is built this will not be known till the product is delivered. Difficult and expensive to make changes to documents, Rapid Prototyping Model
Rapid prototyping emphasizes requirements analysis and validation, also called: • customer oriented development, • evolutionary prototyping Advantages: Any mismatches between requirement and the product can be found early. Reduces risk of incorrect user requirements Good where requirements are changing/uncommitted Regular visible progress aids management Supports early product marketing Disadvantages: Sometimes the prototype ends up being the final product which results in quality, maintenance problems. An unstable/badly implemented prototype often becomes the final product. Requires extensive customer collaboration – Costs customers money – Needs committed customers – Difficult to finish if customer withdraws
– May be too customer specific, no broad market Difficult to know how long project will last Spiral Model
Determine objectives, alternatives & constraints
Evaluate alternatives, Identify & resolve risks
Review & commitmen t
Prototypes Start P1 P2 Requirement Concept s Of Operation plan Developmen t plan Integration & Test plan Requirements validation En d
Operational Prototype P3 Design, Validation Detailed design & Verification Coding Unit & Integration Testing Develop & verify next-level product
Plan next phase
Since end-user requirements are hard to obtain/define, it is natural to develop software in an experimental way: e.g.
1. Build some software 2. See if it meets customer requirements 3. If no goto 1 else stop. Advantages Realism: the model accurately reflects the iterative nature of software development on projects with unclear requirements Flexible: incoporates the advantages of the waterfal and rapid prototyping methods Comprehensive model decreases risk Good project visibility. Disadvantages Needs technical expertise in risk analysis to really work Model is poorly understood by non-technical management, hence not so widely used Complicated model, needs competent professional management. High administrative overhead.
Incremental model Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality
Advantages: Lower risk of overall project failure Customer value can be delivered with each increment so system functionality is available earlier The highest priority system services tend to receive the most testing Disadvantages: Build-and-fix danger Contradiction in terms