21
Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informatik 1 Objektorientierter Entwurf 42) Verfeinerung des Klassenmodells K abra kadabra abc xyz K abra (x:T1) T2 kadabra (y: T2): T1 abc: T1 xyz: T2 Version 13-0.3, 06.07.13 Zum Selbststudium Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informatik 2 42.1 Verfeinerung von Assoziationen Zum Selbststudium

st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss13/ST1/slides/42-st-refinement-static-model-2x1.pdf*1 ( * " * 1 " * d 1 g *.* e} d g.*.* r } name} nding} gen d} } g} 9

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Sof

twar

etec

hnol

ogie

, © P

rof.

Uw

e A

ßm

ann

Tech

nisc

he U

nive

rsitä

t Dre

sden

, Fak

ultä

t Inf

orm

atik

1

Ob

jekt

ori

enti

erte

r E

ntw

urf

42

) V

erfe

iner

un

g d

es

Kla

ssen

mo

del

ls

K

abra

kada

bra

abc

xyz

K

abra

(x:

T1)

T2

kada

bra

(y: T

2): T

1

abc:

T1

xyz:

T2

Ver

sion

13-

0.3,

06.

07.1

3

Zum

Sel

bsts

tudi

um

Sof

twar

etec

hnol

ogie

, © P

rof.

Uw

e A

ßm

ann

Tech

nisc

he U

nive

rsitä

t Dre

sden

, Fak

ultä

t Inf

orm

atik

2

42.1

Ver

fein

eru

ng

vo

n

Ass

ozi

atio

nen

Zum

Sel

bsts

tudi

um

Prof. U. Aßmann, Softwaretechnologie, TU Dresden3

Qu

alif

izie

rte

Ass

ozi

atio

n

►D

efin

itio

n:

Ein

e Q

ualif

ikat

ion

(Qua

lifie

r) is

t ei

n A

ttrib

ut f

ür e

ine

Ass

ozia

tion

zwis

chen

Kla

sse

n K

1 un

d K

2, d

urch

das

die

Men

ge

der

zu

eine

m K

1-O

bjek

t ass

oziie

rten

K2-

Obj

ekte

par

titio

nier

t wird

.

Zw

eck

der

Qua

lifik

atio

n is

t dire

kter

Zug

riff u

nter

Ver

mei

dung

von

Suc

he

(Bes

chle

unig

ung)

No

tati

on

:

K1

K2

0..*

0..1

aK

1K

2

stat

t:

Hin

wei

s: Q

ualif

izie

rte

Ass

ozia

tione

n w

erde

n vo

n vi

elen

UM

L-W

erkz

euge

n ni

cht

oder

nur

sch

lech

t unt

erst

ützt

. B

edeu

tung

vor

alle

m im

Zus

amm

enha

ng m

it D

aten

bank

en (

Indi

zes)

, ab

er a

uch

mit

geei

gnet

en D

aten

stru

ktur

en n

ach

Java

abb

ildba

r.

Prof. U. Aßmann, Softwaretechnologie, TU Dresden4

Qu

alif

izie

rte

Ass

ozi

atio

n:

Bei

spie

l (1)

Team

bes

pre

chu

ng

them

en

Term

in

titel

begi

nnda

uer

vers

chie

ben(

) {a

bstr

act}

raum

Fes

tlege

n()

einl

aden

()ab

sage

n()

vers

chie

ben(

)

{abs

trac

t}

Rau

m12

.istF

rei(

star

t=04

.05.

02 1

0:00

, dau

er=6

0);

Ver

anst

al-

tung

sort0..1

0..*

Bes

pre

chu

ng

srau

mra

umN

rka

pazi

tät

rese

rvie

ren(

)fr

eige

ben(

)fr

eien

Rau

mS

uche

n()

istF

rei()

führ

t zu

eine

r S

uche

übe

r al

le a

ssoz

iiert

en T

eam

besp

rech

unge

n !

Prof. U. Aßmann, Softwaretechnologie, TU Dresden5

Qu

alif

izie

rte

Ass

ozi

atio

n:

Bei

spie

l (2)

Team

bes

pre

chu

ng

them

en

Term

in

titel

begi

nnda

uer

vers

chie

ben(

) {a

bstr

act}

raum

Fes

tlege

n()

einl

aden

()ab

sage

n()

vers

chie

ben(

)

{abs

trac

t}

Rau

m12

.istF

rei(

star

t=04

.05.

02 1

0:00

, d

auer

=60

);

Ver

anst

al-

tung

sort

0..1

0..1

Bes

pre

chu

ng

srau

mra

umN

rka

pazi

tät

rese

rvie

ren(

)fr

eige

ben(

)fr

eien

Rau

mS

uche

n()

istF

rei()

kann

dire

kt n

ach

Dat

um a

bfra

gen,

ob

eine

Ass

ozia

tion

best

eht

begi

nn

wie

bis

her

klei

nere

Mul

tipliz

ität

Indi

zier

ter

Zug

riff

(Qua

lifik

atio

n)

Prof. U. Aßmann, Softwaretechnologie, TU Dresden6

Rea

lisie

run

g e

iner

qu

alif

izie

rte

n

Ass

ozi

atio

n

r12:

Bes

pre

chu

ng

srau

m

raum

Nr

= "

r12"

kapa

zitä

t = 2

0

04.0

5.02

09:

0010

.05.

02 1

0:00

10.0

5.02

11:

0010

.05.

02 1

2:00

11.0

5.02

09:

0012

.05.

02 1

5:00

12.0

5.02

17:

00

Team

besp

rech

ungs

-O

bjek

te

Dire

ktzu

griff

z.B

. dur

ch:

• H

ashf

unkt

ion

(Ber

echn

ung

des

Inde

xwer

ts a

usge

gebe

nem

Dat

um)

• S

ortie

rte

Bau

mst

rukt

ur

begi

nn

Prof. U. Aßmann, Softwaretechnologie, TU Dresden7

Geo

rdn

ete

un

d s

ort

iert

e A

sso

ziat

ion

►{o

rder

ed}

an e

inem

Ass

ozia

tions

ende

:

Es

best

eht e

ine

fest

e R

eih

enfo

lge,

in d

er d

ie a

ssoz

iiert

en O

bje

kte

durc

hlau

fen

wer

den

könn

en (

Seq

uenz

).

M

ehrf

achv

orko

mm

en e

ines

Obj

ekts

sin

d ve

rbot

en

►K

eine

Ang

abe

an e

inem

Ass

ozia

tions

ende

:

Die

ass

oziie

rten

Obj

ekte

sin

d al

s M

enge

str

uktu

riert

.

►S

pezi

elle

r E

insc

hrän

kung

en a

ls A

nnot

atio

nen

mög

lich,

z.B

. die

For

deru

ng n

ach

Sor

tieru

ng g

emäß

bes

timm

ter A

ttrib

ute:

Team

mit

glie

dTe

amb

esp

rech

un

g0.

.*0.

.*Te

ilnah

me

{ord

ered

}

Team

mit

glie

dTe

amb

esp

rech

un

g0.

.*0.

.*

Teiln

ehm

er{s

orte

d}{k

ey=

nam

e}{o

rder

=as

cend

ing}

Bes

prec

hung

en{s

orte

d}{k

ey=

begi

nn}

{ord

er =

asc

endi

ng}

Prof. U. Aßmann, Softwaretechnologie, TU Dresden8

Rau

mve

rwal

tun

g

– ei

nzig

eIns

tanz

*1

frei

enR

aum

Suc

hen(

)

Bes

tand

{sor

ted}

{ke

y= k

apaz

ität}

Ver

wal

tun

gsk

lass

en

(Mat

eria

lbeh

älte

rkla

ssen

)

Team

bes

pre

chu

ng

them

en

Term

in

titel

begi

nnda

uer

vers

chie

ben(

) {a

bstr

act}

raum

Fes

tlege

n()

einl

aden

()ab

sage

n()

vers

chie

ben(

)

Bes

pre

chu

ng

srau

mra

umN

rka

pazi

tät

rese

rvie

ren(

)fr

eige

ben(

)is

tFre

i()

Ver

anst

al-

tung

sort

0..1

{abs

trac

t}

begi

nn0.

.1

frei

enR

aum

Suc

hen(

)

►H

at m

an e

ine

Men

ge v

on O

bje

kten

, die

ver

wal

tet w

erde

n m

üsse

n, k

ann

eine

V

erw

altu

ngs-

ode

r M

ater

ialb

ehäl

terk

lass

e id

entif

izie

rt w

erde

n

Prof. U. Aßmann, Softwaretechnologie, TU Dresden9

Iden

tifi

kati

on

vo

n a

bg

elei

tete

n

(red

un

dan

ten

) E

lem

ente

►D

efin

itio

n E

in a

bgel

eite

tes

Mod

elle

lem

ent (

z.B

. Attr

ibut

, Ass

ozia

tion)

ist

ein

Mod

ell-E

lem

ent,

das

jede

rzei

t aus

and

ere

n (n

ich

t abg

elei

tete

n)

Ele

men

ten

reko

nstr

uier

t wer

den

kann

.

►N

ota

tio

n/

Mod

elle

lem

ent

oder

Mod

elle

lem

ent

{der

ived

}

►B

eisp

iele

:

Team

bes

pre

chu

ng

Team

mit

glie

dLe

itung

Teiln

ahm

e1*

2..*

...*

nam

e/ t

eiln

ehm

eran

zahl

/ lei

ter

►A

bhän

gigk

eits

pfei

l mit

<<

deriv

e>>

: Opt

iona

le A

ngab

e de

s U

rspr

ungs

elem

ents

ein

er A

bhän

gigk

eit a

nzug

eben

.

/ ist

InK

onfli

kt

1

*<

<der

ive>

>

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

10

Det

ailin

form

atio

n z

u a

bg

elei

tete

n

Ele

men

ten

►Z

wec

k: D

urch

Ab

leitu

ng k

ann

Red

und

anz

ausd

em M

odel

elim

inie

rt

wer

den,

und

das

führ

t zu

eine

r be

sser

en K

onsi

sten

z

►M

an k

ann

die

Abl

eitu

ngsr

egel

für

abge

leite

te E

lem

ente

exp

lizit

ange

ben.

(Not

atio

n: O

bjec

t Con

stra

int L

angu

age

OC

L v

on U

ML)

{leite

r =

Lei

tung

.nam

e}{t

eiln

ehm

eran

zahl

= T

eiln

ahm

e->

size

}

Team

bes

pre

chu

ng

Team

mit

glie

dLe

itung

Teiln

ahm

e1*

/ tei

lneh

mer

anza

hl/le

iter

...*

nam

e

2..*

Sof

twar

etec

hnol

ogie

, © P

rof.

Uw

e A

ßm

ann

Tech

nisc

he U

nive

rsitä

t Dre

sden

, Fak

ultä

t Inf

orm

atik

11

42.2

Ver

fein

eru

ng

vo

n V

erer

bu

ng

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

12

Elim

inat

ion

vo

n n

ich

t-ko

nfo

rmer

Ver

erb

un

g

►In

Ana

lyse

mod

elle

n ha

t die

Ver

erbu

ngsr

elat

ion

oft m

ehre

re B

edeu

tung

en►

Wäh

rend

da

s A

naly

sem

odel

l die

se F

ein

heite

n ni

cht u

nter

sch

eide

n m

uss,

so

llte

das

Ent

wur

fsm

odel

l die

s tu

n

Ans

onst

en k

ann

es z

u La

ufze

itfeh

lern

kom

men

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

13

Wie

der

h.:

Äh

nlic

hke

itsr

elat

ion

en (

Sim

ilari

ty

Rel

atio

nsh

ips)

►is

-a:

zeig

t Ähn

lichk

eit a

n

is-a

ist a

zykl

isch

e R

elat

ion,

bei

ein

fach

er V

erer

bung

bau

mfö

rmig

►is

-str

uctu

red-

like:

zei

gt ä

hnlic

he S

truk

tur

an (

stru

ctur

elle

Ähn

lichk

eit o

der

Gle

ichh

eit)

►be

have

s-lik

e: V

erha

ltens

ähnl

ichk

eit

al

way

s-be

have

s-lik

e: K

onfo

rman

z (c

onfo

rman

ce),

Ers

etzb

arke

it (s

ubst

ituta

bilit

y)

som

etim

es-b

ehav

es-li

ke: g

eleg

entli

ch v

erha

ltens

glei

ch

rest

ricte

dly-

beha

ves-

like

: im

allg

emei

nen

konf

orm

ant,

aber

nic

ht in

spe

ziel

len

Situ

atio

nen

(ext

rava

ganc

e, r

estr

ictio

n in

herit

ance

)

Ach

tung

: is

-a, i

s-st

ruct

ured

-like

, beh

aves

-like

wer

den

alle

Ver

erbu

ng g

enan

nt

►in

stan

ce-o

f: A

ist a

us e

iner

Sch

ablo

ne B

gem

acht

wor

den

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

14

Ko

nfo

rme

Ver

erb

un

g (

Ko

nfo

rmit

ät, b

ehav

es-

like)

►K

onfo

rme

Ver

erbu

ng s

tellt

sic

her,

da

ss A

ble

iten

von

Unt

erkl

asse

n ni

emal

s F

ehle

r in

ein

e A

nwen

dung

ein

brin

gt

(Rob

usth

eit)

da

ss b

ei d

er U

nter

klas

senb

ildun

g di

e S

eman

tik v

on O

berk

lass

en e

rhal

ten

blei

bt

Lisk

ov's

ches

Sub

stitu

tions

prin

zip

(Lis

kov

subs

titut

ion

prin

cipl

e):

Ein

e U

nter

klas

se U

hei

sst

verh

alte

nsko

nfor

m z

u ei

ner

Obe

rkla

sse

O, w

enn

jede

s O

bje

kt a

us U

jede

s O

bjek

t aus

O e

rset

zen

kann

, ohn

e ei

ne

Anw

endu

ngsk

lass

e, d

ie O

ver

wen

det,

in e

inen

fehl

erha

ften

Zus

tand

zu

vers

etze

n

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

15

Ext

rava

gan

z (r

estr

icte

dly

-beh

aves

-lik

e)

►E

ine

Unt

erkl

asse

U h

eiss

t ex

trav

agan

t (ei

nges

chrä

nkt)

zu

eine

r O

berk

lass

e O

, wen

n ni

cht a

lle O

bjek

te a

us U

alle

Obj

ekte

aus

O e

rset

zen

könn

en, o

hne

da

ss in

ein

er A

nwen

dung

, die

O v

erw

ende

t, F

ehle

r au

ftret

en►

Aka

: Ein

gesc

hrän

kte

Ver

erbu

ng (

rest

rictio

n in

herit

ance

)

Pro

fess

or

Em

erit

us

giveLecture()

Pro

fess

or

Fra

ge: W

as p

assi

ert,

wen

n ei

nem

eriti

erte

r P

rofe

ssor

kei

ne V

orle

sung

enm

ehr

anbi

etet

?

Ant

wor

t: E

ine

Anw

endu

ng d

er K

lass

e P

rofe

ssor

,di

e di

es e

rwar

tet,

ende

t in

eine

m fe

hler

hafte

nZ

usta

nd.

Erk

läru

ng: P

rofe

ssor

Em

eritu

s is

t ein

e ex

trav

agan

teU

nter

klas

se v

on P

rofe

ssor

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

16

Ko

nfo

rmit

ätsp

rob

lem

in A

nal

ysem

od

elle

n

►Le

ider

sin

d ni

cht a

lle V

erer

bung

shie

rarc

hien

kon

form

, ins

beso

nder

e ni

cht i

n A

naly

sem

odel

len

S

owoh

l in

UM

L al

s au

ch in

Jav

a d

rück

t di

e V

erer

bun

gsre

latio

n ni

cht u

nbed

ingt

K

onfo

rmitä

t aus

M

an m

uss

jede

ein

zeln

e V

erer

bung

dar

aufh

in u

nter

such

en :-

(

Und

im E

ntw

urfs

mod

ell K

onfo

rmitä

t her

stel

len

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

17

Pro

fMan

agem

ent

Bei

spie

l: B

iblio

thek

en, F

ram

ewo

rks

un

d

An

wen

du

ng

en

►B

iblio

thek

en, F

ram

ewor

ks s

ind

vorg

efer

tigte

Pak

ete

mit

Ve

rerb

ungs

hier

arch

ien

von

eine

m a

nder

en H

erst

elle

r►

Anw

endu

ngen

leite

n sp

ezie

llere

Unt

erkl

asse

n da

von

ab►

Bei

spie

le:

Ja

va D

evel

opm

ent K

it

C+

+ S

tand

ard

Tem

plat

e

Libr

ary

(ST

L)

eat(

)w

ork

()sl

eep

()g

etN

ame(

)

Per

son

giveLecture()

Pro

fess

or

visitLecture()

drinkBeer()

Stu

den

t

salary

Em

plo

yee

visitUniversity()

drinkBeer()

Alu

mn

us

visitNullCourse()

Beg

inn

er

Per

sonM

anag

emen

tS

tude

ntM

anag

emen

t

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

18

Bei

spie

l: K

on

form

e V

erer

bu

ng

vo

n

Bib

lioth

eks-

un

d F

ram

ewo

rkkl

asse

n

►V

erw

ende

t man

bei

m E

ntw

urf

eine

zug

ekau

fte K

lass

enbi

blio

thek

, ste

lle m

an

sich

er, d

ass

man

Anw

endu

ngsk

lass

en n

ur m

it ko

nfo

rmer

Ver

erb

un

g

able

itet

►A

nson

sten

tret

en L

aufz

eitfe

hler

in K

lass

en d

er K

lass

enbi

blio

thek

auf

D

ere

n F

ehle

rmel

dung

en s

ind

völ

lig u

nver

stän

dlic

h, d

a s

ie n

ich

t die

eig

entli

chen

F

ehle

rurs

ache

ver

mitt

eln

könn

en

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

19

Co

ntr

avar

ian

ce o

f A

rgu

men

t an

d R

etu

rn T

ypes

cars

vehi

cles

cars

obje

cts

grow

shrin

k

►“I

can

giv

e eq

ual o

r m

ore

to a

func

tion

of a

rep

lace

d ob

ject

, but

it w

ill r

etur

n le

ss o

r eq

ual”

►If

argu

men

t cla

ss o

f sub

clas

s gr

ows,

ret

urn

clas

s of

sub

clas

s m

ust s

hrin

k

Car

Veh

icle

Car

f(V

ehic

le)

Obj

ect f

(Car

)

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

20

An

alys

e-M

od

ell

En

twu

rfs-

Mo

del

l

Zu

sam

men

fass

un

g:

UM

L-K

lass

enm

od

elle

in A

nal

yse

un

d E

ntw

urf

Ski

zze:

Tei

lwei

se u

nvol

lstä

ndig

in A

ttrib

uten

und

Ope

ratio

nen

Dat

enty

pen

und

Par

amet

erkö

nnen

noc

h fe

hlen

Noc

h ka

um B

ezug

zur

Rea

lisie

rung

sspr

ache

Kei

ne Ü

berle

gung

en z

urR

ealis

ieru

ng v

on A

ssoz

iatio

nen

Nic

ht-k

onfo

rme

Ver

erbu

ng

Vol

lstä

ndig

e A

ngab

e al

ler

Attr

ibut

e un

d O

pera

tione

nV

olls

tänd

ige

Ang

abe

von

Dat

enty

pen

und

Par

amet

ern

Auf

Um

setz

ung

in g

ewäh

lter

Pro

gram

mie

rspr

ache

bez

ogen

Nav

igat

ions

anga

ben,

Qua

lifika

tion,

Ord

nung

, Ver

wal

tung

skla

ssen

Ent

sche

idun

g üb

er D

aten

stru

ktur

enV

orbe

reitu

ng z

ur A

nbin

dung

von

Ben

utzu

ngso

berfl

äche

und

Dat

enha

ltung

an

fach

liche

n K

ern

Kon

form

e V

erer

bung

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

21

Th

e E

nd

►D

iese

Fol

ien

sind

ein

e ü

bera

rbe

itete

Ver

sio

n de

r V

orle

sung

sfol

ien

zur

V

orle

sung

Sof

twar

etec

hnol

ogie

vo

n ©

Pro

f. H

. Hus

sman

n, 2

002.

use

d by

pe

rmis

sion

.

Sof

twar

etec

hnol

ogie

, ©

Pro

f. U

we

man

nTe

chni

sche

Uni

vers

ität D

resd

en, F

akul

tät I

nfor

mat

ik

1

Ob

jekt

ori

enti

erte

r E

ntw

urf

42

) V

erfe

iner

un

g d

es

Kla

ssen

mo

del

ls

K

abra

kada

bra

abc

xyz

K

abra

(x:

T1)

T2

kada

bra

(y: T

2): T

1

abc:

T1

xyz:

T2

Ver

sion

13-

0.3,

06.

07.1

3

Zum

Sel

bsts

tudi

um

Sof

twar

etec

hnol

ogie

, ©

Pro

f. U

we

man

nTe

chni

sche

Uni

vers

ität D

resd

en, F

akul

tät I

nfor

mat

ik

2

42.1

Ver

fein

eru

ng

vo

n

Ass

ozi

atio

nen

Zum

Sel

bsts

tudi

um

Prof. U. Aßmann, Softwaretechnologie, TU Dresden3

Qu

alif

izie

rte

Ass

ozi

atio

n

►D

efin

itio

n:

Ein

e Q

ualif

ikat

ion

(Qua

lifie

r) is

t ei

n A

ttrib

ut f

ür e

ine

Ass

ozia

tion

zwis

che

n K

lass

en

K1

und

K2,

dur

ch d

as d

ie M

enge

der

zu

eine

m K

1-O

bjek

t ass

oziie

rten

K2-

Obj

ekte

par

titio

nier

t wird

.

Zw

eck

der

Qua

lifik

atio

n is

t dire

kter

Zug

riff u

nter

Ver

mei

dung

von

Suc

he

(Bes

chle

unig

ung)

No

tati

on

:

K1

K2

0..*

0..1

aK

1K

2

stat

t:

Hin

we

is: Q

ual

ifizi

erte

Ass

ozia

tione

n w

erde

n vo

n vi

elen

UM

L-W

erkz

euge

n ni

cht

oder

nur

sch

lech

t unt

erst

ützt

. B

edeu

tung

vo

r a

llem

im Z

usam

men

hang

mit

Dat

enba

nken

(In

dize

s),

aber

auc

h m

it ge

eign

eten

Dat

enst

rukt

uren

nac

h Ja

va a

bbild

bar.

Prof. U. Aßmann, Softwaretechnologie, TU Dresden4

Qu

alif

izie

rte

Ass

ozi

atio

n:

Bei

sp

iel (

1)

Team

bes

pre

chu

ng

them

en

Term

in

titel

begi

nnda

uer

vers

chie

ben(

) {a

bstr

act}

raum

Fes

tlege

n()

einl

aden

()ab

sage

n()

vers

chie

ben(

)

{abs

trac

t}

Rau

m12

.istF

rei(

star

t=04

.05.

02 1

0:00

, dau

er=6

0);

Ver

anst

al-

tung

sort0..1

0..*

Bes

pre

chu

ng

srau

mra

umN

rka

pazi

tät

rese

rvie

ren(

)fr

eige

ben(

)fr

eien

Rau

mS

uche

n()

istF

rei()

füh

rt z

u e

ine

r S

uch

e ü

ber

alle

ass

ozi

iert

en T

eam

bes

pre

chun

gen

!

Prof. U. Aßmann, Softwaretechnologie, TU Dresden5

Qu

alif

izie

rte

Ass

ozi

atio

n:

Bei

sp

iel (

2)

Team

bes

pre

chu

ng

them

en

Term

in

titel

begi

nnda

uer

vers

chie

ben(

) {a

bstr

act}

raum

Fes

tlege

n()

einl

aden

()ab

sage

n()

vers

chie

ben(

)

{abs

trac

t}

Ra

um

12

.istF

rei(

star

t=04

.05

.02

10

:00,

dau

er=

60)

;

Ver

anst

al-

tung

sort

0..1

0..1

Bes

pre

chu

ng

srau

mra

umN

rka

pazi

tät

rese

rvie

ren(

)fr

eige

ben(

)fr

eien

Rau

mS

uche

n()

istF

rei()

kan

n d

irekt

na

ch D

atu

m a

bfr

age

n, o

b e

ine

Ass

ozi

atio

n b

est

eht

be

gin

n

wie

bis

he

r

kle

ine

reM

ulti

pliz

ität

Ind

izie

rte

r Z

ug

riff

(Qu

alif

ika

tion

)

Prof. U. Aßmann, Softwaretechnologie, TU Dresden6

Rea

lisie

run

g e

ine

r q

ual

ifiz

iert

en

A

sso

ziat

ion

r12:

Bes

pre

chu

ng

srau

m

raum

Nr

= "

r12"

kapa

zitä

t = 2

0

04.0

5.02

09:

0010

.05.

02 1

0:00

10.0

5.02

11:

0010

.05.

02 1

2:00

11.0

5.02

09:

0012

.05.

02 1

5:00

12.0

5.02

17:

00

Team

besp

rech

ungs

-O

bjek

te

Dire

ktzu

griff

z.B

. du

rch:

• H

ashf

unkt

ion

(Ber

echn

ung

des

Inde

xwer

ts a

usge

gebe

nem

Dat

um)

• S

ortie

rte

Bau

mst

rukt

ur

begi

nn

Prof. U. Aßmann, Softwaretechnologie, TU Dresden7

Geo

rdn

ete

un

d s

ort

iert

e A

sso

ziat

ion

►{o

rder

ed}

an e

inem

Ass

ozia

tions

ende

:

Es

best

eht

eine

fest

e R

eihe

nfo

lge

, in

der

die

asso

ziie

rte

n O

bje

kte

du

rchl

aufe

n w

erde

n kö

nnen

(S

eque

nz).

M

ehrf

ach

vork

omm

en e

ines

Ob

jekt

s si

nd v

erbo

ten

►K

ein

e A

nga

be a

n ei

nem

Ass

ozia

tions

end

e:

D

ie a

ssoz

iiert

en

Obj

ekte

sin

d al

s M

enge

str

uktu

riert

.

►S

pe

ziel

ler

Ein

schr

änku

nge

n a

ls A

nno

tatio

nen

mög

lich,

z.B

. die

Fo

rde

run

g na

ch S

ortie

run

g g

emäß

bes

timm

ter

Attr

ibut

e:

Team

mit

glie

dTe

amb

esp

rech

un

g0.

.*0.

.*Te

ilnah

me

{ord

ered

}

Team

mit

glie

dTe

amb

esp

rech

un

g0.

.*0.

.*

Teiln

ehm

er{s

orte

d}{k

ey=n

ame}

{ord

er=

asce

ndin

g}

Bes

prec

hung

en{s

orte

d}{k

ey=

begi

nn}

{ord

er =

asc

endi

ng}

Die

Kla

sse

Rau

mve

rwal

tung

die

nt

nur

dazu

, die

K

lass

enm

etho

de

frei

enR

aum

Suc

hen

effiz

ient

er z

u re

alis

iere

n.

Von

die

ser

Kla

sse

soll

imm

er n

ur e

ine

Inst

anz

exis

tiere

n, w

as h

ier

durc

h ei

n K

lass

enat

trib

ut

ange

deut

et is

t (s

ogen

annt

e si

ngle

ton

-K

lass

e).

Ver

wal

tung

skla

ssen

sin

d im

mer

em

pfeh

lens

wer

t, w

enn

auf d

ie G

esam

thei

t al

ler

Inst

anze

n ei

ner

Kla

sse

zuge

griff

en m

uß,

wie

hie

r au

f alle

Räu

me.

Z

.B. J

ava

sieh

t kei

ne

Mög

lichk

eit v

or, a

uf a

lle

Inst

anze

n ei

ner

Kla

sse

zu

zugr

eife

n.

Prof. U. Aßmann, Softwaretechnologie, TU Dresden8

Rau

mve

rwal

tun

g

– ei

nzig

eIns

tanz

*1

frei

enR

aum

Suc

hen(

)

Bes

tand

{sor

ted}

{ke

y= k

apaz

ität}

Ver

wal

tun

gsk

lass

en

(Mat

eria

lbeh

älte

rkla

ssen

)

Team

bes

pre

chu

ng

them

en

Term

in

titel

begi

nnda

uer

vers

chie

ben(

) {a

bstr

act}

raum

Fes

tlege

n()

einl

aden

()ab

sage

n()

vers

chie

ben(

)

Bes

pre

chu

ng

srau

mra

umN

rka

pazi

tät

rese

rvie

ren(

)fr

eige

ben(

)is

tFre

i()

Ver

anst

al-

tung

sort

0..1

{abs

trac

t}

begi

nn0.

.1

frei

enR

aum

Suc

hen(

)

►H

at m

an e

ine

Men

ge v

on O

bje

kten

, die

ve

rwa

ltet

we

rde

n m

üsse

n, k

ann

ein

e V

erw

altu

ngs-

ode

r M

ater

ialb

ehäl

terk

lass

e id

entif

izie

rt w

erde

n

Prof. U. Aßmann, Softwaretechnologie, TU Dresden9

Iden

tifi

kati

on

vo

n a

bg

elei

tete

n

(red

un

dan

ten

) E

lem

ente

►D

efin

itio

n E

in a

bgel

eite

tes

Mo

delle

lem

ent

(z.

B. A

ttrib

ut, A

ssoz

iatio

n) is

t ei

n M

ode

ll-E

lem

ent,

da

s je

der

zeit

aus

and

ere

n (n

ich

t ab

gele

itete

n)

Ele

men

ten

reko

nstr

uier

t wer

den

kann

.

►N

ota

tio

n/

Mod

elle

lem

ent

oder

Mod

elle

lem

ent

{der

ived

}

►B

eisp

iele

:

Team

bes

pre

chu

ng

Team

mit

glie

dLe

itung

Teiln

ahm

e1*

2..*

...*

nam

e/ t

eiln

ehm

eran

zahl

/ lei

ter

►A

bhä

ngig

keits

pfe

il m

it <

<de

rive

>>

: O

ptio

nale

Ang

ab

e de

s U

rspr

ung

sele

me

nts

ein

er A

bhä

ngig

keit

anz

uge

ben

.

/ ist

InK

onfli

kt

1

*<

<der

ive>

>

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

10

Det

ailin

form

atio

n z

u a

bg

elei

tete

n

Ele

men

ten

►Z

we

ck: D

urch

Abl

eitu

ng

kann

Red

unda

nz

ausd

em M

odel

elim

inie

rt

wer

den,

un

d da

s fü

hrt z

u ei

ner

bess

eren

Kon

sist

enz

►M

an k

ann

die

Abl

eitu

ngsr

ege

l für

abg

elei

tete

Ele

men

te e

xpliz

it an

gebe

n.

(Not

atio

n: O

bjec

t C

onst

rain

t La

ngua

ge O

CL

von

UM

L)

{leite

r =

Lei

tung

.nam

e}{t

eiln

ehm

eran

zahl

= T

eiln

ahm

e->

size

}

Team

bes

pre

chu

ng

Team

mit

glie

dLe

itung

Teiln

ahm

e1*

/ tei

lneh

mer

anza

hl/le

iter

...*

nam

e

2..*

Sof

twar

etec

hnol

ogie

, ©

Pro

f. U

we

man

nTe

chni

sche

Uni

vers

ität D

resd

en, F

akul

tät I

nfor

mat

ik

11

42.2

Ver

fein

eru

ng

vo

n V

erer

bu

ng

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

12

Elim

inat

ion

vo

n n

ich

t-ko

nfo

rmer

Ver

erb

un

g

►In

An

alys

emod

elle

n ha

t die

Ver

erbu

ngsr

elat

ion

oft m

ehre

re B

edeu

tung

en►

Wäh

rend

das

Ana

lyse

mod

ell d

iese

Fei

nhei

ten

nic

ht u

nter

sche

iden

mus

s,

sollt

e da

s E

ntw

urfs

mo

dell

dies

tun

A

nson

ste

n k

ann

es

zu L

au

fze

itfe

hle

rn k

om

me

n

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

13

Wie

der

h.:

Äh

nlic

hke

itsr

ela

tio

ne

n (

Sim

ilari

ty

Rel

atio

nsh

ips)

►is

-a: z

eigt

Ähn

lich

keit

an

is-a

ist a

zykl

isch

e R

ela

tion

, bei

ein

fach

er V

ere

rbun

g b

au

mfö

rmig

►is

-str

uctu

red-

like:

zei

gt ä

hnlic

he S

truk

tur

an (

stru

ctur

elle

Ähn

lichk

eit o

der

Gle

ichh

eit)

►be

have

s-lik

e: V

erh

alte

nsä

hnlic

hkei

t

alw

ays

-be

ha

ves-

like:

Ko

nfo

rman

z (c

onf

orm

anc

e),

Ers

etz

bar

keit

(sub

stitu

tab

ility

)

som

etim

es-

be

ha

ves-

like:

ge

leg

en

tlich

ve

rha

lten

sgle

ich

re

stric

ted

ly-b

eh

ave

s-lik

e: im

allg

eme

inen

kon

form

ant,

abe

r n

icht

in s

pezi

elle

n S

itua

tion

en

(ext

rava

gan

ce, r

est

rict

ion

inh

erit

ance

)

Ach

tun

g: i

s-a

, is-

stru

ctu

red

-like

, be

ha

ves-

like

we

rde

n a

lle V

ere

rbu

ng

ge

na

nn

t

►in

stan

ce-o

f: A

ist a

us

ein

er S

chab

lone

B g

emac

ht w

orde

n

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

14

Ko

nfo

rme

Ver

erb

un

g (

Ko

nfo

rmit

ät, b

ehav

es-

like)

►K

onfo

rme

Ver

erbu

ng

ste

llt s

iche

r,

das

s A

ble

iten

vo

n U

nte

rkla

ssen

nie

mal

s F

eh

ler

in e

ine

Anw

en

dung

ein

bri

ngt

(R

ob

ust

he

it)

das

s b

ei d

er U

nte

rkla

ssen

bild

ung

die

Se

ma

ntik

vo

n O

berk

lass

en

erh

alte

n b

leib

t

Lisk

ov's

ches

Sub

stitu

tions

prin

zip

(Lis

kov

sub

stitu

tion

prin

cipl

e):

Ein

e U

nte

rkla

sse

U h

eiss

t ver

halte

nsko

nfor

m z

u ei

ner

Obe

rkla

sse

O, w

enn

jed

es O

bje

kt a

us U

jede

s O

bjek

t aus

O e

rset

zen

kann

, ohn

e ei

ne

Anw

end

ung

skla

sse

, die

O v

erw

ende

t, in

ein

en fe

hler

hafte

n Z

usta

nd z

u ve

rset

zen

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

15

Ext

rava

gan

z (r

estr

icte

dly

-beh

ave

s-l

ike)

►E

ine

Unt

erkl

asse

U h

eiss

t ext

rava

gant

(ei

nges

chrä

nkt)

zu

eine

r O

berk

lass

e O

, wen

n ni

cht a

lle O

bjek

te a

us U

alle

Obj

ekte

aus

O e

rset

zen

könn

en, o

hne

dass

in e

iner

Anw

endu

ng, d

ie O

ver

wen

det,

Feh

ler

auftr

eten

►A

ka: E

inge

schr

änkt

e V

erer

bung

(re

stric

tion

inhe

ritan

ce)

Pro

fess

or

Em

erit

us

giveLecture()

Pro

fess

or

Fra

ge:

Was

pas

sier

t, w

enn

ein

emer

itier

ter

Pro

fess

or k

eine

Vor

lesu

ngen

meh

r an

biet

et?

Ant

wor

t: E

ine

Anw

endu

ng d

er K

lass

e P

rofe

ssor

,di

e di

es e

rwar

tet,

end

et in

ein

em f

ehle

rhaf

ten

Zus

tand

.

Erk

läru

ng:

Pro

fess

orE

mer

itus

ist

eine

ext

rava

gant

eU

nter

klas

se v

on P

rofe

ssor

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

16

Ko

nfo

rmit

ätsp

rob

lem

in

An

alys

emo

del

len

►Le

ider

sin

d ni

cht a

lle V

erer

bung

shie

rarc

hien

kon

form

, ins

bes

onde

re n

icht

in

Ana

lyse

mod

elle

n

Sow

oh

l in

UM

L a

ls a

uch

in J

ava

drü

ckt d

ie V

ere

rbu

ng

sre

latio

n n

icht

un

bed

ing

t K

on

form

ität a

us

M

an

mus

s je

de e

inze

lne

Ve

rerb

ung

da

rau

fhin

un

ters

uch

en

:-(

U

nd

im E

ntw

urf

smo

del

l Ko

nfor

mitä

t her

stel

len

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

17

Pro

fMan

agem

ent

Bei

spie

l: B

iblio

the

ken

, Fra

me

wo

rks

un

d

An

wen

du

ng

en

►B

iblio

thek

en,

Fra

mew

orks

sin

d vo

rgef

ertig

te P

aket

e m

it V

erer

bung

shie

rarc

hien

von

ei

nem

and

eren

Her

ste

ller

►A

nw

endu

nge

n le

iten

spez

ielle

re U

nter

kla

sse

n da

von

ab

►B

eis

piel

e:

Ja

va D

eve

lop

me

nt

Kit

C

++

Sta

nda

rd T

em

pla

te

Lib

rary

(S

TL

)

eat(

)w

ork

()sl

eep

()g

etN

ame(

)

Per

son

giveLecture()

Pro

fess

or

visitLecture()

drinkBeer()

Stu

den

t

salary

Em

plo

yee

visitUniversity()

drinkBeer()

Alu

mn

us

visitNullCourse()

Beg

inn

er

Per

sonM

anag

emen

tS

tude

ntM

anag

emen

t

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

18

Bei

spie

l: K

on

form

e V

ere

rbu

ng

vo

n

Bib

lio

thek

s- u

nd

Fra

mew

ork

klas

sen

►V

erw

ende

t man

bei

m E

ntw

urf e

ine

zuge

kauf

te K

lass

enbi

blio

thek

, ste

lle m

an

sich

er,

dass

man

Anw

endu

ngs

klas

sen

nur

mit

kon

form

er V

erer

bu

ng

ab

leite

t►

Ans

onst

en tr

eten

Lau

fzei

tfehl

er in

Kla

ssen

der

Kla

ssen

bibl

ioth

ek a

uf

De

ren

Feh

lerm

eld

un

gen

sin

d v

ölli

g u

nve

rstä

ndl

ich

, d

a si

e ni

cht d

ie e

ige

ntlic

he

n F

eh

leru

rsa

che

ve

rmitt

eln

nn

en

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

19

Co

ntr

avar

ian

ce o

f A

rgu

men

t an

d R

etu

rn T

ypes

cars

vehi

cles

cars

obje

cts

grow

shrin

k

►“I

can

giv

e eq

ual o

r m

ore

to a

func

tion

of a

rep

lace

d ob

ject

, but

it w

ill r

etur

n le

ss o

r eq

ual”

►If

argu

men

t cla

ss o

f sub

clas

s gr

ows,

ret

urn

clas

s o

f sub

clas

s m

ust s

hrin

k

Car

Veh

icle

Car

f(V

ehic

le)

Obj

ect

f(C

ar)

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

20

An

alys

e-M

od

ell

En

twu

rfs-

Mo

del

l

Zu

sam

men

fass

un

g:

UM

L-K

lass

enm

od

elle

in

An

alys

e u

nd

En

twu

rf

Ski

zze:

Tei

lwei

se u

nvol

lstä

ndig

in A

ttrib

uten

und

Ope

ratio

nen

Dat

enty

pen

und

Par

amet

erkö

nnen

noc

h fe

hlen

Noc

h ka

um B

ezug

zur

Rea

lisie

rung

sspr

ache

Kei

ne Ü

berle

gung

en z

urR

ealis

ieru

ng v

on A

ssoz

iatio

nen

Nic

ht-k

onfo

rme

Ver

erbu

ng

Vol

lstä

ndig

e A

ngab

e al

ler

Attr

ibut

e un

d O

pera

tione

nV

olls

tänd

ige

Ang

abe

von

Dat

enty

pen

und

Par

amet

ern

Auf

Um

setz

ung

in g

ewäh

lter

Pro

gram

mie

rspr

ache

bez

ogen

Nav

igat

ions

anga

ben,

Qua

lifika

tion,

Ord

nung

, Ver

wal

tung

skla

ssen

Ent

sche

idun

g üb

er D

aten

stru

ktur

enV

orbe

reitu

ng z

ur A

nbin

dung

von

Ben

utzu

ngso

berfl

äche

und

Dat

enha

ltung

an

fach

liche

n K

ern

Kon

form

e V

erer

bung

Prof. U. Aßmann, Softwaretechnologie, TU Dresden

21

Th

e E

nd

►D

iese

Fol

ien

sin

d ei

ne ü

bera

rbei

tete

Ver

sion

der

Vor

lesu

ngsf

olie

n zu

r V

orle

sung

Sof

twa

rete

chn

olog

ie v

on ©

Pro

f. H

. Hus

sman

n, 2

002.

use

d b

y pe

rmis

sion

.