Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Strukturované metody Jan Smolík. Historie strukturovaných metodik Strukturované programování Programování ve velkém Funkční přístup ◦ Yourdan structured.

Podobné prezentace


Prezentace na téma: "Strukturované metody Jan Smolík. Historie strukturovaných metodik Strukturované programování Programování ve velkém Funkční přístup ◦ Yourdan structured."— Transkript prezentace:

1 Strukturované metody Jan Smolík

2 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

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

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

5 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

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

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

8 Výsledná struktura programu

9 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

10 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

11 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

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

13 Příklad MIL75

14 Funkční přístup Kniha Structured Design Ed Yourdon, Larry Constantine, 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

15 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

16 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í

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

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

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

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

21 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 Proces

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

23 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

24 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)

25 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ě

26 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.

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

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

29 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

30 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

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

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

33 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

34 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ů

35 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

36 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

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

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

39 Vztah, kardinalita Vozidlo Kolo Obsahuje

40 Parcialita (volitelnost) Strom Švestka Plodí

41 Vztah sám se sebou Student Je kamarád

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

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

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

45 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

46 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

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

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

49 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ů Učitel UČO Jméno Přemět Ident Název předmětu Počet kreditů UčitelPředmět

50 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

51 Druhá normální forma 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ětCvičení Obsahuje

52 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 Učitel UČO Jméno Přemět Ident Název předmětu Počet kreditů UčitelPředmět

53 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


Stáhnout ppt "Strukturované metody Jan Smolík. Historie strukturovaných metodik Strukturované programování Programování ve velkém Funkční přístup ◦ Yourdan structured."

Podobné prezentace


Reklamy Google