Programozás I. 3. gyakorlat.

Slides:



Advertisements
Hasonló előadás
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 5. gyakorlat Adatmodellezés III/IV – Funkcionális függés,
Advertisements

ADATBÁZISOK.
UML Példa © Fülöp Lajos.
C++ programozási nyelv Gyakorlat hét
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok.
Programozás III OOP ALAPOK.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 2. gyakorlat MySQL elérése számítógépen (JDBC, ODBC, PHP)
Rendszerfejlesztés.
Az integrált áramkörök (IC-k) tervezése
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..
A Microsoft rendszermenedzsment víziója A Dynamic Systems Initiative A System Definition Model Az üzemeltetésre tervezett szoftverek A SDM jelentősége.
Programozás III FACTORY, KOMPOZÍCIÓ és EGYEBEK.
Az egyed-kapcsolat modell
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 6. gyakorlat Gyakorlás, kötelezőprogram.
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
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
13.a CAD-CAM informatikus
OBJEKTUMORIENTÁLT PROGRAM
Vizuális modellezés Uml és osztálydiagram UML eszközök
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.
© 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.
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád Szegedi Tudományegyetem FrontEndART.
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,
Emlékezés Somodi Józsefre, egy konstruktőr zsenire
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
2008/2009 – 2. félév levelező tagozat
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Objektumorientált programozás
Objektumorientált tervezés
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
Adatbázisok gyakorlat
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 8. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
Adatbázis-kezelés.
IT rendszerek modellezése
1 Objektum orientált programozás Modellezés objektumokkal 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
6-os Kurzus (UML) Visszatekintés: ”történelmi szempontok”
UML modellezés 3. előadás
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
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.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 5. gyakorlat.
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 4. gyakorlat.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Szemantikai adatmodellek
Adatstruktúrák Algoritmusok Objektumok
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Osztály diagrammok.
Adatbáziskezelés 12. alkalom.
Rendszerfejlesztés gyakorlat
Előadás másolata:

Programozás I. 3. gyakorlat

Vizuális modellezés Programozás: Modellezés és tervezés Implemetálás (Kódolás) Dokumentálás és Tesztelés A megtervezetlen programozás sosem vezet jóra, főleg nagy, bonyolultabb rendszereknél !! A tervezés hiánya garantált kudarc. A tervezésnek mindig meg kell előznie az implementálást! Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Vizuális modellezés Szabványos grafikai eszközökkel írjuk le a problémát Célja: Jobban átlátható legyen a program felépítése Programozásban nem jártas emberek is megértsék a rendszer működését Hibák jelentős része itt felfedezhető, és gyorsan javítható, komolyabb mellékhatás nélkül (Ellenben egy félkész/kész programmal) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Modell és diagram Modell: A teljes rendszer leírása, amely magába foglalja a rendszer teljes életciklusát (tervezés, implementálás, dokumentáció, tesztelés) Diagram: A rendszer egy részének (vagy egészének) vizuális reprezentációja Osztálydiagram: Osztályok vizuális reprezentációja UML nyelv Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Objektumorientáltság Objektum: Egy valós vagy elképzelt entitás ábrázolása számítógépen, mely minden esetben rendelkezik: Állapottal Viselkedéssel Identitással Tehát az objektum lehet bármi, ami rendelkezik ezzel a három tulajdonsággal: Számítógép Személy Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Objektum állapota Objektum állapota: egy a lehetséges létezési lehetőségek közül (aktuális tulajdonságok által meghatározva) Időben változó lehet Attribútumok határozzák meg 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 Ezek az attribútumok a programozásban lehetnek különböző típusú változók, valamilyen értékkel. pl.: adott egy Bor objektum  String tipus; Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Objektum viselkedése Annak módja, hogyan reagál más objektumok kéréseire Az objektum kérésre csinál „valamit” Mindent definiál, amit az objektum csinálhat Operációk (metódusok) határozzák meg 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 Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Objektum identitása Minden objektum egyedi ! (még akkor is, ha az állapotuk azonos) pl.: a programozas és algoritmusok különböző objektumok, de mindkettő Kurzus (ugyanabba az osztályba tartoznak) a torpeNyul és az angolNyul különböző objektumok, de mindkettő Nyúl Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

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) Az osztályok csomagokba rendezhetők, hierarchikusan Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Osztálydiagram class diagram az osztályokból osztálydiagramokat állíthatunk össze, mely leírja a programunk szerkezetét Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

UML Unified Modeling Language (Egységesített Modellező Nyelv) Egy nyelv: szintaktikai és szemantikai szabályok összessége Szoftverrendszer elemeinek: vizualizálására (  Grafikus) specifikálására létrehozására dokumentálására Hivatalos oldal: http://www.uml.org Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

UML osztálydiagram Grafikus szemléltetésre különböző diagramok készíthetők, ezek egyike az osztálydiagram Elemei: osztályok, interfészek, csomagok, megjegyzések Kapcsolatok: asszociáció aggregáció kompozíció öröklődés Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Asszociáció Osztályok közötti kétirányú összeköttetés „Használati kapcsolat” - létük egymástól általában független, de legalább az egyik ismeri és/vagy használja a másikat Gyakorlatilag az egyik osztály használja a másikat (vagy egy metódusát, stb) Asszociáció lehet egy- vagy kétirányú Adhatunk nevet az asszociációnak Asszociációs osztály: Asszociáció, kapcsolat részletei Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Asszociáció Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Aggregáció Rész-egész kapcsolat Az egyik objektum fizikailag tartalmazza a másikat A rész-objektum(ok) léte az egész-objektumtól függ Kétféle lehet: gyenge aggregáció erős aggregáció ( = kompozíció) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Gyenge aggregáció Speciális asszociáció A tartalmazó létezhet a tartalmazott nélkül is (pl.: Alma, Kukac) Egyik objektum része a másiknak Nem erős tartalmazás Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Kompozíció Fizikai tartalmazás (erős aggregáció) Speciális aggregáció A tartalmazott nélkül nem létezhet a tartalmazó osztály (pl. Ember, Fej) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Öröklődés Osztályok közötti kapcsolat (reláció), ahol egy osztály megosztja a struktúráját és/vagy a viselkedését egy vagy több másik osztállyal Öröklődési hierarchia A származtatott (gyerek) osztály mindent örököl az őstől és kiegészítheti ezeket sajátokkal. Ősosztály: Fa Gyerekosztályok: Almafa, Körtefa, Szilvafa Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Öröklődés A gyerek mindent örököl az őstől, de ezen felül tartalmazhat 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 Javaban nincs! Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Öröklődés – Általánosítás, Specializáció Bizonyos osztályok közös tulajdonságai alapján egy új osztály létrehozása Specializáció Egy osztály speciális esete(i) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

UML Osztálydiagram példa Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Osztályok közötti kapcsolatok – implementációs példák Asszociáció A osztály egy metódusának paramétere B típusú A osztály egy metódusa hívja B egy metódusát A osztály egy metódusa (lokálisan) példányosítja B-t A osztály egy metódusának visszatérési értéke B típusú Aggregáció A osztály tartalmaz egy B-re mutató pointert/referenciát Kompozíció A osztály tartalmaz egy B adattagot Öröklődés A osztály B osztályból származik Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

UML Eszközök ArgoUML: BOUML: yEd UML Eszközök listája: http://argouml.tigris.org/ BOUML: http://www.bouml.fr/ yEd http://www.yworks.com/en/products_yed_about.html UML Eszközök listája: http://en.wikipedia.org/wiki/List_of_UML_tools Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Feladatok Modellezzünk egy egyszerű kutyát… A modellben szerepeljenek a következő osztályok: Kutya Fej Ember (a kutya gazdája) Bolha (rajta lehet a kutyán) Puli és Németjuhász valamint a közöttük lévő kapcsolatok. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor

Feladatok Modellezd a bankkártyás fizetést! A modellben szerepeljenek a következő osztályok: Bank Számla Személy Kártya Terminál ( két fajta: automata és POS ) valamint a közöttük lévő kapcsolatok. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor