170 likes | 581 Vues
Oleg Mürk (2003 sügis): http://www.cs.ut.ee/~kiho/TVTkonspekt/OMyrk_UML.pdf http://www.cs.ut.ee/~olegm/teach/uml/. UML ja lihtne metoodika selle kasutamiseks Andres Järviste. Mudel ja modelleerimiskeel Mudel on lahendatava probleemi kirjeldus.
E N D
Oleg Mürk (2003 sügis): http://www.cs.ut.ee/~kiho/TVTkonspekt/OMyrk_UML.pdf http://www.cs.ut.ee/~olegm/teach/uml/ UML ja lihtne metoodika selle kasutamiseksAndres Järviste Mudel ja modelleerimiskeel Mudel on lahendatava probleemi kirjeldus. Kasutada võib teksti, graafilisi kujutisi, teisi kokkulepitud esitusvahendeid Modelleerimiskeel on mudelite kirjeldamise keel UML on standardsete mudelite hulk, mida kasutatakse OO projekti disainimiseks UML ei kirjelda nende mudelite realiseerimise viise www.hot.ee/andresja/uml.htm 2.2. UML
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
UML Diagrammid Programmi funktsionaalsete omaduste kujutamiseks Kasutuslood, kasutuslugude skeemid (Use Cases, Use Case diagrams) Programmi staatilise struktuuri kujutamiseks Klassmudel (Class model) Programmi dünaamika kirjeldamine Järgnevusskeemid, koostööskeemid (Sequence, Collaboration) Olekuskeemid (State) Tegevusskeemid (Activity) 2.2. UML
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: • Lähtudes kasutajavajadustest • Lähtudes loodava süsteemi poolt sooritatavatest tegevustest. • Need võivad kattuda. 2.2. UML
Kasutuslood KASUTUSLUGU:UUE KLIENDI LOOMINE Ülevaade Kasutusloo ülesandeks on luua uus kasutaja Põhitegutseja (Primary Actor) Müügiesindaja Teised tegutsejad Puuduvad Lähtetingimus Tegutseja soovib luua uut kasutajat Lõpptingimus Tegutseja poolt soovitud tegevus on sooritatud või katkestatud Mõõdetav tulemus Klient on süsteemi lisatud Sündmuste kulg Tegutseja sisestab Klienti kirjeldava info (Nimi, Aadress, jne) Alternatiivne sündmuste kulg, Uses, Extends 2.2. UML
Uue kasutaja lisamine Kasutaja andmete muutmine Müügiesindaja Tellimuse koostamine Kasutuslugude skeem Kasutuslugude skeem on staatiline vaade kasutuslugude jategutsejate vaheliste seoste kujutamiseks 2.2. UML
Kasutuslugude diagramm Kasutuslugude diagrammi näide 2.2. UML
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 Klassiskeem Assotsiatsioon Omab Tellimus Tellimuse rida 1 1...* Agregatsioon Tellimuse rida Omab 1 1...* Tellimus 1 0...1 Klient Väljastatakse Klassiskeem on klasside ja nendevaheliste staatiliste seoste kirjeldus 2.2. UML
Klassidiagramm 2.2. UML
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 sündmus(argumendid)[tingimus]/tegevus entry/tegevus do/toiming exit/tegevus sündmus/toiming(parameetrid) Olekuskeem Kasutatakse objektide elutsüklite kirjeldamiseks Üks klass, üks olekudiagramm 2.2. UML
Olekuskeem 2.2. UML
Jada- ehk järgnevusskeem I Objekt loo II Objekt teade endalesuunamine tagasi kustuta Kirjeldab, kuidas objektid omavahel suhtlevad. Vaadeldakse ajas, kuidas objektide vahel saadetakse ja võetakse vastu teateid 2.2. UML
Jada- ehk järgnevusskeem 2.2. UML
Koostööskeem objekti nimi:klass 1: lihtne teade() 1.1*: korduv teade() 1.2: [tingimus] teade() rolli nimi :klass objekti nimi rolli nimi Koostööskeem vaatleb nii objektidevahelisi staatilisi seoseid (links) kui ka nendevahelist suhtlemist (interaction) 2.2. UML
Ekraanile teade “Printimine” Ekraanile teade “Ketas täis” Kustuta teade Tegevusskeem [ketas täis] Kliendid.PrindiKliendid() [piisavalt kettaruumi] ^Printer.Print(fail) Postscripti faili loomine Tegevusskeem kirjeldab protsesse ja nende tulemusi 2.2. UML
Tegevusskeem 2.2. UML
Kasutuslugude tähtsus Eelanalüüs –Tegutsejate määratlemine, nende vajaduste kirjeldamine Analüüs – Intervjuud kasutajatega, kasutuslugude valmistamine nende alusel, kasutuslugude kooskõlastamine kasutajatega Disain – Kasutuslugudes kirjeldatud funktsionaalsete omaduste disainimine Kodeerimine – Iga iteratsiooni käigus valmib määratud arvu kasutuslugudega realiseeritud funktsioonid Testimine – Kasutuslugudes kirjeldatud funktsionaalsus on aluseks süsteemi aktsepteerimisel 2.2. UML