Analýza dat a modelování. Přednáška 1

Podobné dokumenty
Databázové systémy. Cvičení 1

Databáze I. Přednáška 1

Analýza a modelování dat. Helena Palovská

Databázové systémy. Cvičení 2

DBS Konceptuální modelování

Databáze I. Přednáška 2

Analýza dat a modelování. Přednáška 3

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Úvod do databázových systémů 6. cvičení

Analýza dat a modelování. Přednáška 2

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Konceptuální modelování. Pavel Tyl

Databázové modelování. Analýza Návrh konceptuálního schématu

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Diagram výskytů a vztahů

Úvod do softwarového inženýrství IUS 2009/2010 p.1/30

Funkční schéma Datové schéma Integrita modelu s realitou

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Konceptuální datové modely používané při analýze

Jiří Mašek BIVŠ V Pra r ha

Obsah. Zpracoval:

Databáze. Logický model DB. David Hoksza

6 Objektově-orientovaný vývoj programového vybavení

DATOVÉ MODELOVÁNÍ ER MODEL

Modelování procesů s využitím MS Visio.

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Úvod do databázových systémů

DBS Konceptuální modelování

Databázové systémy. Vztahy a relace. 3.přednáška

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Architektury Informačních systémů. Jaroslav Žáček

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Analýza problémové domény

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

7.2 Model použití (jednání) (Use Case)

Terminologie v relačním modelu

UML. Unified Modeling Language. Součásti UML

2. Konceptuální model dat, E-R konceptuální model

Metodika návrhu databáze

Architektury Informačních systémů. Jaroslav Žáček

Modelový příklad Knihovna Vypracovaný příklad ze cvičení včetně komentářů k řešení

Databáze I. Přednáška 6

Úvod do principů objektově orientovaného programování

Konceptuální modelování

7.5 Diagram tříd pokročilé techniky

Databázové systémy Cvičení 5.3

TÉMATICKÝ OKRUH Softwarové inženýrství

Unifikovaný modelovací jazyk UML

Databázové systémy. Cvičení 3

Základní informace. Modelování. Notace

8.2 Používání a tvorba databází

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

2 Konceptuální modelování a návrh databáze

Metody popisu systému, základy UML

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

OOT Objektově orientované technologie

4IT218 Databáze. 4IT218 Databáze

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

7.5 Diagram tříd pokročilé techniky

Vývoj IS - strukturované paradigma II

Principy UML. Clear View Training 2005 v2.2 1

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

1. Integrační koncept

2 Konceptuální modelování a návrh databáze

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Business Process Modeling Notation

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Úvod do databázových systémů

Okruhy z odborných předmětů

Nastavení provozního prostředí webového prohlížeče pro aplikaci

TÉMATICKÝ OKRUH Softwarové inženýrství

9 Strukturovaná analýza

České vysoké učení technické, Fakulta elektrotechnická Úvodní studie semestrálního projektu z X36SIN

Databáze I. Přednáška 4

DBS Databázové modely

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I

Databázové systémy. Ing. Radek Holý

Databázové systémy. Přednáška 1

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Databázové systémy Cvičení 5

Vývoj informačních systémů. Přehled témat a úkolů

PV167 Projekt z obj. návrhu IS. 26. března 2008

PŘÍLOHA C Požadavky na Dokumentaci

7.3 Diagramy tříd - základy

Databáze I. 4. přednáška. Helena Palovská

Databázové systémy BIK-DBS

Pokročilé typové úlohy a scénáře 2006 UOMO 71

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

Objekty, třídy, vazby 2006 UOMO 30

Konceptuální modelování

Objektově orientovaný přístup

Strukturované metodologie

Architektura softwarových systémů

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

EXTRAKT z mezinárodní normy

Vývoj informačních systémů. Přehled témat a úkolů

Transkript:

Analýza dat a modelování Přednáška 1

Informační systém definic existuje několik, např.: IS je softwarové vybavení firmy, které je schopné na základě zpracovávaných informací řídit procesy podniku nebo poskytovat tyto informace řídícím pracovníkům tak, aby byli schopni vykonávat řídící funkce, mezi které patří zejména plánování, koordinace a kontrola veškerých procesů firmy. (zdroj: Fakulta informatiky MU Brno)

Informační systém IS je celek složený z počítačového hardwaru a souvisejícího softwaru, k němuž patří také lidé, kteří tento hardware a software využívají, a procesy (činnosti), které přitom vykonávají za účelem sběru, zpracování a šíření informací potřebných k plánování, rozhodování a řízení. (zdroj: Blackstone JR., John H., editor. APICS Dictionary, 14th Edition. Chicago : APICS, 2013)

Informační systém data též údaje, slovo data pochází z latiny (množné číslo od datum), strukturovaná data zachycují určitá fakta zachycují objekty zachycují atributy uložení má řád, lze z nich snadno vybírat informace znalosti

Informační systém informace informace je podmnožina poznatků, která je někým použita v konkrétní situaci pro řešení problémů (Kuhlen) data se stávají informací pomocí interpretace př.: data: 1604 informace: 1604 výška Sněžky v m n.m.

Informační systém znalosti znalostí se rozumí vzájemné provázání souvisejících poznatků (informací) souvisí s abstrakcí a generalizací fenomén současné doby ontologie, sémantický web abstrakce roste od dat ke znalostem

Softwarová krize 60. léta: růst počtu počítačů přibývalo také sw. projektů, ale ubývalo úspěšně dokončených projektů někdy to došlo až na hranici únosnosti software byl, nebo mohl být, příčinou havárií (např. Mariner I., Ariane 5)

Softwarová krize E. W. Dijkstra: Hlavní příčinou softwarové krize byl nárůst výkonu hardware. Jinak řečeno, programování nemělo problémy, dokud neexistovaly počítače. Dokud jsme měli slabé počítače, mělo programování jen snesitelně těžké problémy. Nyní máme gigantické počítače a k nim gigantické problémy se softwarem.

Softwarové inženýrství Definice IEEE 610.12: Softwarové inženýrství je aplikace systematického, disciplinovaného, kvantifikovatelného přístupu k vývoji, provozu a údržbě softwaru, tj. aplikace inženýrství na software. Také je to studium přístupů dle výše uvedeného.

Etapy vývoje SW (IS) úvodní studie analýza a návrh globální analýza a návrh detailní implementace testování zavedení do provozu provoz a údržba, podpora likvidace

Úvodní studie základem je zadávací dokumentace úvodní studie by měla obsahovat: deklarace záměru odborný článek součástí je datový slovník strukturovaná verze se nazývá katalog požadavků plán projektu rozpočet (studie proveditelnosti)

Analýza a návrh v rámci procesu analýzy a návrhu je nutné formálně modelovat skutečnost reálného světa, kterou chceme v IS (SW) zachytit, zpracovávat, řídit, formální popis je jednoznačný, srozumitelný odborníkům (někdy i laikům) v rámci SW inženýrství modelujeme: data (a vztahy mezi nimi) procesy

model Modelování souhrn pojmů (vztahů) popisujících reálný svět příklad: matematický model např. soustavy lineárních rovnic, diferenciálních rovnic, atd. První vlak vyjíždí ze stanice A průměrnou rychlostí 60 km/h, druhý vlak proti němu ze stanice B vzdálené 100 km průměrnou rychlostí 80 km/h o 30 minut později. Vypočtěte vzdálenost od stanice A, kde se vlaky setkají.

s = 100 km, v 1 = 60 km/h, v 2 = 80 km/h ujetá dráha 1. vlaku s 1, ujetá dráha 2. vlaku s 2 čas jízdy 1. vlaku t 1,čas jízdy 2. vlaku t 2 matematický model - soustava lineárních rovnic s = s 1 + s 2, s 1 = v 1 t 1, s 2 = v 2 t 2 t 2 = t 1-0,5 s = v 1 t 1 + v 2 (t 1-0,5)

Analýza a modelování v SW strukturovaný přístup dynamická část (procesy, aktivity, funkce) kontextový diagram, Data Flow Diagram statická část (data) E-R model

Analýza a modelování v SW objektově orientovaný přístup dynamická část případ užití (use case) sekvenční diagram (sequence diagram) stavový automat (state diagram) statická část diagram tříd (class diagram) diagram objektů (object diagram)

Analýza a modelování princip tří schémat (ANSI/SPARC 1975) externí schéma pohled uživatelů analytický, konceptuální model (E-R) formální model světa interní schéma datové struktury, databázový model

Úrovním odpovídá i postup návrhu externí schéma pohled uživatelů analytický, konceptuální model model světa shora dolů logický model návrhu bez rozhodnutí o implementačních technologiích implementační schéma volby v rámci implementačních technologií

je analytický model, na jehož základě bude databáze (resp. IS, SW) navržena vlastnosti: Konceptuální model srozumitelný, přehledný, věcně správný obsahuje vše podstatné měl by platit princip 100% - postihuje všechny požadavky uživatele, být flexibilní, aby vyhověl i požadavkům kladeným v budoucnu pozor: neudělat návrh složitější, než musí nezbytně být (vysoká složitost a cena systému)

Konceptuální model je konceptuální, nikoli technologický tedy platformově nezávislý, čili PIM (Platform Independent Model) neřeší cílovou platformu (progr. jazyk, databázový model, konkrétní SŘBD) je vytvořený na základě úplného odproštění od implementace

Konceptuální model Proč jej vytváříme? slouží jako společný základ pro pochopení objektů aplikace uživateli, analytiky, správcem databáze i programátory na přípravě schématu DB se mohou podílet i uživatel (zákazník), pro nějž se DB tvoří a ostatní řídicí pracovníci

Konceptuální model Proč jej vytváříme? 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ů

Konceptuální modely E-R model vytvořen Peterem Chenem 1976 E-R znamená: Entity Relationship: The Entity Relationship Model: Toward a Unified View of Data česky: model entit a vztahů definuje grafické zobrazení pomocí ustálených elementů

E-R model

E-R model E-R model používá k modelování reálného světa tyto základní pojmy (konstrukty) entita slabý entitní typ vztah atribut identifikátor kardinalita povinnost ISA vztah

entita zpravidla modeluje objekt reálného světa (např. čtenář), měla by být samostatně vyčlenitelná, identifikovatelná, odlišitelná od jiných entit, schopná nezávislé existence je popsána pomocí hodnot svých vlastností ve větách zpravidla vystupuje jako podmět identifikována jménem (čtenář) př.: čtenář s vlastnostmi: jméno: Vít příjmení: Fábera datum narození: 5.5.1975

entitní typ abstrakce popisující typ entit čtenář s vlastnostmi jméno, příjmení, datum nar. Vít Fábera, 5.5.1975 je výskyt, nebo též instance entity často se pojmy entita, entitní typ zaměňují, pod pojmem entita se myslí ve skutečnosti entitní typ

vztah vyjadřuje vztah mezi dvěma nebo více entitami (je to prvek kartézského součinu mezi entitami) vyjádřen slovesem, přísudkem např. vztah mezi entitami čtenář, exemplář: čtenář si vypůjčil exemplář atribut učeně: funkce f definovaná na množině entit nebo vztahů s funkčními hodnotami z množiny hodnot (z univerza)

srozumitelněji: vlastnosti entit a vztahů příklad: možné atributy u entity čtenář: jméno, příjmení, rodné číslo, u vztahu si vypůjčil: datum výpůjčky atribut jméno: univerzum množina všech řetězců představujících reálná jména

2 entity: atribut příjmení František Kuldanů 320612/1234 Josef Novák 521006/5678 zde přiřazuje funkce atributu příjmení entitě č. 2 hodnotu Novák

pro záznam E-R modelu existuje ustálená grafická notace v Chenově modelu entity obdélník vztahy čtverec postavený na vrchol atributy kolečko, ovál grafickou notaci si budeme ukazovat na příkladu databáze knihovny pro vás by byl jistě přijatelnější příklad z oboru bankovnictví knihovna je každému srozumitelná bankovnictví může být předmětem semestrální práce

existují varianty grafického zobrazení směrem k UML entity obdélník vztahy čára atributy zapisují se do obdélníku k entitě stejně jako atributy třídy v objektově orientovaném přístupu

entita RČ atribut ČTENÁŘ JMÉNO PSČ SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP DATUM_REZ EXEMPLÁŘ KNIHA PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN (přírůstkový katalog) vztah (autorský katalog)

entita ČTENÁŘ RČ JMÉNO PSČ atribut SI_VYPŮJČIL DATUM_VÝP EXEMPLÁŘ JE_OD SI_REZERVOVAL DATUM_REZ KNIHA PŘÍR_Č CENA D_NÁK (přírůstkový katalog) vztah TITUL AUTOR ISBN (autorský katalog)

Poznámka č. 1: metodologické zásady pojmenování entity podstatné jméno v jednotném čísle (např. KLIENT, ČTENÁŘ, UČITEL) pojmenování vztahu sloveso (např. MÁ, JE_OD) Poznámka č. 2: v realizované databázi bude zaznamenáno: u každého exempláře pouze přírůstkové číslo, cena a datum nákupu a nějakým způsobem (podle typu databázového modelu) vztah (odkaz) na příslušnou knihu

Poznámka č. 3: teoreticky v databázi dle tohoto schématu může mít kniha pouze jednoho autora prakticky bychom zapsali do políčka Autor více jmen např. oddělených čárkou, což může ale způsobovat obtíže při hledání, výpisu všech exemplářů od daného autora apod. řešení 1. zavedení vícehodnotového atributu (oborem hodnot je množina) 2. zavedení nové entity AUTOR a vztahu NAPSAL mezi entitami KNIHA a AUTOR nejlepší řešení

NAPSAL AUTOR KNIHA JMÉNO PŘÍJMENÍ TITUL ISBN

Integritní omezení (IO) tvrzení o objektech (neboli pravidla) čtenář nesmí mít půjčeno více než 10 knih čtenář si nesmí rezervovat exemplář, jestliže je exemplář v knihovně zásoba součástky nesmí klesnout pod 5 ks minimální zůstatková částka na účtu je 500 Kč RČ je klíčem entity ČTENÁŘ Klíč atribut jednoznačně identifikující entity, v E-R modelu označen podtržením

Kardinalita vztahu typ integritního omezení, omezuje počet výskytů entit v jednotlivých vztazích kardinalita: (1:N) jedna entita může být zapojena pouze 1x, ostatní libovolným počtem (M:N) libovolný počet výskytů u entit (1:1) každá entita může být zapojena ve vztahu pouze jedenkrát

ČTENÁŘ 1 RČ JMÉNO PSČ M SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP N N EXEMPLÁŘ 1 N KNIHA DATUM_REZ PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN

SI_VYPUJCIL (1:N) čtenář si může vypůjčit více exemplářů, exemplář může být vypůjčen pouze jedním čtenářem diagram příkladů: Josef Novák RČ: 521006/5678 1 N Babička přír. číslo 100 U nás přír. číslo 58 František Kuldanů RČ: 320612/1234 Hřbitovní kvítí přír. číslo 1005 Babička přír. číslo 101

SI_REZERVOVAL (M:N) čtenář si může rezervovat více knih (titulů), jedna kniha může být rezervována v daném okamžiku více čtenáři Josef Novák RČ: 521006/5678 M N Babička ISBN: 80-85190-38-9 Učebnice jazyka C ISBN: 80-85828-02-2 František Kuldanů RČ: 320612/1234 Bylo nás pět ISBN: 80-00-00076-8 Divá Bára ISBN: 9788000005027

příklad vztahu 1:1 občan karta zdravotní pojišťovny každý občan má jen jednu kartu zdravotní pojišťovny, karta je určena pouze pro jednoho občana Kardinalita vztahu typu min-max jemnější popis kardinality pro binární vztahy specifikuje minimální a maximální výskyt entity ve vztahu

zápis: R(E 1 (min,max),e 2 (min,max)) příklad: vztah entita entita SI_VYPUJCIL(ČTENÁŘ(0,n),EXEMPLÁŘ(0,1)) čtenář nemusí mít vypůjčen žádný exemplář, může mít vypůjčeno více exemplářů; exemplář nemusí být vypůjčen, může být vypůjčen pouze jedním čtenářem

příklad: JE_OD(EXEMPLÁŘ(1,1),KNIHA(0,n)) exemplář musí být od nějaké knihy (musí být zapojen povinně do vztahu) a musí být maximálně od jedné knihy; kniha nemusí mít v knihovně žádný exemplář (všechny jsou zničené nebo ukradené, ale kniha zůstává v autorském katalogu, protože se plánuje nákup dalších výtisků) a může mít více exemplářů Otázka: Jakou kardinalitu by měl vztah NAPSAL mezi entitami KNIHA a AUTOR?

ČTENÁŘ (0,n) RČ JMÉNO PSČ (0,m) SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP (0,1) (1,1) EXEMPLÁŘ (0,n) (0,n) KNIHA DATUM_REZ PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN

Poznámky: entita EXEMPLÁŘ má povinný výskyt ve vztahu (exemplář nemůže existovat bez knihy) exemplář je existenčně závislý na knize EXEMPLÁŘ (1,1) JE_OD (0,n) KNIHA n-ární vztahy vztah může být definován i mezi větším počtem entit, event. entita může být zastoupena ve vztahu vícekrát

DODÁVÁ OBCHODNÍK ZBOŽÍ postihuje situaci, kdy obchodník dodává zboží jinému obchodníkovi arita vztahu = 3 v příkladu s knihovnou jsme měli pouze binární vztahy atribut může být i složený, neatomický adresa (ulice, č.p., místo, PSČ)

Slabý entitní typ některé entity nemohou být jednoznačně identifikovány svým klíčem, potřebují k identifikaci klíč jiné entity jsou to tzv. slabé entitní typy a jsou identifikačně závislé na jiném entitním typu značí se obdélníkem s dvojitou čarou KOPIE (1,1) JE_OD (0,n) FILM ČÍSLO_KOPIE JMÉNO

Příklad: Slabý entitní typ v kině máme tři kopie filmu Amadeus s čísly kopie 1,2,3 a dvě kopie filmu Piano s čísly 1,2 k jednoznačné identifikaci kopie tedy nestačí její číslo, je nutné připojit identifikaci filmu, od kterého je příslušná kopie

Nástroje pro tvorbu modelů E-R lze je kreslit v jakémkoliv grafickém editoru (i v ruce) existují lepší nástroje (case nástroje) Microsoft Visio Enterprise Architect Oracle SQL Developer Data Modeler Case Studio (Quest Software a další datové modeláře

v praxi se E-R model doplňuje ještě datovým slovníkem de facto specifikace domén hodnot atributů E-R model je statický model dále se při tvorbě informačních systémů využívají data-flow diagramy (diagramy toku dat) a specifikace procesů (vývojové diagramy, pseudokód)