Rumbaugh
OMT
Object Modeling Technic
Objektový modelovací jazyk
Historie objektového přístupu
1966 první objektově orientovaný jazyk Simula (O.-J. Dahl, K.
Nygaard)
1967
Simula67 : třídy, dědičnost, polymorfizmus
70. léta
první čistě objektový programovací jazyk Smalltalk : pojem
objekt (Xerox)
80. léta
éra smíšených jazyků Turbo Pascal, C++ : umožňovaly
programovat objektově, ale tento přístup nevyžadovaly
přelom 80. a 90. let
řada metod pro OOA a OOD + CASE
Např.: OMT, kniha : Object-Oriented Modeling and Design,
Prentice Hall, 1991 (J. Rumbaugh (General Electric) a další)
Historie objektového přístupu
1994 J. Rumbaugh se přidává k G. Boochovi a firmě Rational
Software
1995 Unified Method verze 0.8 (G. Booch, J. Rumbaugh)
1995 I. Jacobson (Objectory) se přidává k G. Boochovi a J.
Rumbaughovi (pokud se někde dočtete o The Three Amigos či
Los Tres Buddies, tak vězte, že je to přezdívka tria
Booch+Rumbaugh, Jacobson
1996 UML 0.9, 0.91
do prací na UML se zapojují např.: Digital Equiment, HP, i-Logix,
IBM, MCI, Microsoft, Oracle, TI, Unisys
1997 rational : 1.0, 1.1
OMG "adoptovalo" UML
UML 1.0 (OMG) = UML 1.1 : standard, většinou nazývaný 1.1
OMT - analýza
• Objektový model - OM
– Rovina tříd/objektů nebo-li reprezentace
pojmů ( přístroj, role, atd.)
• Dynamický model - DM
– Funkcionální popis chování systému(scénáře)
– STD - State Transition Diagram
• Funkční model - FM
– Toky dat (DFD)
Objektový model
(OM - Object Model)
• Objektový model obsahuje definice tříd a
jejich vztahů společně s atributy a
metodami (proto by byl asi lepší překlad
názvu modelu jako model tříd, název
objektový model může být terminologicky
zavádějící). Objektový model zachycuje
statickou strukturu systému.
Dynamický model
(DM - Dynamic Model)
• Dynamicky model zachycuje dynamiku
objektů a změny jejich stavů. Zabývá se
chováním objektů v čase a tokem zpráv a
kontroly mezi objekty. Dynamický model
zahrnuje stavové diagramy (STD - State
Transition Diagram) pro každou třídu nebo
pro důležité části návrhu. Dále pak
diagramy interakcí. Součástí DM je také
celková mapa událostí (Event Trace
Diagram) a diagram událostí.
Funkční model
(FM - Functional Model)
• Funkční model pak popisuje funkční
závislosti systému, je podobný diagramu
datových toků. Popisuje, co systém dělá
(nezabyvá se tím, jak to dělá).
Fáze vývoje objektově
orientovaného IS
• analýza
 porozumět a namodelovat část reality, kterou bude systém obsahovat
 vytvořit objektový, dynamický a funkční model
• systémový design
 Dekomponování systému na podsystémy
 určit celkovou architekturu systému
• objektový design
 Optimalizací modelů analýzy z hlediska konceptu implementace
 Návrh datových struktur na základě analýzy a architektury systému
• Implementace
 Programován vlastní počítačový systém
 Vlastní vytváření funkčního programu/kódu, někdy bývá generován přímo z CASE systémů
• testování
 průběžně ve fázích inkrementálního vývoje
Tvorba objektového modelu
•
•
•
•
•
•
•
•
•
•
Vytvořit slovní popisy modelovaného problému.
Určit třídy objektů.
Zrušit nepotřebné a chybné třídy.
Připravit knihovnu znalostí (data dictionary)
Určit asociace mezi třídami.
Zrušit nepotřebné a chybné asociace.
Určit atributy tříd.
Zrušit nepotřebné a chybné atributy.
Určit vazby dědičnosti.
Projít vše znova a určit nedostatky.
Tvorba dynamického modelu
•
•
•
•
•
•
Určit use cases a připravit scénáře typických
interakčních sekvencí.
Určit události mezi objekty a připravit mapu
událostí pro každý scénář.
Vytvořit diagram událostí systému.
Vytvořit stavové diagramy pro třídy s
významným dynamickým chováním.
Zkontrolovat konzistenci a úplnost událostí
sdílených mezi stavovými diagramy.
Tvorba funkčního modelu
• Určit vstupní a výstupní hodnoty.
• Vytvořit diagramy datových toků pro
vyjádření funkčních závislostí.
• Popsat každou funkci, co dělá.
• Určit omezení.
• Specifikovat optimalizační kriteria
Lexikální analýza
• Analýza OMT disponuje velmi silným nástrojem pro popis
systému a tím je lexikální analýza.
• Je to metoda, pomocí které je možné strukturovaně, téměř
strojově, sestavit diagramy na základě slovního popisu.
• Lexikální analýza se provádí tak, že z daného textu vybereme
nejdříve podstatná jména – což jsou adepti na třídy třídového
diagramu UML – a z tohoto seznamu následně vybereme ta,
která se stanou třídami našeho právě se formujícího modelu.
• Podobným způsobem vytvoříme ze sloves asociace a operace.
• A z přídavných jmen atributy tříd.
Formování objektového modelu
Krok 1a: Objevování a evidence objektů a tříd
– Seznam podstatných jmen
Krok 1b: Analýza a selekce sestrojeného seznamu
objektů
– Vyloučení nesprávných nebo nepotřebných objektů
•
•
•
•
•
•
•
Nadbytečné objekty (synonyma)
Irelevantní třídy (beze vztahu k řešenému problému)
Neurčité objekty (příliš široký vyznám „význam“)
Atributy ( „objekty“ popisující vlastnosti jiných objektů)
Operace
Role (nedůležité role nějakých objektů)
Implementační konstrukty (algoritmus, GUI)
Formování objektového modelu,
Krok 2: Příprava slovníku dat
– Sémantický popis objektů, vztahů, atributů,… v
systému
– Vytváří se postupně
Krok 3a: Objevování a evidence vazeb
– V textu odpovídají slovesům a slovesným frázím
•
•
•
•
•
Umístění (fyzická pozice, symbolická podřízenost)
Cílené akce („řídí“, „nakládá“)
Komunikace („vysílá odezvu“)
Vlastnictví a dispozice („zaměstnává“)
Rozdělení zodpovědnosti („zajišťuje“)
Formování objektového modelu,
Krok 3b:Analýza a selekce sestrojeného
seznamu vazeb
– Vazby mezi zrušenými objekty
– Nadbytečné vazby
– Irelevantní vazby
– Operace (akce jako operace v objektech)
– Implementační vazby
– Trojné vazby ( volba )
– Odvozené vazby („zjednodušování“)
Formování objektového modelu,
Krok 4a:Objevování a evidence atributů
– Vlastnosti individuálních objektů ( váha délka, datum, atd. )
– Přídavná jména a jejich skupiny
– Cílené kladení otázek na atributy
Krok 4b: Analýza a selekce atributů
–
–
–
–
–
–
–
–
Atributy objektů, které byly zrušeny
Objekty
Kvantifikátory vazeb
Některá jména
Identifikátory
Atributy vazeb
Interní hodnoty
Heterogenní atributy
Formování objektového modelu,
Krok 5: Objevování, evidence, analýza a
selekce operací
Krok 6: Organizace a zjednodušení tříd
Krok 7: Ověření a iterativní zjemňování
modelu
Formování dynamického
modelu
• Sekvence událostí systému ( tedy mohou to být i
fragmenty )
• Diagramy interakcí objektů, stavové diagramy
• „Scénáře“
Krok 1: Objevování a evidence událostí
probíhajících mezi objekty
– Seznam objektů
– Seznam událostí
Krok 2: Sestrojení scénáře
– Sekvence událostí popisující modelovaný fragment
chování systému. Graf (události, objekty, čas )
Formování dynamického modelu,
Krok 3: Konstrukce stavového diagramu
– Každý stav má(nemusí) specifikované tři skupiny událostí
•
•
•
•
„Entry“ – událost, která systém do stavu přivedla
„Exit“ – událost, která se uděje při opouštění stavu
„Do“ – aktivita, která se bude během pobytu ve stavu provádět
„Action“ – událost, která se provede jenom za určité podmínky
Krok 4: Ověření konzistence
– Každá událost má svého odesílatele a příjemce
– Stavy, kromě počátečních a koncových mají své předchůdce a
potomky/následovníky
– Vzájemná korespondence jednotlivých diagramů vůči sobě
Formování funkčního modelu
• Vstupní data->transformace->výstupní data
• Iterace prohlubování/dekompozice
Krok 1:Formování datových modelů a vstupů a
výstupů
Krok 2:Kreslení funkčních závislostí
Krok 3:Popis funkcí
Krok 4:Nalezení omezujících podmínek
Krok 5:Specifikace optimalizačních kriterii
Příklad - Garáž
Navrhněte IS pro placenou garáž, která má implementovaný automatický
provoz. Při vjezdu do garáže si zákazník, pokud je náhodným zákazníkem
z automatického terminálu po stisku tlačítka „Návštěvnická karta“ vezme
dočasnou návštěvnickou kartu, po odebrání karty se otevře závora.
Pokud je zákazník stály, tak má kartu stálého zákazníka, kterou si musí před
vjezdem do garáže koupit v kanceláři majitele garáže, která je mimo budovu
garáže. Stálý zákazník při vjezdu vloží svou kartu do terminálu. Terminál
ověří totožnost karty, a pokud je karta v pořádku vrátí ji zákazníkovi a otevře
se závora. V průběhu ověřování platnosti karty se na displeji ukáže výše
kreditu na kartě.
V prostorách garáže je automatický terminál, kde je možné dobít kredit a tím
zaplatit parkovné. Stálý zákazník dobíjí podle toho jestli je to potřeba.
Náhodný zákazník musí vždy dojít k terminálu a zaplatit parkovné.
Při odjezdu zákazník vloží svou kartu, pokud se jednalo o dočasnou kartu a
bylo zaplaceno parkovné, tak si jí terminál nechá v sobě a otevře se závora.
Pokud se jedná o stálého zákazníka a výše kreditu je dostatečná, tak kartu
po odečtení potřebné platby vrátí a otevře se závora.
Zadání:Příklad:
•
•
•
•
Prodej lístků v ND
Národní divadlo, jako každoročně vydává plán představení na sezónu v daném roce.
Tento plán je volně distribuován (např. na letácích, bilbordech, internetu, atd.).
Potenciální divák si po přečtení toho plánu rozhodne, na jaké představení se
případně půjde podívat. Jako první věc kterou musí udělat je, že si za rezervuje nebo
přímo zakoupí v lístek v některých možných pokladnách distributorů lístků.
Rezervace lístků je v podstatě jednoduchá. Stačí přijít k pokladně nebo na
detašované pracoviště, slušně pozdraví a požádá paní za pokladnou o možnost
rezervace lísku na předem vybrané představení v určitý den a v určitou hodinu, kdy
se ono představení hraje. Paní pokladní po zadání těchto údajů do počítače ji systém
oznámí/neoznámí počet volných místenek a jejich lokální umístění v sále. Budoucí
divák si vybere umístění a počet míst. Dále je požádán o své jméno, příjmení,
adresa, telefon, atd. Pak následuje upozornění na cenu rezervovaných lístků a
možnost platby. Divák, také vyslechne upozornění o automatické zrušení rezervace
48 hodin před představením pokud si divák lísky nezaplatí-nevyzvedne v pokladně
ND nebo je nějakého důvodu zrušeno představení.
Prodej lístků probíhá obdobným způsobem. Budoucí divák přistoupí k pokladně,
slušně pozdraví a požádá paní za pokladnou o možnost koupit si lístky na
představení, přičemž zadá název, datum a čas přestavení. Paní pokladní zjistí
v počítači volná místa a udělá nabídku volných míst v určitém sále. Divák si vybere
umístění a počet míst (vstupenek). Paní pokladní udělá objednávku a vytiskne
lístky. „ Divák“ zaplatí a převezme vstupenky.
Lístky je možno zakoupit na všechny scény ND. Přičemž cena vstupenek je určena
představením, časem a umístění sedadla.
Doporučené weby
• OMT
http://objekty.vse.cz/Objekty/MetodikyANotace-OMT
• OO, UML, analýza, metodologie
http://mpavus.wz.cz/index.php
• UML - Unified Modeling Language
http://www.osu.cz/katedry/kip/aktuality/sbornik99/mohlanec1.html
Descargar

UML