objektumorientált tervezés és programozás ii. 1. előadás

21
Objektumorientált tervezés és programozás II. 1. előadás Gyurkó György

Upload: summer-dean

Post on 03-Jan-2016

23 views

Category:

Documents


2 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Objektumorientált tervezés és programozás II. 1. előadás

Objektumorientált tervezés és programozás II.

1. előadás

Gyurkó György

Page 2: Objektumorientált tervezés és programozás II. 1. előadás

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

Page 3: Objektumorientált tervezés és programozás II. 1. előadás

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).

Page 4: Objektumorientált tervezés és programozás II. 1. előadás

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.

Page 5: Objektumorientált tervezés és programozás II. 1. előadás

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.

Page 6: Objektumorientált tervezés és programozás II. 1. előadás

Követelmények – Használati eset modellezés

Page 7: Objektumorientált tervezés és programozás II. 1. előadá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

Page 8: Objektumorientált tervezés és programozás II. 1. előadás

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, ...)

Page 9: Objektumorientált tervezés és programozás II. 1. előadás

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)

Page 10: Objektumorientált tervezés és programozás II. 1. előadás

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

Page 11: Objektumorientált tervezés és programozás II. 1. előadás

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

Page 12: Objektumorientált tervezés és programozás II. 1. előadá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).

Page 13: Objektumorientált tervezés és programozás II. 1. előadás

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.

Page 14: Objektumorientált tervezés és programozás II. 1. előadás

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»

Page 15: Objektumorientált tervezés és programozás II. 1. előadás

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.)

Page 16: Objektumorientált tervezés és programozás II. 1. előadás

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.

Page 17: Objektumorientált tervezés és programozás II. 1. előadás

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.

Page 18: Objektumorientált tervezés és programozás II. 1. előadás

Példa a „Digitális óra” esettanulmányból

Áttekintő változat

Részletező változat

Page 19: Objektumorientált tervezés és programozás II. 1. előadás

Példa az „Egy lakás biztonsági rendszere” esettanulmányból

Page 20: Objektumorientált tervezés és programozás II. 1. előadás

Példa az „Egy szupermarket parkolási rendszere” esettanulmányból

Page 21: Objektumorientált tervezés és programozás II. 1. előadás

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)