EO_02
Obsah přednášky Pojem faktu modelování založené na faktech. Model založený na faktech (konceptuální model) & datový model. Modelovací nástroj pro modelování faktů: ObjectRole Modeling (Modelování objektových rolí) 2
Modelování založené na faktech (FactBasedModeling -FBM) Modelování založené na faktech je metodologie, pro modelování sémantiky domény zájmu (univerza diskursu) za účelem např. vytvoření informačních systémů (konceptuálního modelu), nebo vytvoření nebo použití pravidel systému nebo sdílení informací. 3
Modelování založené na faktech (FactBasedModeling -FBM) Hlavním cílem modelování založeného na faktech je zachytit co nejvíce sémantikyk validaci mezivýsledků nebo finálních výsledků s doménovým expertem v jeho preferovaném jazyce, přednostně používající konkrétní ilustrace k zabezpečení nezávislosti na implementaci. 4
Modelování založené na faktech Na rozdíl od Entitněrelačního (ER) nebo objektově orientovaného modelování, modelovánízaložené na faktech zachází se všemi fakty jako s relacemi (unární, binární, ternální...). Seskupování faktů do struktur je řešeno na úrovni systémového návrhu, implementační záležitosti jsou irelevantník zachycení podnikové sémantiky (business semantics). 5
Modelování založené na faktech (FBM) Vynecháním atributův základním modelu zvyšuje stabilitu a srozumitelnost. Modelování založené na faktech umožňuje přirozené slovní vyjádření a takto efektivní komunikaci mezi zainteresovanýmiosobami (doménovými experty). FBMposkytuje prostředky k zachycení znalostí doménových expertů. FBMje konceptuální, avšak nezávislé na SW implementaci. 6
Modelování založené na faktech FBMje založeno na logicea je řízeno přirozeným jazykem, pomocí něhož výsledný model založený na faktech (konceptuální datový model) zachycuje sémantiku domény zájmu, pomocí typů faktů spolu s asociovanými koncepty definic a integrity a odvozovacích pravidel. 7
Datový model Datové modely nejsou vždy tak úspěšné. To je způsobeno faktem, že datový vývojáři se snaží uskutečnit dva cíle najednou: snaží se použít datový model k prozkoumání podnikových požadavků (business requirements) snaží se vytvořit současně vytvořit požadavky na systém (system requirements) a návrh databáze. Řešením je přestat používat datové modely pro zjišťování podnikových požadavků (business requirements). 8
Model faktů Pro fázi podnikové analýzy je vhodný Model faktů (Fact Model). Model faktů strukturuje základníznalosti o podnikových operacích z perspektivy podniku (business perspective). Základní znamená, že znalost, kterou reprezentuje není odvozena nebo vypočítána z jiné znalosti. 9
Model faktů Model faktů je pak klíčovým počátečním bodem pro vývoj pokročilejších forem podnikových znalostí včetně opatřeních a pravidel. Konrétně, model faktů se zaměřuje na logická propojení(nazývané fakta) mezi hlavními koncepty podniku. V modelu faktů jsou koncepty reprezentovány termy (terms). 10
Model faktů Faktaspojují tyto termyzpůsobem, který odráží reálný svět. Model faktů se zaměřuje na to, jak jsou organizovány znalostitýkající se podnikového procesu. Konkrétně model indikuje, co je třeba znáto podnikových operacích, aby proběhly. Procesně orientované postupy (workflow, task definition) se zaměřují pouze na provádění podnikových procesů (pouze funkční pohled). 11
Model faktů Dobře vytvořený model faktů řekne, jak strukturovat základní znalosti o podnikovém procesu založeném na standardním slovníku. To zabezpečí efektivní komunikaci s dalšími účastníky projektu. To umožní využít tyto standardní znalosti a slovníkk vyjádření dalších typů požadavků, speciálně pravidela efektivně o nich komunikovat. 12
Model faktů &datový model Dobře vytvořený model faktů může být transformován do datového modelu. Model faktů je část podnikového modelu (Business Model), datový model je část modelu systému. Na rozdíl od modelu faktů, datový model se zaměřuje na vymezení dat a jejich vhodného formátu k podpoře vývoje systémových požadavků. 13
Model faktů &datový model Základními uživateli modelu faktů jsou podnikový analytici a doménoví experti. Základními uživateli datového modelu jsou systémoví návrháři a databázoví analytici. 14
Model faktů &datový model Pro model faktů není důležité jak budou organizována data nebo navržena databáze. Model faktů by měl být zaměřen přímo na perspektivu podniku (business perspective). To znamená strukturovat model faktů způsobem, jakým lidé v podniku myslí a komunikujío podnikových procesech. 15
Rozdíly obou modelů V modelu faktů obdélníkreprezentuje term, který nahrazuje podnikový koncept. V datovém modelu obdélníkreprezentuje kolekci atributů, které jsou takto strukturovány k zachování vhodných dat pro ukládání a manipulaci, kterou provádí aplikace. 16
Co jsou termy (termíny) Term(termín, výraz, název, pojem). Termyjsou podstatná jména, která se užívají v denních podnikových operacích (business operations). Termíny (termy) popisují: smysluplné podnikové koncepty(třídy), charakteristiky podnikových entit(atributy), způsob, jak se podnikové objektychovají (metody). 17
Co jsou fakta (fact) Faktajsou kombinací termů, které popisují co lidé v podnicích znají jako jejich činnost (business). Fakta mohou popisovat: vztahy mezi termy interakce mezi termy (spolupráce) smysluplné kombinace termů ve slovníku. 18
Co jsou fakta (fact) Příklady faktů: Pojištění může obsahovat mnoho krytí (rozsahů úhrady). Krytí (rozsah úhrady) stanovuje částku (rozsah) ochrany proti ztrátě. Spoluúčast je částka, kterou pojištěný musí zaplatit v případě ztráty. Fakta jsou podnikové znalosti (business knowledge). 19
Term, fakt, pravidlo Termje slovo, které má význam pro lidi z dané domény. Faktje kolekce termů, které popisují co lidé z podniku (konkrétní domény) znají o podniku (business doméně). Fakta jsou postavena na termech. 20
Term, fakt, pravidlo Pravidlo (rule) používá fakta k popisu jak lidí v podniku (business people) chtějí, aby jejich podnik byl řízen. Pravidla mohou být v interakci s jinými pravidly. 21
Elementární fakt Elementární faktje definován na základě věty přirozeného jazyka, ve které je vyjádřen. Elementární fakt lze stručně definovat jako tvrzení, že objekt hraje danou roli. Příklad elementárního faktu: Jan se narodil 16 listopadu 1988. Věta se nazývá elementární, -není možné ji rozdělit na menší části, které by byly platné a které by současně měly význam původní věty. 22
Elementární fakt Další věta je příkladem ne elementárního faktu: Jan se narodil 16 listopadu 1988 a mámodré oči. Možnost rozdělení na dvě elementární věty: Jan se narodil 16 listopadu 1988. Jan mámodré oči. Význam původní věty je kompletně zachován ve dvou elementárních větách. 23
Elementární fakt Další příklad faktu: Jan se narodil 16 listopadu 1988 vbrně. Říkáme, že se narodil je role objektu. Možnost rozdělit větu na dva elementární fakty: Jan se narodil 16. listopadu 1988 Jan se narodil vbrně Modelovací přístupy založené na přirozeném jazyku mohou vyjádřit fakt pomocí řady různých vět. 24
Elementární fakt Objektivní kritérium, pro stanovení toho, zda je fakt elementární či není. Toto kritérium se nazývá pravidlo n-1 a říká, že každé aplikovatelné jednoznačné pravidlo musí obsáhnout alespoň n-1 rolí n-arníhofaktového typu. Demonstrace graficky po rozvedení věty do kompletní formy. Například rozvedení posledně uvedené věty je následující: 25
Elementární fakt OSOBA se jménem OSOBY Jan je narozena DATUM se jménem DATUMU 16-11-1988 v MÍSTO se jménem MÍSTO Brno Instancetypu faktu modelovaná pomocí ORM (Object-Role-Modeling). 26
Elementární fakt F01 typ faktu. Každá část (nesoucí označení 1, 2, 3) představuje roli připojené třídy objektu, kterou představuje na obrázku obdélník. DATUM F01 OSOBA 1 2 3 MÍSTO <1> je narozen <2> v <3> 27
Elementární fakt Typ faktupak může být reprezentovaný instancemi faktu jako např. Anna 16.12.1988 Ostrava Zdeněk 1.6.1991 Havířov Eva 22.3.1966 Frýdek Místek Jan 16.11.1988 Brno 28
Pravidlo jedinečnosti Toto pravidlo znamená, že vlibovolných instancích typu faktu F01 se objektvdané roli může vyskytnout pouze jednou. Pravidlo představuje vodorovná čára nad částí obdélníku označena 1 (rolí), a konkrétně to znamená, že daná osoba se vždy narodila pouze vdaný dena na daném místě. Nemůže existovat osoba, která má např. dvěnebo více různých dat narození, nebo dvě či více míst narození. 29
Elementární fakta Nahradit ternární typ faktu F01 dvěma binárními typy faktu (F02, F03): 30
F02: Anna 16.12.198 Zdeněk 1.6.1991 Eva 22.3.1966 Jan 16.11.1988 F03: Anna Ostrava Zdeněk Havířov Eva Frýdek Místek Jan Brno Elementární fakta 31
Elementární fakta Uvedené věty měly deklarativní charakter, který byl reprezentován pravdivým faktem -tvrzením, tedy, že Jan se narodil vbrně 16. listopadu 1988. Vyjadřování informací jako elementárních faktů nebývá vždy jednoduché. 32
Elementární fakta Důvody, proč využívat elementární fakta: Tím, že pracujeme sinformacemi vjednoduchých jednotkách, máme lepší šanci kzískání korektního obrazu aplikace, která je modelovaná; Je snadnější vyjádřit a kontrolovat omezení (omezující podmínky); Je snadnější modifikovat konceptuální schéma, protože typy faktů mohou být přidáványnebo rušeny postupně, což je lepší než modifikace složených typů faktů. 33
Elementární fakta Stejné konceptuální schéma může být použito kmapování odlišných datových modelů. Pokud budeme seskupovat typy faktů do složených typů faktů vkonceptuálním schématu, mohou být využita různá seskupení pro odlišné cílové modely. 34
Metodologie modelování rolí objektů Cílem této metodologieje vytvořit konceptuální model informačního systému, který je vyjádřený pouze prostřednictvím elementárních faktů, omezujících podmínek(constraints) a odvozovacích pravidel(derivationrules). Hlavním cílem této metodologie je poskytnout konceptuální model informačního systému na vysoké úrovni, kde je aplikace popsána ve výrazech (pojmech) konkrétní aplikační domény a je takto snadno srozumitelná vlastním uživatelům. 35
Metodologie modelování rolí objektů Planeta se jménem Země je obydlena. Planetu se jménem Mars obíháměsíc se jménem Phobos. Pracovník se jménem Nový navštívilzemi se jménem Čína vroce 2001. Třída objektu uvedena velkýmpísmenem. Tedy konkrétně třídy objektu jsou: Planeta, Měsíc, Pracovník, Země, Rok. 36
Metodologie modelování rolí objektů Predikátyjsou věty, ve kterých jsou místa (díry) pro objektové třídy (...). Predikáty tedy můžeme popsat následovně:... je obydlena ; unární fakt... obíhá... ; binární fakt... navštívil... v.... ternálnífakt 37
Modelování jedinečnosti faktů Unární typy faktů jsou nejsnadnější. Předpokládejme, že jako část fitness aktivity sledujeme, kteří lidé provozují jogging. To může být zpracováno jako unární typ faktu. Předpokládejme, že budeme lidi identifikovat podle příjmení. Osoba s příjmením Horák provozuje jogging. Osoba s příjmením Nová provozuje jogging. Osoba s příjmením Procházka provozuje jogging. 38
Modelování jedinečnosti faktů Instance od takových typů faktů pak můžeme ukládat do relační databáze. Při tom, když budeme chtít databázi aktualizovat se může stát, že se některá osoba může vyskytnout vícekrát. Pro jednoduchost předpokládáme, že každá osoba má jedinečné příjmení. Jedná se o omezující podmínku jedinečnosti, kterou musíme být schopni modelovat i vgrafickém nástroji. 39
Modelování jedinečnosti faktů běhá Osoba Horák Nová Procházka Horák Omezení jedinečnosti vodorovná čára nad unárním predikátem. Druhý výskyt neumožněn. 40
Omezení rolí binární predikáty Nejběžnější případ je omezení jedinečnosti právě jedné role. Každý Politik se narodil nanejvýše v jedné Zemi. Je možné, že některá Země je místem narození více Politiků. 41
Omezení rolí binární predikáty Omezení jedinečnosti na první roli. 42
Každý politik se narodil nanejvýš v jedné Zemi. Je možné, že ve stejné Zemi se narodil více než jeden Politik. 43
Každý Politik řídí nanejvýše jednu Zemi. Každá Země má nanejvýše jednoho hlavního Politika. 44
Je možné, že stejný Politik navštívilvíce Zemí a že stejná Země byla navštívena více než jedním Politikem. 45
Rekurzivní vazby mezi typy objektů Jedná o roli rodiče a roli dítěte. Role jsou reprezentovány dvěma přilehlými obdélníky, nad nimiž je text je rodičem / je dítětem. Takže obě role jsou reprezentovány. Rekurzivní vazba 1 : 1. 46
Rekurzivní vazby mezi typy objektů Každé dítě má pouze jednu matku. Ačkoli matka může mít více dětí, každá Osoba má pouze jednu (biologickou) matku. 47
Rekurzivní vazby mezi typy objektů Monogamie, vztah 1 : 1. Každý muž může mít nanejvýš jednu manželku a každá žena může nanejvýš jednoho manžela. 48
Přehledomezení duplicit R (1) Žádné duplikáty nejsou povoleny pro sloupec a. Každé a z R má nanejvýš jedno b. Realizuje vazbu n : 1. a b (2) (3) R R a b Žádné duplikáty nejsou povoleny pro sloupec b. Každé b z R má nanejvýš jedno a. Realizuje vazbu 1 : n. Jedno a má přiřazeno jedno b. Jedno b má přiřazeno jedno a. Realizuje vazbu 1: 1. (4) R a b Žádné duplikáty dvojic (a, b) nejsou povoleny. Každé a může mít mnoho b a naopak.realizuje vazbu n : m. a b 49
Modelování jedinečnosti na delších typech faktů Osoba získala body Hodnocení za Kurz. 50
Modelování jedinečnosti na delších typech faktů Každý sloupec má alespoň jednu hodnotu, která se opakuje. Takže žádný ze samotných sloupců nemůže aplikovat omezení jedinečnosti. Nyní se podívejme na každou dvojici sloupců. Sloupce Osobaa Hodnocenímají společné hodnoty vprvním a ve druhém řádku. Při porovnání sloupců Osobaa Kurzvidíme, že každá dvojice je jedinečná. 51
Modelování jedinečnosti na delších typech faktů Při porovnání sloupců Hodnocenía Kurzvidíme, že řádky první a čtvrtý jsou stejné pro tuto dvojici. Existuje tedy pouze jeden způsob, jak párovat sloupce vdané tabulce. Jsou-li data uvedená vtabulce signifikantní (mající význam), existuje pouze párové omezení jedinečnosti, které říkají, že každá dvojice (Osoba, Kurz) musí být jedinečná. 52
Dvojice (Osoba, Kurz) -jedinečná Dvojice (Osoba, Kurz) jedinečná. 53
Jedinečnost omezení aplikovaná na všechny role Aplikuje ternární typ faktu. Zde politici mohou navštívit mnoho zemí během jednoho roku. Říká se, že takový typ faktu je mnoho ku mnoho ku mnoho. Žádná trojicevřádku se nesmí opakovat. 54
Objektivizace (zpředmětnění vnořování) Někdy potřebujeme relaci(dvě role binární fakt) transformovat a nahradit ji objektem. Vdiagramu tříd UML se transformaci relace do podoby třídy říká asociativní třída. Vmetodologii ORM se tato transformace nazývá objektivizace či zpředmětnění (objectification) nebo vnořování, hnízdění (nesting). 55
Objektivizace (vnořování) Místo vyjádření jedné věty, vyjádříme typ faktu ve dvou větách: Student R06103 je zapsaný v kurzu RELDA. Tento Zápis kurzu má výsledek v Hodnocení 7. 56
Objektivizace (vnořování) Tento Zápis kurzu odkazuje na specifický vztah mezi Osoboua Kurzem. Ten je dán první větou zápisu. Jak je vidět zomezení jedinečnosti, dvojice (Osoba, Kurz) musí být jedinečné. Zápis kurzu má pak vazbu na Hodnocení. Vtéto vazbě opět Zápis kurzu musí vystupovat jako jedinečný. 57
Modelování povinných a volitelných rolí Povinná (mandatorní) role se vdiagramu označuje tečkou. Mandatorní role označuje skutečnost, že pacient s danou identifikací musí mít své jméno. 58
Modelování povinných a volitelných rolí Mandatorní omezení: Každý pacient má nějaké jméno. Omezení jedinečnosti: Každý pacient má nanejvýš jedno jméno. Každý pacient má nanejvýš jedno telefonní číslo. 59
Referenční schémata Jednoduché referenční schéma může obsahovat doménu (univerzum), kde osoby jsou identifikovány pomocí jejich příjmení a každé město (místo bydliště) má dané jméno. Tedy jediný požadavek na jedinečnost splňuje v daném případě jméno osoby. Osoba Město Výška (cm) Hrudník (cm) Váha (kg) IQ Konečná Karviná 172 100 76 120 Znojil Karviná 181 91 82 110 Nová Ostrava 170 95 77 115 Vydrová Petřvald 168 97 73 100 60
Referenční schémata má výšku žije v [výška] Město má hrudník Délka (cm) Osoba [obvod hrudníku] IQ má má [hmotnost těla] Váha Role Osobyje mandatorní(povinná), proto má u sebe zvýrazněné tečky. U každé role je uveden textový predikát např. má výšku, někdy ještě doplněný o měřenou hodnotu [výška]. Zdiagramu je vidět, že Výškaa Hrudníkmají stejnou třídu objektu, protože se obě měří ve stejných jednotkách. 61
Vylučující omezení Vněkterých případech potřebujeme vyjádřit již přímo vdiagramu, že některé role již ve své podstatě vyžadují vylučující omezení (exclusion constraint). Náš příklad, který nejdříve uvedeme tabulkou, se týká natočených filmů, jejich režisérůa kritiků. Je samozřejmě nemyslitelné, aby Osobavroli režisérau daného filmu zároveň vykonávala roli kritikau stejného filmu. 62
Vylučující omezení Tuto skutečnost musíme vyloučit. Podobný případ by nastal, pokud by autor příspěvku na konferenci byl zároveň jeho hodnotitelem. Název filmu Režisér Země Kritik Země narození narození DaVinciho kód Ron Howard USA Fred Bloggs Ann Green USA USA Krokodíl Peter Faiman Austrálie Ann Green USA Dundee Inna Viewer VB Tom Sawme Austrálie Hvězdný mír Ann Green USA Inna Viewer VB 63
Vylučující omezení 64