SOFTWARE ENGINEERING SOFTWARE LIFECYCLE MODELS These slides contain
- Slides: 9
SOFTWARE ENGINEERING SOFTWARE LIFECYCLE MODELS • These slides contain a few different software lifecycle models. 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 1
THE BASIC WATERFALL MODEL Requirement specification Analysis & Design Implementation Testing Maintenance 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 2
A MODIFIED WATERFALL MODEL Requirement spec. - V&V Analysis & Design - V&V Implementation - V&V Testing - V&V = Verification and Validation Maintenance - V&V 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 3
PROTOTYPING FOR REQUIREMENT ANALYSIS Requirement spec. - V&V Quick Analysis & Design - V&V Implementation Quick Implementation - V&V Testing - V&V = Verification and Validation Maintenance - V&V 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 4
THE SPIRAL (ITERATIVE) MODEL Risk analysis Prototyping Planning A 2 B 1 A 0 D 1 C 2 D 3 Client evaluation and input 8. 1. 2003 B 0 Model simulation Operational prototype Verification for next level Software Engineering 2003 Jyrki Nummenmaa 5
INCREMENTAL SOFTWARE DEVELOPMENT • It is useful to divide the development so that the subsequent releases are based on the previous releases. • Here 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. • Also, the previous releases should be independent of the following ones. 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 6
EVOLUTIONARY SOFTWARE 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. 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 7
THE MANAGEMENT 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 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 8
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. 8. 1. 2003 Software Engineering 2003 Jyrki Nummenmaa 9
- Fountain model in software engineering
- Sommerville software engineering slides
- Slidetodoc
- Software engineering slides
- A small child slides down the four frictionless slides
- A crane lowers a girder into place at constant speed
- Incremental deployment
- Generalization in software engineering
- Mhc-pms use case diagram
- System engineering life cycle