7.1.2003software engineering 2004 jyrki nummenmaa 1 software engineering - software lifecycle models...

9
7.1.2003 Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle models.

Upload: margery-fisher

Post on 03-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

1

SOFTWARE ENGINEERING -SOFTWARE LIFECYCLE MODELS

• These slides contain a few different software lifecycle models.

Page 2: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

2

THE BASIC WATERFALL MODEL

Requirement specification

Maintenance

Testing

Implementation

Analysis & Design

Page 3: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

3

A MODIFIED WATERFALL MODEL

Requirement spec. - V&V

Maintenance

- V&V

Testing - V&V

Implementation

- V&V

Analysis & Design - V&V

V&V = Verification and Validation

Page 4: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

4

PROTOTYPING FOR REQUIREMENT ANALYSIS

Requirement spec. - V&V

Maintenance

- V&V

Testing - V&V

Quick Implementa-tion - V&V

Analysis & Design - V&V

V&V = Verification and Validation

Quick Analysis & Design - V&V

Implementation

- V&V

Page 5: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

5

THE SPIRAL (ITERATIVE) MODEL

A0

A1

D1 C1

B0

B1

A2 B2

D2

D3

C2

C3

PlanningRisk analysisPrototyping

Client evaluationand input

Model simulationOperational prototypeVerification for next level

Page 6: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

6

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.

Page 7: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

7

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.

Page 8: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

8

THE MANAGEMENT VIEW

Maintenance and audit

Installation

Build new system: requirement specification, analysis & design, implementation, testing

Do a feasibility study to find out whether it is feasible to implement a new system.

Page 9: 7.1.2003Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle

7.1.2003 Software Engineering 2004Jyrki Nummenmaa

9

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 aknowledge the fact that it is so hard to get the requirements right.