10-es Kurzus OMT modellek és diagramok OMT metodológia OMT (Object Modelling Technique) 1
3 Modell és 6 Diagram Statikus modell : OMT Modellek és diagramok: Statikus leírása az összes objektumnak (Név, tulajdonságok, Operációk) Dinamikus modell: Egyes objektumok időbeni változását írja le Lehetséges hogy egyes objektumoknak saját életciklusa van Funkcionális modell: Az adatok átalakítása, operációk, műveletek leírása A közlést és hírt generáló diagramok leírása 2
OBJEKTUM MODELL (Objektumok) DINAMIKUS MODELL (Interakciók) FUNKCIONÁLIS MODELL (Átalakítások) 3
Modellek diagramjai Statikus Modell : CAD Class Association Diagram Dinamikus Modell: ETD Event Trace Diagram STD - State Transition Diagram Funkcionális Modell: DFD Data Flow Diagram adatfluxus diagram CCD Class communications Diagram MSG Message Generation Diagram 4
CAD Class Association Diagram (minden osztálynak) 5
ETD Event Trace Diagram (az osztályok egy részének) Aktor 1 Osztály 2 Osztály 3 Osztály 6
STD - State Transition Diagram (csak dinamikával rendelkezö osztályoknak) Start Állapot esemény Stop 7
CCD Class Communications Diagram üzenet Aktor Aktor Objektumok 8
DFD Data Flow Diagram Osztály1 Processz 2 Processz 1 Adat fluxus Adatfluxus Adatbázis Osztály 2 Adat fluxus 9
Előírások DFD szerkesztésre 1) Kontextus diagram és sok szülő és gyermek diagram. 1) 1 kontextus diagram szükséges és 0 számmal jelöljük 2) Szülő diagramot a gyerek diagram előtt készítjük 3) Minden diagramban kell legyen legalább egy eljárás. 4) Kontextus diagram: 1 feldolgozás, és legalább egy külső bemenet vagy egy külső kimenet. 5) Minden elemnek cimkéje van. 6) A feldolgozásnak (eljárás) kell legyen legalább egy bemeneti fluxusa és egy külső fluxusa. 7) A fluxus feldolgozások között vagy file és eljárás között vagy eljárás és külső bemenet, külső kimenet között van 8) A fluxusok struktúrája ugyanolyan, mint a filestruktúra 9) Egy file 2 feldolgozás között van 10
Probléma leírasa (szöveg) ETD Diagram OMT- Metodológia CAD Diagram CCD Diagram STD Diagram DFD Diagram 11
Szakaszok Probléma leírása :A probléma definíciója az alkalmazó szemszögéből Analízis- a probléma modelljének felépítése Architektúra: Nagyvonalú tervezés felhasználva az analízis modellt Objektum tervezés: Algoritmusok meghatározása és statikus, dinamikus és funkcionális modellek aprólékos kidolgozása Implementáció: A programok elkészitese egy objektumorientált programozási nyelvben, fordítás, tesztelés 12
Célkitűzés, Eredmény OMT Analízis Diagramok, típusok? Asszociációk. Példák. CAD, ETD, STD grafikus elemek CCD, DFD grafikus elemek Analízishez tartozó tevékenységek Felhasznált irodalom: Ficsor Lajos az OMT áttekintés, Miskolci Egyetem, Általános Informatika Tanszék és SmartDraw programdokumentáció 13
Célkitűzés: Analízis A probléma és a követelmények megértése, a projekt helyes megvalósításának érdekében Eredmény Felhasználó-orientált helyes modellezése a problémának 14
Diagramok ETD - Event Trace Diagram CCD Class Communication Diagram MGD- Message Generation Diagram CAD Class Association Diagram STD - State Transition Diagram DFD Data Flow Diagram 15
Analízis 1) Analízis és esemény modellezés - Probléma leírása arra szolgál, hogy azonosítsuk az osztályokat - Felépítjük az ETD diagramot - Felépítjük a CCD diagramot - Felépítjük a MGD diagramot 2) Felépítjük az analízis Modellt - Definiáljuk a CAD diagramot - Definiáljuk az STD diagramot - Definiáljuk a DFD diagramot 16
Tevékenységek Ábrázolás Leírás Eseményanalízis és modellezés 1 Probléma leírása Text Probléma megfogalmazása 2 Esemény analízis ETD Esemény foragókönyv 3 Esemény modellezés CCD, MGD Üzenetek és kölcsönhatások Analízis Model fejlesztés 4 Objektum modell definíció CAD Objektum modell, minden osztály 5 Dinamikus modelldefiníció STD Dinamikus modell ugyanarra 6 Funkcionális modelldefiníció DFD Funkcionális modell, komplex operációk 7 Ellenőrzés Konzisztencia analízis 17
Osztály1-név Asszociáció Asszociáció név Osztály 2 -név Egy az egyhez Egy az egyhez vagy többhöz Egy a zéróhoz vagy többhöz 18
Other associations Attribútum asszociáció További asszociációk Osztály 1 név Osztály 2 név Általános asszoc. Osztály 1 név attribútumok Assz. név Osztály 2 név Osztály 3 név 19
Példa: Egy az egyhez (egy sofőrnek egy hajtási igazolványa van) Egy a zéróhoz vagy többhöz (egy busznak nincs utasa vagy több utasa van) Egy a zéróhoz vagy egyhez sem (egy alkalmazottnak vagy nincs vagy van egy hajtási igazolványa) Egy az egyhez vagy többhöz (egy gépkocsinak egy vagy több sofőrje van) 20
példák Attribútum asszociáció kliens bank A kölcsönzött összeg Általános asszociáció kliens Kölcsönz ött összeg bank beruházás Asszociáció minősítés cég R. Kód. Részleg 21
CAD Diagram alkotóelemei: Osztályok Név Attribútum Operáció Asszociációk Általánosítás Elemekre bontás Specializálódás Csoportosítás 22
általános CAD-diagram Név 1 Név 2 Név 1.1 Név 1.2 Név 2.1 Név 2.2 Név 3 Név 4 Név 5 Név 6 23
Általános CAD diagram, példa Kliens Név, cím elküldi Rendelés Rendelés száma kifizeti kiszámít Készpénz kliens Kifizeti Számla kliens Számlaszám kifizeti Rendelési elem Mennyiség kiszámít Raktározás Egységár Min menny. Beveszi a rendelésbe 24
ETD Diagram komponesek: Kezdeményező Esemény Osztályok Általános ETD diagram Kezdeményező Osztály Osztály Osztály 25
ETD diagram példa kliens megrendelő kliens nyilvántartó megrendelő sora készletelem rendel kliensinfót olvas részletes kliensinfó megrendelési termék-elemet készít termék a készletben megrendelő összköltsége összköltsége a termék-elemnek részletes készletelem 26
STD Diagram komponensek : Stats Kezdeti állapot Végső áll. esemény/akció általános STD diagram 27
készlet elegendő/betenni a megrendelésbe Megfelelő mennyiség készlet 0 alatt/üzenet nem létező termék a készletben készlet-elem nincs raktáron Elégtelen mennyiség mennyiség 0alatt/üzenet: nem létező termék a készletben készlet kisebb, mint a minimális/ beszerzés (ellátás) 28
DFD Data Flow diagram komponensek processz Adatfluxus Ellenőrzési fluxus Aktor Adatbázis 29
DFD Adatfluxus diagram 30
Adatfluxus (DFD) diagram External entity (külső entitás) Rendszeren kívüli objektumok Forrása és célállomása a rendszer bemenetiés kimeneti információinak 31
Többrétegű DFD Egy folyamat-csomópont a legmagasabb absztrakciós szintű diagramban kifejthető azon célból, hogy részletesebb DFD-ket kaphassunk Először a kontextus diagramot rajzoljuk meg, azt követik különböző rétegződésű adatfluxus diagramok 32
Kontextus diagram Egy kontextus diagram egy legfelsőbb szintű (0-s szintű) adatfluxus diagram Csak egy folyamatot tartalmaz (0-s processz) amelyik általánosítja az egész rendszer működését a külső entitásokkal kapcsolatban. 33
Példa első szintű DFD-re Processzek: 1. hitelkártha-ellenőrzés 2. tételek szállítása 3. ügyfél-számla kezelése Aktor: ügyfél Adatbázisban: ügyfél-számla infó Adatfluxusok: 1. megrendel 2. megrendelést visszautasít 3. megrendelést feldolgoz 4. tranzakciót feljegyez 5. E-mail nyugtázás 6. kiegészíti a számlainformációkat 7. megmódosítja a számlainformációkat 34
CCD Osztály Kommunikációs Diagram Komponensek: Osztályok Üzenetek Aktor 35
A fejlesztés fázisai 1. Analízis a rendszer lényeges elemeinek a leírása a feladat szöveges leírásának elemzése 2. Rendszertervezés Alrendszerekre bontás A megvalósítás stratégiai döntései erőforrások elosztása alrendszerek közötti kommunikáció 3. Objektum tervezés (object design) A három modell összhangba hozása Adatszerkezetek és algoritmusok 4. Implementáció A modell átalakítása egy programozási nyelvbe 36
Analízis: az objektum modell Osztályok azonosítása (szövegben a főnevek utalnak oszályokra) Megfelelő osztályok kiválasztása. Törlendők: -Redundáns osztályok -Felesleges osztályok -Pontatlan osztályok -Attribútumok -Műveletek -Szerepkörök -Implementációs elemek Osztályok leírása Asszociációk azonosítása (igék vagy igei kifejezések utalhatnak rá) - Fizikai elhelyezkedés (része, alkotja) -Tárgyas igékkel kapcsolatos cselekvések (vezeti, leveszi) -Kommunikáció (üzeni, átadja) -Birtoklás (van neki, hozzátartozik) -Előírt feltételeknek való megfelelés (tag, alkalmazásban áll) 37
Megfelelő asszociációk kiválasztása. Többszörös asszociációk átalakítása Asszociációk szemantikájának ellenőrzése Megfelelő elnevezés Szerepkör nevek megadása Számosság meghatározása Minősített asszociációk kiválasztása Hiányzó asszociációk feltárása Attribútumok azonosítása (melléknevek, birtokos szerkezetek) Megfelelő attribútumok kiválasztása -Az attribútum osztályhoz vagy asszociációhoz kapcsolódik? -Ha egy adat önálló létezéssel rendelkezik, az objektum Általánosítás. A több osztályban előforduló attribútumok kiemelése, származtatási hierarchia kialakítása Elérési utak tesztelése. Működéshez szükséges asszociációk megvannak-e Modulok meghatározása. Az egymáshoz szorosan kapcsolódó elemek csoportosítása (komponens diagram) Iterációs finomítás (ha a rendszer összetettsége indokolja) 38