37
Kaaviotekniikoista (erityisesti UML) Kari Systä 30.9.2013 9/30/2013 Jotu2013/KSY 1

Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Kaaviotekniikoista (erityisesti UML)

Kari Systä 30.9.2013

9/30/2013 Jotu2013/KSY 1

Page 2: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Tiedotettavaa

• Tämän viikon harjoitukset salissa TC217!

• Tarvitaan ”lintulan” tunnukset; kaavakkeet ja postilaatikko salin TC217 edessä.

• Ensi viikolla vierailuluento

9/30/2013 Jotu2013/KSY 2

Page 3: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Kaaviotekniikoista

• Mahdollistavat todellisuuden havainnollistamisen ja yksinkertaistamisen

• Sallivat eri abstraktiotasot, laajuudet ja näkökulmat

• Auttavat ymmärtämään sovellusaluetta

• Ohjaavat kysymään oikeita kysymyksiä

• Helpottavat kommunikointia koskien järjestelmää ja sovellusaluetta

• Dokumentoivat asioita

9/30/2013 Jotu2013/KSY 3

Page 4: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Historiaa • UML = Unified Modeling Language • Yhdistelmä viimeisten 30-40 vuoden aikana kehitetyistä notaatioista (ER,

SA/RT, SDL,..) • Standardoi piirtotavan • UML ei ole menetelmä, vaan kaavioidenpiirtostandardi • Päätekijät (the "three amigos"): Grady Booch, Jim Rumbaugh and Ivar • Jacobson (www.rational.com) • OMG:n standardoima

– 1997 version 1.1 – 1998-2003 Fix releases 1.2-1.5 – 2.8.2003: kokonaan uusittu versio 2.0 – uusin versio (2.3.) keväällä 2010

• Laaja standardi, käytännön kannalta erot 1.1-version ja 2.0 version välillä ovat melko vähäisiä

• Tosiasiallinen standardi työkaluissa, kirjallisuudessa, teollisuudessa

• Tällä kurssilla pikku detaljeille ei ole merkitystä

9/30/2013 Jotu2013/KSY 4

Page 5: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013 5

Use case

driver

Handle tree

Cut log

Sequence diagram

pine:Tree :Log

Driver

Cut<<create>>

calcullate

FeedsetMeasures

Collaboration diagram

pine:Tree

:Log

Driver

1. Cut

2. Feed

1.1. <<create>>

1.2. calculate

2.1. setMeasures

Activity diagram

H

H

Select tree

variety

Catch hold of tree

Fall the tree

Feed&saw

State machine diagram

(State chart)

H

H

Saw idle

Saw

operational

Cut /

^Start chain

CutOK /

^StopChain

Class/Package/Object diagrams

LogTree

1..*

pine: Tree :Tree

Component diagram

Production

ProductionH.U.I.

LogTree

Production

Deployment diagram

<<Laptop>>

H.U.I.

Production

H.U.I.

<<processor>>

Main Unit

<<CAN>>

Kaaviotyypit (UML 1.x)

popularity: 3, complexity: 1 popularity: 2, complexity: 1 popularity: 3, complexity: 1 popularity: 3, complexity: 3

popularity: 1, complexity: 2 popularity: 2, complexity: 2 popularity: 2, complexity: 3 popularity: 2, complexity: 3

Use case diagram

Käyttötapauskaavio

Sijoittelukaavio Komponenttikaavio Tilakaavio Aktiviteettikaavio

Yhteistyökaavio Tap.sekv.kaavio Luokkakaavio

Jotu2013/KSY

Page 6: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013 6

UML 2.0 kaaviotyypit Diagram

Structure diagram

Class

Diagram Object

Diagram

Deployment

Diagram

Component

Diagram

Composite

Structure

Diagram

Behavior Diagram

Interaction Diagram

State Machine

Diagram

Use Case

Diagram

Activity

Diagram

Package Diagram

Timing

Diagram

Interaction

Overview

Diagram

Collaboration

Diagram

Sequence

Diagram

Jotu2013/KSY

Page 7: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013 7

Esimerkki tyypillisestä käytöstä

• Selvitellään asiakkaan ongelmaa (asiakasvaatimuksia) • Tuotetaan sovellusalueen luokkakaavioita (analysis

level, problem level, problem domain) • Käytetään käyttötapauksia selvittelemään kuvausta

asiakasvaatimuksista järjestelmävaatimuksiksi. • Iteroidaan, protoillaan... • Tuotetaan toiminnallinen määrittely, joka dokumentoi

asiakasvaatimukset, järjestelmävaatimukset ja käyttötapaukset.

• Määritellään arkkitehtuuri (alijärjestelmät) ja tärkeimmät rajapinnat (luokkakaaviot, tapahtumasekvenssikaaviot)

• Määritellään alijärjestelmät (luokkatasolle) ja luokkien rajapinnat (luokka- ja tapahtumasekvenssikaaviot)

Huom. Kaavioilla ei juurikaan päästä

käsiksi ei-toiminnallisiin

ominaisuuksiin.

Jotu

oliot,

ohj-

arkki

-

teht.

Jotu2013/KSY

Page 8: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Kaksi eri käyttöä

• Ongelman ja ympäristön kuvaaminen

• Tuoteutettavan järjestelmän kuvaaminen

9/30/2013 8 Jotu2013/KSY

Page 9: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013 9

Kaavioiden käyttötavoista • Kaavioita voidaan käyttää (mm.) esitutkimuksessa,

määrittelyssä ja suunnittelussa. – Esitutkimus ja määrittely: sovellusalueen käsitteet (domain

object model), järjestelmän rajaus, analysis object model, järjestelmän tietosisällön määrittely (käsitekaavio, conceptual model), usein myös tietokannan rakenne.

– Suunnittelu: ohjelman rakenne (design object model), tietokannan rakenne (esimerkiksi relaatiokannan graafinen esitys).

– Kaavio dokumentoi "sanaston", jolla asioista voi keskustella. • Kaavio kertoo, millaiset tilanteet ovat mahdollisia. • Kaavio ohjaa kysymään oikeita kysymyksiä. • Voidaan käyttää (rajoitetusti) koodin generointiin

(luokkamäärittelyt, tietokannan luonti). • Voidaan käyttää takaisinmallinnukseen (reverse

engineering).

Jotu2013/KSY

Page 10: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013 10

Kaavioiden ilmaisuvoimasta

• Kaikkien sallittujen tilanteiden olisi oltava kaaviossa mukana?

• Kaikkia rajoituksia ei aina pysty ilmaisemaan => Lisätään rajoitteita ja kommentteja.

• Kaavioita voi testata hakemalla siitä vastauksia kysymyksiin ja piirtelemällä kuvia esimerkkitilanteista.

• Mahtavatkohan asiakkaat ymmärtää kaavioita?

Jotu2013/KSY

Page 11: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Työkaluista • Jos et osaa paperilla ja kynällä ei välineestä ole apua. • Välineet voidaan karkeasti jakaa case-välineisiin ja piirto-ohjelmiin, käytännössä

rajanveto ei ole helppoa: Rational Rose, Rational Software Architect, Prosa, Rhapsody, Together, Enterprise Architect, MagicDraw, Visio …

• CASE-välineet – Hinta yleensä korkea (2-20k euroa). – Perustuvat tietokantaan, johon talletetaan kaikki malliin liittyvät tiedot, kaaviot ovat – vain “näkymiä” tietokantaan. – “Ymmärtävät” kaavioiden semantiikkaa ainakin jossain määrin. – Reverse Engineering+Forward Engineering = Round Trip Engineering. – Tukevat dokumentointia. – Tukevat ryhmätyötä. – Demot ja pienet ohjelmaesimerkit antavat usein liian ruusuisen kuvan. – Oppimiskynnys korkeahko.

• Piirto-ohjelmat (esim. MS Visio) – Hinta muutamia satoja eroja. – Ainakin Visiossa melko hyvä UML-tuki, lähestyy CASE-välineen ominaisuuksia. – Hyvä valinta, jos ei tarvitse CASE-välineen tietokannan tuomia lisäetuja. – Julkisohjelmiakin löytyy verkosta (esim. ArgoUML)

• Tällä kurssilla saa piirtää millä haluaa, saatavissa MagicDraw, Rose ja RSA – MagicDraw:n käyttöä harjoitellaan harjoituksissa

9/30/2013 Jotu2013/KSY 11

Page 12: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Käyttötapauskaaviot

driver

Handle tree

Cut log

Log Tree

1..*

pine: Tree :Tree

pine:Tree :Log

Driver

Cut <<create>>

calcullate

Feed setMeasures

H

H

Saw idle

Saw operational

Cut / ^Start chain

CutOK / ^StopChain

9/30/2013 Jotu2013/KSY 12

Page 13: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Ohjaaja

Laitoksen johtaja

Lisää uusi

opiskelija

Etsi ehdot

täyttävät

opiskelijat

Kirjoita

lausunto

Tee

palaverimuistio

Tarkastele

tilastoja

Lisää/poista

ohjaaja

Lisää uusi

kenttä

Dipparekisteri

Page 14: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

KT2

KT3

Aktori1

<<include>>

KT1

<<extend>>

Järjestelmä X

KT4

Aktori2

<<actor>>

SAP

Page 15: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Tilakaaviot

Käytetään esimerkiksi

• elektromekaanisten laitteiden toiminnan mallintamiseen

• perinteinen oliomallintamiseen ja olioiden elinkaarien selvittelyyn

• algoritmien ja liiketoimintasääntöjen kuvaamiseen

• liiketoimintaprosessien selvittelyyn.

9/30/2013 Jotu2013/KSY 15

Page 16: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Tilan nimi

entry/action

exit/action

do/action

eventName/action

eventName/defer

eventName(par)[guard]/action

tila

Notaatiosta

9/30/2013

Jotu2013/KSY 16

Page 17: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Soitin

Alusta

do/luukku auki

Soita Auki

play/luukku kiinni, aloita soitto

stop tai levy loppu/avaa luukku

Virtakatkaisin

pause/keskeytä soitto

play/jatka soittoa

Yksinkertainen esimerkki

9/30/2013

Jotu2013/KSY 17

Page 18: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013

Soitin

Alusta

do/luukku auki Soita

Auki

play

stop

Virtakatkaisin

play

Pause

Hierarkkiset tilat

Jotu2013/KSY 18

Page 19: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013

Soitin

Alusta

Do

/luukku auki Soita

Auki

play

stop

Virtakatkaisin

play

Pause

Rinnakkaiset tilat

Pois

Herätys

Päällä

Jotu2013/KSY 19

Page 20: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013

Notaation "hienouksia“

State name

entry/action

exit/action

do/action

eventName/action

eventName/defer

Alkutila

Lopputila

Suoritetaan tilaan

saavuttaessa

Suoritetaan tilasta

poistuttaessa

Suoritetaan tilassa

ollessa

Suoritetaan tapah-

tuman sattuessa

Estetty tapahtuma

eventName(par)[guard]/action

Vahti: tilasiirtymä

mahdollinen jos tosi

toiminto

Jotu2013/KSY 20

Page 21: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

aktiviteettikaaviot

9/30/2013

Jotu2013/KSY 21

avaa

do/avaa ilmoittautuminen

jouten

notOK

OK-ilmoitus

sulje ilmoittautuminen

Kurssi::ilmoittaudu/

Kurssi::tarkasta esitiedot /ilmLkm=0

[else]

[OK]/ilmLkm=ilmLkm+1

do/lisää yhteys käyttäjän

ja kurssin välille

do/informoi käyttäjää

when (time=ilmPäättymisAika)/

do/sulje ilmoittautuminen

do/informoi

käyttäjää

Page 22: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Rinnakkaisuus aktiviteettikaavioissa

9/30/2013

Valmistele tietokannat

Koosta raportti

Haku kannasta 3 Haku kannasta 2 Haku kannasta 1

Jotu2013/KSY 22

Page 23: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Sekvenssikaaviot

9/30/2013

Jotu2013/KSY 23

Page 24: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013

Esimerkki tapahtumasekvenssistä

elämänlanka

: opiskelija : ohjaava professori

: ohjaaja työpaikalla

Tiedekunta

aiheanomus allekirjoitettu aiheanomus

aihe OK

valmis työ

valmis työ

lausunto

lausunto

hyväksyminen, arvosana

Aihetta pohdiskellaan työpaikalla proffan kanssa

Dippatyötä tehdään, palavereita ohjaajien kanssa

Molemmat ohjaajat tekevät lausunnon

tiedekuntaneuvoston kokous hyväksyy työn

Jotu2013/KSY 24

Page 25: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013

Notaatio

: Sovellus : Tdstojärjestelmä : Laiteajuri : Levyohjain

lue tdston tavut 1200-1209

palauta lohko 523

palauta halutut 10 tavua

Päättele tavunumeroista

vastaavan levylohkon numero

(esimerkiksi 523)

Muunna 523 levypinnan, uran ja sektorin

numeroksi (esimerkiksi (1, 36, 56))

Odota keskeytystäSiirrä lukipää oikealle

uralle

Odota oikeaa sektoria, lue

sektoriOdota keskeytystä

lue lohko 523

käynnistä seek uralle 34

i/o-keskeytys

käynnistä sektorin luku

i/o-keskeytys

Asynkroninen

kommunikointi

Funktiokutsu, synkroninen

kommunikointi

Paluu funktiosta

(ei pakollinen)

”Focus of control”

Jotu2013/KSY 25

Page 26: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013

…notaatio

: C2

x: C1

op1(x)

op2()

true

sisäinen kutsu

olion tuhoaminen

(myös stereotyyppi

<<destroy>>)

olion luonti,

voi ilmaista myös

stereotyypillä

<<create>>

: C2

<<create>>

<<destroy>>

TAI:

op3(x)

takaisinkutsu (call back)

Jotu2013/KSY 26

Page 27: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

: View

: Controller

formInit checkScreen

: C2

<<create>>

<<destroy>>

initializationOK

getTemperatures

dataChange

changedData

finalizeForm

9/30/2013

Jotu2013/KSY 27

Page 28: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013

alt [Negotiation OK]

[Negotiation not OK]

•Operaattorit

•ref: viittaus alikaavioon

•alt: if-then-else

•opt: if-then

•break: hyppy ulos

•loop: silmukka

•par: rinnakkainen suoritus

•seq: heikko järjestys (voi

tapahtua muussakin

järjestyksessä)

•strict: tarkasti määritelty

järjestys

•neg: kielletty

kommunikointitapa

•critical: kriittinen alue

•ignore, consider, assert

sd Varmista esitiedot

Customer Sales System

signOn

ref Negotiate

ref handlePurchase

ref handleFailure

loop [while Negotiations left]

Jotu2013/KSY 28

Page 29: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Käsitekaaviot

• Tiedon ja käsitteiden kuvaamiseen

9/30/2013 Jotu2013/KSY 29

Page 30: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Esitetään useimmiten graafisesti

• Oliokaavio

• Luokkakaavio (UML)

• ER-kaavio (entity-relationship kaavio)

• Tietoyhteyskaavio

• Käsitekaavio

• Kohdekaavio

Jotu2013/KSY 30 9/30/2013

Page 31: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Käsitekaavio (UML:n luokkakaavio)

Nimi

Ominaisuudet

Metodit

Nimi

Ominaisuudet

Metodit

nimi

lkm lkm

Jotu2013/KSY 31 9/30/2013

Page 32: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Esimerkki

Kurssi

-luentosali -luentoajat -vastuuhenkilö

Opintojakso

-opMaara -kuvaus

*

esitietovaatimus

*

1

*

osallistuu

*

*

kuvaa

Suoritus

-arvosana -pvm

Opiskelija

-nimi -osoite

-opiskelijaNro

*

* -ilmPäättymisAika

-ilmLkm

9/30/2013 Jotu2013/KSY 32

Page 33: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013 33

navigointisuunta

Esimerkki

assosiatioluokka

lukusuunta

UML 2.x

navigointi

Undefined Navigable direction

Non-navigable direction

suoritus

arvosana

ov-määrä

pvm

opettaja

nimi

osoite

henkilöNro

opintojakso

kuvaus

kurssi

kurssitunnus

periodit

lukukausi

0..1

0..*

0..1

0..* luennoi

1 0..* 1 0..*

<kuvaa

tentti

1

0..*

1

0..*

kuuluu

Opiskelija

nimi

op.nro

osoite

ilmoittaudu()

0..* 1..* 0..* 1..*

osallistuu

0..*

0..*

0..*

0..*

suoritus

Jotu2013/KSY

Page 34: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

9/30/2013 34

Periyttäminen, yleistäminen, erikoistaminen (kuva 6.3)

luotollinen tili

luottoraja

otto()

tili

tiliNro

saldo

otto()

pano()

saldoKysely()

1

0..1

1

0..1

käyttötili

1

0..1

1

0..1

{xor}

luotollinen tili

luottoraja

otto()

tili

tiliNro

saldo

otto()

pano()

saldoKysely()

käyttötili

tili

tiliNro

saldo

otto()

pano()

saldoKysely()

luotollinen tili

luottoraja

otto()

käyttötili

TAI: rajoite

Jotu2013/KSY

Page 35: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Tietovuokaaviot

• Tietovuokaaviot olivat yleisiä ennen UML:ää

• Niillä on edelleen ”faninsa”

9/30/2013 Jotu2013/KSY 35

Page 36: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Vaara-anturi

Liukuhihna

Maalisäiliö

Operaattori

Käsi

MaaRo

käynnistä

maaliloppu

ohjaus

Page 37: Kaaviotekniikoista (erityisesti UML)systa/JOTU2013/06NotaatiotJaUMLWeb.pdf• UML = Unified Modeling Language ... – uusin versio (2.3.) keväällä 2010 • Laaja standardi, käytännön

Vaara-alue

Liukuhihna

Maalisäiliö

Operaattori

Käsi

siirrä hihnaa

5*

vaara

käynnistä

maaliloppu

käden

ohjaus

asema

tilanne

komento

ohjaus = [seis | siirrä | käsikäyttö | automaatti] status = [seis | seis&siirtää | käsikäytössä | maalaa | maalaa&siirtää]

ohjaa robottia

1*

Käyttöliit- tymä

2*

maalaa manuaali-

sesti

3*

maalaa automaat-

tisesti

4*

maalausreitti

ohjaus

e/d

e/d

status

valmis

pysäytä hihna

6*