SOFTWARE ENGINEERING SOFTWARE LIFECYCLE MODELS These slides contain

  • Slides: 9
Download presentation
SOFTWARE ENGINEERING SOFTWARE LIFECYCLE MODELS • These slides contain a few different software lifecycle

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.

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

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

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

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

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

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

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

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