UML Diagramok ábrázolása Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT IRT 8-ik Kurzus UML Diagramok ábrázolása A) Strukturális diagramok-folytatás B) Viselkedési diagramok
Strukturális diagramok : Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT Strukturális diagramok : A1) Osztálydiagram ( Osztályok, Interfészek, Együttműködések) A2) Objektumdiagram A3) Komponensdiagram A4) Környezeti diagram (telepítési diagram) A5) Csomagdiagram
B) Viselkedési diagramok: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT B) Viselkedési diagramok: B1) Use Case diagram (Használati esetek diagramja) B2) Aktivitási diagram B3) Állapotdiagram-állapotgép diagram UML Diagramok Abrazolasa A) Sztrukturálási diagramok: B) Kornyezeti diagramok
A1) Osztálydiagram , A2) Objektumdiagram Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT A1) Osztálydiagram , A2) Objektumdiagram Osztály/objektum Társaság 1..* 1..* Részleg (osztály) Attribútumok Módszerek Felelősségek Irodák Interfész Attribútumok, módszerek láthatósága Publikus +,Protected #, privát -
Osztálydiagram
objektumdiagram
Egy-sok kapcsolat megvalósítása. A konténer Angster Erzsébet, Objektumorientált tervezés és programozás, Akadémiai Nyomda Martonvásár, 2003 pp. 96
A konténer osztály metódusai size():int a konténer méretét adja vissza add(anObj:Object) objektum hozzaadása a konténerhez first(): Object a tárolás szerinti első objektum referenciája next(anObj:Object):Object az anObj-hoz képest a következő objektum visszaadása prev(anObj:Object):Object az anObj-hoz képest az előző objektum visszaadása remove(anObj:Object) az anObj objektumot törli a konténerből clear() az összes objektumot törli a konténerből
Felhasználói felület Graphical User Interface(GUI) Def: egy berendezés azon elemeinek összessége, amelyek a felhasználóval való kommunikációért felelősek, és a berendezés vagy program irányítását, vezérlését teszik lehetővé. Belső vezérlésű gépeknél (szoftveres irányításnál) Parancssoros felhasználói felület (CLI) a parancsbevitel billentyűzettel történik, üzenetkijelzés monitoron szöveges formában Szöveges felhasználói felület (TUI) a monitoron szöveges feliratú karaktercellák helyettesítik a nyomógombokat és egyéb grafikus elemeket Grafikus felhasználói felület (GUI) a képernyőn szöveges és grafikus elemek együttesen jelennek meg
Interfész (pl. Java) Interfész a Java nyelvben egy absztrakt típus, amelyet arra használunk, hogy részletezze egy specifikus használatát azon interfésznek, amelyiket implementálni kell. Az interface kulcsszóval deklaráljuk és tartalmaz: művelet aláírást konstans deklarációkat változók deklarációja csak (static and final) típusúak lehetnek
Interfész (pl. Java) Def: Az interfész (interface) a műveletek deklarációjának egy olyan csoportja, amely egy osztály vagy komponens szolgáltatásait fejezi ki, leírja az elem kívülről látható viselkedését. (de NEM valósítja meg ) A komponens a rendszer fizikailag is megjelenő, működőképes, más komponensekkel helyettesíthető eleme, amely logikai elemek (osztályok, együttműködés, interfészek) fizikai reprezentációja [RM]
Egy létező interfészről Egy rendezési algoritmus – elvárja, hogy összehasonlítható objektumok listáját (vektorát) adjuk meg. Ezt a Comparator interfésszel adjuk meg int compareTo(Object O1, Object O2) metódus visszatérő értékei Negatív egész – ez az objektum kisebb, mint a hasonlított objektum Zéró - az objektum egyenlő a hasonlított objektummal Pozitív egész – az objektum nagyobb, mint a hasonlított objektum
Comparable interfész public class compareSzakasz implements java.util.Comparator{ public compareSzakasz() { } public int compare(Object OB, Object OB2){ double elso=((szakasz)OB).mennyiaHossza(); double masodik=((szakasz)OB2).mennyiaHossza(); if(elso-masodik>0){return 1;} else if(elso==masodik){return 0;} else{return -1;}
A szakasz, pont és összehasonlítás osztálydiagramja
Architektúraterv implementáció és működtetés Hogy működő szoftverrendszert kapjunk, a modellelemeket további absztrakciós lépéseket alkalmazva le kell képezni a fizikai megvalósítás szintjére A fizikai tervezés feladata a különböző komponensek kapcsolatának és struktúrájának a működés mechanizmusának valamint a működtető környezetnek a meghatározása. “KOMPONENSek: a rendszer újrafelhasználható elemei, amelyek egy fizikailag is létező gyűjteményt képeznek és amelyekből logikai tervek megvalósításakor építkezni lehet. A komponensek különböző készültségi fokon vannak jelen a rendszerben: fordításidejű, szerkesztésidejű és futtatható komp.”
A3) Komponensdiagram (logikai) Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT A3) Komponensdiagram (logikai) Interfész 2 Osztaly 3 Osztaly 1 Osztaly
A komponens diagramja a szakasznak
A termékek (artifacts) a szoftverfejlesztési folyamat egyes állomásainak fizikailag is létező eredményei, olyanok,amelyek valamilyen fizikai elemen (hardver, csomópont) ténylegesen megvalósíthatók. Ezek a termékek lehetnek modelldokumen-tumok, forrásfájlok, scriptek és végrehajtó állományok. Erőforrások: Fizikai egységek meghatározása Kommunikációs útvonalak (communication paths) rögzítése (összeköttetések, protokollok) A végrehajtási környezet előírása. Az architektúratervezési munkában két diagramot használunk: Komponensdiagram Telepítési/működtetési diagram
Komponensmodellezés UML szemantikájában komponens minden olyan fizikai dolog, melynek alapvető rendeltetése a rendszer működésének bizto-sítása, az interfészek megvalósítása, a rendszer működéséhez szükséges, illetve az eredményként keletkező elemek (adattáblák, dokumentumok, fájlok) implementálása. Komponens a szoftverrendszer autonóm, önállóan is működőké-pes, interfészeket igénylő és interfészeket megvalósító eleme, amely objektumokegy összetartozó csoportjának állapotát és viselkedését fejezi ki. A komponens rejtett tartalommal rendelkezik és helyettesíthető minden más objektummal, amely azonos funkcionalitással rendelkezik.
A4) Környezeti (Telepítési) diagram (fizikai) Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT A4) Környezeti (Telepítési) diagram (fizikai) Csomópont Komponensek
Könyvtári alkalmazás telepítési diagramja
Telepítési diagram Forrás: http://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html
Forrás: http://www.agilemodeling.com/artifacts/deploymentDiagram.htm
B1) Use Case (Használati esetek) diagram Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT B1) Use Case (Használati esetek) diagram Aktorok Használati esetek
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT B4) Állapotdiagram Kezdeti állapot Akciók Szekvenciális elágazás Elágazás (Concurrent fork) Összefolyás (Concurrent join) Végállapot
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT Aktivitási diagram Időben függőleges, térben vízszintes Példa: 1. Részleg 2. Részleg 3. Részleg I D Ő T Ė R