+ All Categories

OMT

Date post: 21-Mar-2016
Category:
Upload: langer
View: 41 times
Download: 0 times
Share this document with a friend
Description:
OMT. Rumbaugh. Object Modeling Techni c 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 - PowerPoint PPT Presentation
23
OMT Object Modeling Technic Objektový modelovací jazyk Rumbaugh
Transcript
Page 1: OMT

OMTObject Modeling TechnicObjektový modelovací jazyk

Rumbaugh

Page 2: OMT

Historie objektového přístupu1966 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žadovalypřelom 80. a 90. let řada metod pro OOA a OOD + CASENapř.: OMT, kniha : Object-Oriented Modeling and Design, Prentice Hall, 1991 (J. Rumbaugh (General Electric) a další)

Page 3: OMT

Historie objektového přístupu1994 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, Jacobson1996 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

Page 4: OMT

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)

Page 5: OMT

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.

Page 6: OMT

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í.

Page 7: OMT

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á).

Page 8: OMT

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

Page 9: OMT

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.

Page 10: OMT

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. •

Page 11: OMT

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

Page 12: OMT

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.

Page 13: OMT

Formování objektového modeluKrok 1a: Objevování a evidence objektů a tříd

– Seznam podstatných jmenKrok 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)

Page 14: OMT

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“)

Page 15: OMT

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í“)

Page 16: OMT

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

Page 17: OMT

Formování objektového modelu,

Krok 5: Objevování, evidence, analýza a selekce operací

Krok 6: Organizace a zjednodušení třídKrok 7: Ověření a iterativní zjemňování

modelu

Page 18: OMT

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 )

Page 19: OMT

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ě

Page 20: OMT

Formování funkčního modelu

• Vstupní data->transformace->výstupní data• Iterace prohlubování/dekompoziceKrok 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ínekKrok 5:Specifikace optimalizačních kriterii

Page 21: OMT

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.

Page 22: OMT

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.

Zadání:

Page 23: OMT

Doporučené weby

• OMThttp://objekty.vse.cz/Objekty/MetodikyANotace-OMT • OO, UML, analýza, metodologie http://mpavus.wz.cz/index.php

• UML - Unified Modeling Languagehttp://www.osu.cz/katedry/kip/aktuality/sbornik99/mohlanec1.html