Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk
Klassiskeem (class diagram) Klass (class) atribuut (attribute) meetod (method) Liides (interface) meetod (method) Viidatavus (visibility) avalik (public) kaitstud (protected) privaatne (private) Oleg Mürk 2
Seos (relation) üldistus (generalization) realisatsioon (realization) kooslus (association) rekursiivne agregeerimine, koostamine (shared aggregation, composite aggregation) mitmesus (multiplicity) navigeeritavus (navigability) kooslusroll (role) sõltuvus (dependency) Koostöö, koostööroll (collaboration, collaboration role) Pakett (package) Oleg Mürk 3
Objektiskeem (object diagram) Objekt (object) aktiivne (active) passiivne (passive) Link (link) Oleg Mürk 4
Poseidon i eripärad Stereotüübid & andmetüübid saab lisada mudeli ja paketi paneelil. Elementide lipud (modifiers) on valitud üsna juhuslikult ning ei ole vastavuses UML standardiga. Klassiskeemide puuduvad võimalused: kooslusklass (association class) geneeriline klass (generic class) täpsustatud kooslus (qualified association) kolmendkooslus (ternary association) tõkked (constraints) Oleg Mürk 5
Klassiskeemide rakendused Talitluse modelleerimine (business modeling) Analüüs (analysis) Projekteerimine (design) Oleg Mürk 6
Klassiskeemide koostamine Tuvastada objektid, linkid Tuvastada klassid, kooslused Tuvastada klasside atribuudid, meetodid Tuvastada heirarhiad pärilushierarhiad agregeerimishierarhiad (Käitumise spetsifitseerimine) Valideerimine Oleg Mürk 7
Klassiskeemide koostamine: märkused Valida õige detailsuse aste Valida õige abstraktsiooni tase Klassiskeemidel väljendatakse struktuuri, mitte käitumist Kõik sõltub klassiskemi rakendustest Oleg Mürk 8
Tehnikad Inimteksti analüüs nimisõnad: objektid & klassid & atribuudid verbid: linkid & kooslused & meetodid Tüüpilised klassid/objektid: materiaalsed asjad seadmed rollid, inimesed kohad, organisatsioonid sündmused interaktsioonid mõisted Oleg Mürk 9
Tehnika: CRC kaardid Stsenaariumide simuleerimine CRC kaartide sektsioonid: klassinimi (class) vastutususala (responsibility) koostöö (collobration) Oleg Mürk 10
Tehnika: Boundary-Control-Entity Rakendusvaldkond: analüüs & projekterimine Süsteemi põhilised aspektid: informatsioon (information) käitumine (behavior) liides välismaailmaga (boundary) Klasside stereotüübid: rajaklass (boundary class) juhtklass (control class) olemiklass (entity class) Oleg Mürk 11
Tehnika: analüüsi & projekteerimise mustrid (analysis & design patterns) Muster - taaskasutatav tehnika: A pattern is a named nugget of instructive information that captures the essential structure and insight of a successful family of proven solutions to a recurring problem that arises within a certain context and system of forces. The Gang of Four Patterns: Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. 1995. Tähistus UML is: koostöö, koostööroll (collaboration, collaboration role) Näide: Model-View-Controller (MVC) Oleg Mürk 12