Hogyan hozzunk létre egy UML-diagramot
Osztálykapcsolatok – az UML-től a kódtól
Bevezetés
Az UML osztályok diagramja lehetővé teszi az osztályok és az esetek közötti kapcsolatok kijelölését. Mire van szükségük? Szükségük van például az alkalmazott terület modelljére. De hogyan tükröződik a kapcsolat a programkódban? Ez a kis tanulmány megpróbál válaszolni erre a kérdésre – mutassa meg ezt a kapcsolatot a kódban.
Először próbáljuk tisztázni, hogy az UML-ben lévő osztályok közötti kapcsolat hogyan tartozik egymáshoz. A különböző források felhasználásával sikerült létrehozni a következő strukturális rendszert, bemutatva a kapcsolatok faját:
Rizs. 1 – Az osztályok közötti kapcsolatok
Az egyesületek navigációval rendelkeznek: kétirányú vagy egyirányú, jelezve a kommunikációs irányt. Vagyis az egyes egyesületek bármely típusának még mindig két alfaja van, amelyek nem jelennek meg az ábrán.
1. Általánosítás
Tehát célunk, hogy létrehozzunk egy UML-diagramot az osztályok (osztály modell), majd egy objektumorientált kódban tükrözze.
Alkalmazott régióban egy bizonyos vállalkozás személyzeti osztályát veszünk, és elkezdjük építeni a modelljét. Például használjuk a Java nyelvét.
Az általánosítás összefüggése örökség. Ezt a hozzáállást minden egyes tankönyvben minden OOP nyelven figyelembe kell venni. A Java nyelvnek egyértelmű végrehajtása egy osztály kiterjesztése (kiterjesztései) egy másik.
Rizs. 2 – Az általánosítás aránya
Az “ember” osztály absztrakt, és “alkalmazott” (alkalmazott) több specializálódott. A “munkavállaló” osztály örökli az “ember” tulajdonságait és módszereit.
Próbáljuk meg írni kódot erre a diagramra:
2. Egyesület
A Szövetség az osztálypéldányos objektumok közötti kapcsolatokat mutatja.
Bináris
A modell hozzáadta az IDCARD osztályt, amely a munkavállaló azonosító kártyáját (SKIP) képviseli. Minden alkalmazottnak csak egy azonosító kártya, kommunikációs teljesítmény 1 – 1.
Rizs. 3 – Bináris Egyesület
Osztályok:
A program testében tárgyakat hozunk létre és társítjuk őket:
Az Employee osztály egy kártyán mezőben, amely egy IDCard típusú, azonos osztályba tartozó módszerek értékét hozzárendeljük (SetidCard) ezen a területen, és az
Getidcard. A munkavállalói objektum példányából megismerhetjük az IDCARD típusú objektumát, ami azt jelenti
Navigáció (nyíl a sorban), amely a munkavállalótól az Idcardig irányítja.
N-Arna Egyesület
Képzeljük el, hogy a szervezetnek konszolidálnia kell a személyzetet. Adjon hozzá egy új osztályteret.
A munkavállaló (alkalmazott) minden objektuma számos asztali számítógépnek felel meg. A kommunikációs teljesítmény egy-sok.
Navigáció a munkavállalótól a szobába.
Rizs. 4 – N-Arny Egyesület
Most próbáljuk meg tükrözni a kódot. Új osztályterem:
Add hozzá az osztály munkavállalói mezőjéhez és a szobákhoz való munkavégzéshez:
Példa a használatra:
Aggregáció
Bemutatjuk a modellosztályosztályba (osztály) – Cégünk strukturálása a részlegek. Minden osztályon egy vagy több ember dolgozik. Elmondható, hogy az osztály tartalmaz egy vagy több alkalmazottat, és így aggregátumokat tartalmaz. A Társaságnak olyan alkalmazottai lehetnek, akik nem tartoznak bármely osztályhoz, például a vállalkozás igazgatója.
Rizs. 5 – aggregáció
Osztályosztály:
Tehát az osztályunk, a tervező mellett és a tanszék neve megváltoztatásának módja, módszerei az új alkalmazott tanszékének belépésére, hogy eltávolítsák a munkavállalót, és megszerezzék az összes alkalmazottat. A hajózás a diagram nem jelenik meg, az azt jelenti, hogy kétirányú: az objektum „Osztály” meg lehet tanulni a munkavállaló és a tárgy „Alkalmazott” megtudhatja, hogy melyik osztály tartozik.
Mivel könnyedén fel kell ismernünk, hogy melyik osztályon van-e munkavállaló, adjon hozzá egy mezőt és módszereket a munkavállalói osztályhoz a rendeltetési helyre és kap egy osztályt.
Használat:
Fogalmazás
Tegyük fel, hogy rendszerünk egyik követelménye az, hogy a vállalkozás korábbi pozíciójára vonatkozó adatokat kell tartani.
Bevezetünk egy új “fészkelt” osztályt. A “NAME” (NAME) tulajdonságai mellett bemutatjuk az “osztály” ingatlant, amely összekapcsolja az osztály “osztály”.
Az elmúlt elfoglalt hozzászólások adatai a munkavállalói adatok részét képezik, így a kapcsolódási egész szám és egyidejűleg a múltbeli hozzászólások adatai nem létezhetnek a “alkalmazott” típusú objektum nélkül. A munkavállalói objektum megsemmisítése a fészkeltő tárgyak megsemmisítéséhez kell vezetnie.
Rizs. 6 – Összetétel
“Tappozíció” osztály:
Munkavállalói osztály Adja meg az utolsó pozícióval kapcsolatos adatokkal kapcsolatos információkat és módszereket:
Alkalmazás:
3. Függőség
Párbeszéd megszervezése a felhasználóval, bemutatjuk az osztály “menü”. Épített egy “showemployes” módszert, amely megmutatja az alkalmazottak listáját és a hozzászólásaikat. A módszer paramétere a “alkalmazott” objektumok tömbje. Így a “Munkavállaló” osztályba tartozó változások megkövetelhetik és megváltoztathatják az osztály “menü”.
Rizs. 7 – függőség
Ne feledje, hogy az osztály “menü” nem vonatkozik az alkalmazott régióra, és egy képzeletbeli alkalmazás “rendszer” osztályát jelenti.
Osztály “menü”:
Használat:
4. Értékesítés
Végrehajtás, mivel az öröklés kifejezett kifejezést tartalmaz a Java-ban: az interfész bejelentése és annak végrehajtásának lehetősége bármely osztályban.
A “végrehajtás” kapcsolatának bemutatása a “egység” felület létrehozása. Ha azt állítja, hogy a szervezet nem csak osztályok, például workshopok, ágak és t.D. A “egység” felület a legvonzóbb osztály. Minden osztó egység, van némi foglalkoztatottak száma, így a módszer az alkalmazottak számának jelentős lesz minden osztályban a végrehajtási „Unit”.
Rizs. 8 – Értékesítés
Az “egység” felület:
Végrehajtás a “osztály” osztályban:
Alkalmazás:
Amint láthatja, a “GetPersonCount” módszer végrehajtása nem teljes mértékben releváns az “osztály” osztályhoz, mivel a “GetPloyes” módszerrel rendelkezik, amely visszatér
Objektumok gyűjtése “alkalmazott”.
Teljes körű kód: Hab
következtetések
Az UML modellezési nyelvnek van egy összefüggései egy osztálymodell kialakításához, de még az ilyen fejlett OOP nyelv is, mivel a Java csak két explicit konstrukcióval rendelkezik a hivatkozások tükrözésére: kiterjeszti (kiterjesztés) és interfész / eszközök (végrehajtás).
A szimuláció eredményeként a következő ábrát kaptunk:
Rizs. 8 – osztálydiagram
Irodalom
1) G. BUC, D. Rambo, A. Jacobson. UML nyelvi kézikönyv.
2) A.V. Leonenkov. Tutorial UML
3) Eckel B. Java filozófia. Könyvtár programozó. – St. Petersburg: Péter, – a.
4) Orlov vele. Szoftverfejlesztési technológiák: tankönyv. – St. Petersburg: Péter, – a.
5) Mukhorts in.V., Flyls Habno-orientált programozás, elemzés és tervezés. Eszközkészlet. – Novoszibirszk,
6) Anand Ganesan. Modellezési osztálykapcsolatok az UML-ben
Comments are closed, but trackbacks and pingbacks are open.