Analýza a modelování dat Helena Palovská
Analýza a modelování pro SW projekt ●
●
Strukturovaný přístup –
Dynamická část (procesy, aktivity, funkce)
–
Statická část (data)
Objektově orientovaný přístup –
use case
–
sequence diagram
–
class diagram
–
...
Datový aspekt inf. systému 1 Úvodní analýza, požadavky 2 Design 3 Nové požadavky 4 Rozšíření? –
Bez zásadnějších problémů
5 Úpravy? –
Radikální změny představovaly a představují zásadní obtíže!
Datový model ●
Jak dosáhnout stability struktur dat pro danou oblast zájmu? –
●
Oblast zájmu se také může rozšířit...
Osvědčilo se: věrnost realitě –
protože nové požadavky jsou o stejném světě
Princip tří schémat (ANSI/SPARC 1975) ●
Externí schéma –
●
Analytický, konceptuální model –
●
pohled uživatelů model světa
Interní schéma –
datové struktury
Postup shora dolů ●
Externí schémata –
●
Analytický, konceptuální model –
●
model světa
Logický model designu –
●
pohledy uživatelů
bez rozhodnutí o implementačních technologiích
Implementační schéma –
volby v rámci implementačních technologií
Konceptuální schéma ●
Srozumitelný a věcně správný model, na jehož základě bude databáze navržena –
srozumitelný, přehledný
–
vše podstatné
–
věcně správný
–
konceptuální, nikoli technologický
Konceptuální schéma ●
Společný základ pro chápání objektů aplikace uživateli, analytikem, správcem databáze i programátory
Konceptuální schéma ●
Poskytuje dokumentaci: –
k ověření správnosti analýzy
–
východisko pro seznámení se stávajícími databázovými strukturami
–
východisko při analýze nových požadavků
Jak dělat konceptuální schéma? ●
Analyzovat uživatelské požadavky
●
Analyzovat realitu
Jak analyzovat realitu? ●
Přístupy: –
Entity a vztahy mezi nimi ●
tímto přístupem se budeme zabývat – ER modely
–
Všechno jsou funkce
–
Objekty a jejich role
–
Objekty, třídy,... v objektovém přístupu
Entity-relationship modely ●
1976 Peter Chen: "The Entity Relationship Model: Toward a Unified View of Data"
Možné další zdroje ke studiu ● ●
●
http://krokodata.vse.cz/DM http://nb.vse.cz/~palovska/4it218/ KoncMod.zip http://nb.vse.cz/~palovska/Sa321/ MetodaInformacniAnalyzy.zip
Halpin, Terry. Information Modeling and Relational Databases, Morgan Kaufmann 2008
Konstrukty ER modelů ●
Entity
●
Vztahy
●
Atributy
●
Identifikátory
●
Kardinalita
●
Povinnost
●
ISA vztahy
Entita ●
Něco, co je rozeznatelné, schopné nezávislé existence a identifikovatelné
●
Např. student, učebna, učitel, kurz...
●
Obvykle jde o koncept, který má jméno
●
Ve větách obvykle vystupuje jako podmět nebo předmět
Entita ●
Zobrazována jako obdélník, se jménem typu uvnitř
UČITEL
Entita ●
Vymezení pojmu –
jméno typu
–
způsoby identifikace výskytů
–
definice typu
–
uvedení příkladů
Entitní typ UČITEL ●
Vymezení pojmu –
jméno typu UČITEL
–
způsoby identifikace : ● ●
–
definice typu ●
–
učo rodné číslo kdo má smlouvu na to, aby učil
uvedení příkladů ●
RNDr. Helena Palovská PhD., doc. Ing. Bohumil Miniberger, CSc.
Vztah ●
Zachycuje jak dvě či více entit spolu souvisí
●
Např. UČITEL vyučuje PŘEDMĚT
●
Obvykle vyjádřen slovesnou vazbou
●
Vyjádřen přísudkovou částí věty
Vztah ●
Zobrazován jako spojnice mezi entitami či jako ikona se spojnicemi k entitám
UČITEL
vyučuje
PŘEDMĚT
UČITEL
vyučuje
PŘEDMĚT
Vztah ●
Výstižná formulace
●
Vyjádření pro směr tam a zpět
●
●
–
UČITEL vyučuje PŘEDMĚT
–
PŘEDMĚT je vyučován UČITELEM
Příklady vztahu –
v tabulce
–
v diagramu
Definice, pokud je potřeba k porozumění
Vztah „vyučuje“ ●
Tabulka příkladů UČITEL
PŘEDMĚT
RNDr. Helena Palovská PhD.
Analýza a modelování dat
doc. Ing. Bohumil Miniberger, CSc.
Modelování a návrh datových skladů
doc. Ing. Bohumil Miniberger, CSc.
Techniky a CASE nástroje vývoje IS
Doc. RNDr. Ľubomír Dedera, PhD.
Techniky a CASE nástroje vývoje IS
Doc. RNDr. Ľubomír Dedera, PhD.
Základy softwarového inženýrství
Vztah „vyučuje“ ●
Diagram příkladů
RNDr. Helena Palovská PhD.
Analýza a modelování dat
doc. Ing. Bohumil Miniberger, CSc.
Modelování a návrh datových skladů
Doc. RNDr. Ľubomír Dedera, PhD.
Techniky a CASE nástroje vývoje IS Základy softwarového inženýrství
Vztah „vyučuje“ ●
Definice: –
Má kvalifikaci eventuálně smlouvu na to, aby ten předmět vyučoval.
Arita vztahu ●
Kolik rolí je ve vztahu
●
Např. UČITEL učí PŘEDMĚT na ŠKOLE –
3 role: vyučující, vyučovaný předmět, vzdělávací instituce
Arita vztahu ●
Dá se zjistit z tabulky příkladů vztahu –
z jejího klíče
–
všechny role musí být součástí klíče
Atribut ●
●
●
Vlastnost či charakteristika entity nebo vztahu Např. jméno učitele, e-mailová adresa učitele, název předmětu, učitel vyučuje předmět odkdy Vyjádřen ve větě rozvíjejícím členem nebo jako předmět samostatné věty: –
Učitel má jméno.
–
Učitel se narodil dne.
Entita nebo atribut? ● ●
●
Hodnota, vyjadřující vše = atribut Na co se odkazujeme identifikátorem, a obsahuje potenciálně další informace = entita Nejasné případy –
adresa, kontakt
Identifikátor ●
Jednoznačně identifikuje výskyt entity –
mohou existovat alternativní identifikátory
–
nemusí existovat žádný jednoduchý a spolehlivý způsob identifikace ●
●
např. soukromí zákazníci...
Umělé identifikátory implementační realizace nepatří do konceptuálního schématu –
v analyzované aplikační oblasti takové informace neexistují
Kardinalita vztahu ●
Kolik výskytů entity druhého typu může být v tomto vztahu s jedním a tímtéž výskytem entity prvního typu –
Kolik předmětů může vyučovat jeden učitel? ●
–
Více
Kolik kateder může garantovat jeden a tentýž předmět? ●
Jediná
Kardinalita vztahu ●
Zobrazuje se –
„čísly“ 1, n(=více), m(=více) (možno i 2,3,...) UČITEL
–
vyučuje
m
PŘEDMĚT
čísly nebo hvězdičkou(=více) UČITEL
–
n
*
vyučuje►
*
PŘEDMĚT
crow's foot UČITEL
vyučuje
PŘEDMĚT
Kardinalita vztahu ●
Dá se zjistit –
z tabulky příkladů vztahu (jaký je klíč tabulky) UČITEL
PŘEDMĚT
RNDr. Helena Palovská PhD.
Analýza a modelování dat
doc. Ing. Bohumil Miniberger, CSc.
Modelování a návrh datových skladů
doc. Ing. Bohumil Miniberger, CSc.
Techniky a CASE nástroje vývoje IS
Doc. RNDr. Ľubomír Dedera, PhD.
Techniky a CASE nástroje vývoje IS
Doc. RNDr. Ľubomír Dedera, PhD.
Základy softwarového inženýrství
–
z diagramu příkladů vztahu
RNDr. Helena Palovská PhD.
Analýza a modelování dat
doc. Ing. Bohumil Miniberger, CSc.
Modelování a návrh datových skladů
Doc. RNDr. Ľubomír Dedera, PhD.
Techniky a CASE nástroje vývoje IS Základy softwarového inženýrství
Kardinalita vztahu s vyšší aritou ●
Pokud má vztah více rolí než 2, je definice kardinality složitá –
univerzální analytický nástroj je zjištění klíče či klíčů v tabulce vztahu
Povinnost členství ve vztahu (totalita/parcialita) ●
Jestli každý výskyt daného typu entity musí být v uvažovaném vztahu s nějakým výskytem druhého entitního typu –
Musí každý učitel vyučovat nějaký předmět? ●
–
Je to sice málo pravděpodobné, ale může se vyskytovat učitel, který žádný předmět nevyučuje (čerstvě přijatý, nezařazený do výuky)
Musí každý předmět být garantován nějakou katedrou? ●
Musí.
Povinnost členství ve vztahu ●
Zobrazuje se: –
stylem čáry
KATEDRA –
KATEDRA
1
garantuje
PŘEDMĚT
PŘEDMĚT
čárkou nebo kolečkem KATEDRA
–
garantuje
m
garantuje
PŘEDMĚT
dolní mezí kardinality KATEDRA
1
garantuje► 0..*
PŘEDMĚT
Povinnost členství ve vztahu ●
Dá se zjistit porovnáním –
příkladů výskytů entity
–
a příkladů výskytů vztahu
ISA vztahy ●
●
Nadtyp a jeho podtypy –
Každý výskyt podtypu je i výskytem nadtypu.
–
Každý pes je zvíře.
–
Each dog is a beast.
Vznikají –
generalizací ●
–
spořící účet, půjčka, běžný účet jsou produkty
specializací ●
spořící účet, běžný účet jsou speciální účty
ISA vztahy ●
Znázorňují se: –
šipkou od podtypu k nadtypu ZVÍŘE
PES
jméno
–
číslo známky
obdélník uvnitř obdélníku ZVÍŘE
jméno
PES
číslo známky
Co je ISA? ●
Parciální identita –
„vztah“ s kardinalitou 0..1 : 1
–
entity „vztažené tímto vztahem“ jsou identické ●
●
identifikátor v rámci nadtypu je platným identifikátorem i v rámci podtypu podtyp může mít ještě další, speciální způsob identifikace