Tvorba informačních systémů

Podobné dokumenty
Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

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

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

7.5 Diagram tříd pokročilé techniky

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

Unifikovaný modelovací jazyk UML

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

7.5 Diagram tříd pokročilé techniky

Principy UML. Clear View Training 2005 v2.2 1

Databázové a informační systémy. Verze Michal Krátký

Michal Krátký, Miroslav Beneš

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

UML. Unified Modeling Language. Součásti UML

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Dolování v objektových datech. Ivana Rudolfová

7.3 Diagramy tříd - základy

1. Dědičnost a polymorfismus

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

Konceptuální modelování. Pavel Tyl

OOT Objektově orientované technologie

7.3 Diagramy tříd - základy

Diagramy tříd - základy

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

3 druhy UML diagramů

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

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

DBS Konceptuální modelování

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

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

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Objektově relační databáze a ORACLE 8

Objekty, třídy, vazby 2006 UOMO 30

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

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

DBS Transformace konceptuálního schématu na

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

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

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

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

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

Třída. Atributy. Operace

Transformace konceptuálního modelu na relační

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

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

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

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

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

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Úvod do programovacích jazyků (Java)

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

Relace x vztah (relationship)

Konceptuální modelování a SQL

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

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

RELAČNÍ DATABÁZE. Cíl:

Návrh IS - UML. Jaroslav Žáček

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

Databázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Tvorba informačních systémů

Metody popisu systému, základy UML

Databázové systémy trocha teorie

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

UML - opakování 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

UML - Unified Modeling Language

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

SQL - trigger, Databázové modelování

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B. 1. úloha (4 body) Kolik existuje cest délky 4 v grafu K11? 2.

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

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Business Process Modeling Notation

7 Jazyk UML (Unified Modeling Language)

Jazyk UML VST (Velmi stručný tutorial) verze 1.0

Diagram výskytů a vztahů

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

Dalším příkladem může být například výstup dat na různá zařízení, souborů, grafických rozhraní, sítě atd.

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

Diagram tříd (class diagram)

Databázové systémy úvod

Využití SysML pro tvorbu modelů v systémovém inženýrství

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Návrh IS - UML. Jaroslav Žáček

Úvodní studie (pokraov

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

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

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

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

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Transformace ER SQL. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 9

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

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

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

Transkript:

Tvorba informačních systémů Michal Krátký 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký Tvorba informačních systémů 1/35

Konceptuální modelování v UML Konceptuální modelování... Mapování třídního diagramu do relačního či objektově-relačního datového modelu. c 2006 Michal Krátký Tvorba informačních systémů 2/35

Konceptuální modelování Konceptuální modelování je proces vývoje sémantického popisu nějakého systému, který je uplatněn v návrhu a implementaci databázové aplikace. Nezávislý na databázi. Definuje omezení kladená na data. c 2006 Michal Krátký Tvorba informačních systémů 3/35

Peter Chen, 1976. Entita representuje věc nebo objekt uložený v databázi. Vazby definují způsob jakým jsou entity spojeny. Atributy jsou vlastností objektů. Typ entity vs. entity. Atributy vs. hodnoty atributů. Rozšíření ER Enhanced ER (EER). c 2006 Michal Krátký Tvorba informačních systémů 4/35

UML je vizuální, objektově-orientovaný modelovací jazyk zachycující strukturální a dynamické aspekty softwarového systému. Na rozdíl od EER, UML je kolekce modelovacích technik, které jsou aplikovány na různé aspekty vývoje softwaru. Každá technika poskytuje různý statický nebo dynamický pohled na aplikaci. Kolekci pohledů nazýváme model. c 2006 Michal Krátký Tvorba informačních systémů 5/35

Modelovací techniky UML 1/2 Třídní diagram (Class Diagram) statický diagram struktury. Modeluje entity jako třídy s atributy a chováním. Definuje vazby a omezení, které existují mezi třídami. Objektový diagram (Object Diagram) ukazuje specifické instance tříd. Use-Case Diagram poskytuje popis systému a jeho použití z pohledu uživatele. Stavový diagram (State diagram) popisuje stavy objektů a změny ve stavech, které nastávají jako odpověd na události. c 2006 Michal Krátký Tvorba informačních systémů 6/35

Modelovací techniky UML 2/2 Sekvenční diagram (Sequence diagram) prezentuje interakce mezi objekty. Diagram aktivit (Activity diagram) graf toků ukazující úlohy, které je nutné vykonat ve výpočetním procesu. Diagram spolupráce (Collaboration diagram) popisuje jak různé elementy spolupracují. c 2006 Michal Krátký Tvorba informačních systémů 7/35

Proč UML pro konceptuální modelování databází? Poskytuje více objektově-orientovaný přístup k návrhu databáze. Stejný jazyk pro analýzu databáze i samotné aplikace. Použitelné pro objektově-relační i relační datový model. UML je založeno na stejných konceptech jako ER. UML je standardizováno Object Management Group (http://www.omg.org). c 2006 Michal Krátký Tvorba informačních systémů 8/35

UML vs. ER Konceptuální modelování v UML UML třída asociace atribut role násobnost zobecnění a specializace EER typ entity vazba atribut role strukturální omezení zobecnění a specializace c 2006 Michal Krátký Tvorba informačních systémů 9/35

Třída Konceptuální modelování v UML Objekt zájmu v systému. Zabaluje strukturu a chování objektu, který je instancí třídy. Tři části: jméno třídy, atributy a metody. c 2006 Michal Krátký Tvorba informačních systémů 10/35

Stereotypy Konceptuální modelování v UML Možnost rozšíření sémantiky modelované třídy. Uvozen znaky. persistent - třída bude mapována do databázové reprezentace. Perzistentní vs. neperzistentní. c 2006 Michal Krátký Tvorba informačních systémů 11/35

Atributy Konceptuální modelování v UML [ stereotype ] [visibility] [/] attributename [multiplicity]: [type] [=initialvalue] stereotype přidání sémantiky k atributu. visibility + public; # protected; - private. / označuje odvozený atribut. attributename jméno atributu. multiplicity indikuje vícehodnotový atribut. c 2006 Michal Krátký Tvorba informačních systémů 12/35

Příklad: atributy Konceptuální modelování v UML c 2006 Michal Krátký Tvorba informačních systémů 13/35

Operace Konceptuální modelování v UML [ stereotype ] [visibility] methodname [parameters]: [returntype] stereotype přidání sémantiky k operace. visibility + public; # protected; - private. methodname název metody. parameters seznam dvojic typ/název oddělený čárkami. returntype typ návratové hodnoty. c 2006 Michal Krátký Tvorba informačních systémů 14/35

Příklad: Operace Konceptuální modelování v UML c 2006 Michal Krátký Tvorba informačních systémů 15/35

Zobecnění a specializace Obdobné jako u ER (ISA apod.). Vytvoření hierarchie tříd. Instance podtřídy je rovněž instancí nadtřídy. Omezení specializace: mandatory, complete,... Abstraktní třídy. c 2006 Michal Krátký Tvorba informačních systémů 16/35

Příklad: zápis specializace c 2006 Michal Krátký Tvorba informačních systémů 17/35

Omezení specializace Uvozena mezi znaky { a }. mandatory nejméně k jedné podtřídě chceme vytvořit instanci. complete všechny podtřídy jsou definovány. incomplete nejsou definovány všechny podtřídy. mandatory je uživatelsky definované omezení určené pro databázové modelování. c 2006 Michal Krátký Tvorba informačních systémů 18/35

Abstraktní třída Konceptuální modelování v UML Třída jejíž instance nemůže být vytvořena. Název třídy italic nebo před názvem třídy {abstract}. Potomka abstraktní třídy jehož instanci můžeme vytvořit nazýváme konkrétní třída. Abstraktní vs. konkrétní operace. c 2006 Michal Krátký Tvorba informačních systémů 19/35

Diskriminátory (Discriminators) Členství v podtřídách založené na atributu nadtřídy. Atribut, který určuje členství v podtřídě nazýváme diskriminátor. Pro každou hodnotu atributu musí existovat podtřída. Diskriminátor zapisujeme k čáře specializace a považujeme jej za pseudo atribut nadtřídy. Specializace je typu mandatory, nadtřída tedy musí být abstraktní. c 2006 Michal Krátký Tvorba informačních systémů 20/35

Příklad: diskriminátor c 2006 Michal Krátký Tvorba informačních systémů 21/35

Asociace Konceptuální modelování v UML ER: vazby (relationships). UML: asociace. 1:1, 1:N, M:N. Popis: název, role a násobnost (multiplicita). Šipkou můžeme naznačit směr asociace. c 2006 Michal Krátký Tvorba informačních systémů 22/35

Příklad: asociace Konceptuální modelování v UML Název asociace: mazapsan. Vyznačen směr asociace. Role: mazapsan Student má zapsán VypsanyKurz. jenavstevovan VypsanyKurz je navštěvován Studentem. Násobnost: 0..*: Student má zapsán žádný nebo více VypsanychKurzů. VypsanyKurz je navštěvován žádným nebo více Studenty. c 2006 Michal Krátký Tvorba informačních systémů 23/35

Asociační třída Konceptuální modelování v UML Rozklad vazby M:N. c 2006 Michal Krátký Tvorba informačních systémů 24/35

Konkretizace asociace Rozklad vazby M:N. c 2006 Michal Krátký Tvorba informačních systémů 25/35

N-ární asociace Konceptuální modelování v UML c 2006 Michal Krátký Tvorba informačních systémů 26/35

Další asociace Konceptuální modelování v UML Navigability udán směr asociace pro implementaci (porovnej s klasickou obousměrnou asociací). Agregace. Složení (composition). Kvalifikovaná asociace pole asociováno s N hodnotami. Xor výběr ze dvou tříd. c 2006 Michal Krátký Tvorba informačních systémů 27/35

Co ještě umí UML? Rozhraní v třídním diagramu. Další diagramy: Objektový diagram, Use-Case Diagram, Stavový diagram, Sekvenční diagram, Diagram aktivit, Diagram spolupráce. c 2006 Michal Krátký Tvorba informačních systémů 28/35

Mapování třídního diagramu do relačního datového modelu Třídy => relační schéma. Instance třídy => záznam. Množina instancí => relace. Rozklad vazby M:N. Metody mohou být nahrazeny uloženými procedurami (přenesení funkcionality na server). c 2006 Michal Krátký Tvorba informačních systémů 29/35

Mapování třídního diagramu do relačního datového modelu CREATE TABLE course ( id NUMBER(4) PRIMARY KEY, name VARCHAR2(50) NOT NULL, day VARCHAR2(2) NOT NULL, time VARCHAR2(11)) CREATE TABLE workgroup ( id NUMBER(2) PRIMARY KEY, name VARCHAR2(20) NOT NULL UNIQUE, course NUMBER(4) REFERENCES course NOT NULL) c 2006 Michal Krátký Tvorba informačních systémů 30/35

Mapování třídního diagramu do objektově-relačního datového modelu Objektově-orientované databáze: Object Data Management Group (ODMG), Object Query Language (OQL). Nákladná migrace relačních dat, proto vznikly objektově-relační rysy v relačních databázích. Uživatelsky definované datové typy. Možnost definovat atributy a metody. Zavedení dědičnosti. Datový typ ukazatel. Reference a dereference. Využití SQL. c 2006 Michal Krátký Tvorba informačních systémů 31/35

Mapování třídního diagramu do objektově-relačního datového modelu CREATE OR REPLACE TYPE TAddress AS OBJECT ( street VARCHAR2(30), city VARCHAR2(30), PSC NUMBER(5)); CREATE OR REPLACE TYPE TPerson AS OBJECT ( login VARCHAR2(6), fname VARCHAR2(20), sname VARCHAR2(20), address TAddress,... ) NOT FINAL NOT INSTANTIABLE; c 2006 Michal Krátký Tvorba informačních systémů 32/35

Mapování třídního diagramu do objektově-relačního datového modelu CREATE OR REPLACE TYPE TTeacher UNDER TPerson ( department REF TDepartment, room REF TRoom, enlistment REF TEnlistment, title VARCHAR2(30), STATIC FUNCTION authentication (login VARCHAR2, password VARCHAR2, md NUMBER) RETURN REF TTeacher); c 2006 Michal Krátký Tvorba informačních systémů 33/35

Analýza Konceptuální modelování v UML Zadání a specifikace požadavků. Konceptuální analýza: třídní diagram (analýza databáze i celé aplikace). Datová analýza: pro relační model lineární zápis, tabulky, atributy a jejich popis (IO, NULL, index atd.). Funkční (a dynamická analýza): Data Flow Diagram nebo prostředky UML. c 2006 Michal Krátký Tvorba informačních systémů 34/35

Literatura Konceptuální modelování v UML S.W. Dietrich, S.D. Urban: An Advanced Course in Database Systems, Prentice Hall, 2005. H. Garcia-Molina, J.D. Ullman, J. Widom: Database Systems, The Complete Book. Prentice Hall, 2002. Object Management Group (OMG): Unified Model Language (UML). (http://www.omg.org), 2006. Object Data Management Group (ODMG): The Standard for Storing Objects, (http://www.odmg.org), 2006. c 2006 Michal Krátký Tvorba informačních systémů 35/35