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ů: Object Role Modeling (Modelování objektových rolí)
2
Modelování založené na faktech (Fact Based Modeling - 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 (Fact Based Modeling - FBM) • Hlavním cílem modelování založeného na faktech je zachytit co nejvíce sémantiky k 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ými osobami (doménovými experty). • FBM poskytuje prostředky k zachycení znalostí doménových expertů. • FBM je konceptuální, avšak nezávislé na SW implementaci. 6
Modelování založené na faktech • FBM je založeno na logice a 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ů • Fakta spojují tyto termy způsobem, který odráží reálný svět. • Model faktů se zaměřuje na to, jak jsou organizovány znalosti týkající se podnikového procesu. • Konkrétně model indikuje, co je třeba znát o 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ík k vyjádření dalších typů požadavků, speciálně pravidel a 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ík reprezentuje term, který nahrazuje podnikový koncept. • V datovém modelu obdélník reprezentuje 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). • Termy jsou 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é objekty chovají (metody). 17
Co jsou fakta (fact) • Fakta jsou 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 • Term je slovo, které má význam pro lidi z dané domény. • Fakt je 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í fakt je 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 v Brně. • Ří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 v Brně • 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ího faktové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‘ • Instance typu 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 faktu pak může být reprezentovaný instancemi faktu jako např. Anna Zdeněk Eva Jan
16.12.1988 1.6.1991 22.3.1966 16.11.1988
Ostrava Havířov Frýdek Místek Brno
28
Pravidlo jedinečnosti • Toto pravidlo znamená, že v libovolných instancích typu faktu F01 se objekt v dané 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 v daný den a 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
Elementární fakta • F02: Anna Zdeněk Eva Jan
16.12.198 1.6.1991 22.3.1966 16.11.1988
• F03: Anna Zdeněk Eva Jan
Ostrava Havířov Frýdek Místek Brno 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 v Brně 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 s informacemi v jednoduchých jednotkách, máme lepší šanci k zí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ány nebo 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 k mapování odlišných datových modelů. – Pokud budeme seskupovat typy faktů do složených typů faktů v konceptuá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 metodologie je 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 (derivation rules). • 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ívil Zemi se jménem ‚Čína‘ v Roce 2001. • Třída objektu uvedena velkým písmenem. Tedy konkrétně třídy objektu jsou: Planeta, Měsíc, Pracovník, Země, Rok. 36
Metodologie modelování rolí objektů • Predikáty jsou věty, ve kterých jsou místa (díry) pro objektové třídy (. . .). • Predikáty tedy můžeme popsat následovně: „ ... je obydlena“; „ ... obíhá ...“; „ ... navštívil ... v ...“.
unární fakt binární fakt 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 v grafické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ívil ví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řehled omezení duplicit R Žádné duplikáty nejsou povoleny pro sloupec a. Každé a z R má nanejvýš jedno b. Realizuje vazbu n : 1.
(1) a
b
R Žádné duplikáty nejsou povoleny pro sloupec b. b Každé b z R má nanejvýš jedno a. Realizuje vazbu 1 : n.
(2) a
b
R Jedno a má přiřazeno jedno b. Jedno b má přiřazeno jedno a. Realizuje vazbu 1: 1.
(3) a
b
R Žádné duplikáty dvojic (a, b) nejsou povoleny. Každé a může mít mnoho b a naopak.Realizuje vazbu n : m.
(4) 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 Osoba a Hodnocení mají společné hodnoty v prvním a ve druhém řádku. • Při porovnání sloupců Osoba a Kurz vidí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 Kurz vidíme, že řádky první a čtvrtý jsou stejné pro tuto dvojici. • Existuje tedy pouze jeden způsob, jak párovat sloupce v dané tabulce. • Jsou-li data uvedená v tabulce 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á trojice v řá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. • V diagramu tříd UML se transformaci relace do podoby třídy říká asociativní třída. • V metodologii 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 Osobou a Kurzem. • Ten je dán první větou zápisu. Jak je vidět z omezení jedinečnosti, dvojice (Osoba, Kurz) musí být jedinečné. • Zápis kurzu má pak vazbu na Hodnocení. • V té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 v diagramu 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
Konečná
Karviná
Znojil
Karviná
Nová
Ostrava
Vydrová
Petřvald
Výška (cm)
Hrudník (cm)
Váha (kg)
IQ
172
100
76
120
181
91
82
110
170
95
77
115
168
97
73
100
60
Referenční schémata má výšku žije v
[výška]
Město
Délka (cm) má hrudník [obvod hrudníku]
Osoba má IQ
má [hmotnost těla]
Váha
• Role Osoby je 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]. • Z diagramu je vidět, že Výška a Hrudník mají stejnou třídu objektu, protože se obě měří ve stejných jednotkách. 61
Vylučující omezení • V některých případech potřebujeme vyjádřit již přímo v diagramu, ž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 Osoba v roli režiséra u daného filmu zároveň vykonávala roli kritika u 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ě narození
Kritik
Země narození
DaVinciho kód Ron Howard
USA
Fred Bloggs Ann Green
USA USA
Krokodíl Dundee
Peter Faiman
Austrálie
Ann Green Inna Viewer Tom Sawme
USA VB Austrálie
Hvězdný mír
Ann Green
USA
Inna Viewer
VB 63
Vylučující omezení
64