10. tétel Flashcards
(14 cards)
Az OOA, OOT és OOP kapcsolata
Az objektumorientált analízis (OOA), -tervezés (OOT) és -programozás (OOP) egymással kapcsolatban állnak, de különböző fogalmak.
OOA: a felhasználói környezet modelljének kidolgozásával foglalkozik.
OOT: a követelményeket kielégítő rendszer modelljének kidolgozásával foglalkozik.
OOP: az OOT realizálásával foglalkozik egy OO nyelv (pl.: Java, C++) segítségével.
OOT
Az objektumok a való világ entitásainak reprezentációi, amelyek önmagukat menedzselik. Az objektumok önállóak és saját, a külvilág számára közvetlenül nem látható állapottal rendelkeznek. A rendszer funkcionalitását objektumok szolgáltatásaiként reprezentáljuk. Az objektumok üzenetekkel kommunikálnak.
Előnyei közé tartozik, hogy könnyű a kezelhetősége, az objektumok önálló entitásokként foghatók fel és potenciálisan újra felhasználható komponensek.
Objektumok és objektum-osztályok definíciója
Objektumok: a szoftver rendszer entitásai, amelyek a való világ és a rendszer entitásait reprezentálják.
Objektum-osztályok: az objektumok sablonjai. Belőlük objektumok hozhatók létre. Más objektum-osztályoktól attribútumokat és szolgáltatásokat örökölhetnek.
Az objektumok kommunikációja
Az objektumok üzeneteken keresztül kommunikálnak, melyek három részből állnak: a hívó objektum által kért szolgáltatás nevéből, a szolgáltatás végrehajtásához szükséges információ másolatából és az eredmény tárolójának nevéből.
Általánosítás és öröklődés
Az osztályok egy osztály-hierarchiába szervezhetők, ahol egy osztály (szuper-osztály) egy vagy több osztály (al-osztály) általánosítása lehet. Az al-osztály örökli a szuper-osztály attribútumait és operációit, valamint saját metódusokat és attribútumokat adhat ezekhez. Az UML-beli általánosítást az OO nyelvek öröklésként implementálják.
Az OOT folyamata
Strukturált, modellalapú megközelítés:
Több rendszermodell készül, amelyek a fejlesztés és karbantartás alapjai.
Kis rendszerek esetén nem mindig hatékony, de nagy rendszerekben, több csapat esetén elengedhetetlen a kommunikáció támogatásához.
Főbb elemei:
-Rendszer kontextusának és használatának definiálása
-Rendszerarchitektúra tervezése
-Rendszerobjektumok azonosítása
-Tervezési modellek kidolgozása
-Objektuminterfészek specifikálása
Célja:
A rendszer szerkezetének és működésének átlátható, újrafelhasználható, és karbantartható modellezése.
Az UML (Unified Modeling Language) diagram
Az OOA és OOT során használt számos modell leírási módját tartalmazza. Manapság ez az OO modellezés de facto szabványa.
Használati eset (Use-case) diagram
Use-case modellek használatával a rendszer valamennyi interakciója leírandó. A rendszer szolgáltatásait ellipszisek segítségével jelölik. az interakcióban résztvevő entitást pálcikaember jelzi.
Osztály diagram
Statikus struktúra diagram, az osztályok és összefüggéseik ábrázolására szolgál. A diagramot mindig három részre kell osztani, még akkor is, ha nem is definiáljuk az attribútumokat vagy a metódusokat. Az első részben az osztály neve szerepel, a másodikban az attribútumok név:típus formában, míg a harmadikban a metódusok vannak.
Állapottérkép diagram
Azt írja le, hogy az egyes objektumok hogyan változtatják állapotukat eseményekre reagálva, valamint milyen állapot-átmeneteket triggerelnek ezek a kérések. Egy egyszeresen összefüggő irányított gráf, amelynek csomópontjaihoz az állapotokat, éleihez pedig az eseményeket rendeljük.
Szekvencia diagram
Az objektumok közötti interakciók sorozatát mutatja be.
Az objektumok az ábra tetején, vízszintesen egymás mellett vannak elhelyezve. Az idő függőlegesen, fentről lefelé telik. Az interakciókat (szöveges) nyilak jelzik, különböző formájú nyilak különböző típusú interakciókat reprezentálnak. Az objektum vonalán egy vékony téglalap jelzi azt az időtartamot, amíg az objektum a rendszert vezérlő objektum.
RUP (Rational Unified Process)
Korszerű tervezési módszer, amely az UML és a hozzá kapcsolódó eljárásokból jött létre. Definiálja: ki (gyakorlatok, kompetenciák, felelősségek), mit (dokumentumok, modellek, kód), hogyan (munkaegységek, feladatok, folyamatok).
Nézetek
○ Dinamikus nézet: a fázisokat az idő függvényében mutatja;
○ Statikus nézet: A gyártási folyamatokat mutatja;
○ Gyakorlati nézet: Jól bevált gyakorlati útmutató.
Fázisok
● Alapozás
○ A rendszer számára egy üzleti modell megalkotása.
● Kidolgozás
○ A problématér megértése és a rendszer-architektúra
kidolgozása.
● Konstrukció
○ Rendszertervezés, programozás és tesztelés.
● Átmenet
○ A rendszer telepítése a működési környezetbe.
Munkafolyamatok
A tevékenységek, termékek, szerepek (munkások) értelmes sorrendjét definiálja. Bármely munkafolyamat bármelyik fázisban aktív lehet. A munkafolyamat leírás UML modellek köré van szervezve.
6 alap munkafolyamat:
* Üzleti modellezés: az üzletmenet esettanulmányokkal (use case) való modellezése.
* Követelmények: a rendszerrel kapcsolatba lépő aktorok azonosítása. Esettanulmányok kidolgozása a követelmények modellezésére.
* Analízis és tervezés: tervezési modell kidolgozása és dokumentálása architektúrális-, komponens-, objektum- és szekvenciális modellek segítségével.
* Implementáció: rendszerkomponensek implementálása és alrendszerekké alakítása. A tervezési modellekből automatikus kódgenerálás segíti ennek a folyamatnak a gyorsítását.
* Tesztelés: iteratív eljárás, amely az implementációval együtt hajtódik végre. A rendszertesztelés az implementáció befejeztével kezdődik.
* Telepítés: egy release készül, amelyet a felhasználónak terjesztve ott telepítenek.
Aktivitásdiagram
Az aktivitásdiagram vizuálisan segít megérteni a folyamat lépéseit, azok sorrendjét és az alternatív útvonalakat.