Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
10-es Kurzus • OMT modellek és diagramok • OMT metodológia OMT (Object Modelling Technique)
1
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
OMT Modellek és diagramok:
3 Modell és 6 Diagram Statikus modell : 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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
OBJEKTUM MODELL
(Objektumok)
DINAMIKUS MODELL
(Interakciók)
FUNKCIONÁLIS MODELL
(Átalakítások) 3
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
CAD – Class Association Diagram (minden osztálynak)
5
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
ETD – Event Trace Diagram (az osztályok egy részének) Aktor
1 Osztály
2 Osztály
3 Osztály
6
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
STD - State Transition Diagram (csak dinamikával rendelkezö osztályoknak) Start
esemény Állapot Stop
7
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
CCD – Class Communications Diagram
üzenet
Aktor
Aktor
Objektumok 8
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
DFD – Data Flow Diagram
Osztály1 Adatfluxus
Adatbázis Processz 1 Adat fluxus
Osztály 2 Processz 2 Adat fluxus
9
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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 10 9) Egy file 2 feldolgozás között van
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
Probléma leírasa
OMT- Metodológia
(szöveg) ETD
CAD
Diagram
Diagram
STD Diagram
DFD CCD
Diagram
Diagram 11
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
OMT Analízis • • • • • • •
Célkitűzés, Eredmény 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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
Analízis Célkitűzés: 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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 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ó
Funkcionális modell, komplex operációk
7 Ellenőrzés
DFD
Konzisztencia 17 analízis
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
Asszociáció Osztály1-név
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
További asszociációk Other associations
Attribútum asszociáció Osztály 1 név
Általános asszoc. Osztály 1 név
Osztály 2 név
attribútumok
Assz. név
Osztály 2 név
Osztály 3 név 19
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
CAD Diagram alkotóelemei: Osztályok
Név
Asszociációk
Attribútum
Operáció
Általánosítás
Elemekre bontás
Specializálódás
Csoportosítás 22
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
általános CAD-diagram Név 2
Név 1
Név 1.1
Név 1.2
Név 3
Név 4
Név 2.1
Név 2.2 Név 5
Név 6 23
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
Általános CAD diagram, példa Kliens
Rendelés
elküldi
Név, cím kifizeti
Készpénz kliens
Rendelés száma kiszámít
Számla kliens
Rendelési elem
Raktározás
Mennyiség
Egységár Min menny.
kiszámít
Beveszi a rendelésbe
Számlaszám Kifizeti
kifizeti
24
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
ETD Diagram komponesek: Kezdeményező
Esemény
Osztályok
Általános ETD diagram Kezdeményező
Osztály
Osztály
Osztály
25
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
ETD diagram példa kliens megrendelő
kliens nyilvántartó
megrendelő sora
készletelem
kliensinfót olvas rendel részletes kliensinfó
megrendelési termék-elemet készít
termék a készletben részletes készletelem
összköltsége a termék-elemnek megrendelő összköltsége
26
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
STD Diagram komponensek : Stats
Kezdeti állapot
Végső áll.
esemény/akció
általános STD diagram
27
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
DFD –Data Flow diagram komponensek processz Adatfluxus
Ellenőrzési fluxus
Aktor
Adatbázis 29
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
DFD –Adatfluxus diagram
30
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
CCD –Osztály Kommunikációs Diagram Komponensek: Osztályok
Üzenetek Aktor
35
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 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