• No results found

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

N/A
N/A
Protected

Academic year: 2021

Share "Why process models? Topic 3 Software process models. 3. Process models. What is a process model?"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac

DAAD Project

“Joint Course on Software Engineering”

Version: Oct. 29, 2005 (D Nov. 06, 2003)

Topic 3

Software process models

2 DAAD project „Joint Course on Software Engineering“ ©

3. Process models

a) Why process models?

b) Overview of existing models

c) Classical and iterative phase model

(waterfall model)

d) Alternative phases in phase models

e) Prototyping

f) Spiral model

3 DAAD project „Joint Course on Software Engineering“ ©

Process models: used terminology

(Note: terms are similar, but with differences;

e.g. life cycle model: development and maintenance,

software development model: without maintenance)

Software process models

Phase models

Life cycle models

Software development models

Project models

4 DAAD project „Joint Course on Software Engineering“ ©

Why process models ?

„SE is the application of a

systematic, disciplined,

quantifiable approach to the development,

operation, and maintenance of software

...“

(IEEE Standard Glossary of Software Engineering Terminology, 1990).

Definition of the term SE

requires studying models for

systematic software

development (main objective

of SE)!

5 DAAD project „Joint Course on Software Engineering“ ©

Relevance of process models

Process models are relevant for

Project organization:

• Otherwise: sporadic,

uncoordinated project

management

• Experience:

high-quality SW is

impossible without a

systematic approach

to SW development

Project analysis:

What are the weak

points in the

development process?

Time and cost planning

Qualitative assessment of SW

companies

Certification for ISO 9000

6 DAAD project „Joint Course on Software Engineering“ ©

What is a process model ?

Process model

• In general

: Development plan, which specifies the

general process of developing a software product.

• More precisely:

Definition that states, which activities

are to be performed, by which person, acting in which

role; in which order the activities will be performed, and

which products will be developed and how to evaluate

them.

Role

• coworker, who accomplish a certain activity

e.g. test engineer, project leader, design specialist,

programmer, software ergonomist

What is

SW-specific?

(2)

7 DAAD project „Joint Course on Software Engineering“ ©

Performing an activity: basic scheme

(activity = subprocess of a process model)

Source: Balzert, vol. 1, p. 60

Given

artifacts

Role X

Coworker Y

Tools

Changed or

new artifact

Legend:

Activity

Role

Coworker

Model

(Artifact)

Document

(Artifact)

Methods

•Guidelines

•Conventions

•Check lists

•Samples

8 DAAD project „Joint Course on Software Engineering“ ©

Software artifacts

Software artifact

• Product of art created by humans

• Can be a document, a model or a program

• Examples :

- Document, e.g. requirements specification

- Model, e.g. OOA model

- Program, e.g. C++-Program.

Software product

• Set of software artifacts

9 DAAD project „Joint Course on Software Engineering“ ©

3. Process models

a) Why process models?

b) Overview of existing models

c) Classical and iterative phase model

(waterfall model)

d) Alternative phases in phase models

e) Prototyping

f) Spiral model

10 DAAD project „Joint Course on Software Engineering“ ©

Most familiar process models: Overview

Process models

• Classical phase model

(waterfall model)

• Iterative phase model

(life cycle)

• Spiral model

• Prototyping

(evolutionary SE)

• V-model

11 DAAD project „Joint Course on Software Engineering“ ©

Notes

Models are always idealized, they give only a

framework and must allow flexible working

must not hinder work

Different classes of SW development problems

different suitable models

e.g. AI program: gradual evolution

Prototyping model is often used

12 DAAD project „Joint Course on Software Engineering“ ©

3. Process models

a) Why process models?

b) Overview of existing models

c) Classical and iterative phase model

(waterfall model)

d) Alternative phases in phase models

e) Prototyping

(3)

13 DAAD project „Joint Course on Software Engineering“ ©

Software development process until 1970:

considered as a black box

Software development

process

Program

code

What happens

inside?

Only until 1970?

Customer

informal

requirements

14 DAAD project „Joint Course on Software Engineering“ ©

Analysis

and

Definition

Analysis

and

Definition

The classical waterfall model (1970)

Design

Design

Implementation

Implementation

Test

Test

Usage and

Maintenance

Usage and

Maintenance

15 DAAD project „Joint Course on Software Engineering“ ©

Phases of SW development:

subject and products (overview)

 Analysis and Definition

Analysis of the problem + Definition of the requirements to the SW,

focus: external behavior of the SW system

intensive cooperation: client ↔ contractor

requirement specifications, product model and others

 Design

Specification of the structure of the SW (software architecture),

specification of components and their relations

software architecture, detailed design, and others

 Implementation

Software architecture is „filled out“: programming of the components

program (code)

 Test

Testing of the components, testing of their integration

test cases, test protocols and others

16 DAAD project „Joint Course on Software Engineering“ ©

Analysis

and

Definition

Analysis

and

Definition

The classical waterfall model (1970)

Design

Design

Implementation

Implementation

Test

Test

Usage and

Maintenance

Usage and

Maintenance

Problems ?

17 DAAD project „Joint Course on Software Engineering“ ©

Documents of SW development

Required features (empty circles) got lost,

unnecessary (filled circles) are added

Source: Schneider, SEUH 43, p. 123

Customer

Analyst

Designer

Programmer

Customer's

requests

Specification

Design

Code

18 DAAD project „Joint Course on Software Engineering“ ©

Information flow in SW projects

How the customer explained it

How the Project Leader understood it

How theTester left it How the Programmer

wrote it

How the Business Consultant described it

How the project was documented

How the Software architect designed it

How the customer

was billed How it was supported What the customerreally needed Sour

c e : u n k now n

(4)

19 DAAD project „Joint Course on Software Engineering“ ©

Analysis

and

Definition

Analysis

and

Definition

Iterative phase model

Design

Design

Implementation

Implementation

Test

Test

Usage and

Maintenance

Usage and

Maintenance

Problems ?

20 DAAD project „Joint Course on Software Engineering“ ©

Cost allocation in the software life cycle

Maintenance

67%

Requirement

analysis

3%

Specification

3%

Design

5%

Coding

7%

Unit

Testing

8%

Integration

Testing

7%

Source: R. Klösch, H.Gall: Objektorientiertes Reverse Engineering. Springer, 1995

21 DAAD project „Joint Course on Software Engineering“ ©

Error statistics: occurrence and correction

Source: Software Metrics Symposium 1996, p. 176

requirements

design

implementation

20 %

38 %

42 %

1 %

2 %

20 %

30 %

40 %

7 %

requirements

review

design

review

code

review

+

unit

test

subsystem

test

system and

acceptance

test

field

faults

faults detected

faults introduced to

the software

22 DAAD project „Joint Course on Software Engineering“ ©

3. Process models

a) Why process models?

b) Overview of existing models

c) Classical and iterative phase model

(waterfall model)

d) Alternative phases in phase models

e) Prototyping

f) Spiral model

23 DAAD project „Joint Course on Software Engineering“ ©

Phases according to Jacobson

Jacobson: Object-oriented Software Engineering p. 32

Characteristics ?

Requirements

analysis

Preliminary

design

Detailed

design

Coding

Unit testing

Integration

System test

24 DAAD project „Joint Course on Software Engineering“ ©

Phases according to Denert

Denert: Software Engineering, Springer Verlag, 1992, p. 39

System Specification

User Interface

Data model

Functional

Model

System Construction

Modularity

Process

organization

Database

design

Module Implementation

Module

specification

Module

testing

Module

construction

System Integration

Subsystem

definition

System

testing

Subsystem

testing

Characteristics ?

(5)

25 DAAD project „Joint Course on Software Engineering“ ©

Requirements

Definition

Design

Detailed

Concept

Software

Design

organization hierarchy organization hierarchy rough data model task processes task hierarchy userinterface design function processes function hierarchy data model

Problem

Analysis

Requirements

Definition

Design

Implementation, Integration & Test

Rough

Concept

Detailed

Concept

Software

Design

Software

System

Client/Server OS/2, Motif MS-Windows UNIX/RDBs SNI BS2000 COBOL, UTM SESAM, UDS IBM MVS COBOL, CICS DB2 IMS DB/DC database model interface specification Component SKONTO is connected with the aaaaaaaaaSKONTO is aaaaaaaaaaaaBATT aaaaaaaaaaaaLOOKUP integration model DB definitions, SQL ... GUI objects program logic IF kunde = 99999 CASE PlaubaTT = 1 IF kunde = nnnnnnn PlaubaTT, I system model

Phases in CASE-Tool MAESTRO II

SEtec Process Model

SEtec Result Model

Source: SoftLab, Munich, MAESTRO II (most well-known German CASE-Tool)

Characteristics ?

26 DAAD project „Joint Course on Software Engineering“ ©

Unified Software Development Process (USDP)

 Process of object-oriented software development due to

Jacobson, Booch, Rumbaugh (1999)

Requirements

Analysis

Design

Implementation

Test

Part of the phase ‚Analysis and Definition‘,

in which the basic use cases of the

systems will be detected:

use case diagrams

Part of the phase ‚Analysis and Definition‘,

in which the basic classes of the problem

will be detected:

class diagrams

27 DAAD project „Joint Course on Software Engineering“ ©

Phases

according

to Balzert

Balzert: Textbook of Software Technology vol. 1, 2001 Introduction and Overview

1 Fundamentals 2 Object-oriented Enterprise Modelling V Enterprise Modelling I SW-Management 1 Bases 2 Planing 3 Organization 4 Personal 5 Leadership 6 Control

III SW-Quality Assurance

1 Bases 2 Quality Assurance 3 Manual Proof Methods 4 Process Quality 5 Product Quality – Components 6 Product Quality – System 1 Planning phase 2 Definition phase 3 Design phase 4 Implementation phase

5 Acceptance and Introduction

6 Maintenance phase I SW-Development 4 Reorganization 3 Re-use 2 CASE 1 Principles and Methods

IV Cross-sections and Views

28 DAAD project „Joint Course on Software Engineering“ ©

1 Planning phase

2 Definition phase

3 Design phase

4 Implementation phase

5 Acceptance and Introduction

6 Maintenance phase

I SW-Development

Characteristics ?

Phases

according to

Balzert

(detail)

29 DAAD project „Joint Course on Software Engineering“ ©

Phase model in the Space shuttle Program

(NASA)

Facts:

• 22 releases (versions, OI = Operational Increment) 1981-2001

• development until 2020

• each year: a new release

• for each release: 2 years development time

several releases at the same time in process

strong effects to project management

Source: M. Zelkovitz, I. Rus: ICSM 2001, p. 119

1990 Validation Mission Preparation Operational lifetime 1992 1994 1996 1998 2000 Q O M K I OI R e lease Development

Lifecycle for each OI (Operational Increment)

30 DAAD project „Joint Course on Software Engineering“ ©

Project

Design

Construction

Production planning

Preparation of work

Production

Test

Contract

Begin of production

Delivery

1 Year

Source: R.Bronsart, SEUH 1996

Special phase model

What is remarkable ?

(6)

31 DAAD project „Joint Course on Software Engineering“ ©

Phase

model of

Samsonite

32 DAAD project „Joint Course on Software Engineering“ ©

Test of suitcases

33 DAAD project „Joint Course on Software Engineering“ ©

3. Process models

a) Why process models?

b) Overview of existing models

c) Classical and iterative phase model

(waterfall model)

d) Alternative phases in phase models

e) Prototyping

f) Spiral model

34 DAAD project „Joint Course on Software Engineering“ ©

Prototyping

 Operational area:

Requirements imprecise at the beginning and/or

constantly changed

 Prototype:

runable software system,

• Substantial parts of the final product already finished

(e.g. user interface, basic behavior),

• Other parts still to be done (e.g. ineffective, special cases)

 Application cases:

• Prototype (may be thrown away)

(addition of the requirement analysis :

rapid prototyping

)

• Advancement to the final product

(

evolutionary software development

)

35 DAAD project „Joint Course on Software Engineering“ ©

Phases of iterative prototyping

Boyle: Design of Multimedia Learnnig, Prentice Hall Europe (1997), p. 186

Design a solution

Establish the

Problem Spaces

Implement

Solution

Summative

Evaluation & Delivery

Evaluate

Characteristics ?

36 DAAD project „Joint Course on Software Engineering“ ©

Requirements

Analysis

Design

Implementation

Evaluation

Evaluation

Evaluation

Dynamic Systems Development Method (DSDM)

 Standard non-proprietary RAD method based upon

user-driven iterative prototyping (1995)

Feasibility and business study

Placing the system in user environment

Functional prototype iterations

Design prototype iterations

(7)

37 DAAD project „Joint Course on Software Engineering“ ©

3. Process models

a) Why process models?

b) Overview of existing models

c) Classical and iterative phase model

(waterfall model)

d) Alternative phases in phase models

e) Prototyping

f) Spiral model

38 DAAD project „Joint Course on Software Engineering“ ©

Introduction to spiral model

Problem analysis:

• goals

• alternatives

Risk analysis:

• evaluation of

alternatives

Realization:

• construction of the product

• test

Planning:

• next project steps

Review

Characteristics

of the phases?

39 DAAD project „Joint Course on Software Engineering“ ©

Spiral model due to Boehm (1988)

determination of goals,

alternatives and additional

requirements of a new

spiral cycle

evaluation of alternatives;

identification and reduction of

risks

planning of next steps, i.e.

of the next spiral cycle

construction and test of the current

product

end of cycle:

Review

project progress

in the spiral cycle

Risk analysis:

Problem analysis:

Realization:

Planning:

40 DAAD project „Joint Course on Software Engineering“ ©

The essence of the spiral model

 abstract model:

meta model

abstraction from other models of SW development

(one turn = • one phase or

• development of next prototype or ...)

 orients

to similar activities

of each step

(problem analysis, risk analysis, realization, planning, review)

risk analysis: comparison of possible alternatives

(examples: selection of a programming language, of the A-&D-method,

of the staff, usage of tools)

 flexible:

first turn produce prototypes, next turns correspond to the phases

A&D, design, ...

41 DAAD project „Joint Course on Software Engineering“ ©

The phase model as a special case of the spiral model

Pagel, Six p.72 Risk analysis Operation and maintenance

R e v i e w

sales forecast Project plan Planning of analysis phase GUI-prototype Simulation Analysis Validation of product definition Software design Coding and unit test Integration and system test Installation Acceptance test Design-planning Planning of imple-mentation, integration and Test Problem analysis Realization Planning

one turn = one phase

42 DAAD project „Joint Course on Software Engineering“ ©

Evolutionary software development as a special case of the spiral model

Pagel, Six p.73

Risk analysis

sales forecast GUI-prototype Acceptance test

R e v i e w

Project plan Validation of the prototype revised project plan Installation Validation of the prototype Prototype 1 Prototype n Usable product Planning of the second prototype Planning of the first prototype Operation and maintenance Problem analysis Realization Planning

References

Related documents

1 Only minimal corporate governance requirements are in place, such as holding annual meetings, annual publication of financial reports, ability of minority shareholders to call

to: (1) use both selection and adaptation perspectives to explore the three key principles of self-renewing organizations (Volberda and Lewin, 2003) as a prerequisite to

Figure 2: Graph showing the stream density of tweets (number of tweets published per five minute period) returned following an unfiltered call to the API between 10

نمزلما يوئرلا دادسنلإا ضربم ينباصلما روكذلا Objectives: To compare walking-based activity and sedentary behavior between males with chronic

BLIT Bandlimited Impulse Train CPU Central Processing Unit DPW Differentiated Parabole Wave DSP Digital Signal Processor FIR Finite Impulse Response FM Frequency Modulation IIR

Process Models: Prescriptive models, Waterfall Model, Incremental Process Models, Evolutionary Process Models, Specialized Process Models, The Unified Process,

Bu suçlamanın yerinde olduğundan kuşkuluyum Ne var ki "pan-determinizm" (topyekün belırlemecilık) denen şey bana daha hatalı ve tehlikeli gibi gözüküyor.

What the customer experiences through touchpoint interaction will define what customers think and feel about the organization and how they understand and envision the brand