260 likes | 382 Views
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE ). Informatikai Rendszerek Tervez ése 1 0 . El ő ad á s: D öntéscentrikus rendszertervezés. Egy új megközelítése az informatikai rendszer ek tervezésének I llyés László. Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE ).
E N D
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) Informatikai Rendszerek Tervezése 10. Előadás: Döntéscentrikus rendszertervezés. Egy új megközelítése az informatikai rendszerek tervezésének Illyés László
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) Az előadás nagy részben ezen a 2 cikken alapszik • Mark Norton, "Decisioning: A New Approach to Systems Development (Part 1)," Business Rules Journal, Vol. 8, No. 1 (Jan. 2007), URL: http://www.BRCommuity.com/a2007/b326a.htm • Mark Norton, "Decisioning: A New Approach to Systems Development (Part 2)," Business Rules Journal, Vol. 8, No. 1 (Jan. 2007), URL: http://www.BRCommunity.com/a2007/n326b.html
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) Bevezető Decisioning-egy új fogalom, ami az üzleti szótárakban található Értelme: automatikus döntéshozási-folyamat Ez az a kulcsszó, ami megvilágosítja, hogy a döntéshozás alapvető fontossággal bír az üzleti folyamatokban. A döntéshozási tudás (know-how) az, ami megkülönbözteti egyik céget (üzletet) a másiktól. A rendszer-fejlesztési életciklusban játszott kritikus szerepe kerül bemutatásra, ahol a döntéshozási-folyamat lesz a vezérlő. A cikkek szerzője sok döntés-centrikus rendszer-építési tapasztalata alapján fejlesztette ki ezen eredményeket.
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) Motiváció Döntési automatizmus: motivációja sok rendszer építésének (zéró-érintésű feldolgozás) Döntéshozási know-how : sok energiát fektetnek be a feltérképezésére és megvalósítására Döntéshozási know-how leépül (beleépül) egy amorf programkódba, vagyis elveszti identitását és integritását. Döntés-centrikus rendszer-felépítés lényege támogatni a: • termék kiválasztást • árazást • jóváhagyást • határidők és feltételek meghatározását
Célkitűzések: • A rendszer-építés legfontosabb összetevője a döntéshozatal legyen • A felépített rendszer egy termék-konténer legyen, amelyik bizonyos specifikációt és import-export interfészt betartva a konténerbe illeszthető termékeket eredményezzen • A termékek konfigurációja megvalósítható legyen • Ne hagyjuk a programozóra, hogy az üzleti szabályokat ők határozzák meg Eddigi bevált modellek: • Adat-felfedezés és normalizáció • Folyamat-felfedezés és dekompozíció Az új modell (döntési perspektíva) elsőbbséget élvez a folyamattal szemben, adat vagy döntéshozatali aktivitás nélkül NINCS processz (folyamat) követelmény
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) Döntés: A releváns tényekre alkalmazott strukturált üzleti tudás eredménye, amely során meghatározható egy optimális lefolyása az üzleti cselekményeknek. A döntés: • értelmet ad az adatoknak • irányt ad a folyamatoknak A döntések hozzásegítenek más döntések felfedezéséhez is. Egy döntés függhet előző döntésektől és befolyásolhatja a következő döntéseket. Így építhető fel a “döntési modell” Mivel a döntések képezik az üzleti tudás magját, ezek képezik elsősorban az “elsőrendű”tudást a területi szakembereknek, mintsem az adat vagy a folyamat ismerete.
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) Decisioning: szisztematikus felfedezése, definíciója és menedzsmentje a döntéseknek a döntések automatizmusa céljából. Követelmény-analízis szempontok: Egy üzleti érték akkor keletkezik, amikor egy felismerhető üzleti objektum állapota megváltozik Ez fókuszál a magra: mivel kereskedünk, mit menedzselünk, mit hasznosítunk, mit használunk, építünk vagy adunk el, hogy elérjük az üzleti céljainkat. Üzleti objektumok változása: döntés eredménye amely a folyamatban aktivizálódik és NEM a folyamat (processz) eredménye.
Tradícionális megközelítések. Az alkalmazásba kódolják a döntéseket, ugyanazt a programozási nyelvet használva.A technikai aspektusait az alkalmazásnak, összekeverik más aspektusokkal, mint a perszisztencia, felhasználói felület és integrálási logika. A hagyományos modellek problémái a döntési modell szempontjából: • Ellenőrizhetőség: nem-technikai személynek nem biztosít érthetőséget • Karbantarthatóság: a belekódolás megnöveli a komplexitást, nehezen változtatható meg egy aspektus anélkül, hogy egy másikat is befolyásolna • Kockázat, ár és idő: ezek exponenciálisan nőnek a rendszer komplexitásának növekedésével • Redundancia és átfedés: a rendszer fejlődése és adaptációja az új követelményekhez duplikált döntési szabályokat eredményez. Ez ugyanannak a döntésnek több implementációjához vezethet. • Rossz kontextusba való elhelyezés: a követelmények szempontjából ered • Dokumentáció: reverse engineeringet nehéz használni
Objektum-orientált tervezés: menedzseli az alkalmazás komplexitását az adatok absztraktizálásával és beágyazásával és a beágyazott függvényekkel, amelyek az adatokon műveleteket végeznek. Ugyanakkor egy tipikus döntés TÖBB osztály részvételét ígényli, ami azt jelenti, hogy a döntés részeiben lesz jelen (több osztályhoz fog tartozni). Ugyanaz a probléma merül fel, amikor egy ABR-ben próbálunk üzleti szabályokat nyilvántartani. A döntési szabályok itt is fragmentáltak lesznek. Ez a ‘leépítése’ (beépítése) a döntési-építési folyamatnak (decisioning) a programkódba a tradícionálisan tervezett rendszerekben annak az eredménye, hogy a döntési komponensek természetes modellje nincs beépítve a rendszerbe. A probléma eredete a rendszer-fejlesztési életcikulusban van. (System Development Life Cycle)
A hagyományos modell Mark Norton, "Decisioning: A New Approach to Systems Development (Part 1)," Business Rules Journal, Vol. 8, No. 1 (Jan. 2007),
Az eredeti követelményspecifikáció többnyire (magyar) elbeszélés formájában rögzítődik, több forrásból. Az elbeszélő forma kétértelműséget, személyes kifejezésmódot és értelmezést hoz be és nem ritkán egyenesen logikai konfliktusokat. A döntések identitása ritkán őrződik meg. • Az elbeszélő formát ezek után átalakítják strukturált tervezési dokumentumokká (adatmodell, folyamat-modell, Use Case stb.) és kibővítik, hogy tartalmazza a nem funkcionális specifikációt. A döntési definíciók rendszerint szétszóródnak ezen dokumentumokon belül mint más fogalmak jellemzői. • A tervezési dokumentumokat átalakítják részletes tervekké és program-specifikációkká, még jobban szétszórva a döntési specifikációt a tehnológiai rétegekben (biztonsági, kommunikációs, platform és disztribúció) • Az alsó szintű specifikációt átalakítják programkódba, és kibővítik a kivétel-kezeléssel és a folyamat-irányítással
Az új, javasolt modell Mark Norton, "Decisioning: A New Approach to Systems Development (Part 1)," Business Rules Journal, Vol. 8, No. 1 (Jan. 2007),
Döntés-analízis: Az elsődleges üzleti objektum (business object), definíció szerint tapintható és különálló; egyértelműen identifikálható. Ugyancsak definíció szerint az üzleti érték forrása, az üzlet egy egyértelmű azonosítót biztosít számára- ez az első adat attribútuma. Milyen attribútumok a lényegesek? Azok, amelyekre szükségünk van a döntéshez. Decisioning! Ahogyan döntünk, az határozza meg a különbségeket az üzletben- ahogyan döntünk, hogy fogadjuk el az ügyfeleinket, hagyjuk jóvá az eladást, határozzuk meg az eladási árat, egyeztetjük a határidőket és feltételeket Döntés-analízis egyszerű és intuitív, mivel az üzleti folyamat elsődleges tevékenysége- ez az, amit az üzlet a legjobban tud.
Döntés-felderítés (feltárás) A döntés egyedülálló, elemi érték; nem lehet féldöntést hozni, még annyira sem, mint ahogy nincs fél-attribútumunk. Keressük az explicit, egy-értékű kimeneteket, mindeniket rögzítünk, mint egy új attribútumot. Kezdjük az elemzést a mi üzleti objektumunkkal (nevezzük biztosítási szerződésnek), és egy állapotváltozással, amelyik az objektum állapotát megváltoztatja (mondjuk, ‘szerződést jováhagy’). Szükségünk van a tárgyköri szakértőre az üzletben. A tárgyközi szakértő az, aki megtudja válaszolni azt a kérdést, hogy: Milyen döntéseket hoz ahhoz, hogy... jóváhagyja ezt a biztosítási szerződést?
Az általános minta a kereskedelmi döntéshozatalból, amelyik segíti a strukturálását a döntési folyamatok feltárásának A döntési szekvencia Mark Norton, "Decisioning: A New Approach to Systems Development (Part 1)," Business Rules Journal, Vol. 8, No. 1 (Jan. 2007),
A sárgás körök a legfontosabbak a ciklusban. Megbízás és elfogadás. A biztosítási szerződési objektum: elfogadom vagy sem a kockázatot? Hogy meghatározzuk ezt a döntést, meghatározhatunk több előzetes döntést, amelyet előbb kell figyelembe venni. Például meg kell felelni a következő kérdésekre: • Mi a jellemző kockázata az objektumnak? • Mi az ügyfél-kockázat? • Mi a geográfiai kockázat? Ezen döntések sorozata más döntéseket eredményezhet, ebből kifolyólag felépíthetünk egy döntési fát- ez a döntési modellje a jóváhagyásnak.
Milyen áron? (Pricing or Costing) Milyen döntést kell hozni, hogy meghatározzuk az árát ... ennek a kockázatnak? Ugyancsak döntési fát eredményez ezen döntésnek a meghozatala is. (csomag stb.) Megismételhetjük az alábbi folyamatot minden elő- és utó-döntésre: • Előfeldolgozási ellenőrzés: Van-e elég információm ahhoz, hogy elkezdjem a döntéshozást? • Kontextus alapú érvényesítés: Érvényes-e a szolgáltatott adat? • Gyarapítás: Milyen további adatot tudok származtatni, hogy támogassam az elsődleges döntéshozatalt? • Termék- vagy folyamat-választás: szükségem van-e meghatározni egy döntési utat a többi lehetséges útból az elsődleges döntéshozatalhoz?
Az elsődleges döntéshozatal után: • Munkafolyamat. Miután meghoztam az elsődleges döntést, mit kell tennem ezután? • Utó-feldolgozás. Hiba nélkül fejeztem be és hiánytalanul? A döntéseim az elfogadható határok között vannak? Normalizáció Adat normalizáció egy közel-precíz módszer elemi adatok közötti kapcsolat modellezésében. Azért ‘közel-precíz’ mivel a normalizáció egy precíz módszer, ami függ egy pár nem-precíz bemenettől: • Érvényességi kör: meghatározza mi releváns – nem normalizálunk olyat, ami nem lényeges az alkalmazás szempontjából • Kontextus: meghatározza hogyan látunk (és hogyan definiálunk) minden adatot • Minden adat definíciója: ez nagyon szubjektív, mégis irányítja a normalizációs folyamatot
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) • Adat-normalizáció arra épül, hogy szubjektív kijelentéseket teszünk az adatok értelmére és fontosságára, utána használjuk a normálformákat, hogy megszervezzük ezeket egy koherens modellbe. • A döntések felőlről nézve a normalizáció hasonló. Minden döntés egyetlen adatot eredményez és ‘elemi’ ugyanúgy, mint ahogy az adat elemi. • Minden döntéshez tartoznakkapcsolatok, amelyek más döntésekhez kapcsolják a modellben. A döntések kapcsolódnak mind a szekvenciákhoz mind a kontextushoz. Ebből a szemszögből a kontextus ugyanazt a szerepet játssza, mint az ‘elsődleges kulcs’ az adat-normalizációban.
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) A relációk közötti kapcsolat tartalmazhatja a következőket: • Az összes döntésnek adat-kontextusa van, ami az ő normalizált bemenetének elhelyezéséből származik. • Minden döntési definíció megelőzhet vagy követhet egyetlen egy más döntési definíciót. • Minden döntés hozzátartozik azon döntési csoporthoz, amelyik ugyanazt a kontextust használja. • Párhuzamot vonva a 4-ik Normálformával, eltérő döntések, amelyek ugyanazt a kontextust osztják meg külön csoportokba sorolandók. • A döntéseknek egy csoportjának is sorrendje van és csoportosítható más döntésekkel vagy csoportokkal a megosztott kontextus szerint.
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) • Az előzőekben letárgyaltuk a Mit és Hogyan-t: az üzleti objektumot, amelynek állapotai vannak és a döntési folyamatot, amelyik az állapováltozásokért felelős. • Mikor: Az esemény természete, amely serkenti az állapotváltozást-”Másképp fogom fogadni a pácienset vészhelyzetben és másképp normál helyzetben?” • Hol: Van valamilyen törvénykezési vagy helyi alapismeret, ami az állapotváltoztatást befolyásolya-”Elfogadom ezt az üzletet, ha egy háborús környezetben zajlik?” • Kicsoda: Ki követi el az állapotváltozást-“Egy közvetítő által végzett ügylet más elbírálás alá esik, mint egy belső tranzakció?” • Miért: Miért fontos ez az állapotváltozás az üzletben—főképpen hogyan teremt értéket?
A döntés-centrikus fejlesztés Mark Norton, "Decisioning: A New Approach to Systems Development (Part 1)," Business Rules Journal, Vol. 8, No. 1 (Jan. 2007), Ez a bemutatás azt sejteti, hogy a döntés és adat modellek egyenrangú tervezési műtermékek. Követve az üzleti objektumok kezdeti feltárását és kidolgozását, a döntés-feltárási folyamaton keresztül, azonosítottunk új adat-attribútumokat (a döntési kimeneteket). Ha megtaláljuk a döntéseket az adatok struktúrája körül, fel tudunk építeni egy integrált döntési/adat modellt. Ez a kevert modell önigazoló és feljavítja az analízis átfogó pontosságát.
Decisioning-vezette folyamat-tervezés A decisioning folyamatokat is vezérel. Hogy a döntés végrehajtásra kerüljön, szolgáltatni kell hozzá az előzetes adatokat egy folyamat által. Ezen adatok és a hozzátartozó folyamatok nem határozhatók meg mindaddig, amíg a döntési követelmények nem tudottak. Miután a döntésnek valamilyen eredménye van egy folyamat meg kell valósítson valamilyen választ. Az eszközök: Milyenek legyenek? • Pontosan körülírt. Minden tény, minden operátor tiszta és egyértelmű kell legyen úgy, hogy a döntési modell garantáltan félreérthetetlen legyen • Strukturált. Az elemek felépítését egy jelentéstani (szemantikus) modellbe menedzselni kell, hogy biztosak lehessünk abban, hogy csak egyetlen értelmezési (és egyben végrehajtási) út lehetséges minden specifikus probléma-példányra
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) • Könnyen használható. Gyorsabb kell legyen, mint az írása a vele ekvivalens elbeszélésnek– használjon grafikai elemeket (modellezést) ha lehetséges • Hozzáférhető üzleti kimeneteket kell adjon az ellenőrzés végett. A döntési analista közelebb kell tudja hozni a hurkot a domén szakértővel, amely hitelesíti a döntési felépítményt mielőtt a költséges, ebből kifolyólagos munka elvégzésre kerülne • Tesztelhető. A döntési modell ki kell tudja mutatni a helyes eredményeket mielőtt a költséges további munkák elvégződnének. Csak ezután a csomópont után tudhatjuk azt, hogy a döntési követelmények tudottak és teljesek, eltávolítva a kockázat és költség nagy részét az elkövetkező rendszer-tervezési élet-ciklus megközelítésben • Nem szabad olyan ‘lenyomata’ legyen ami kódozási megvalósítást von maga után. Ne legyen semmilyen programnyelv függő.
Az emberek. Ki fogja elvégezni a döntési analízist? Mindenki, aki rendelkezik: • Párhúzamos gondolkozással és analitikus készséggel– hogy megértse a döntési felépítményt szó szerint, nem strukturált döntési tudást a tárgkör szakértőjétől • Strukturált, fókuszált tudással– hogy átalakítsa a szó szerinti, nem strukturált döntési tudást a tárgyköri szakértőtől normalizált és strukturált döntéssé és adat-modellé Egy pár jellemző, amelyik segítségére van egy döntési tervezőnek: • Tárgyköri- és általános üzleti tudás. Minél több, annál jobb. • Normalizációs gyakorlat. Nagyon lényeges megérteni a normalizációt és azt hogyan lehet alkalmazni az adat- és a döntési modellezésre • Képesség, hogy általános fogalmakról a legkisebb részletekre átálljon
Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) • Kitartás a részletekben. Le kell tesztelnie saját döntési modelljét részletesen– ez segíti megérteni és elkerülni az átállási költséget. A döntési modellező tesztel, mivel ez segít neki abban, hogy megértse a problémát és a megoldásokat is. • Kommunikációs készség. A döntési elemző a kulcs-csatlakozó a tárgyköri szakértő és a rendszer között. Elsősorban üzleti képviselő felöltöztetve analitikusi ruhába. • Logika. Logikusnak kell lennie, de jobb, ha NEM tudja hogyan történik a kódolás a tradicionális fejlesztési nyelven! Csak logikusan gondolkozzék, s ne legyen felruházva azon tulajdonságokkal, amelyek ezekkel a program-nyelvekkel együtt jár.