Objektumorientált tervezés és programozás II. 1. előadás Gyurkó György
Jan 03, 2016
Objektumorientált tervezés és programozás II.
1. előadás
Gyurkó György
A tervezés vetületei és modellezési technikái (UML)
Használati eset vetület (nézet) Funkcionális követelmények leírása
Statikus modellek (szerkezeti modellezés)Osztályok definiálása, osztályok közötti viszonyok
(általánosítás/specializáció, asszociációk, függések) esetleg objektumok és azok viszonyai
Dinamikus modellek (viselkedésmodellezés)Objektumok együttműködése/kommunikációja,
állapotváltozásai (cél az osztályok metódusainak meghatározása, a statikus modell finomítása)
Üzleti folyamatok leírása tevékenységdiagrammal (cél: a követelmények meghatározása, pontosítása)
Alkalmazás / komponensmodul működésének leírása tevékenységdiagrammal
Kivitelezési modellek (architektúramodell)Komponensdiagram (az alkalmazás felépülése
kódkomponensekből)Telepítési diagram
Tervezés CASE eszköz felhasználásával / 1Nélküle (papíron) nem oldható meg konzisztens
és redundanciamentes terv készítése.Automatikusan kizár bizonyos tervezési-
szintaktikai hibákat.Automatizmusokat tartalmaz a modellek
ellentmondásmentességének és hivatkozási teljességének ellenőrzésére.
Iparági szabványnak számító technikák használatára kényszeríti a munkatársakat (a team minden tagja azonos nyelvet beszél, azonos technológiai szabályokat követ).
Tervezés CASE eszköz felhasználásával / 2Támogatja a csoportmunkát. (A csapat
minden tagja a tervek mindenkori legfrissebb állapotát látja. A tevékenységek párhuzamosíthatók, így az átfutási idő csökkenthető.)
Együtt tárolja a követelményeket és a tervtermékeket (közvetlen hivatkozás hozható létre a követelmények és az őket teljesítő tervtermékek között).
Támogatja a követelmények és tervek változáskövetését, konfigurációkezelését.
Tervezés CASE eszköz felhasználásával / 3Támogatja az adatbáziskód (SQL)
generálását 100%-ban és a programkód generálását (részben), valamint a terv és megvalósítás szinkronban tartását.
Támogatja a reengineeringet (Működő adatbázis adatszótára vagy SQL script alapján automatikusan adatmodellt rajzol, vagy objektumorientált programkód alapján osztálydiagramokat rajzol.)
Adott minta szerint automatikusan nyomtatott dokumentációt generál.
Követelmények – Használati eset modellezés
Követelmények kezeléseKövetelmények megállapítása, leírásaKövetelmények érvényességének
nyilvántartása (rendszertervezési változatok)
Követelmények teljesítésének követése
Követelmények típusaiFunkcionális követelményekNem funkcionális követelmények (pl.
egyidejűleg kiszolgált felhasználók száma, skálázhatóság, ...)
A Use Case modell célja:A funkciók / funkcionális követelmények
meghatározásaA rendszer határainak megvonásaFelhasználó szerepkörök és jogosultságaik
meghatározásaA projekt által igényelt erőforrások becsléseA projekt ütemezésének, idő- és
költségtervezésének, megalapozásaA tesztspecifikációk készítésének támogatása
(a használati esetek képezik a felhasználói tesztesetek / tesztspecifikációk közvetlen bemenetét)
A használati eset diagram szimbólumaiHasználati esetek (use case-ek, „krumplik”):
a rendszernek a felhasználó által látható funkciói, szolgáltatásai
Felhasználói szerepkörök (aktorok, pálcikaemberek): felhasználói szerepek vagy kapcsolódó más alkalmazások
Kapcsolatok (asszociációk): aktor és használati eset közötti kapcsolatok
Függőségek: használati eset közötti viszonyok
Általánosítás / specializáció: aktor-aktor, illetve eset-eset viszonyok
Egy áttekintő use case diagram
KIR felhasználó
Érkeztető Iktató Ügyintéző Irattáros Rendszergazda
Ezt a szerepkört is általában az iktató látja el az ügyintéző helyett.
Küldemények kezelése
Ügyiratkezelés
RendszeradminisztrációÜgyintézés
Irattározás
Kézbesítés
KIR áttekintés
Magyarázatok a „KIR áttekintése” ábrához / 1
Miért kell modellezni az aktorokat mint szerepköröket?
Mert a szerepkörökhöz így rendelhetők hozzá a szolgáltatások használatára vonatkozó jogok.
Mit fejeznek ki az előző ábra általánosítás / specializáció értelmű nyilai?
Azt, hogy a KIR felhasználó szerepkörnek specializációi az Érkeztető, az Iktató, az Ügyintéző, az Irattáros és a Rendszergazda szerepkörök.
A milyen állításoknak van helye a KIR felhasználó szerepkör specifikációjában?
Olyan állításoknak, amelyek közösen érvényesek minden felhasználóra, azaz a KIR felhasználó szerepkör minden specializációjára.
Mit fejez ki egy aktor és egy használati eset közötti asszociáció?
Azt, hogy az aktorral képviselt szerepkörnek joga van használni a használati esetet (szolgáltatást).
Magyarázatok a „KIR áttekintése” ábrához / 2
Milyen szolgáltatásokhoz van hozzáférése az Iktató szerepkörnek?
A Kézbesítés és az Ügyiratkezelés szolgáltatás(csomagok)hoz.
Mire való a megjegyzés szimbólum a diagramon?
Olyan tudnivalókat közölhetünk vele , amelyeket a diagram nem tud kifejezni.
Azonos konkrét felhasználónak (konkrét személynek) egyidejűleg lehet-e több szerepköre?
Igen. Ugyanis az „Ezt a szerepkört is általában az iktató látja el az ügyintéző helyett”* megjegyzésből az következik, hogy lehet olyan felhasználó, aki egyszerre rendelkezik mind az Iktató, mind az Ügyintéző szerepkörrel.
* Az „Ezt a szerepkört is általában az iktató látja el az ügyintéző helyett” megjegyzésből, nem következik, hogy az iktató ügyeket is elintéz. Inkább arról van szó, hogy a KIR egy iratkezelő rendszer neve, és az Ügyintézés szolgáltatáscsomag valójában az ügyintézésben érintett iratok keletkezésével, mozgásával, állapotváltozásával kapcsolatos adatok rögzítésére ad lehetőséget, de ezeket az adatokat mégsem az ügyintéző rögzíti ő csak olyan feljegyzéseket ír a mappára vagy a fizikailag (papíron) létező iratra, amelyek alapján az iktató el tudja végezni a rendszer által az ügyintézés következményeiről várt adatok bevitelét.
Az előző diagram „Küldemények kezelése” esetének kifejtése
Érkeztető
(from KIR)
Érkeztetés iktatás nélkül
Küldemény bontása
Küldemény szignálása
Küldeményadatok módosítása
Küldeményadatok megtekintése
Küldemény találati lista
Küldemény lezárása
Küldemény sztornírozása
Küldeményadatok keresése
Küldeményadatok kezelése - általános
Küldemény főbb adatai
Tov ábbi beküldők
Mellékletek Minősítések Feljegyzések Csatolmányok
Bontás adatok
TörténetKüldemények kezelése
Küldemény érkeztetés e-
mailből
E-mail keresése
E-mail találati lista
(from Ügyiratadatok kezelése - általános)
Bejöv ő irat érkeztetése,
iktatása
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«extend»
«extend»
«extend»
«extend»
«extend»«include»
Magyarázatok a „Küldemények kezelése” ábrához / 1
Az ábrán az Érkeztető felhasználót csak három használati esettel („krumplival”) köti össze asszociáció. Ez azt jelenti ez a felhasználó csak ezt a három szolgáltatást veheti igénybe (csak ezeket a „krumplikat” érheti el)?
Nem. Igénybe veheti azok kötelező részeit (<<include>>) és opcionális kiterjesztéseit (<<extend>>) is. – Másképpen: elérheti az összes „krumplit”, amelyhez (az említett három „krumpliból” vezet <<include>> és / vagy <<extend>> sztereotípusú függésekből álló láncolat.
Mit fejeznek ki a Küldeményadatok kezelése – általános használati esetből kiinduló <<include>> függések?
Azt, hogy a Küldeményadatok kezelése – általános használati eset kötelezően tartalmazza a nyilakkal mutatott hat másik használati esetet (szolgáltatást). – Pl. a Küldeményadatok kezelése – általános használati esetben egy a felhasználó egy olyan képernyőt kezel, amelynek hat panelje van. (Ha a hat panel túl nagy felületet adna ki, elképzelhető az is, hogy a képernyőt hat füleslap alkotja.)
Magyarázatok a „Küldemények kezelése” ábrához / 2
Mit fejeznek ki az ábra használati esetei közötti általánosítás / specializáció értelmű nyilak?
1. A Küldeményadatok kezelése – általános használati esetnek specializációi a Küldeményadatok megtekintése és az Érkeztetés iktatás nélkül esetek.2. A Küldeményadatok megtekintése esetnek specializációja a Küldeményadatok módosítása eset.
Az ábrán az Érkeztető felhasználótól nem vezet <<include>> és / vagy <<extend>> sztereotípusú függésekből álló láncolat a Küldeményadatok kezelése – általános használati esethez. Ezek szerint a felhasználó ezt az esetet nem használhatja?
A felhasználó konkrétan a Küldeményadatok kezelése – általános használati esetet nem használhatja, hiszen az egy absztrakt használati eset, amely csak a konkrét esetek specifikációjának egyszerűsítésére szolgál azáltal, hogy azok specifikációjának közös elemi ebben kiemelhetők.
Magyarázatok a „Küldemények kezelése” ábrához / 3... Tehát a felhasználó Küldeményadatok kezelése – általános eset szolgáltatásait nem éri el?
Amikor a felhasználó a Küldeményadatok kezelése – általános eset valamelyik specializációját használhatja, abban benne vannak (elérhetők) az általános esetnél specifikált szolgáltatások is.
Mivel egyszerűsíti a Küldeményadatok kezelése – általános használati esetet jelenléte más használati esetek specifikációját?
Azt a tényt, hogy a képernyő történetesen tartalmazza a Küldemény főbb adatai, a További beküldők, a Mellékletek, ..., Csatolmányok paneleket / füleslapokat, nem kellett duplán, az Érkeztetés iktatás nélkül és a Küldeményadatok megtekintése eseteknél is specifikálni.
Példa a „Digitális óra” esettanulmányból
Áttekintő változat
Részletező változat
Példa az „Egy lakás biztonsági rendszere” esettanulmányból
Példa az „Egy szupermarket parkolási rendszere” esettanulmányból
Egy használati eset részleteinek kifejtése
Másik - részletező - use case diagramSzöveges forgatókönyv (scenárió)A viselkedésmodellezésből vett technikák
(szekvenciadiagram, tevékenységdiagram)