agile ddd genuin objects

20
Copyright © 2006 TietoEnator Corporation Agile Domain Driven Development Genuin Objects x. x. 2009 Genuin Object principles

Upload: jukka-tamminen

Post on 08-Jul-2015

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Agile Domain Driven DevelopmentGenuin Objects x. x. 2009

Genuin Object principles

Page 2: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 22008-01-11

Agenda

Agile process and its variations

Object-Oriented paradigm its meaning is complexity management

3-layer architecture and code generation

Abstract Domain Driven Development

Page 3: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Agile development

Counterstrick to waterfall design

Page 4: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

OO paradigm

Complete world view

Page 5: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 52008-01-11

Logical 2-tier achtitecture

applicationGUI

RelaatioTK

liiketoimintasovellustoiminta

Same functionality

Is implemented almost the same way

many times

(aprox. repetition~ 10 )

Explotion

of complexity

Complicates the implementation

over welmingly

Page 6: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Persistent

ObjectsApplication

ObjectsGUI Business

Objects

Logical 3-tier structure of application

Page 7: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 72008-01-11

Restaurant class diagram

Page 8: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 82008-01-11

Restaurant collaboration diagram

Page 9: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 92008-01-11

Why collaboration is simpler

Functional decomposition Object collaboration

ATrick A1

Trick A2D

Trick D1

Trick D2

BTrick B1

Trick B2C

Trick C1

Trick C2A DB C

Flat layer connection complexity Two layer encapsulated and

collaborative complexity

Page 10: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 102008-01-11

Combining ER- and process models

ER - model

Process model

Two separate model higly

difficult to combine

OO-model

Page 11: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Abstract model and 3-tiear solutuions

More controle of complexity

Page 12: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 132008-01-11

Abrstract model – intersection of business dimensions

Page 13: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Abstract Domain Driven Development

Page 14: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 162008-01-11

Agile model driven

developmet

Abstract domain modelingDomain

implemenstationApplication additions

Comparison between agile and waterfall project principal

Waterfall

definitiondesign

implementation

Explotion of complexity

Tradition agile

definition design implementation

Page 15: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

semantic contentabstraction level

high

low

small

big

amount of semantics

The paradox of abstraction

Page 16: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Agility with model

Development process

Abstract core model 5 -15 dyas Design Implementations

reality

Page 17: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u l le ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u l le ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u l le ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u l le ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u l le ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u l le ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u l le ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u l le ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u l le ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

Application

Objects

GUI Persistent

ObjectsBusiness

Objects

Tarjouksen, tilausvahvistuksen tai

sopimuksen lähettäminen

Toimitusohjeen lähettäminen

Myyntitapahtuman kirjaus

Myyjä

Asiakkuuden analyysi

Business processes

Use cases

Workflows

Abstract domain model

Implementation

Implementation 2

1

3

4

Development process

Page 18: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Persistent

ObjectsApplication

Objects

GUI Business

Objects

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u l le ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u l le ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u l le ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u l le ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u l le ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u l le ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

80 %

Development process

Page 19: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Application

ObjectsScreens

Business

Objects

Business logic

Application logic

Persistence

Asymmetrically tightly coupled

Structure of 3-tier architecture

Page 20: Agile DDD Genuin Objects

Copyright © 2006 TietoEnator Corporation

Jukka Tamminen

Page 222008-01-11

Into the hard core of things

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

Ju o m aR u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

Toiminnallinen decomposition Olioden yhteistoiminta

ATemppu1

Temppu2D

Temppu1

Temppu2

BTemppu1

Temppu2C

Temppu1

Temppu2A DB C

Homma

AlkuKeski Loppu

AlkuAlku AlkuLoppu Keski LoppuAlkuLoppuLoppu

Toiminnallinen decomposition Olioden yhteistoiminta

ATemppu1

Temppu2D

Temppu1

Temppu2

BTemppu1

Temppu2C

Temppu1

Temppu2A DB C

Homma

AlkuKeski Loppu

AlkuAlku AlkuLoppu Keski LoppuAlkuLoppuLoppu

Homma

AlkuKeski Loppu

AlkuAlku AlkuLoppu Keski LoppuAlkuLoppuLoppu

Ju o m a R u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

Ju o m a R u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

Ju o m a R u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

80 %10%

100

%

SovellusOliotnäytöt PysyvyysLiiketoiminnan

Oliot

Ju o m a R u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

Ju o m a R u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

Ju o m a R u o k a

Ty ö n te k i jä

s o tu

n im i

o s o it e

p a lk k a

P ö y tä

n im i

s ij a in ti

va ra a P a ik a t ()

K o k k i

t ait o L u o k itu s

va lm is ta ( )

M e n u

n im i

P a ik k a

n im i

s i ja in ta

0 . . *

1

0 . . *

1

Ta rjo i l i ja

t arjo i le ()

A n n o s

tu n n u s

va lm is

va lm is ta ()

a n n o s O K ()

0 .. *

1

0 .. *

1

Tu o te

n im i

t y p p i

h in ta

t i la

te e A n n o s ()

0 . . *

1

0 . . *

1

Is tu u

a lk u A ik a

lo p p u A ik a

t i la

k e s to ()

0 . . *

1

0 . . *

1

Tila u s

a ik a

t i la

l is ä ä L a s k u lle ()

a n n o s O K ()

va lm is ta ()

0 . . *

1

0 . . *

1

10 . .1 10 . .1

0 . . *

1

0 . . *

1

A s ia k a s

n im i

o s o ite

l is ä ä L a s k u lle ()

lu o L a s k u ()

10 .. *

10 .. *

10 . . * 10 . . *

L a s k u

tu n n u s

p ä ivä m ä ä rä

ty y p p i

l is ä ä L a s k u lle ()

0 . . *

1

0 . . *

1

L a s k u E le m e n t t i

t un n u s

tuo t e N im i

m ä ä r ä

y k s ik k ö h in ta

a le n n u s d

L iike to im in n a

a s ia n tu n tijaM allintaja

80 %10%

100

%

SovellusOliotnäytöt SovellusOliotnäytöt SovellusOliotnäytöt PysyvyysLiiketoiminnan

Oliot

PysyvyysPysyvyysPysyvyysLiiketoiminnan

Oliot

Liiketoiminnan

Oliot

1

2

3

4

PysyvyysSovellus-

oliotN äytöt

Liiketoim inta-

oliot

Liiketoim intalogiikka

Sovelluslogii

kka

PysyvyysPysyvyysPysyvyysSovellus-

oliotN äytöt

Liiketoim inta-

oliot

L iiketoim inta-

oliot

Liiketoim intalogiikka

Sovelluslogii

kka

Liiketoim intalogiikka

Sovelluslogii

kka