University of Tampere CS Department Jyrki Nummenmaa SOFTWARE









- Slides: 9
University of Tampere, CS Department Jyrki Nummenmaa SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle models. Software Engineering – http: //www. cs. uta. fi/se
THE BASIC WATERFALL MODEL University of Tampere, CS Department Jyrki Nummenmaa Requirement specification Analysis & Design Implementation Testing Maintenance Software Engineering – http: //www. cs. uta. fi/se
A MODIFIED WATERFALL MODEL University of Tampere, CS Department Jyrki Nummenmaa Requirement spec. - V&V = Verification and Validation: Are we building the right product? Analysis & Verification: Are we building Design - V&V the product right? Implementation - V&V Testing V&V Maintenance - V&V Software Engineering – http: //www. cs. uta. fi/se
PROTOTYPING FOR REQUIREMENT ANALYSIS University of Tampere, CS Department Jyrki Nummenmaa Requirement spec. - V&V Quick Analysis & Design - V&V Quick Implementa-tion - V&V Analysis & Design - V&V Implementation - V&V Testing V&V = Verification and Validation Software Engineering – http: //www. cs. uta. fi/se Maintenance - V&V
THE SPIRAL (ITERATIVE) MODEL University of Tampere, CS Department Jyrki Nummenmaa Risk analysis Prototyping Planning A 2 B 1 A 0 D 1 D 2 D 3 Client evaluation and input B 0 C 1 C 2 C 3 Model simulation Operational prototype Verification for next level Software Engineering – http: //www. cs. uta. fi/se
INCREMENTAL DEVELOPMENT University of Tampere, CS Department Jyrki Nummenmaa • 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. Software Engineering – http: //www. cs. uta. fi/se
EVOLUTIONARY DEVELOPMENT University of Tampere, CS Department Jyrki Nummenmaa • 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) Software Engineering – http: //www. cs. uta. fi/se
HIGHER-LEVEL VIEW University of Tampere, CS Department Jyrki Nummenmaa 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 Software Engineering – http: //www. cs. uta. fi/se
NEW DEVELOPMENTS University of Tampere, CS Department Jyrki Nummenmaa • 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. Software Engineering – http: //www. cs. uta. fi/se









