Objektumorientált tervezés •Út az objektumig •Az objektum fogalma, jellemzői •Objektummal kapcsolatos fogalmak •Hardverfogalmak •A rendszer modell nézetei •Objektumorientált programtervezés •Objektumorientált módszertanok •UML
Dec 30, 2015
Objektumorientált tervezés•Út az objektumig
•Az objektum fogalma, jellemzői
•Objektummal kapcsolatos fogalmak
•Hardverfogalmak
•A rendszer modell nézetei
•Objektumorientált programtervezés
•Objektumorientált módszertanok
•UML
Út az objektumig
A modellezés problémája:
Számítástechnikai információ:
utasítás, algoritmus
adat, adatszerkezet
Valós világ
Fogalmi modell
Implementációs modell
Modell alkotás
top-downbottom-up
Mi legyen a modellek
alapja?
VAGY
Struktúrált programozás top-down
Moduláris programozás:•a teljes feladat egy absztrakt utasítás
•időbeli sorrendben részekre bontás, rétegenként
•az adatok a programban szétszórtan találhatók
•háttérbe szorul az adatszerkezet
•legkisebb egysége az eljárás
•ritkán eredményez újrafelhasználható elemet
Adatalapú programozás:
Objektum és jellemzői: példákkal
1. Objektum lehet bármi aminek a határai pontosan meghatározhatók • esemény objektum
Baleset
esemény
Objektum és jellemzői: példákkal
1. Objektum lehet bármi aminek a határai pontosan meghatározhatók • esemény objektum
Sérült
szerep
• szerep objektum Rendőr
szerep
Objektumok és jellemzőik: példákkal
1. Objektum lehet bármi aminek a határai pontosan meghatározhatók • esemény objektum
• szerep objektum
• szervezeti egység objektumIntézmény,szervezeti
egység
Objektumok és jellemzőik: példákkal
1. Objektum lehet bármi aminek a határai pontosan meghatározhatók • esemény objektum
• szerep objektum
• szervezeti egység objektumtárgy
(rendszer)autó• tárgy(rendszer) objektum
Objektum és jellemzői: példákkal
1. Objektum lehet bármi aminek a határai pontosan meghatározhatók • esemény objektum
• szerep objektum
• szervezeti egység objektum
• tárgy(rendszer) objektum
process (történés)
futam• process objektum
Objektum és jellemzői: példákkal
1. Objektum lehet bármi aminek a határai pontosan meghatározhatók • esemény objektum
• szerep objektum
• szervezeti egység objektum
• tárgy(rendszer) objektum
• process objektum
hely(szín)
Hungaroring
• hely objektum
Objektum és jellemzői: példákkal
2. Az objektum más objektumokra hatást gyakorol és más objektumok hatással vannak rá: az objektumok interakcióban vannak egymással:
•üzenet (message) - adatátvitel
sérült objektumsérült objektum biztosító objektumbiztosító objektum
név, kötvényszám, baleset helyszín,időpont
Objektum és jellemzői: példákkal
2. Az objektum más objektumokra hatást gyakorol és más objektumok hatással vannak rá: az objektumok interakcióban vannak egymással:
•üzenet (message) - adatátvitel
- vezérlés
helyszínelés
rendőr rendőr objektumobjektum
rendőrség objektumrendőrség objektum
Objektum és jellemzői: példákkal
2. Az objektum más objektumokra hatást gyakorol és más objektumok hatással vannak rá: az objektumok interakcióban vannak egymással:
•üzenet (message) - adatátvitel
• event (esemény) - pillanatszerű történés
- vezérlés
segélyhívás
rendőrség objektumrendőrség objektumbaleset objektumbaleset objektum
Objektum és jellemzői: példákkal
3. Az objektum viselkedése:valamilyen cselekvésben, tevékenységben, műveletben (metódusban) nyilvánul meg.
• aktív objektum - vezérlő objektum - mindig interaktív
rendőrség objektumrendőrség objektum
diszpécser2diszpécser2
rendőr1rendőr1
diszpécser1diszpécser1
rendőr1rendőr1
Szolgálat
Szolgálat
SzolgálatSzolgálat
aktív objektum
Objektum és jellemzői: példákkal
3. Az objektum viselkedése:valamilyen cselekvésben, tevékenységben, műveletben (metódusban) nyilvánul meg.
• aktív objektum - vezérlő objektum - mindig interaktív
• passzív objektum – csak akkor működik ha interakciót kap
rendőrség objektumrendőrség objektum
diszpécser2diszpécser2
rendőr1rendőr1
diszpécser1diszpécser1
rendőr1rendőr1
Szolgálat
Szolgálat
passzív objektum
felveszi a telefont
kiszáll
Objektum és jellemzői: példákkal
3. Az objektum viselkedése:valamilyen cselekvésben, tevékenységben, műveletben (metódusban) nyilvánul meg.
• aktív objektum - vezérlő objektum - mindig interaktív
• passzív objektum – csak akkor működik ha interakciót kap
Művelet = metódus (Method)
(fogalmi modell) (implementációs modell)
Üzenetek hatására létrejövő viselkedésforma
Objektum és jellemzői: példákkal
4. Az objektum belső struktúrája: a külvilág nem lát bele az objektumba – egységbe zárt
- egységbezárt – encapsulation - az információ elrejtés elve
ember objektum másik objektum
harap (interakció)
tehát:van foga,
állkapcsa
Objektum és jellemzői: példákkal
4. Az objektum belső struktúrája: a külvilág nem lát bele az objektumba – egységbe zárt
- egységbezárt – encapsulation - az információ elrejtés elve
Az objektumot a külvilág csak a viselkedésén keresztül érzékeli
encapsulation
Objektum és jellemzői: példákkal
5. Az objektum állapota: az állapot határozza meg, hogy adott üzenetre, hogyan viselkedik
• állapot: az objektum pillanatnyi tulajdonságai (attribútumai)
Kutyaeszik
Jól lakott
Éhes
Objektumok Viselkedés Állapot
Gazdi
nem eszik
Objektum és jellemzői: példákkal
5. Az objektum állapota: az állapot határozza meg, hogy adott üzenetre, hogyan viselkedik
• állapot: az objektum pillanatnyi tulajdonságai (attribútumai)
Kutyaeszik
Jól lakott
Éhes
Objektum Viselkedés Állapot
Gazdi
Kajanem eszik
ÚJRAÚJRA
Objektum és jellemzői: példákkal
5. Az objektum állapota: az állapot határozza meg, hogy adott üzenetre, hogyan viselkedik
A viselkedés az állapotok időbeli változásának eredménye
Minden művelet (method) viselkedésforma nyomot hagy az objektum állapotában
• állapot: az objektum pillanatnyi tulajdonságai (attribútumai)
Objektum és jellemzői: példákkal
6. Polimorfizmus (több alakúság):
diszpécser objektumdiszpécser objektum
TŰZ!!!
üzenet viselkedés
tűzoltó objektumtűzoltó objektum
továbbítom
megyek
ugyanarra az üzenetre más-más objektumok másképpen viselkednek
Objektum és jellemzői: példákkal
7. Osztályok és példányok:
objektumobjektum objektumobjektum
osztályosztály
BIZTOSÍTÓ
• hasonló struktúrájú és tulajdonságú objektumokat osztályokba sorolunk
• az objektum az osztály egy példánya
osztályba sorolás
objektum
osztály
példányosítás
objektum
osztály
Osztályszámosság:
hány példánya van egy osztálynak
Objektum és jellemzői: példákkal
8. Öröklés ( inharitance ):• a meglévő osztályokból képzett újabb osztályok öröklik a szülő osztályok struktúráit, tulajdonságait és újabbakkal bővülnek
osztályosztály
BIZTOSÍTÓ
objektumobjektumobjektumobjektum
osztályosztály
Pénzintézet
osztályhierarchia
Objektum jellemzői 1Objektum jellemzői 1
ObjektumObjektum=entitás
ObjektumJellemzők:
ObjektumViselkedés
ObjektumÁllapot
Attribútum = tulajdonság
ObjektumStruktúra
Művelet = method
pillanatnyi tulajdonság
állapot időbeli változása
megnyilvánulása
befolyásolja
attribútum csoportok
osztályba sorolás: közös tulajdonságú objektumik csoportja
példányosítás: az objektum az osztály egy példánya
egységbe zárás (encapsulation): a külvilág csak a viselkedésen keresztül látja az objektumot – információ elrejtésöröklés(inharitance): hierarchikus kapcsolatrendszer az osztályok és objektumok közöttpolimorfizmus: interakcióra az objektumok különbözőképpen viselkednek
Objektum-orientált program: egymással interakcióban lévő objektumok halmaza - Működése: az interakciós műveletek egymásutánja - Szerkezete: osztályok és objektumok hierarchiája
Objektum orientált programObjektum orientált programműködési elveiműködési elvei
Objektum jellemzői 2Objektum jellemzői 2
azonosító tulajd1 tulajd2
n adat n1 adat n2
Osztály:táblázat Oszlop: attribútum, tulajdonság
Sor: objektum, egyed, entitás, példány
Cellák: objektum állapot
Struktúra: oszlopok száma, fajtái
Viselkedés: tulajdonságok(cellaértékek) módosulása
Hardver fogalmak
1 magos processzor: multitask futtatás
A processzor ciklikusan, rövid időszeletenként, időben egymásután futtatja a programokat. Taszkváltáskor memória mentési és beolvasási műveleteket végez.
CPUCPU
adatok
MEMÓRIA
task1 adat
task2 adat
task3 adat
Hardver fogalmak1 magos processzor: hyper threading technológia(többszálas processzor)A processzor ciklikusan, rövid időszeletenként, időben egymásután 2 programot futtat: NINCS memória mentési és beolvasási művelet!Több program futás esetén: multitask
CPUCPU
adatok1 adatok2
Hardver fogalmak
Többmagos, többszálas processzor.iCore7
A processzor 8 szálat futtat egyszerre
A hardver a több aktív objektummal rendelkező többszálas programok futtatását támogatja!
Objektom-orientált program készítés
modellkészítés + implementálás
Objektumok, osztályok azonosítása.
Statikus struktúra (hierarchia) Dinamikus
struktúra (műveletek)
Modell értékelés (validáció)
Osztályok, műveletek implementálása
START STOPA folyamat akkor ér véget:- ha nem szükséges több
absztrakciós szint(alosztály.. hierarchikus szint
- vagy a felfedezett új osztály, objektum, már létező szoftver
komponensekkel implementálható
Tervezési módszertanok
A modell tervezés módszertana:
OMT – Object Modelling Techniquea rendszert 3 nézetből alkotott 3 modellel írja le
Rendszer
Objektum modell
Funkcionális modell Dinamikus modell
Statikus hierarchia ábrázolása
a feladat szempontjából történő leírás
időbeli működés leírása
Tervezési módszertanok
A modell tervezés módszertana:
OMT – Object Modelling Techniquea rendszert 3 nézetből alkotott 3 modellel írja le
Rendszer
Objektum modell
Funkcionális modell Dinamikus modell
Statikus hierarchia ábrázolása
a feladat szempontjából történő leírás
időbeli működés leírása
Valós objektum
Absztrakt objektum
Osztály
Példány1 Példány2
absztrakció, általánosítás
annyi példány(objektum)
kell, hogy interakcióik megoldják a feladatot
Komplexitás csökkentése:
MÁSIK 2 NÉZET
Tervezési módszertanok
A módszertanokhoz modell leíró CASE eszközök és implementációs eszközök (programozási nyelvek tartoznak
OMT modellek leírása: UML segítségével
UML: a nézetek modelljeit szabványos diagramok segítségével szemlélteti
Implementáció (objektum orientált programozási nyelvek):
-C++- Java- Object Pascal- php
OOSE – Object Oriented Software Engineering
Legismertebb tervezési módszertanokOOT – Object Oriented Technologies
OOD – Object Oriented Design
OOAD – Object Oriented Analysies and Design
OODBMS – Object Oriented Database Management System
GUI – Grafical User Interface
A rendszer statikus leírásához használt
módszerek együttese
(osztálydiagramok, objektum
diagramok)
5 modellben adja meg a leírást:követelmény-,
analízis-,tervezési- implementációs,
teszt modell
Egy rendszerben kezeli a az analízis
és a tervezés lépéseit.
Objektum orientáltságra épülő
adatbázis kezelő rendszer
Önálló objektumként kezeli a
megjelenítést