380 likes | 497 Views
1 2 -es Kurzus OMT modellek és diagramok OMT metodol ógia OMT (Object Modelling Technique). 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:
E N D
12-es Kurzus • OMT modellek és diagramok • OMT metodológia • OMT (Object Modelling Technique)
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
OBJEKTUM MODELL (Objektumok) DINAMIKUS MODELL (Interakciók) FUNKCIONÁLIS MODELL (Átalakítások)
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 Generalization Diagram
ETD – Event Trace Diagram (az osztályok egy részének) Aktor 1 Osztály 2 Osztály 3 Osztály
STD - State Transition Diagram (csak dinamikával rendelkezö osztályoknak) Start esemény Állapot Stop
CCD – Class Communications Diagram üzenet Aktor Aktor Objektumok
DFD – Data Flow Diagram Departament 1 Adatfluxus Adatbázis Processz 1 Adat fluxus Departament 2 Processz 2 Adat fluxus
Előírások DFD szerkesztésre 1) Kontextus diagram és sok szülő és gyermek diagram. • 1 kontextus diagram szükséges és 0 számmal jelöljük • Szülő diagramot a gyerek diagram előtt készítjük • Minden diagramban kell legyen legalább egy eljárás. • Kontextus diagram: 1 feldolgozás, és legalább egy külső bemenet vagy egy külső kimenet. • Minden elemnek cimkéje van. • A feldolgozásnak (eljárás) kell legyen legalább egy bemeneti fluxusa és egy külső fluxusa. • 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 • A fluxusok struktúrája ugyanolyan, mint a filestruktúra • Egy file 2 feldolgozás között van
OMT- Metodológia Probléma leírasa (szöveg) STD Diagram ETD Diagram CAD Diagram DFD Diagram CCD Diagram
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
OMTAnalí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 program-dokumentáció
Analízis Célkitűzés: A probléma és a követelményekmegértése, a projekt helyesmegvalósításának érdekében Eredmény Felhasználó-orientálthelyes modellezése a problémának
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
Analízis • Analízis ésesemény modellezés - Problémaleírása arra szolgál, hogy azonosítsuk az osztályokat - Felépítjük az ETD diagramot - Felépítjüka CCD diagramot - Felépítjük a MGD diagramot 2) Felépítjük az analízis Modellt - Definiáljuka CAD diagramot - Definiáljukaz STD diagramot - Definiáljuka DFD diagramot
Asszociáció Asszociáció név Osztály1-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
További asszociációk Other associations Attribútum asszociáció Osztály 1 név Osztály 2 név Általános asszoc. Osztály 1 név Assz. név Osztály 2 név Osztály 3 név
Példa: Egy az egyhez (egy sofőrnek egy hajtási igazolványa van) Egy a zéróhoz vagytöbbhöz (egy busznak nincs utasa vagy több utasa van) Egy a zéróhoz vagyegyhez 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)
kliens bank A kölcsönzött összeg Kölcsönzött összeg kliens bank beruházás Részleg R. Kód . cég példák Attribútum asszociáció Általános asszociáció Asszociációminősítés
Név Attribútum Operáció CAD Diagram alkotóelemei: Osztályok Asszociációk Általánosítás Elemekre bontás SpecializálódásCsoportosítás
általános CAD-diagram Név 2 Név 1 Név 2.1 Név 2.2 Név 1.1 Név 1.2 Név 4 Név 5 Név 3 Név 6
Általános CAD diagram, példa elküldi
ETD Diagram komponesek: Általános ETD diagram Kezdeményező Osztályok Esemény Kezdeményező Osztály Osztály Osztály
ETD diagram példa kliens nyilvántartó megrendelő sora készletelem kliens megrendelő 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
STD Diagram komponensek : Stats Kezdeti állapot Végső áll. esemény/akció általánosSTD diagram
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 mennyiség 0alatt/üzenet: nem létező termék a készletben Elégtelen mennyiség készlet kisebb, mint a minimális/ beszerzés (ellátás)
DFD –Data Flow diagramkomponensek processz Adatfluxus Ellenőrzési fluxus Aktor Adatbázis
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
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
Kontextus diagram Egy kontextus diagram egy legfelsőbb szintű (0-s szintű)adatfluxus diagramCsak 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.
Processzek: • hitelkártha-ellenőrzés • tételek szállítása • ügyfél-számla kezelése Aktor: ügyfél Adatbázisban: ügyfél-számla infó Adatfluxusok: • megrendel • megrendelést visszautasít • megrendelést feldolgoz • tranzakciót feljegyez • E-mail nyugtázás • kiegészíti a számla- információkat • megmódosítja a számla- információkat Példa első szintű DFD-re
CCD –OsztályKommunikációs Diagram Komponensek: Osztályok Üzenetek Aktor
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
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)
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)