3. gyakorlat¶
A gyakorlat anyaga¶
Projektterv: https://github.com/gaborantal/szte-ovrt/blob/master/gyak02/ProjPlan-HU-MINTA-07.pdf
Sztereotípusok¶
- Sztereotípusok a UML kiterjesztéseként szolgálnak.
- A segítségükkel domain v. platform specifikus terminológiát használhatunk a diagramokon
- Pl. hálózati topológiákat leíró diagramoknál nagyon sokat segíthet…
- Jelölés:
<<sztereotípus>>vagy ikon a jelölendő elem fölé - Több sztereotípus esetén:
<<s1, s2, ...>> - Pl.: metódusoknál:
<<getter>>,<<constructor>> - Figyelem! Az
<<interface>>nem sztereotípus, az egy előre definiált classifier!
UML Extensions for Software Development Processes¶
- Osztálydiagramon sztereotípusok feltüntetése
- Osztály neve felett
- Osztályok felfedezése
- Nehéz feladat!
- ajánlatos sztereotípusonként így kezdeni: boundary, control, entity
<<Boundary>> (határ) osztályok:¶
- rendszer környezete és belseje közötti kommunikációt valósítják meg
- interfészt képeznek a felhasználó vagy más rendszer (Szereplő) fel
- felhasználói interfész is ide tartozik
<<Control>> (vezérlő) osztályok:¶
- használati eset(ek) szekvenciális viselkedését valósítják meg
- "használati eset végrehajtását" végzi
- általában egy szereplő/használati eset párhoz hozzátartozik egy Control osztály
- entitás osztályhoz tartozzon a funkcionalitás, vagy új vezérlő osztályba kerüljön?
<<Entity>> (entitás) osztályok:¶
- olyan információt/viselkedést modellez, amely általában hosszú életű
- valós világ entitásai, kevésbé érzékenyek a környezetük változásaira
- általában alkalmazás-függetlenek
- jó kiindulás lehet: Use Case leírásokban a feladatkiosztások főnevei
Szekvencia diagram¶
-
Objektum-kölcsönhatásokat mutat be az idő függvényében
-
A szcenárióban szereplő objektumokat és osztályokat ábrázolja a közöttük küldött üzenetekkel
-
Idő-orientált nézet
-
Az üzenetek (Message) a szcenárió funkcionalitását valósítják meg
-
Használati esetekkel szoros kapcsolatban állnak (általában a használati eset nézetnek a részei)
Package diagram¶
Deployment diagram¶
-
Rendszer környezetét írja le
-
Elemei (2.2 UML szabvány alapján):
- Artifactok
-
Node-ok
-
Tipikus kapcsolatok:
- Association
- Dependency
- Generalization
- Deploy
-
Manifest
-
A projektben itt lehet egy jövőbeli elképzelést is megadni
-
Egy nagyobb architektúra esetén hogyan épülne fel a rendszerünk
-
Az adott idő alatt egy ilyen méretű architektúrát nem kell kiépíteni (és ennek elég nagy költsége is lenne)
Hasznos anyagok¶
-
UML szabvány honlapja: http://www.uml.org/
-
Jelenleg legfrissebb UML szabvány: http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML
-
OMG Introduction to UML: http://www.omg.org/gettingstarted/what_is_uml.htm
-
Borland UML tutorial: http://edn.embarcadero.com/article/31863
-
Sparx System UML tutorial: http://www.sparxsystems.com/uml-tutorial.html
-
IBM UML introduction: http://www.ibm.com/developerworks/rational/library/769.html
-
UML a Wikipédián: http://en.wikipedia.org/wiki/Unified_Modeling_Language
Feladatok¶
-
Use case diagram:
-
ATM terminál használata, 3 aktor: bank, karbantartó, felhasználó
-
használati esetek (ezeket kéne okosan összehúzogatni, include, extends, stb):
-
pénzfelvétel bizonylattal/bizonylat nélkül
-
azonosítás
-
tranzakció
-
egyenleg lekérése
-
telefon feltöltés
-
hibás PIN kód
-
karbantartás
-
pénzkazetták cseréje
-
-
-
Szekvencia diagram:
-
ATM terminál használata, 3 objektum között: FelhasználóKontroller, ATMKontroller, BankKommunikáció
-
Műveletek, amiket ábrázolni kell: pinBeker(), pinEllenoriz(), pinAutentikacio(), penzFelvet(), osszegBeker(), kazettakEllenorzese(), bankiTranzakcio(), nyugtaNyomtatasa(), penzKiadas()
-