Vizuális modellezés Uml és osztálydiagram UML eszközök

Slides:



Advertisements
Hasonló előadás
UML Példa © Fülöp Lajos.
Advertisements

C++ programozási nyelv Gyakorlat hét
Programozás III OOP ALAPOK.
Rendszerfejlesztés.
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Programozás III KOLLEKCIÓK 2..
Programozás III FACTORY, KOMPOZÍCIÓ és EGYEBEK.
Az egyed-kapcsolat modell
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
Öröklődés 2..
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
OBJEKTUMORIENTÁLT PROGRAM
Öröklődés Polimorfizmus Csomagok Absztrakt osztályok, interfészek
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.

A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 5. rész – Osztályok III.
Adatbázis rendszerek I
Szoftvertechnológia előadás
Annotációk a Java 5 nyelvben Kozsik Tamás. Annotációk Módosítószavak bővítése A programszöveg elemeihez rendelhetők –Csomagokhoz, típusokhoz, metódusokhoz,
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
Ficsor Lajos CPP6 / 1 Virtuális bázisosztály Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
ESzabványok Workshop 1. előadás: Bevezető, eAdatmodell október 13.
Objektumok. Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (operációk,műveletek) összessége,
A valós világ modellezése. Az embert a valós világ modellezésekor a következő gondolatok vezérlik: Absztrakció Megkülönböztetés Osztályozás Általánosítás,
1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.
Objektumorientált tervezés és programozás II. 3. előadás
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Bevezetés az UML-be az E/K modellen keresztül
2008/2009 – 2. félév levelező tagozat
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Objektumorientált programozás
UML Unified Modelling Language Szabványos jelölésrendszer elemeivel írja le diagramok formájában a rendszer működését a különböző modell-nézetek szempontjából.
Adatbázis-kezelés.
IT rendszerek modellezése
1 Objektum orientált programozás Modellezés objektumokkal Nagy Szilvia.
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Dr. Johanyák Zs. Csaba - Szoftvertechnológia
Objektumvezérelt rendszerek tervezése
Objektumvezérelt rendszerek tervezése 7. óra – Iterator, State, Interpreter © Szőke Gábor.
Objektumvezérelt rendszerek tervezése 4.óra – Composite, Decorator © Fülöp Lajos.
Objektumvezérelt rendszerek tervezése
OOP ÖRÖKLŐDÉS, INTERFÉSZ
Programozás III OOP ÖRÖKLŐDÉS.
Adamkó Attila UML2 Adamkó Attila
Programozás III KOLLEKCIÓK.
6-os Kurzus (UML) Visszatekintés: ”történelmi szempontok”
Gyurkó György. Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani.
UML modellezés 3. előadás
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
Programozás I. 3. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 5. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Programozás III JPA.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Strukturális tervezési minták
Szemantikai adatmodellek
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Hernyák Zoltán Programozási Nyelvek II.
Osztály diagrammok.
Rendszerfejlesztés gyakorlat
Előadás másolata:

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