Osztálydiagram készítés

Osztályok, kapcsolatok

Gyakorlaton megoldott feladatok (nem a teljes anyag)

  1. Egy könyv legalább egy fejezetből áll, egy fejezet pedig legalább egy oldalt tartalmaz. Adjuk meg a probléma osztálydiagrammját, és mutassunk a modellt megvalósító egy lehetséges objektumdiagrammot is!
    könyv osztálydiagramja
  2. Készítsük el egy házi mozi osztálydiagrammját! A házi mozihoz tartozik egy TV, DVD lejátszó, erősítő és a hangfalak. A hangfalak száma kettő és hat között lehet. A DVD lejátszó képet továbbít a TV-nek, hangot az erősítőnek. Az erősítő köti össze a hangfalakat.
    Házimozi osztálydiagramja
  3. Egy lakóház legalább két szintből áll, szintenként legalább egy lakás található. A szinteket lépcsőházak, illetve liftek kötik össze. Minden szinthez legalább egy lépcsőház kapcsolódik. Minden lakásnak legfeljebb két szomszédja lehet.
    Lakóház osztálydiagramja
  4. Egy benzinkúton pontosan 6 töltőhely és 2 pénztár található. Egy autós eldönti hányas töltőhelyre akar beállni (ez a benzinkútnak küldött üzenet, amely ellenőrizni, hogy van-e adott sorszámú töltőhely), miután beállt adott mennyiségű benzint tölt a tankjába, majd a pénztárnál fizet (a pénztár kérdezi le az autós által megadott töltőhelytől a fogyasztott mennyiséget, kiszámítja az árat, lenullázza a töltőhely mérőóráját), és végül távozik. Egy autós csak egy töltőhelyet és egy pénztárt használ. Tegyük egyelőre fel, hogy az autósnak nem kell várakoznia sem a töltőhely, sem a pénztár előtt.
    Az alábbi ábra csak az osztályokat ábrázolja, gyakorlaton ezt jóval részletesebben kidolgoztuk: attribútumokat, metódusokat is megterveztük.
    Benzinkút osztálydiagram
  5. Egy kisvárosi üzlet élelmiszer részlegből és műszaki részlegből áll. A vásárlók egy bevásárlólistára felírták azon termékek neveit, amit megvennének. Az üzletben a listájukon szereplő termékeket keresik: először az élelmiszer részlegen nézik végig a teljes bevásárlólistát, és a megtalált termékeket magukhoz veszik (beteszik a kosarukba), majd a műszaki részlegen ezt megismétlik, de óvatosabban: ha egy (a bevásárlólistán szereplő) áruból több is van a részlegen, akkor a legolcsóbbat választják.
    Élelmiszer üzlet osztálydiagram

További feladatok gyakorláshoz

  1. Alkalmazottakról nyilvántartjuk a nevüket, címüket, társadalombiztosítási azonosító jelüket. Az alkalmazottak közül a főnök irányítja a beosztottak munkáját. Az irányítás egy feladat határidőre történő megoldását foglalja magába. (Ez egy olyan feladat, amely az asszociációs osztály bevezetését igényli. Az asszociációs osztály C++ nyelvi megvalósítása: egy közönséges osztály lesz, amelynek objektumain keresztül kapcsolódnak beosztott alkalmazottak a főnök alkalmazottakhoz.)
    megoldás
  2. Személyekről ismerjük a nevüket, személyi igazolványszámukat és a címüket. Két személy között lehetséges viszony a házasság. Egy személynek legfeljebb egy házastársa lehet. A házasság jellemzője a házasságkötés helye és ideje. A házasságkötésen pontosan két személy tanúskodik. A házasságkötés során a házasulandók nászajándékokat kapnak, amelyeket egy személy ad. A nászajándék jellemzője a név. (Itt is megjelenik az asszociációs osztály.)
    megoldás
  3. A bankban az ügyfelek sorban állnak, hogy egy ATM automatát használhassanak. Az ügyfelek bankkártyákkal rendelkeznek, amikhez tartozik egy PIN kód, valamint egy bankszámla. A bankszámlának egyenlege van, ami mindig pozitív kell, hogy legyen. Az ügyfelek sorban vehetnek feladott összeget az automatából a bankkártyájuk, valamint a kódjuk megadásával, ha a kód megegyezik a kártya kódjával, akkor az automata kiadja az összeget, feltéve, hogy az összeget levonva az egyenlegből az továbbra is pozitív marad. Ennek a megállapításához az automata egy központból a kártya adatainak megadásával visszakapja az ügyfél egyenlegét.
    megoldás   program: ATM.zip
  4. Egy csomag kiszállító futár járműve kétféle színű lehet: kék és sárga. A járműnek van egy motorja, valamint egy benzintartálya. A motort el lehet indítani és le lehet állítani. A tartályba a maximális benzinszint figyelembe vételével tankolhatunk. A járműnek ismert a benzinfogyasztása, ami liter/km mértékegységben van adva. A szállítás címei minden esetben benzinkutak (az ott lévő PickPack pontokra szállít a futár), így minden állomáson tud tankolni. A termékekre ráírták a kiszállítás címét, továbbá kiszámolható, hogy egy cím milyen távolságra van a futár aktuális tartózkodási helyétől (km-ben). (Ennek az UML ábrával szemben inkább a Vehicle osztályban lenne a helye.) Egy futár a termékek kiszállítása során bepakol a járművébe annyi terméket, amely belefér (a jármű kapacitását figyelembe véve). A futár minden terméket ki szeretne szállítani a járműben, aminek menete a következő: először ellenőrzi, hogy a benzinszint a következő kiszállításhoz elegendő-e. Amennyiben nem, előbb tankol; egyébként elindítja a motort, elmegy a címzetthez (aminek eredményeképp csökken a benzinszint a fogyasztás szerint), leállítja a motort, majd kipakolja a terméket.
    megoldás    program: futar.zip

Osztályok, öröklődés

Gyakorlaton megoldott feladatok

  1. A könyveket legalább egy szerző írja és pontosan egy kiadó adja ki. Egy kiadó legalább egy könyvet kiad. A kiadó legalább egy alkalmazottakat foglalkoztat. Egy alkalmazottat pontosan egy kiadó alkalmaz. Az alkalmazottak és a szerzők is személyek, és nincs olyan szerző, aki kiadói alkalmazott lenne. Feladatok: Hány könyvet írt egy adott szerző? Ki egy kiadónál legtöbb könyvet írt szerző?
    Kiadó osztálydiagram
     
  2. A kórházban legalább egy alkalmazott dolgozik, aki lehet orvos, ápoló vagy a személyzethez tartozhat. A kórházban betegek vannak, akiket orvosok kezelnek és ápolók ápolnak. Egy beteget pontosan egy orvos kezel, és tetszőleges számú ápoló ápol. Egy orvos tetszőleges számú beteget kezelhet, egy ápoló tetszőleges számú beteget ápolhat.
    Kórház osztálydiagram, első megoldás
    Vegyük figyelembe azt is, hogy egy alkalmazott is lehet beteg, és a betegséggel nem szűnik meg az alkalmazotti viszonya! Módosítsuk az előző osztálydiagramot ennek megfelelően!
    Kórház osztálydiagram, második megoldás
     
  3. Egy kertet egy kertész gondoz. A kert parcellákból áll, minden parcellába egyféle növény ültethető. Az ültetés idejét eltároljuk (hónapban). A növények lehetnek haszonnövények, mint burgonya, borsó, paprika; vagy virágok, mint rózsa, szegfű, tulipán. A növényeknek ismerjük az érési idejét (hónapban). Listázza ki a kertész azokat a parcellákat, ahol az adott hónapban haszonnövények fognak beérni!
    Kert, növényekkel osztálydiagram
    program: kertesz.zip

     
  4. Egy számítógépes fájlrendszerben a fájlokat könyvtárakba szervezzük. Minden könyvtár tetszőleges számú fájlt vagy könyvtárat tartalmazhat. A fájlrendszerben a fájlok lehetnek közvetlen a fájlrendszerhez kötve (gyökér), vagy valamelyik könyvtárban is elhelyezkedhetnek. Mennyi tárhelyet foglal egy adott könyvtár?
    Fájlrendszer osztálydiagram

További feladatok gyakorláshoz

  1. Egy vonatszerelvény egy mozdonyból és legalább egy kocsiból áll. A kocsikat a mozdony után adott sorrend szerint kapcsolják össze. A vonatot különböző típusú (eltérő hosszúságú) kocsikból állíthatják össze. A lehetséges típusok: első osztályú, másodosztályú, posta, étkező, háló, tehervagon, platóvagon.  Egy mozdony, illetve kocsi egy időben csak egy vonathoz tartozhat. Milyen hosszú egy adott szerelvény?
    megoldás
    Módosítsuk az osztálydiagramot a következők szerint: lehetnek tehervagon és platóvagon típusú kocsik is. Egy szerelvény vagy személyszállító (nincs tehervagon, sem plató vagon), vagy teherszállító (csak tehervagon vagy platóvagon van).
     
  2. Egy flotta legalább egy hajóból áll, amelyek közül az egyik a vezérhajó. A hajók lehetnek rombolók, cirkáló, naszádok és fregattok.
    megoldás
     
  3. Egy galaxis rendszerekből épül fel. Egy rendszer egy csillagból és tetszőleges számú bolygóból áll. A bolygókat a csillagtól vett távolságuk alapján kell nyilvántartanunk. Kétféle bolygót különböztetünk meg: szilárd és gáz halmazállapotúakat.
    megoldás
     
  4. A bírósági tárgyalásokat legalább egy bíró vezeti, részt vesz rajta legalább két peres fél, akik között van felperes és alperes. A tárgyaláson jelen vannak még jogászok is, akik lehetnek ügyvédek vagy ügyészek. Az alperest legalább egy ügyvéd védi. A felperest legalább egy jogász képviseli. Ha egy ügyvéd egy alperest véd, mást nem védhet.; és egy jogász csak egy felperest képviselhet.
    megoldás
     
  5. Egy vasútvonal legalább két állomás sorozata. Egy állomás több vasútvonalhoz is tartozhat. Egy állomáson legalább egy vágány található. Az állomások között megkülönböztetünk megállókat, csomópontokat és terminálokat.
    megoldás
     
  6. Az űrhajók utasai két csoportba oszthatók: karbantartókra és harcosokra. A karbantartók lehetnek droidok vagy technikusok. A harcosok között vannak személyek (katonák) és harci droidok. Az űrhajó szintekre tagolódik, a szintek folyósokból és termekből állnak. Minden utas rendelkezik egy azonosítóval. A termekhez is tartozik kód, és egy utas akkor tartózkodhat egy teremben, ha az azonosítójából meghatározott kód nem kisebb a terem kódjánál. A harcosokat csoportokba osztják, a csoportokból magasabb szintű csoportokat állítanak össze tetszőleges mélységben (pl. szakasz, század, ezred, …). Egy csoportot egy parancsnok vezet. aki csak katona lehet.
    megoldás
     

Zárthelyi feladat 2018. tavaszi félév

Horgász    feladat.pdf    megoldás.pdf

Sörfesztivál    feladat.pdf    megoldás.pdf