Vizuális modellezés Uml és osztálydiagram UML eszközök 2. gyakorlat Vizuális modellezés Uml és osztálydiagram UML eszközök Ürmös Beáta, 2012. tavasz
Vizuális modellezés a programozás nemcsak kódolásból áll, hanem: modellezés és tervezés kódolás dokumentálás, tesztelés szabványos grafikai eszközökkel írjuk le a problémát Ürmös Beáta, 2012. tavasz
Modell, diagram modell: a rendszer teljes leírása diagram: a rendszer modelljének egy vetülete részleges reprezentáció osztálydiagram osztályok vizuális reprezentációja UML nyelv Ürmös Beáta, 2012. tavasz
Objektumorientáltság Osztály osztálydiagram Ürmös Beáta, 2012. tavasz
Objektum egy valós vagy elképzelt entitás ábrázolása számítógépen Pl. személy adatai minden objektum rendelkezik: állapottal viselkedéssel identitással Ürmös Beáta, 2012. tavasz
Objektum állapota egy a lehetséges létezési lehetőségek közül időben változó attribútumok határozzák meg Pl.: van egy lámpa, ami ki vagy be van kapcsolva adott egy személy, akinek van neve adott egy bor, ami fehér vagy vörös Ürmös Beáta, 2012. tavasz
Objektum viselkedése annak módja, hogyan reagál más objektumok kéréseire mindent definiál, amit az objektum csinálhat operációk (metódusok) határozzák meg Pl. egy Nyúl típusú objektumnak lehetnek „ugrik” és „eszik” operációi egy Lámpa típusú objektumnak lehetnek „bekapcsol”, „kikapcsol”, „elromlik” operációi egy Fájlbeolvasónak lehetnek „következőSor”, „teljesFájlBeolvasása”, „ugrásAzElejére” operációi Ürmös Beáta, 2012. tavasz
Objektum identitása minden objektum egyedi! (akkor is, ha az állapotuk azonos) Pl. a programozas és algoritmusok különböző objektumok, mindkettő Kurzus (ugyanabba az osztályba tartoznak) Ürmös Beáta, 2012. tavasz
Osztály leírás objektumok csoportjához, melyeknek közösek az attribútumai, operációi más objektumokkal való kapcsolataik viselkedésük az osztály az objektum típusa csomagok (package) osztályok csomagokba rendezhetők Ürmös Beáta, 2012. tavasz
Osztálydiagram class diagram az osztályokból osztálydiagramot állíthatunk össze, mely leírja a programunk szerkezetét Ürmös Beáta, 2012. tavasz
UML Unified modeling language (egységesített modellező nyelv) Ürmös Beáta, 2012. tavasz
Mi az UML? szoftverrendszer elemeinek grafikus modellező nyelv vizualizálására specifikálására létrehozására dokumentálására Ürmös Beáta, 2012. tavasz
UML osztálydiagram különböző diagramok készíthetők a grafikus szemléltetésre, ezek egyike az osztálydiagram elemei: osztályok, interfészek, csomagok… kapcsolatok: asszociáció, aggregáció, kompozíció, öröklődés Ürmös Beáta, 2012. tavasz
Asszociáció társítás, összekapcsolás van neki… neve Pl.: Kukac és Alma objektumok között: ‘lakik’ iránya (1 vagy 2 irányú) multiplicitása Pl.: hány kukac lakhat 1 almában: 0..30 Ürmös Beáta, 2012. tavasz
Asszociáció Ürmös Beáta, 2012. tavasz
Aggregáció tartalmazás: az egyik objektum része a másiknak Két féle lehet: gyenge aggregáció speciális asszociáció a tartalmazó létezhet a tartalmazott nélkül is (pl. Alma, Kukac) erős aggregáció = kompozíció fizikai, erős tartalmazás a tartalmazott nélkül nem létezhet a tartalmazó osztály (pl. Ember, Fej) Ürmös Beáta, 2012. tavasz
Gyenge aggregáció Ürmös Beáta, 2012. tavasz
Kompozíció Ürmös Beáta, 2012. tavasz
Öröklődés egy osztály megosztja struktúráját/ viselkedését más osztállyal/osztályokkal öröklődési hierarchia: a származtatott örököl az őstől a gyerekosztály az ősosztály specializációja az ősosztály a gyerekosztály általánosítása Pl. ősosztály: Fa gyerekosztályok: Almafa, Körtefa, Szilvafa Ürmös Beáta, 2012. tavasz
Öröklődés A gyerek mindent örököl a szülőtől, de ezen felül tartalmazhat még mást is overriding/felüldefiniálás: az örökölt operáció saját implementációja vagyis „még egyszer implementáljuk” az adott operációt a gyerekosztályon belül polimorfizmus többszörös öröklődés Java-ban nincs! Ürmös Beáta, 2012. tavasz
Öröklődés Ürmös Beáta, 2012. tavasz
UML osztálydiagram Ürmös Beáta, 2012. tavasz
További példák Ürmös Beáta, 2012. tavasz
További példák Ürmös Beáta, 2012. tavasz
Feladat Oldjuk meg a pubban a feladat.txt-ben levő bankos feladatot! Ürmös Beáta, 2012. tavasz
A bankos feladat egy megoldása Ürmös Beáta, 2012. tavasz
A bankos feladat egy másik megoldása Ürmös Beáta, 2012. tavasz
Kapcsolatok implementálása Asszociáció az A osztály egy metódusának paramétere B típusú az A osztály egy metódusa hívja a B osztály egy metódusát az A osztály egy metódusa (lokálisan) példányosítja a B osztályt az A osztály egy metódusának visszatérési típusa B Aggregáció az A osztály tartalmaz egy B-re mutató „pointert” Ürmös Beáta, 2012. tavasz
Kapcsolatok implementálása Kompozíció az A osztály tartalmaz egy B típusú adattagot Öröklődés az A osztály a B osztályból származik Ürmös Beáta, 2012. tavasz
UML eszközök néhány UML diagram elkészítésére használható ingyenes eszköz ArgoUML (http://argouml.tigris.org/) BOUML (http://bouml.free.fr/download.html) UML eszközök listája: http://en.wikipedia.org/wiki/List_of_UML_tools Ürmös Beáta, 2012. tavasz
Köszönöm a figyelmet! Ürmös Beáta, 2012. tavasz