Press "Enter" to skip to content

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.