100 likes | 416 Views
SOFTWARE LIFECYCLE MODELS. These slides contain a few different software lifecycle models. THE BASIC WATERFALL MODEL. Requirement specification. Analysis & Design. Implementation. Testing. Maintenance. A MODIFIED WATERFALL MODEL. Requirement spec. - V&V.
E N D
SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle models.
THE BASIC WATERFALL MODEL Requirement specification Analysis & Design Implementation Testing Maintenance
A MODIFIED WATERFALL MODEL Requirement spec. - V&V V&V = Verification and Validation Validation: Are we building the right product? Verification: Are we building the product right? Analysis & Design - V&V Implementation - V&V Testing - V&V Maintenance - V&V
PROTOTYPING FOR REQUIREMENT ANALYSIS Requirement spec. - V&V Analysis & Design - V&V Quick Analysis & Design - V&V Implementation - V&V Quick Implementa-tion - V&V Testing - V&V V&V = Verification and Validation Maintenance - V&V
THE SPIRAL (ITERATIVE) MODEL Risk analysis Prototyping Planning A2 B2 B1 A1 B0 A0 D1 C1 C2 D2 D3 C3 Client evaluation and input Model simulation Operational prototype Verification for next level
INCREMENTAL DEVELOPMENT • It is useful to divide the development so that the subsequent releases are based on the previous releases. • It is important to choose the increments in such a way, that the feedback from the previous increments shows if the development is going right. • The previous releases should be independent of the following ones.
EVOLUTIONARY DEVELOPMENT • In evolutionary software development different activities (design, implementation, testing, and even requirements specification) may all progress at the same time. • In this type of a situation controlling the project can be very difficult. • Evolutionary software development may take place because it is not really known what is needed or how it can be achieved. • Evolutionary software development may also be a sign of lack of control over the development process. • May work well with a really small development team (just 1-2 people)
HIGHER-LEVEL VIEW Do a feasibility study to find out whether it is feasible to implement a new system. Build new system: requirement specification, analysis & design, implementation, testing Installation Maintenance and audit
NEW DEVELOPMENTS • Special considerations for distributed software and web-based software • Availability of Commercial Off-The-Shelf (COTS) components. • Many companies now work as integrators – they use COTS and subcontractors and maybe only write a minor part of the software themselves. • “Lightweight” process models to get more flexibility and to acknowledge the fact that it is so hard to get the requirements right.