59
UML DIAGRAMOS Dr. Agnė Paulauskaitė-Tarasevičienė 1

UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Embed Size (px)

Citation preview

Page 1: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

UML DIAGRAMOS

Dr. Agnė Paulauskaitė-Tarasevičienė1

Page 2: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PLAČIAUSIAI NAUDOJAMI UML DIAGRAMŲ TIPAI

1. Sekų diagramos:Aprašo objektų sąveiką (pranešimų pagalba) ir jųelgseną duotoje sitacijoje.

2. Panaudos atvejų diagramos:

Aprašo sistemos elgseną iš vartotojo perspektyvos.

3. Veiklos diagramos:

Aprašo sistemos veiklų sekas tam tikramedetalumo lygyje.

4. Klasių diagramos:Aprašo statinę sistemos struktūrą. Klasė aprašoobjektų grupę, kurie turi panašius atributus irvienodą elgseną

2

Page 3: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

UML PANAUDOJIMO ATVEJŲ

DIAGRAMA

3

Page 4: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PANAUDOJIMO ATVEJŲ DIAGRAMOS

Tokios diagramos aprašo sistemos funkcionalumą

panaudojant aktorius ir galimus panaudojimo atvejus.

Diagramos elementai:

1. Aktoriai

2. Panaudos atvejai

3. Ryšiai

4. Sistemos ribos

4

veikla

aktorius

sistema

Page 5: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

AKTORIAI

Aktoriai aprašo sistemos vartotojus.

Aktorius yra klasė.

Kiekvienas aktorius aprašo skirtingą vartotojo ar

sistemos rolę, pvz.:

pardavėjas,

pirkėjas,..

5

Peržiūrėti

prekes

Pirkti

prekes

Užsakyti

prekespirkėjas pardavėjas

sistema

Apskųsti

pardavėją

Page 6: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PANAUDOJIMO ATVEJIS

Panaudos atvejai atvaizduoja veiksmus

atliekamus vieno ar daugiau aktorių siekiant

konkretaus tikslo pvz.:

užsakyti prekes,

Pirkti prekes,

Peržiūrėti prekes,...

6

veikla

Peržiūrėti

prekes

Pirkti

prekes

Užsakyti

prekespirkėjas pardavėjas

sistema

Apskųsti

pardavėją

Page 7: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

ĮTRAUKIMAS

7

o Įtraukimas yra naudojamas norint parodyti, kaip panaudojimo

atvejis yra suskaidomas į mažesnes veiklas.

o Įtrauktas panaudojimo atvejis yra rodyklės pabaigoje.

o Atliekant vartojimo atvejį, būtinai atliekamos ir <<include>>

veiklos

Atkreipkite dėmesį, kad diagrama nerodo veiklų sekos.

Užsakyti

maistą

Pasirinkti

meniuPasirinkti

patiekaląApmokėti

<<include>>

Klientas

Restoranas

Page 8: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

IŠPLĖTIMAS

Praplėtimai veikia tik prie tam tikrų sąlygų.

Praplėstas atvejis atvaizduojamos rodyklės pabaigoje.

Atkreipti dėmesį diagramoje nenurodomos konkrečios

sąlygos prie kurių taikomas praplėtimas (tai galima

nurodyti komentaruose)

8

<<extend>>

Užsakyti

maistą

Pasirinkti

meniu Pasirinkti

patiekalą

Apmokėti

Paklausti

kas dienos

pietų

klientasJei laikas tarp 12.00-16.00

Page 9: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

ĮTRAUKIMAS VS. IŠPLĖTIMAS

X << include>> Y reiškia, kad užduotis X turi

sub-užduotį Y; tai reiškia, kad užduoties

įvykdymui Y užduotis bus įvykdoma mažiausiai

vieną kartą.

X <<extend>> Y reiškia, kad X yra tokio pačio tipo

užduotis kaip ir Y, bet X yra labiau specifinis

atvejis; t.y. X veikla turi tam tikras sąlygas, kurios

turi būti įvykdytos norint atlikti Y veiklą.

9

Page 10: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PAVELDĖJIMAS

Susieja specializuotus ir apibendrintus elementus.

Apibendrintas elementas yra rodyklės gale.

Specializuotas panaudojimo atvejis iš jo apibendrintoatvejo paveldi:

visus tikslus;

aktorius.

Specializuotas aktorius iš jo apibendrinto

aktoriaus paveldi:

panaudojimo atvejus,

atributus,

asociacijas.10

vairuotojas

Taksi

vairuotojas

Page 11: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PAVYZDYS

11

Užsakyti

maistą

Pasirinkti

meniu

Pasirinkti

patiekalą

Apmokėti

grynais kortele

klientas

VIP klientas

Užsakyti

staliuką

telefonu

Paklausti

kas dienos

pietų

Page 12: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

ARTEFAKTAS

Artefaktas pateikiama nuoroda į kitą diagramą arba

dokumentą.

12

Užsakyti

maistą

Pasirinkti

meniu

Pasirinkti

patiekalą

Apmokėti

grynais kortele

Klientas

Paklausti

kas dienos

pietų <<artifact>>

kortele.veiklos diagrama

Page 13: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

UML VEIKLOS DIAGRAMA13

Page 14: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Veikla (angl. activity): Atvaizduoja veiksmų

aibę.

Valdymo rodyklę: Rodo veiklų įvykdymo seką.

Pradinė viršūnė: Pažymi veiksmų pradžią.

Pabaigos viršūnė: Naudojama sustabdyti

(nutraukti) visas veiklas.

Objekto rodyklė: Rodo objekto kelią iš vienos

veiklos i kitą.

Objekto viršūnė: Naudojama atvaizduoti

objektą kuris sujungtas su Objekto

rodyklėmis.

Veikla

objektas

PAGRINDINIAI VEIKLŲ DIAGRAMOS ELEMENTAI

14

Page 15: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Sąlygos viršūnė (angl. decision): Naudojama

atvaizduoti testinei sąlygai parenkant

veiklą viena iš galimų krypčių.

Apjungta viršūnė (angl. merge): Naudojama

sugrąžinti skirtingus sprendimo kelius

kartu, kurie buvo sukurti naudojant

sąlyginę viršūnę.

Išsišakojimo viršūnė (angl. fork): Yra

naudojama padalinti elgseną į kelias

lygiagrečias veiklas.

Sujungimo viršūnė (angl. join): Naudojama

sugražinti ir apjungti lygiagrečias veiklas.

Juosta “Swimlane”: tai būdas, kaip vienoje

juostoje sugrupuoti to pačio aktoriaus

atliekamas veiklas.

opc1 opc2

PAGRINDINIAI VEIKLŲ DIAGRAMOS ELEMENTAI

15

Page 16: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PAGRINDINIAI VEIKLŲ DIAGRAMOS

ELEMENTAI

Pradžia

Veikla

Veiklos rodyklė

Pabaiga

Komentaras

Veikla

Veiklos

pobūdis

16

Page 17: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Įdėti kortelę

Atlikti

operacijas

Pasiimti kortelę

pradžia

veikla

pabaiga

Pavyzdys

17

valdymo

rodyklė

Page 18: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

VEIKLŲ DIAGRAMOS ELEMENTAI

Sprendimo viršūnė (2 atvaizdavimo būdai)

Ar

A<B

Veikla

Taip Ne

Veikla

[A<B] [A>=B]Veikla Veikla

Veikla Veikla

18

Page 19: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

VEIKLŲ DIAGRAMOS ELEMENTAI

Suliejimo viršūnė (angl. merge)

VeiklaVeikla

Veikla 1 Veikla 2

Vei

kla

3

Veikla 1

Veikla 2

Vei

kla

3

19

Page 20: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Įdėti kortelę

Suvesti PIN

Pasiimti kortelę

Ar PIN

teisingas

Atlikti

operacijas

Taip Ne

Suliejimas

sprendimas

20

Pavyzdys

Page 21: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

VEIKLŲ DIAGRAMOS ELEMENTAI

Veiksmų išskyrimas (išsišakojimas)

Veiklų apjungimas

21

Patikrinti ar yra

prekė

Patikrinti ar

vartotojas yra

registruotas

Priimti

užsakymą

Prekės likutis

patikrintas

Vartotojo mokumas

patikrintas

Pateikti

užsakymą

Page 22: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Įdėti kortelę

Suvesti PIN

Užbaigti

operaciją

Ar PIN

teisingas

Pasirinkti

sumą

Taip Ne

išsišakojimas

Duoti pinigusAtiduoti

kortelęsujungimas

22

Pavyzdys

Page 23: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SWIMLANE

Swimlane juosta yra naudojama tada,

kai norime išskirti veiklas kiekvienam

atsakingai aktoriui(veikėjui) atskirai.

23

Vartotojas Sistema

Įvesti vartotojo

duomenis

Tikrinti vartotojo

duomenis

Page 24: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Klientas Bankomatas Bankas

“swimlane”

Įdėti kortelę

Suvesti PIN Ar PIN

teisingas

Pasirinkti

sumą

Parenkama

suma

Duoti pinigus

Atiduoti

kortelę

Užbaigti

operaciją

Taip

Ne

24

Page 25: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Klientas Bankomatas Bankas

Įdėti kortelę

Suvesti PIN Ar PIN

teisingas

Pasirinkti

sumą

Parenkama

suma

Duoti

pinigus

Atiduoti

kortelę

Užbaigti

operaciją

Taip

Ne

kortelė Pinigai objektas

25

Page 26: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Klientas Bankomatas Bankas

Įdėti kortelę

Suvesti PIN Ar PIN

teisingas

Pasirinkti

sumą

Parenkama

suma

Duoti

pinigus

Atiduoti

kortelę

Užbaigti

operaciją

Taip

Ne

Kortelė Pinigai

30sek.

laikas

26

Page 27: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Klientas Bankomatas Bankas

Įdėti kortelę

Suvesti PIN Ar PIN

teisingas

Pasirinkti

sumą

Parenkama

suma

Duoti

pinigus

Atiduoti

kortelę

Užbaigti

operaciją

Taip

Ne

Kortelė Pinigai

30sek.

Vagystė

Skambinti

policijai

Pertraukimo

zona

Priimtas įvykio

signalas

27

Page 28: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Klientas Bankomatas Bankas

Įdėti kortelę

Suvesti PIN Ar PIN

teisingas

Pasirinkti

sumą

Parenkama

suma S

Duoti

pinigus

Atiduoti

kortelę

Užbaigti

operaciją

Taip

Ne

Kortelė

30sek.

Įėjimo ir

išėjimo pin’ai

28

S=100

Gauti

pinigus

S=100

Page 29: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

Klientas Bankomatas Bankas

Įdėti kortelę

Suvesti PIN Ar PIN

teisingas

Pasirinkti

sumą

Parenkama

suma S

Duoti

pinigus

Atiduoti

kortelę

Užbaigti

operaciją

Taip

Ne

Kortelė

30sek.

Veiklos

pabaiga

29

S=100

Gauti

pinigus

S=100

Negrąžinti

kortelės

Page 30: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

UML SEKŲ DIAGRAMA

30

Page 31: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SEKŲ DIAGRAMA

Aktoriai

objektai

Gyvavimo trukmė

:Sistema:Sandelys

1: Įvesti prekes numerį (Nr.)

2:surasti(Nr.)

4:Informacija klientui(Info)

3: likutis(kiekis)

:Pardavėjas

atributai

31

Page 32: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

RODYKLIŲ REIKŠMĖS

Asinchroninis – kviečiantysis objektas

nelaukia, kol kviečiamas objektas atliks

veiksmus, susijusius su pranešimu.

Sinchroninis – kviečiantysis objektas

laukia kol kviečiamas objektas atliks

veiksmus, susijusius su pranešimu.

Reikšmės gražinimas – atsakymas į

kvietimą.

32

Page 33: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

33

OBJEKTŲ REIKŠMĖS

studentas :Studentas s:Studentas

Objektas, kurio

pavadinimas

studentas, tačiau

jo tipas

nenurodytas

Anoniminis

objektas, kurio

tipas yra

Studentas

s objektas,

kurio tipas yra

Studentas

Page 34: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

34

:bankomatas

Įdėti kortelę

Pareikalauti PIN kodo

Suvesti PIN kodą

Kodo patikrinimas

:Bankas

atsakymas

:vartotojas

... .... ...

Page 35: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SĄLYGINIS MODELIAVIMAS “ALT”

:tipas :tipas

Pranešimas ()

Pranešimas ()

....

[sąlyga 1]

alt

Pranešimas ()[else]

Pranešimas ()[sąlyga 2]

35

Page 36: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SĄLYGINIS MODELIAVIMAS. PAVYZDYS

:vartotojas :bankomatas

Užklausa(suma)

Pinigai (suma)

....

[sąsk.likutis>=suma]

alt

Likutis nepakankamas!

[else]

36

Page 37: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SĄLYGINIS MODELIAVIMAS “OPT”

:tipas :tipas

Pranešimas ()

....

[sąlyga ]

opt

Pranešimas ()

Jeigu sąlyga yra

tenkinama

išsiunčiami abu

pranešimai

37

Page 38: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

38

:destytojas :studentas

Užduotis

Įvertinimas(balas)

....

[balas<4]

opt

atsakymas

naujaUžduotis

atsakymas

Surašymas į

sistemą

SĄLYGINIS MODELIAVIMAS. PAVYZDYS

Page 39: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SĄLYGINIS MODELIAVIMAS “LOOP”

D:dekanas Studentų kursas

....

Studentų>0

Loop

Paspausti ranką

Abu pranešimai

siunčiami tol kol

tenkinama sąlygaĮteikti diplomą (diplomas)

39

Page 40: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

OBJEKTŲ SUKŪRIMAS/NAIKINIMAS

Objekto sukūrimas Objekto sunaikinimas

A:tipas

B:tipassukurti

A:tipas B:tipas

naikinti

40

Page 41: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

UML KLASIŲ DIAGRAMA

41

Page 42: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

KLASIŲ DIAGRAMOS

Nusako statinę sistemos struktūrą.

Aprašo klases ir sąryšius tarp jų.

Neaprašo dinaminių sistemos aspektų:

Kaip sistemos struktūra kinta jos veikimo metu,

Kaip keičiasi sąryšiai tarp objektų,

Dinaminiam aprašymui skirti kiti diagramų tipai.

42

Page 43: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

KLASĖ

43

Klasė

Atributai

Operacijos

Student

-name:string

-id: int

#getID():int

+getname():string

Account

-amount:int

-number:int

-number_of_account: int

createAccount()

deposit(amount:int):void

withdraw(amount:int):void

Nusako objekto būseną / charakteristikas

Aprašo veiksmus su objektu, keičia atributų reikšmes

Page 44: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PRIEINAMUMAS

Pavadinimas Žymė Reikšmė

private - Gali naudoti tik tos klasės objektai.

public + Gali naudoti visi objektai

package ~ Gali naudoti tik tame pačiame pakete

esantys objektai.

protected # Gali naudoti ir paveldinčių klasių

objektai.

44

Page 45: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SKIRTINGI ABSTRAKCIJOS LYGIAI

45

Page 46: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

SĄRYŠIAI TARP KLASIŲ

Generalizacija

Paveldėjimas (sąryšis tarp specializuoto ir

bendro tipo)

Realizacija(sąryšis tarp klasės ir sąsajos,

kurią jis realizuoja)

Asociacija

Nepriklausomybė

Agregacija

Kompozicija 46

Page 47: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PAVELDĖJIMAS

Nusako klasių hierarchinius

sąryšius

Visi atributai ir metodai

paveldimi iš tėvinės klasės

Tėvo klasė

Vaiko klasė

47

Transporto

priemonė

Lengvasis

automobilis

Page 48: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PAVELDĖJIMAS

Rodyklės tipas nurodo kokio tipo yra tėvas.

Klasė

Abstrakti klasė

Sąsaja (Interfeisas)

48

Page 49: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

49

Rectangle

-x:int

-y: int

+Rectangle(x:int, y;int, w:int, h:int)

+constrains()

+distance()

RShape

-w:int

-h: int

#RShape(w:int, h:int)

+constrains()

+distance()

+getArea():double

<<interface>>

Shape

+getArea():double

Page 50: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PAVELDĖJIMO SĄRYŠIO NAUDOJIMAS

Paveldėjimas nėra skirtas parodyti sąveikai tarp

klasių – tam tikslui naudojama asociacija arba

priklausomybė.

Bendru atveju paveldėjimas pasako, kad viena

klasė yra kitos klasės patobulinimas (vaiko klasė

gali turėti papildomų atributų ir metodų lyginant

su tėvo klase).

50

Page 51: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

REALIZACIJA

Nuo paveldėjimo skiriasi tuo, kad aprašyti metodai ne paveldimi, o turi būti realizuoti.

Klasė realizuoja atributus ir operacijas aprašytus sąsajos.

Taikoma ir abstrakčioms klasėmsAbstrakti klasė – tai klasė turinti nerealizuotų metodų (neturinčių kūno).

51

Page 52: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

ASOCIACIJOS

Nusako semantinį ryšį tarp klasių;

Dvipusis arba vienpusis ryšys;

Asociacija naudojama parodyti, kad konkrečios

klasės objektai naudojasi kitos klasės objektais(-u),

t.y. naudojasi tų objektų metodais ir atributais.

Asociacijos rodyklė rodo į tą klasę, kurios metodais

ar atributais yra naudojamasi:

52

Page 53: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

ASOCIACIJOS SAVYBĖS

1. Pavadinimas (Vairuoja)

2. Kardinalumas (1, 1..*, 0..*, 0)

* – 0,1 ar daugiau,

1 – tiksliai vienas,

2..4 – tarp 2 ir 4,

3...* – 3 ir daugiau.

3. Rolės (vairuotojas, kompanijos automobilis)

53

Page 54: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

ASOCIACIJŲ DAUGIALYPIŠKUMAS

Vienas su vienu

Vienas su daug

54

studentas IDCardturi1 1

studentas Egzaminasturi* 1

Page 55: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

ASOCIACIJOS TIPAI

Agregacija : “is a part of”

Kompozicija : “is entiraly made of”

Priklausomybė : “uses temporarily”

55

automibilis Variklis

Knyga Puslapis

1 1

1 *

Loterijos

bilietasRandom

Page 56: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

KOMPOZICIJA

Kompozicija parodo, kad klasės

dalyvaujančios kompozicijoje, negali viena be

kitos funkcionuoti.

56

Knyga Puslapis 1 *

Page 57: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

AGREGACIJA

Agregacija parodo, kad tam tikrais laiko

momentais (bet nevisada) vienos klasės

objektas(-ai) tampa kitos klasės objekto(-ų)

dalimi

57

Automibilis Variklis 1 1

Page 58: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

PRIKLAUSOMYBĖ

Priklausomybė naudojama netiesioginėms

priklausomybėms tarp klasių nurodyti:

Vienai klasei perduodamas kitos klasės objektas kaip

metodo argumentas

Naudojami statiniai klasės atributai ar metodai

58

Loterijos

bilietasRandom

Page 59: UML DIAGRAMOS - personalas.ktu.ltregmise/praktika/pavyzdziai/UML bakal.pdf · PLAČIAUSIAINAUDOJAMI UML DIAGRAMŲTIPAI 1. Sekųdiagramos: Aprašoobjektųsąveiką(pranešimųpagalba)

59

Klasių diagramos pavyzdys