Download - 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 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