• No results found

15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature

N/A
N/A
Protected

Academic year: 2021

Share "15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

Softwaremanagement, © Prof. Uwe Aßmann, Technische Universität Dresden, Fakultät Informatik

1

courtesy Prof. Wolfgang Hesse, University of Marburg

15. Evolutionary Object-Oriented

Software Development (EOS)

An agile process based on product-breakdown

structure (PBS)

Prof. Dr. rer. nat. Uwe Aßmann

Lehrstuhl Softwaretechnologie

Fakultät Informatik

Technische Universität Dresden

Version 14-1.0, 20.04.12

1 The EOS process model

2 Managing EOS projects

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

2

Obligatory Literature

S. Sarferaz

: "Methods and tool support for evolutionary, object oriented

software development",

Ph. D. thesis, Univ. of Marburg

[Hesse 97a] W. Hesse: From WOON to EOS: New development methods require a new

software process model; Bericht Nr. 12, Fachbereich Mathematik, Univ. Marburg;

and: Proc. WOON ´96, 1st Int. Conf. on OO technology, St. Petersburg 1997

[Hesse 97b] W. Hesse: Improving the software process guided by the EOS model. In:

Proc. SPI '97 European Conference on Software Process Improvement. Barcelona

1997

[Hesse, Weltz 94] W. Hesse, F. Weltz: Projektmanagement für evolutionäre

Software-Entwicklung; Information Management 3/94, pp. 20-33, (1994)

[Sarferaz, Hesse 00] S. Sarferaz, W. Hesse: CEOS – A Cost Estimation Method for

Evolutionary, Object-Oriented Software Development . In.: R. Dumke, A. Abran

(Eds.): New Approaches in Software Measurement. Proc. 10th Int. Workshop, IWSM

2000, Springer LNCS 2006, pp. 29-43

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

3

[Beyer, Hesse 2002] Use of UML for software process modelling. Internal report, Univ.

Marburg 2002

[Bittner, Hesse, Schnath 95] U. Bittner, W. Hesse, J. Schnath: Praxis der

Software-Entwicklung, Methoden, Werkzeuge, Projektmanagement - Eine

Bestandsaufnahme, Oldenbourg 1995

[Frese, Hesse 93] M. Frese, W. Hesse: The work situation in software development -

Results of an empirical study, ACM SIGSOFT Software Engineering Notes, Vol. 18,

No. 3, pp. A-65 - A-72 (1993)

[Floyd, Reisin, Schmidt 89] Ch. Floyd, F.-M. Reisin, G. schmidt: STEPS to software

development with users; in: C. Ghezzi, J. McDermid (eds.): ESEC ‘89, 2nd

European Software Engineering Conference; LNCS 387, pp. 48-64, Springer 1989

[Hesse, Merbeth, Frölich 92] W. Hesse, G. Merbeth, R. Frölich: Softwaretechnik -

Vorgehensmodelle, Projektführung und Produktverwaltung, Handbuch der

Informatik Bd. 5.2, Oldenbourg 1992

[Hesse 96] W. Hesse: Theory and practice of the software process - a field study and

its implications for project management; in: C. Montangero (ed.): Software Process

Tech-nology, 5th Europ. Workshop EWSPT 96; Springer LNCS 1149, pp. 241-256

(1996)

References

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

4

15.1 The EOS Process Model

Heavy-weight process models are often too bureaucratic and not (or hardly)

scalable

The aspect of software evolution is hardly reflected

Planning relies on assumptions and may go wrong

Unforeseen descoveries change the planning

Component-oriented, distributed and web-based SW development requires

flexible and well-adaptable processes

EOS works if the architecture of the system is clear (standard architecture,

well-known domain, low innovation)

But it treats unforeseen dependencies between the components

Different availabilities of resources

Parallel work

(2)

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

5

Ph

1

Ph

2

Ph

3

....

S

X

1

X

2

X

3

C

21

C

22

Building block

Phase or activity

Legend:

Phase-oriented vs. component-oriented

process

Process in phases (Phasenmodell):

EOS is a process structured along

product breakdown strukture (PBS,

Produktstruktur):

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

6

Objects and features of the software

process

The

product breakdown structure (PBS, Produktstruktur)

is a

decomposition of the software product into components

In EOS, i

t is assumed that the PBS is organised in

a hierarchy with t

hree level

system development structure with three forms of components:

S

System

level

X

Subsystem

level

C

Class

level

What are the features of those objects?

Attributes:

Size, Responsible_person, Start_date_of_work,

Delivery_date, ...

Operations:

Development activities: Analysis, Design, Implementation,

Operational_Use

State

: active, interrupted, completed

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

7

Development Cycles

Each development cycle, for every component on every level, has the

same

structure

and consists of

(.A)

Analysis:

Define requirements, build model, consult building

block (BB) library

(.D)

Design:

Specify and construct BB’s

(.I)

Implementation:

Transform designed BB’s to code, test,

integrate

(.O)

Operational use:

installation, acceptance test, usage, revision

Evolutionary development

is supported by:

Integration of

operational use

(incl. “maintenance” and revision) into

development cycles

Further development and re-use of components

Dynamic project planning and control based on cycles and activities

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

8

Use & Operations

Implementation

Analysis

Design

planning,

analytic

activities

Development

environment

synthetic, verifying

activities

Use

environment

Phases of a Simple Object-Oriented

Development Cycle

(3)

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

9

System

Op. Use

System

Implementation

System

Analysis

System

Design

Subsystem

Analysis

Subsystem

Design

Subsystem

Op. Use

Subsystem

Implementation

Class

Analysis

Class

Design

Class

Op. Use

Class

Implementation

SA

SO

SD

SI

XA

XO

XD

XI

CA

CO

CD

CI

Combining development cycles

in a traditional way

Development phases for

the components overlap

System S has n

subsystems X

i

Subsystem Xi has m

classes Cij

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

10

S

X

1

X

3

X

4

X

2

C

21

C

01

C

31

C

02

Typical EOS-like Process Structure

EOS blends the phases

k parallel development

threads, resp. state tokens

Development cycles intertwined

in time

If an obstacle appears, thread

continues elsewhere

E.g., when dependencies to

other components appear

which were not known

beforehand

Parallel wavefront algorithm

over the 3-level tree (bush)

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

11

EOS is Agile with Backlogs

As in SCRUM, there is a backlog of prioritized next activities

At the completion of an activity (small or large),

EOS allows for replanning and reprioritization of the activities to perform (agile

development)

Costs can be estimated anew (agile cost estimation)

k parallel development threads

Very flexible

Customer can be involved, but need not

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

12

from: [Beyer, Hesse 2002])

(4)

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

13

EOS is a Heterogeneous Process

EOS allows for other process models in each of the four big phases

Here: UML activity diagram for system analysis (SA) phase

Softwaremanagement, © Prof. Uwe Aßmann, Technische Universität Dresden, Fakultät Informatik

14

15.2 Managing EOS Projects

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

15

Management structure follows system structure (PBS)

Starting point: the EOS hierarchy levels

S-cycle: Global planning (project-wide)

X-cycles: Detailed steps (e.g. team work packages)

C-Cycles: Activities of single developers

Differenciated units of planning and control (on each level)

1st planning stage: development cycle as a whole

2nd planning stage: phases within cycle

Dynamic, situative planning (agile)

Rather informal planning, "stand by"-management

Situation-driven adjustment of plans (backlogs)

Frequent plan revisions

Principles of Managing EOS Projects

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

16

“Object oriented” resp. “component-oriented” workpackages

Developers are primarily responsible for “objects” and “comnponents” - not for

activities

.

Planning refers to objects rather than to activities:

.

on S- and X-level: by development (&support) teams (with users participating

whereever necessary)

.

on C-level: by single developers or users

Transparent planning, reliable plan control

Continuous information of teams on the project status

Plan revisions at defined points of time (→ revision points)

Dynamic and adaptable cost and effort estimation

based on the EOS process structure, experience data and statistical regression

methods [Sarferaz, Hesse 2000]

EOS is

not

time-boxed, but clearly structured along the PBS

If the PBS is stable, but it remains unclear, how long it takes to realize the

activities, EOS is a very amenable process

(5)

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

17

C

A

H

CD H

C-cycles

C

A

E

CD E

CI E

X

A

J

X

A G

XDG

X

A

D

XD D

XI D

X-cycles

X

A

B

XD B

XI B

XOB

X

A

A

XDA

XI A

XO A

S

A

SD

SI

t

S-cycle

R1

Revision points

A revision point is a special

milestone,

more

differentiated and flexible,

because lying between small or large activities

Revision points allow for replanning and reestimation

P

ro

f.

U

w

e

A

ß

m

a

n

n,

S

of

tw

a

re

m

a

na

g

em

en

t

18

Summary and Outlook

EOS combines the ideas of

evolutionary, agile, component-oriented,

and

object-oriented

software development

The development process is structured along the PBS

by

three

hierarchy levels

(system, component/subsystem, class)

by

four

phases

(analyse, design, implement, operate)

Cycles and phases are linked in a

systematic

and

orthogonal

manner

Wavefront algorithm

Development cycles are planned and executed

on demand

and in

a

dynamic

way

Project managers can plan and survey the project on every level of

detail

by

means of

revision points

Softwaremanagement, © Prof. Uwe Aßmann, Technische Universität Dresden, Fakultät Informatik 1

courtesy Prof. Wolfgang Hesse, University of Marburg

15. Evolutionary Object-Oriented

Software Development (EOS)

An agile process based on product-breakdown

structure (PBS)

Prof. Dr. rer. nat. Uwe Aßmann Lehrstuhl Softwaretechnologie

Fakultät Informatik Technische Universität Dresden

Version 14-1.0, 20.04.12

1 The EOS process model 2 Managing EOS projects

P ro f. U w e A ß m a nn , S o ftw a re m an a ge m e nt 2

Obligatory Literature

►S. Sarferaz: "Methods and tool support for evolutionary, object oriented software development", Ph. D. thesis, Univ. of Marburg

►[Hesse 97a] W. Hesse: From WOON to EOS: New development methods require a new software process model; Bericht Nr. 12, Fachbereich Mathematik, Univ. Marburg; and: Proc. WOON ´96, 1st Int. Conf. on OO technology, St. Petersburg 1997

►[Hesse 97b] W. Hesse: Improving the software process guided by the EOS model. In: Proc. SPI '97 European Conference on Software Process Improvement. Barcelona 1997

►[Hesse, Weltz 94] W. Hesse, F. Weltz: Projektmanagement für evolutionäre Software-Entwicklung; Information Management 3/94, pp. 20-33, (1994)

►[Sarferaz, Hesse 00] S. Sarferaz, W. Hesse: CEOS – A Cost Estimation Method for Evolutionary, Object-Oriented Software Development . In.: R. Dumke, A. Abran (Eds.): New Approaches in Software Measurement. Proc. 10th Int. Workshop, IWSM 2000, Springer LNCS 2006, pp. 29-43

(6)

P ro f. U w e A ß m an n, S of tw ar em an ag e m e nt 3

►[Beyer, Hesse 2002] Use of UML for software process modelling. Internal report, Univ. Marburg 2002

►[Bittner, Hesse, Schnath 95] U. Bittner, W. Hesse, J. Schnath: Praxis der Software-Entwicklung, Methoden, Werkzeuge, Projektmanagement - Eine Bestandsaufnahme, Oldenbourg 1995

►[Frese, Hesse 93] M. Frese, W. Hesse: The work situation in software development - Results of an empirical study, ACM SIGSOFT Software Engineering Notes, Vol. 18, No. 3, pp. A-65 - A-72 (1993)

►[Floyd, Reisin, Schmidt 89] Ch. Floyd, F.-M. Reisin, G. schmidt: STEPS to software development with users; in: C. Ghezzi, J. McDermid (eds.): ESEC ‘89, 2nd European Software Engineering Conference; LNCS 387, pp. 48-64, Springer 1989

►[Hesse, Merbeth, Frölich 92] W. Hesse, G. Merbeth, R. Frölich: Softwaretechnik - Vorgehensmodelle, Projektführung und Produktverwaltung, Handbuch der Informatik Bd. 5.2, Oldenbourg 1992

►[Hesse 96] W. Hesse: Theory and practice of the software process - a field study and its implications for project management; in: C. Montangero (ed.): Software Process Tech-nology, 5th Europ. Workshop EWSPT 96; Springer LNCS 1149, pp. 241-256 (1996)

References

P ro f. U w e A ß m an n, S of tw ar em an ag e m e nt 4

15.1 The EOS Process Model

►Heavy-weight process models are often too bureaucratic and not (or hardly) scalable

■The aspect of software evolution is hardly reflected

■Planning relies on assumptions and may go wrong

■Unforeseen descoveries change the planning

►Component-oriented, distributed and web-based SW development requires flexible and well-adaptable processes

►EOS works if the architecture of the system is clear (standard architecture, well-known domain, low innovation)

■But it treats unforeseen dependencies between the components

■Different availabilities of resources

■Parallel work P ro f. U w e A ß m a nn , S o ftw ar em a na ge m en t 5

Ph

1

Ph

2

Ph

3

....

S

X1

X2

X3

C21

C22

Building block

Phase or activity

Legend:

Phase-oriented vs. component-oriented

process

Process in phases (Phasenmodell):

EOS is a process structured along

product breakdown strukture (PBS,

Produktstruktur):

P ro f. U w e A ß m an n , S of tw ar em an ag em ent 6

Objects and features of the software

process

►The product breakdown structure (PBS, Produktstruktur) is a decomposition of the software product into components

►In EOS, it is assumed that the PBS is organised in a hierarchy with three level system development structure with three forms of components:

– S System level

– X Subsystem level

– C Classlevel

►What are the features of those objects?

– Attributes: Size, Responsible_person, Start_date_of_work, Delivery_date, ...

– Operations:Development activities: Analysis, Design, Implementation, Operational_Use

(7)

P ro f. U w e A ßm an n, S o ftw a re m an ag em e nt 7

Development Cycles

►Each development cycle, for every component on every level, has the same structure and consists of

(.A) Analysis: Define requirements, build model, consult building block (BB) library

(.D) Design: Specify and construct BB’s

(.I) Implementation: Transform designed BB’s to code, test, integrate

(.O) Operational use: installation, acceptance test, usage, revision

Evolutionary development is supported by:

–Integration of operational use (incl. “maintenance” and revision) into development cycles

–Further development and re-use of components

–Dynamic project planning and control based on cycles and activities

P ro f. U w e A ß m a nn , S o ftw arem a na ge m en t 8

Use & Operations

Implementation

Analysis

Design

planning,

analytic

activities

Development

environment

synthetic, verifying

activities

Use

environment

Phases of a Simple Object-Oriented

Development Cycle

P ro f. U w e A ß m an n , S of tw ar em an ag em ent 9 System Op. Use System Implementation System Analysis System Design Subsystem Analysis Subsystem Design Subsystem Op. Use Subsystem Implementation Class Analysis Class Design Class Op. Use Class Implementation SA SO SD SI XA XO XD XI CA CO CD CI

Combining development cycles

in a traditional way

►Development phases for the components overlap

►System S has n subsystems Xi ►Subsystem Xi has m classes Cij P ro f. U w e A ß m a nn , S o ftw arem a na ge m en t 10

S

X

1

X

3

X

4

X

2

C

21

C

01

C

31

C

02

Typical EOS-like Process Structure

EOS blends the phases

k parallel development

threads, resp. state tokens

Development cycles intertwined

in time

If an obstacle appears, thread

continues elsewhere

E.g., when dependencies to

other components appear

which were not known

beforehand

Parallel wavefront algorithm

(8)

P ro f. U w e A ßm ann , S o ftw a re m an ag em en t 11

EOS is Agile with Backlogs

►As in SCRUM, there is a backlog of prioritized next activities

►At the completion of an activity (small or large),

■EOS allows for replanning and reprioritization of the activities to perform (agile development)

■Costs can be estimated anew (agile cost estimation)

►k parallel development threads

►Very flexible

►Customer can be involved, but need not

P ro f. U w e A ßm an n, S o ftw ar em an ag em en t 12

from: [Beyer, Hesse 2002])

Metamodel for EOS process elements

P ro f. U w e A ß m a nn, S o ftw ar em an ag em e nt 13

EOS is a Heterogeneous Process

►EOS allows for other process models in each of the four big phases

►Here: UML activity diagram for system analysis (SA) phase

Softwaremanagement, © Prof. Uwe Aßmann, Technische Universität Dresden, Fakultät Informatik 14 15.2 Managing EOS Projects

(9)

P ro f. U w e A ß m an n, S of tw ar em an ag e m e nt 15

Management structure follows system structure (PBS)

–Starting point: the EOS hierarchy levels –S-cycle: Global planning (project-wide) –X-cycles: Detailed steps (e.g. team work packages) –C-Cycles: Activities of single developers

►Differenciated units of planning and control (on each level) –1st planning stage: development cycle as a whole –2nd planning stage: phases within cycle

►Dynamic, situative planning (agile) –Rather informal planning, "stand by"-management –Situation-driven adjustment of plans (backlogs) –Frequent plan revisions

Principles of Managing EOS Projects

P ro f. U w e A ß m an n, S of tw ar em an ag e m e nt 16

►“Object oriented” resp. “component-oriented” workpackages

■Developers are primarily responsible for “objects” and “comnponents” - not for activities

.Planning refers to objects rather than to activities:

.on S- and X-level: by development (&support) teams (with users participating whereever necessary)

.on C-level: by single developers or users ►Transparent planning, reliable plan control

– Continuous information of teams on the project status – Plan revisions at defined points of time (→ revision points)

►Dynamic and adaptable cost and effort estimation

– based on the EOS process structure, experience data and statistical regression methods [Sarferaz, Hesse 2000]

●EOS is not time-boxed, but clearly structured along the PBS – If the PBS is stable, but it remains unclear, how long it takes to realize the

activities, EOS is a very amenable process

Management principles (cont'd)

P ro f. U w e A ß m a nn, S o ftw ar em an ag em e nt 17 C AH CD H C-cycles C AE CD E CI E X AJ X A G XDG X AD XD D XI D X-cycles X AB XD B XI B XOB X AA XDA XI A XO A S A SD SI t S-cycle R1

Revision points

►A revision point is a special milestone, more differentiated and flexible, because lying between small or large activities

►Revision points allow for replanning and reestimation

P ro f. U w e A ß m an n , S of tw ar em an ag em ent 18

Summary and Outlook

►EOS combines the ideas of evolutionary, agile, component-oriented, and

object-oriented software development

►The development process is structured along the PBS – by threehierarchy levels (system, component/subsystem, class) – by fourphases(analyse, design, implement, operate)

►Cycles and phases are linked in a systematic and orthogonal manner

►Wavefront algorithm

►Development cycles are planned and executed on demand and in a dynamic way

►Project managers can plan and survey the project on every level of detail by means of revision points

References

Related documents

The success of the campaign was measured by comparing engagement metrics such as average time per interaction of 42 seconds for the Dockers campaign compared with an average of

As a consequence, driven out from the two propositions stated above, we argue that the market value of the company and the voting pattern observed in its corporate meetings can

The overall quality of evidence on high-intensity focused ultrasound (HIFU) as primary treatment for clinically localised low-risk and intermediate-risk prostate cancer as well as

(1) Clinical Center for Tumor Therapy, 2nd Hospital of Chongqing University of Medical Sciences, Chongqing, Sichuan, CHINA,(2) State Key Laboratory, Department

Child Care Resources Homeless Child Care Program Children's Home Society Auburn Family Resource Center Children's Home Society of WA Parent-Child Home Program Children's Home

A Day in Ceylon is an 8mm colour amateur film shot during the World War II by Sergeant Roy Lister of the Army Kinema Unit, a team that was responsible for screening entertainment

States, the basic financial statements of the Board of Trustees of the Classical Academy Charter School of Clifton (the “Charter School”) in the County of Passaic, State of New

• multiply and divide integers using one of two methods: the table method or the like/unlike method.. Integers – Multiplying and