Strukturované metody Jan Smolík.

Slides:



Advertisements
Podobné prezentace
Dynamické systémy.
Advertisements

Stručný úvod do UML.
Úvod do databázových systémů
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Databáze.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
A5M33IZS – Informační a znalostní systémy Normální formy.
Pojmy z ERD.
Metodika vývoje IS Jan Smolík.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
YDASYS Ing. Monika Šimková.
Přínosy metodik  Větší produktivita a kooperace týmů  Komunikační standard  Specializace projektových týmů  Nezávislost na konkrétních řešitelích 
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
A4B33DS & X33MIS Zdeněk Kouba
Strukturovaná analýza a návrh
Metody zpracování vybraných témat (projektů)
Úvod do databázových systémů
Databáze Jiří Kalousek.
Cvičení 13 Ing. Pavel Bednář
Úvod do databázových systémů
Analýza informačního systému
KONCEPTUÁLNÍ MODELOVÁNÍ
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Databázové systémy přednáška+cvičení
13AMP 9. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled ADA ADA Java Java.
Modelovací jazyk UML. Jazyk UML je víceúčelový modelovací jazyk, který byl vyvinut speciálně pro účely softwarového inženýrství. Obsahuje formalizovaný.
Fakulta elektrotechniky a informatiky
Relační databáze.
Konceptuální návrh databáze
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Modelování a simulace MAS_02
Definice, druhy, chyby, abstrakce
Možnosti modelování požadavků na informační systém
Teorie zpracování dat KONCEPTUÁLNÍ SCHÉMA.
Dokumentace informačního systému
Databázové systémy Přednáška č. 4.
Konceptuální návrh databáze
Databázové modelování
Databázové modelování
State Transition Diagram a model řízení 5.Cvičení IS/IT.
Databázové systémy Informatika pro ekonomy, př. 18.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Analýza informačního systému. Podrobně zdokumentovaný cílový stav Paramentry spojené s provozem systému – Cena – Přínosy – Náklady a úspory – …
Databázové systémy Datové modely.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
Metodika řízení projektů
Návrh struktury - normalizace
DATABÁZE.
Informatika. Cíle výuky informatiky Studenti se mají seznámit se základními pojmy, problémy, postupy, výsledky a aplikacemi informatiky tak, aby je dokázali.
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
České vysoké učení technické v Praze Fakulta dopravní Ústav dopravní telematiky Geografické informační systémy Doc. Ing. Pavel Hrubeš, Ph.D.
ANALÝZA IS. Životní cyklus IS Specifikace problému, požadavků (studijní fáze) Analýza Návrh Implementace (realizace) Zavedení (instalace) a testování.
Úvod do databázových systémů
Databázové systémy přednáška 4 – ERD
Relační databázová technologie
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Databázová aplikace 1 Aplikace soubory se sekvenčním přístupem
Informatika pro ekonomy přednáška 8
Geografické informační systémy
Databázové systémy Normální formy.
Databázové systémy UIN010
Analýza informačního systému
Transkript prezentace:

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 P1 * Vařím 

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 Učitel Student Správce ID Udělaná známka Známkovací systém Seznam studentů Získaná známka Studenti Správce

Úroveň „0“ ID Známka Udělaná známka Student Získaná známka Známky 3 Zápis známky 4 Vyhl známky stud známky Student Získaná známka Studenti 2 Čtení seznamu stud. 1 Zápis 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 Relace je uspořádaná n-tice 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 Entity relationship diagram Zdroj: Chen: The Entity-Relationship Model—Toward a Unified View of Data

ERD Entita Vztah Entita Sklad 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 Kolo Obsahuje

Parcialita (volitelnost) Švestka Strom Plodí

Vztah sám se sebou Je kamarád Student

Příklad Studuje Student 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 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í) Rodné číslo Jméno Datum narození Věk SPZ Auta RČ otce Člověk

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 Nezapsaný Zapsaný Oznámkovaný Student si zapsal předmět Zapiš studenta Zapsaný Omyl Zruš známku Test opraven Zapiš známku Oznámkovaný

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ČO Jméno Ident Název předmětu Počet kreditů Přemět Ident Název předmětu Počet kreditů Učitel UČO Jméno Učitel 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 Předmět Cvičení Ident předmětu Číslo cvičení Počet studentů Jméno učitele Počet kreditů Cvičení Ident předmětu Číslo cvičení Počet studentů Jméno učitele Předmět Ident předmětu Počet kreditů Předmět Cvičení Obsahuje

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