Strukturované metody Jan Smolík



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

10 Metody a metodologie strukturované analýzy

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

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

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

Metody popisu systému, základy UML

4IT218 Databáze. 4IT218 Databáze

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

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

Konceptuální modelování. Pavel Tyl

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

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

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

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

Databáze. Logický model DB. David Hoksza

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

Hierarchický databázový model

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

Relace x vztah (relationship)

C8 Relační databáze. 1. Datový model

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

Strukturované metodologie

Modelování procesů (2) Procesní řízení 1

DATABÁZE A INFORMAČNÍ SYSTÉMY

4. Základy relačních databází, logická úroveň návrhu

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

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

Analýza a modelování dat 3. přednáška. Helena Palovská

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

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í

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

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

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

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

DBS Konceptuální modelování

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

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

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

4IT218 Databáze. 4IT218 Databáze

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

Funkční analýza Předmět Informační systémy. Daniela Szturcová

5. Formalizace návrhu databáze

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Model podnikových procesu. Model objektu. Model funkcí. Akce. Proces Objekt (trída) Událost Atribut. Akce. Akce. Funkce

Diagram datových toků - DFD

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

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

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

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

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

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

Databázové systémy trocha teorie

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

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

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

Návrh softwaru. RNDr. Michal Žemlička, Ph.D. Zimní semestr 2013/2014

U Úvod do modelování a simulace systémů

5. Formalizace návrhu databáze

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

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Vývoj IS - strukturované paradigma II

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky

Program a životní cyklus programu

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

9 Strukturovaná analýza

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

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

DATOVÉ MODELOVÁNÍ ER MODEL

Strukturovaná analýza a návrh. Yordonova moderní strukturovaná analýza(ymsa) Strukturovaný návrh

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

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

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Střední průmyslová škola Zlín

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

Databázové systémy 1. Cvičení č. 9. Fakulta elektrotechniky a informatiky Univerzita Pardubice

PB007 ANalýza A NÁvrh Systémů (vypracované teoretické otázky CZ)

Základy analýzy. autor. Jan Novotný února 2007

RELACE, OPERACE. Relace

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

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

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

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

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

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

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

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

Modelování procesů (1) Procesní řízení 1

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Diagram výskytů a vztahů

Objekty, třídy, vazby 2006 UOMO 30

Informační systémy ve zdravotnictví. 6. cvičení

Marketingová komunikace. 1. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3aph)

Geografické informační systémy p. 1

9 Strukturovaná analýza

Teorie systémů TES 10. Měkké systémy metodiky

Softwarové inženýrství

Transkript:

Strukturované metody Jan Smolík

Historie strukturovaných metodik Strukturované programování Programování ve velkém Funkční přístup Yourdan structured method Structured design (Larry Constantine) Datové modelování Relační algebra Data structure diagram Chenovy diagramy

Strukturované programování S rozsahem se programy opět stávají nezvladatelné Edsger Wybe Dijkstra: Go To Statement Considered Harmful (1968)

Kde jsme to jenom viděli? Sekvence, selekce, iterace Vaření vejce Nemám Mám Vařím P1

Teorie struktorovaného programování Tři možnosti skládání programů: Sekvence Selekce Iterace Není úplnou novinkou, vychází už z teorie Turingova stroje

Jacksonovo strukturované programování Můžu popsat nejen program ale i jeho data Obrázek: Wikipedia

Srovnání vstupních a výstupních dat

Výsledná struktura programu

Jacksonova metoda Problém nekorespondujících struktur Řešení: rozdělení do podprogramů Podle některých autorů je metoda závislá na datech

Strukturované progranovací jazyky ALGOL (1960) Pascal (1970) PL/I Ada Vznikají postupně 60. 70. léta Pozn.: první objektový jazyk: Simula 67, Smalltalk (70. léta) publikováno 1980

Programování ve velkém Frank DeRemer, Hans Kron Vidí rozdíl mezi programováním v malém a programováním ve velkém Jazyky pro malé programování určeny pro tvorbu modulů Snaží se budovat jazyk pro programování ve velkém module interconnection language

Požadavky MIL Seshora dolů Po jedné úrovni najendou Zezdola nahoru Horizontální komunikace Finální kompozice do jednoho celku

Příklad MIL75

Funkční přístup Kniha Structured Design Ed Yourdon, Larry Constantine, 1979 1. skutečná učebnice designu Práce s černými skříňkami Kdykoliv potřebujete funkci, navrhněte ji a užívejte ji jako černou skříňku, bez ohledu na to jak ji budete realizovat Přístup shora dolů Foto: computer-museum.org

Strukturovaný design Cena vývoje systému je cena odhalování chyb Cena odhalování chyb je cenou chyb programátora Počet chyb roste nelineárně s komplexitou problému Komplexita problému může být snížena rozdělením na malé části Ve výsledku rozdělení na malé části vyvolá větší komplexitu, kvůli závislosti modulů Volná citace, Yourdon: Structured Design

Strukturovaný design Snaha o vysokou kohesivitu (cohesion) a nízkou spřaženost (coupling) Odklon od optimalizace kódu za každou cenu Neoptimalizujte Když už musíte optimalizovat, dělejte to, až nakonec, kdy máte všechno správně Snaha o optimalizaci práce programátora ne počítače Použití principu modelování

Strukturovaný design Do dneška přežily Data Flow Diagramy Autorem DFD je Larry Constantine

Data Flow Diagram Grafický prostředek návrhu a zobrazení funkčního modelu systému Vrstvený (hierarchický) různé úrovně podrobnosti Nástroj

DFD základní prvky Terminátor (externí entita) Datový tok (Data Flow) Datový sklad (Data Store) Proces

Terminátor Objekt, který nepatří do systému, ale do jeho okolí Začátek nebo konec datového toku, zdroj dat Terminátor

Proces Datový proces (fyzická transformace dat) Řídící proces Číslování: V úrovni 0 od 1 do 9 V nižších úrovních číslo nadřazeného procesu +.1 --.9 1. Proces

Datový tok Abstrakce jakékoliv formy přesunu (předání) dat Objednávka

Data Store Místo (dočasného) uložení dat Umožní překlenout časovou mezeru mezi procesy (komunikace procesů v různých časech musí přes data store) Zákazníci

Pravidla DFD 3 9 procesů v jednom diagramu S datastorem vždy komunikuje proces (nelze datovým tokem spojit dva datastory, či datastor s terminátorem)

Hierarchie DFD Kontextový diagram jen terminátory a jeden proces = systém Úroveň 0 rozvedení systému z kontextového diagramu Nižší úrovně vždy rozvádějí 1 proces z vyšší úrovně

Příklad Jednoduchý systém pro známkování studentů. Učitel známkuje studenty podle seznamu, ti se pak mohou dívat na své známky.

Kontextový diagram Student ID Udělaná známka Učitel Známkovací systém Seznam studentů Získaná známka Studenti Správce

Úroveň 0 ID Známka Udělaná známka 4 Vyhl známky stud známky Známky Student Studenti 3 Zápis známky Získaná známka 1 Zápis seznamu stud. 2 Čtení seznamu stud. Seznam studentů Studenti

Structured Systems Analysis and Design Method (SSADM) Peter Checkland Larry Constantine Wayne Stevens Chris Gane & Trish Sarson, authors of Structured Systems Analysis: Tools and Techniques Ed Yourdon Michael A. Jackson

SSADM Vodopádová metodika Vyvinuta pro vládu Velké Británie V současné době patří Office of Governement Commerce spadající pod ministerstvo financí Spojeného Království Pod tuto agenturu rovněž spadá MSP, PRINCE2, M_o_R, ITIL

SSADM Tři hlavní techniky Logické datové modelování Modelování datových toků (DFD) Modelování chování entit

Datové modelování Data Structure Diagrams (síťový model) Relační model Entity set model Chenův Entity Relationship Diagram

Relační model Založen na relační algebře Matematický obor Relace je uspořádaná n-tice Operace Projekce (zůžení na určitý počet sloupců) Selekce (výběr řádků) Kartézský součin Přirozený join Equijion Semijoin

Chenův diagram Od začátku chápán pro popis reálného světa Od relačního modelu se snaží odlišit přesnějším pomisem sémantiky reálného světa Liší se od dalších přístupů

Entity Relationship Diagram Ukazuje vztahy mezi entitami reálného světa Popisuje data, která budou existovat v systému Existuje více notací Velmi podobný relačnímu popisu dat

Srovnání ERD a Data Structure Diagrams a) Data structure diagram b) Entity relationship diagram Zdroj: Chen: The Entity-Relationship Model Toward a Unified View of Data

ERD Entita Sklad Vztah Entita Materiál Materiál na skladě Asociativní entita

Entita Rozlišitelný a identifikovatelný objekt reality (Karel Novák,motor s výr. č. 1525-1455-456) Jsou slučovány do entitních množin (Osoba, Motor) V ER diagramech modelujeme entitní množiny, přesto se jim říká entity

Vztah, kardinalita Vozidlo Obsahuje Kolo

Parcialita (volitelnost) Strom Plodí Švestka

Vztah sám se sebou Je kamarád Student

Příklad Student Studuje Předmět Získal Učí Známka Učitel

Atribut Vlastnost entity Základní dělení Totální atribut u každé entity má hodnotu Parciální atribut hodnotu má jen někdy

Typy atributů Základní Odvoditelné Primární klíč Cizí klíč

Příklad Člověk Rodné číslo Jméno Datum narození Věk SPZ Auta RČ otce Primární klíč: Rodné číslo Totální atribut: RČ, Jméno, Datum narození, RČ otce Parciální atribut: SPZ Auta Cizí klíč: RČ otce, (SPZ) Odvoditelný: Věk (ostatní základní)

State Transition Diagram Popisuje časové následnosti procesů funkcí Popisuje stavy systému (entity) a přechody mezi nimi Původně vyvinut ve strukturovaných metodikách, nyní užíván v objektových

STD entity Student Student si zapsal předmět Zapiš studenta Test opraven Zapiš známku Nezapsaný Zapsaný Oznámkovaný Omyl Zruš známku

Normalizace dat Technika datové analýzy Vhodná pro ověření návrhu logické datové struktury Sada omezení aplikovaných na datové struktury

První normální forma Datová struktura nesmí obsahovat opakující se položky Učitel UČO Jméno Učitel UČO Jméno Ident Název předmětu Počet kreditů Předmět Přemět Ident Název předmětu Počet kreditů Předmět

Druhá normální forma Datová struktura, která obsahuje složený primární klíč, může obsahovat pouze takové položky, které závisí na celém složeném klíči

Druhá normální forma Ident předmětu Číslo cvičení Počet studentů Jméno učitele Počet kreditů Předmět Ident předmětu Počet kreditů Cvičení Ident předmětu Číslo cvičení Počet studentů Jméno učitele Předmět Obsahuje Cvičení

Třetí normální forma Všechny neklíčové položky musí záviset na primárním klíči přímo Učitel UČO Jméno Učitel Ident Název předmětu Počet kreditů UČO Jméno Předmět Přemět Ident Název předmětu Počet kreditů Předmět

Normalizujte 1NF: Datová struktura nesmí obsahovat opakující se položky 2NF: Datová struktura, která obsahuje složený primární klíč, může obsahovat pouze takové položky, které závisí na celém složeném klíči 3NF: Všechny neklíčové položky musí záviset na primárním klíči přímo