1Objektumorientált elemzés és tervezés - Alapfogalmak2009.09.01. Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.

Slides:



Advertisements
Hasonló előadás
ADATBÁZISOK.
Advertisements

E-R modell, reláció-séma
C++ programozási nyelv Gyakorlat hét
Programozás III OOP ALAPOK.
Készítette: Magyar Dániel
A magyar kötőszók története: kialakulásuk és fejlődésük az összetett mondatok szerkezeti típusaiban.
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,
Objektum-orientált adatbázisok Alapfogalmak
1Objektumorientált elemzés és tervezés – Dinamikus modellezés Gyurkó György Objektumorientált elemzés és tervezés Dinamikus modellezés.
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
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
OBJEKTUMORIENTÁLT PROGRAM
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
Vizuális modellezés Uml és osztálydiagram UML eszközök
Adatmodellezés: E-K modell
A KISCSOPORT. Megközelítések: Cooley: primerszekunder ( az empirikus valóságban(társadalmi munkamegosztás létező, konkrét alakzat)következménye) Simmel:
2011. szeptember Az információtechnológia menedzselése Az információs rendszer fejlesztése Image of the slide: www2.raritanval.edu/departments/busadmin/.../Ch07-IntrotoBusiness.ppt.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Gazdasági informatika II.
Made with OpenOffice.org 1 ANALYSIS PATTERNS MARTIN FOWLER ANALYSIS PATTERNS Általános ismertető és Accountability Patterns ELTE, Herczeg.
Megvalósíthatóság és költségelemzés Készítette: Horváth László Kádár Zsolt.
© 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.
INNOCSEKK 156/2006 Hasonlóságelemzés-alapú vizsgálat a COCO módszer használatával Készítette: Péter Gábor
Bevezetés a C++ programozási nyelvbe
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,
Vámossy Zoltán 2004 (H. Niemann: Pattern Analysis and Understanding, Springer, 1990) DIP + CV Bevezető II.
Objektumorientált tervezés és programozás II. 3. előadás
Tervezés, Normalizálás
Bevezetés az UML-be az E/K modellen keresztül
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
Objektumorientált programozás
Objektumorientált tervezés
Objektumorientált tervezés Út az objektumig Az objektum fogalma, jellemzői Objektummal kapcsolatos fogalmak Hardverfogalmak A rendszer modell nézetei Objektumorientált.
Adatbázis kezelés.
Adatbázis-kezelés.
Objektum orientált programozás
Objektumvezérelt rendszerek tervezése 4.óra – Composite, Decorator © Fülöp Lajos.
Objektumvezérelt rendszerek tervezése
Programozás III KOLLEKCIÓK.
7. kurzus Az objektum-orientált tervezés alapelemei
Információs rendszer fejlesztése 4. előadás
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
előadások, konzultációk
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Ficsor Lajos CPP2 / 1 Származtatási mechanizmus a C++ nyelvben Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
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.
1Objektumorientált elemzés és tervezés – Dinamikus modellezés Gyurkó György Objektumorientált elemzés és tervezés Dinamikus modellezés.
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
Programozás I. 3. gyakorlat.
Társadalmi kiscsoportok, konformitás és deviancia
Adatbázisszintű adatmodellek
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
Programozás III JPA.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Szemantikai adatmodellek
Operációs rendszerek.
Objektumorientált fejlesztés – szoftverobjektumok fizikai megjelenése
Hernyák Zoltán Programozási Nyelvek II.
DMS és az objektumok Irat, szerződés, számla, megrendelés, árajánlat, megbízás, hivatalos levél, tervrajz, műszaki rajz, vázlat, ütemterv, szervezeti ábra,
OOP és Python Vincellér Zoltán.
3. osztályban.
6. kurzus Az objektum-orientált tervezés alapelemei
Előadás másolata:

1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak

2Objektumorientált elemzés és tervezés - Alapfogalmak Amiben az OO megközelítés különös Feltalálta a szoftverépítés, az absztrakció (vele az elrejtés), az újrafelhasználás optimális alapegységét az objektumot (típusszinten az osztályt); és arra ráépített néhány igen hasznos konstrukciót (öröklődés, polimorfizmus).

3Objektumorientált elemzés és tervezés - Alapfogalmak Az objektum (a szerkezet és a viselkedés egysége)

4Objektumorientált elemzés és tervezés - Alapfogalmak Osztály (= típus) Az osztály:  egyrészt a bele tartozó objektumok halmaza,  másrészt a közös vonásokat (a közös sémát) hordozó kategória. Azonos osztályba tartoznak az azonos szerkezetű és viselkedésű objektumok.

5Objektumorientált elemzés és tervezés - Alapfogalmak Osztály és példánya

6Objektumorientált elemzés és tervezés - Alapfogalmak Megjegyzések: Egy objektum tökéletes másolata egy új objektumot képez. - Tehát bár két objektum minden attribútum-értékében azonos mégis két különböző objektum. Következmény: Az objektum nem azonosítható valamely attribútumával. Minden objektumnak belső azonosítója van, ami a memóriában mutatóra (memóriacímre) képeződik le.

7Objektumorientált elemzés és tervezés - Alapfogalmak Általánosítás és specializáció Általánosítás > < Specializáció

8Objektumorientált elemzés és tervezés - Alapfogalmak Az öröklődés

9Objektumorientált elemzés és tervezés - Alapfogalmak Az öröklődés (folytatás) Analitikus öröklődés Utódnál: plusz attribútum vagy plusz művelet vagy valamely műveletének más a megvalósítása Korlátozó öröklődés Az utódnál valamely attribútum vagy művelet nem értelmezhető. Pl. a négyzet (mint a téglalap utódja) esetén az egyik oldallal párhuzamos nyújtás. (A szoftvertervezésben általában kerülendő!)

10Objektumorientált elemzés és tervezés - Alapfogalmak Megjegyzés: Az öröklődés az újrafelhasználás egyik módja. Minimális redundancia a tervezésben - egyértelműség

11Objektumorientált elemzés és tervezés - Alapfogalmak Polimorfizmus Az ős egy művelete új metódust (megvalósítást) kap az utódnál, valamely attribútum új értelmezést kap.

12Objektumorientált elemzés és tervezés - Alapfogalmak Megjegyzés: A polimorfizmus teljessé teszi az elrejtést. Elrejti azt a tényt, hogy azonos műveletnek különböző osztályoknál más a megvalósítása. Szilárd, hordozható alkalmazás. A polimorfizmus következménye: A program egy változója futási időben a programkódban adott típusának (=sztatikus típusának) bármely leszármazott osztályából vett példányt hivatkozhat (=dinamikus típus).

13Objektumorientált elemzés és tervezés - Alapfogalmak A polimorfizmus haszna: idomA: Téglalap; idomB: Kör; IF idomA.Terület() < idomB.Terület() THEN … Ugyanez polimorfizmus nélkül: idomA: Téglalap; idomB: Kör; IF Tégla_Terület(idomA) < Kör_terület(idomB) THEN … Az utóbbi kód érzékeny arra, ha egy téglalap helyett kört (vagy fordítva) kell venni. Az objektumorientált kódot akkor sem kell módosítani, ha a valamelyik objektum egy később definiált osztályba tartozik (pl. háromszög).

14Objektumorientált elemzés és tervezés - Alapfogalmak Absztrakt osztály Csak olyan objektumok tartoznak bele, amelyek valamely alosztályának is példányai. (Nincsenek közvetlen példányai.) Absztrakt művelet: A műveletnek az ős osztálynál nincs megvalósítása (metódusa), az csak az alosztályokban rendelődik a művelethez. – A műveletet csak azért tüntetik fel a magasabb osztály szintjén, hogy utaljanak arra a legszélesebb objektumhalmazra, amire a művelet értelmezhető. (Java: Van legalább egy absztrakt művelete.)

15Objektumorientált elemzés és tervezés - Alapfogalmak Példányattribútum: Minden példányra új másolat jön létre belőle. Osztályattribútum: Az osztály egy példányban létezik. Osztály attribútumai: példányattribútumok + osztályattribútumok. Példányművelet: Példány hajtja végre. Közvetlenül példányattribútumokat kezel. Osztályművelet: Osztály hajtja végre. Közvetlenül csak osztályattribútumokat ér el. Konstruktor: Ez hozza létre az osztály egy új példányát, és beállítja annak kezdeti állapotát. (Se nem osztályművelet, se nem példányművelet.) Nem példányosodó osztály: Akár közvetlenül, akár örökölten csak osztályattribútumai és osztályműveletei vannak.

16Objektumorientált elemzés és tervezés - Alapfogalmak Az újrafelhasználás esetei Példányosítás Öröklődés (kiegészülve a polimorfizmussal) Kész objektumok újrafelhasználása

17Objektumorientált elemzés és tervezés - Alapfogalmak Objektumok kapcsolatai Asszociáció Az asszociáció olyan kapcsolat, ami kifejezésre jut az egyik vagy mindkét objektum szerkezetében: Az egyik objektumot vagy annak mutatóját attribútumként tartalmazza a másik objektum szerkezete.

18Objektumorientált elemzés és tervezés - Alapfogalmak Objektumok kapcsolatai Asszociáció (folytatás) Kapcsolat neve (+szerepnevek) multiplicitása navigáció iránya (láthatóság) minősítése

19Objektumorientált elemzés és tervezés - Alapfogalmak Objektumok kapcsolatai Aggregáció és kompozíció Általában a kompozíciónak közvetlen attribútuma a komponens. Általában az aggregációnak a részobjektum mutatója képezi egy attribútumát.

20Objektumorientált elemzés és tervezés - Alapfogalmak Objektumok (osztályok) kapcsolatai Függőség Ez a kapcsolat nem látszik az osztályok szerkezetéből.

21Objektumorientált elemzés és tervezés - Alapfogalmak Megjegyzések: Egy OO alkalmazás (program) nem utasítások sorozata, hanem objektumok együttműködése. Az objektumok közötti kapcsolat mindig azt jelenti, hogy az egyik objektum (az ügyfél = a kliens) használja a másikat (a szolgáltatót = a szervert). Az ügyfél objektumnak „látni” kell a szolgáltató objektumot, különben nem tudja felkérni a szolgáltatásra. - Ha két objektum kölcsönösen használja egymást, akkor kölcsönösen látniuk kell egymást. Egy x objektum általában úgy látja az y objektumot, hogy az x-nek egyik attribútuma vagy maga az y, vagy az y mutatója.

22Objektumorientált elemzés és tervezés - Alapfogalmak Osztályok közötti függőségek