UML ja lihtne metoodika selle kasutamiseks Andres Järviste
description
Transcript of UML ja lihtne metoodika selle kasutamiseks Andres Järviste
2.2. UML 1
UML ja lihtne metoodika selle kasutamiseksAndres Järviste
Mudel ja modelleerimiskeelMudel on lahendatava probleemi kirjeldus. Kasutada võib teksti, graafilisi kujutisi, teisi kokkulepitud esitusvahendeidModelleerimiskeel on mudelite kirjeldamise keelUML on standardsete mudelite hulk, mida kasutatakse OO projekti disainimiseksUML ei kirjelda nende mudelite realiseerimise viise
www.hot.ee/andresja/uml.htm
Oleg Mürk (2003 sügis):http://www.cs.ut.ee/~kiho/TVTkonspekt/OMyrk_UML.pdfhttp://www.cs.ut.ee/~olegm/teach/uml/
2.2. UML 2
UML-i eesmärgid
UML-i eesmärgid
• Luua meetodid, mille abil oleks võimalik siduda ideid, kontseptsioone, üldisi disainimeetodeid OO koodi loomisega.
• Luua mudel, mis oleks arusaadav nii inimestele, aga ka arvutitele. Arvuti peab olema võimeline genereerima mudelist automaatselt programmikoodi.
See saavutatakse rea mudelitega. Erinevad mudelid annavad esitavad erinevaid vaateid vaadeldavale projektile.
Mudelite vahel on loogiline järgnevus
2.2. UML 3
UML Diagrammid
Programmi funktsionaalsete omaduste kujutamiseksKasutuslood, kasutuslugude skeemid (Use Cases, Use Case diagrams)
Programmi staatilise struktuuri kujutamiseksKlassmudel (Class model)
Programmi dünaamika kirjeldamineJärgnevusskeemid, koostööskeemid (Sequence, Collaboration)Olekuskeemid (State)Tegevusskeemid (Activity)
2.2. UML 4
Kasutuslood
Enne projekti disainimist on vaja selgitada, millega loodav programmtegelema hakkab
Kõige parem meetod selleks: tulevaste kasutajate intervjueerimine
Tavaliselt leidub erinevaid tüüpe kasutajaid – tegutsejad (actors)
Tegutsejad ei ole konkreetsed inimesed vaid erinevat tüüpi kasutajateklassid.
Kasutuslugusid on võimalik koostatakse kahest vaatepunktist:1. Lähtudes kasutajavajadustest2. Lähtudes loodava süsteemi poolt sooritatavatest tegevustest.
Need võivad kattuda.
2.2. UML 5
Kasutuslood
KASUTUSLUGU:UUE KLIENDI LOOMINE
ÜlevaadeKasutusloo ülesandeks on luua uus kasutajaPõhitegutseja (Primary Actor)MüügiesindajaTeised tegutsejadPuuduvadLähtetingimusTegutseja soovib luua uut kasutajatLõpptingimusTegutseja poolt soovitud tegevus on sooritatud või katkestatudMõõdetav tulemus Klient on süsteemi lisatudSündmuste kulgTegutseja sisestab Klienti kirjeldava info (Nimi, Aadress, jne)
Alternatiivne sündmuste kulg, Uses, Extends
2.2. UML 6
Kasutuslugude skeem
Uue kasutaja lisamine
Kasutaja andmete muutmineMüügiesindaja
Tellimuse koostamine
Kasutuslugude skeem on staatiline vaade kasutuslugude jategutsejate vaheliste seoste kujutamiseks
2.2. UML 7
Kasutuslugude diagramm
Kasutuslugude diagrammi näide
2.2. UML 8
Klassiskeem
Klassi nimi
+ Public tüüpi muutuja nimi# Frend tüüpi muutuja nimi- Private tüüpi muutuja nimi
+ Public tüüpi meetodi nimi# Frend tüüpi meetodi nimi- Private tüüpi meetodi nimi
Assotsiatsioon
Tellimus Tellimuse ridaOmab
1 1...*
Agregatsioon
Tellimus
Tellimuse ridaOmab1 1...*
Klient0...1 Väljastatakse1
Klassiskeem on klasside ja nendevaheliste staatiliste seoste kirjeldus
2.2. UML 9
Klassidiagramm
2.2. UML 10
Olekuskeem
Kasutatakse objektide elutsüklite kirjeldamiseks
Üks klass, üks olekudiagramm
Näitab, millised olekud võivad objektil olla ja kuidas sündmused neid aja jooksul mõjutavad
Oleku nimi
Oleku nimi
muutuja:tüüp = algväärtus
entry/tegevusdo/toiming
exit/tegevussündmus/toiming(parameetrid)
sündmus(argumendid)[tingimus]/tegevus
2.2. UML 11
Olekuskeem
2.2. UML 12
Jada- ehk järgnevusskeem
I Objekt
II Objektloo
kustuta
tagasi
endalesuunamineteade
Kirjeldab, kuidas objektid omavahel suhtlevad. Vaadeldakse ajas, kuidas objektide vahel saadetakse ja võetakse vastu teateid
2.2. UML 13
Jada- ehk järgnevusskeem
2.2. UML 14
Koostööskeem
Koostööskeem vaatleb nii objektidevahelisi staatilisi seoseid (links) kui ka nendevahelist suhtlemist (interaction)
objekti nimi:klass
:klass objekti nimi
rolli nimi
1: lihtne teade()
1.1*: korduv teade()1.2: [tingimus] teade()
rolli nimi
2.2. UML 15
Tegevusskeem
Ekraanile teade“Printimine”
Postscripti faili loomine
Kliendid.PrindiKliendid()
Kustuta teade
[piisavalt kettaruumi]
Ekraanile teade“Ketas täis”
[ketas täis]
^Printer.Print(fail)
Tegevusskeem kirjeldab protsesse ja nende tulemusi
2.2. UML 16
Tegevusskeem
2.2. UML 17
Kasutuslugude tähtsus
Eelanalüüs –Tegutsejate määratlemine, nende vajaduste kirjeldamineAnalüüs – Intervjuud kasutajatega, kasutuslugude valmistamine nende alusel, kasutuslugude kooskõlastamine kasutajategaDisain – Kasutuslugudes kirjeldatud funktsionaalsete omaduste disainimineKodeerimine – Iga iteratsiooni käigus valmib määratud arvu kasutuslugudega realiseeritud funktsioonidTestimine – Kasutuslugudes kirjeldatud funktsionaalsus on aluseks süsteemi aktsepteerimisel