+ All Categories
Home > Documents > Strukturované metody

Strukturované metody

Date post: 23-Jan-2016
Category:
Upload: owen
View: 41 times
Download: 0 times
Share this document with a friend
Description:
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. - PowerPoint PPT Presentation
53
Strukturované metody Strukturované metody Jan Smolík
Transcript
Page 1: Strukturované metody

Strukturované metodyStrukturované metodyJan Smolík

Page 2: Strukturované metody

Historie strukturovaných Historie strukturovaných metodikmetodikStrukturované programováníProgramování ve velkémFunkční přístup

◦Yourdan structured method◦Structured design (Larry Constantine)

Datové modelování◦Relační algebra◦Data structure diagram◦Chenovy diagramy

Page 3: Strukturované metody

Strukturované Strukturované programováníprogramováníS rozsahem se programy opět

stávají nezvladatelnéEdsger Wybe Dijkstra: „Go To

Statement Considered Harmful“ (1968)

Page 4: Strukturované metody

Kde jsme to jenom viděli?Kde jsme to jenom viděli?Sekvence, selekce, iterace

Mám

Vařím

Nemám

Vaření vejce

P1

Page 5: Strukturované metody

Teorie struktorovaného Teorie struktorovaného programováníprogramováníTři možnosti skládání programů:

◦Sekvence◦Selekce◦Iterace

Není úplnou novinkou, vychází už z teorie Turingova stroje

Page 6: Strukturované metody

Jacksonovo strukturované Jacksonovo strukturované programováníprogramování• Můžu popsat nejen program ale i jeho data

Obrázek: Wikipedia

Page 7: Strukturované metody

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

Page 8: Strukturované metody

Výsledná struktura Výsledná struktura programuprogramu

Page 9: Strukturované metody

Jacksonova metodaJacksonova metodaProblém nekorespondujících

struktur◦Řešení: rozdělení do podprogramů

Podle některých autorů je metoda závislá na datech

Page 10: Strukturované metody

Strukturované progranovací Strukturované progranovací jazykyjazykyALGOL (1960)Pascal (1970)PL/IAda

Vznikají postupně 60. – 70. létaPozn.: první objektový jazyk:

Simula 67, Smalltalk (70. léta) – publikováno 1980

Page 11: Strukturované metody

Programování ve velkémProgramování ve velkémFrank DeRemer, Hans KronVidí 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

Page 12: Strukturované metody

Požadavky MILPožadavky MILSeshora dolůPo jedné úrovni najendouZezdola nahoruHorizontální komunikaceFinální kompozice do jednoho

celku

Page 13: Strukturované metody

Příklad MIL75Příklad MIL75

Page 14: Strukturované metody

Funkční přístupFunkční přístupKniha Structured DesignEd Yourdon, Larry Constantine,

19791. skutečná učebnice designuPrá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

Page 15: Strukturované metody

Strukturovaný designStrukturovaný design„Cena vývoje systému je cena

odhalování chybCena odhalování chyb je cenou chyb

programátoraPočet chyb roste nelineárně s

komplexitou problémuKomplexita problému může být snížena

rozdělením na malé částiVe výsledku rozdělení na malé části

vyvolá větší komplexitu, kvůli závislosti modulů“

Volná citace, Yourdon: Structured Design

Page 16: Strukturované metody

Strukturovaný designStrukturovaný designSnaha 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čePoužití principu modelování

Page 17: Strukturované metody

Strukturovaný designStrukturovaný designDo dneška přežily Data Flow

DiagramyAutorem DFD je Larry

Constantine

Page 18: Strukturované metody

Data Flow DiagramData Flow Diagram

Grafický prostředek návrhu a zobrazení funkčního modelu systému

Vrstvený (hierarchický) – různé úrovně podrobnosti

Nástroj

Page 19: Strukturované metody

DFD – základní prvkyDFD – základní prvky

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

Page 20: Strukturované metody

TerminátorTerminátor

Objekt, který nepatří do systému, ale do jeho okolí

Začátek nebo konec datového toku, zdroj dat

Terminátor

Page 21: Strukturované metody

ProcesProces

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

Page 22: Strukturované metody

Datový tokDatový tok

Abstrakce jakékoliv formy přesunu (předání) dat

Objednávka

Page 23: Strukturované metody

Data StoreData StoreMísto (dočasného) uložení datUmožní překlenout časovou

mezeru mezi procesy (komunikace procesů v různých časech musí přes data store)

Zákazníci

Page 24: Strukturované metody

Pravidla DFDPravidla DFD

3 – 9 procesů v jednom diagramuS datastorem vždy komunikuje

proces (nelze datovým tokem spojit dva datastory, či datastor s terminátorem)

Page 25: Strukturované metody

Hierarchie DFDHierarchie 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ě

Page 26: Strukturované metody

PříkladPří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.

Page 27: Strukturované metody

Kontextový diagramKontextový diagram

StudentUčitel

Správce

Známkovací systém

Získaná známka

ID

Studenti

Seznam studentů

Udělaná známka

Page 28: Strukturované metody

Úroveň „0“Ú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

Page 29: Strukturované metody

Structured Systems Structured Systems Analysis and Design Analysis and Design MethodMethod ( (SSADMSSADM))Peter ChecklandLarry ConstantineWayne StevensChris Gane & Trish Sarson,

authors of Structured Systems Analysis: Tools and Techniques

Ed YourdonMichael A. Jackson

Page 30: Strukturované metody

SSADMSSADMVodopádová metodikaVyvinuta pro vládu Velké BritánieV 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

Page 31: Strukturované metody

SSADMSSADMTři hlavní techniky

◦Logické datové modelování◦Modelování datových toků (DFD)◦Modelování chování entit

Page 32: Strukturované metody

Datové modelováníDatové modelováníData Structure Diagrams (síťový

model)Relační modelEntity set model

Chenův Entity Relationship Diagram

Page 33: Strukturované metody

Relační modelRelační modelZaložen na relační algebře

◦Matematický oborRelace je uspořádaná n-ticeOperace

◦Projekce (zůžení na určitý počet sloupců)

◦Selekce (výběr řádků)◦Kartézský součin

Přirozený join Equijion Semijoin

Page 34: Strukturované metody

Chenův diagramChenův diagramOd začátku chápán pro popis

reálného světaOd 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ů

Page 35: Strukturované metody

Entity Relationship Entity Relationship DiagramDiagramUkazuje vztahy mezi entitami

reálného světaPopisuje data, která budou

existovat v systémuExistuje více notacíVelmi podobný relačnímu popisu

dat

Page 36: Strukturované metody

Srovnání ERD a Data Srovnání ERD a Data Structure Diagrams Structure Diagrams

a) Data structure diagramb) Entity relationship diagramZdroj: Chen: The Entity-Relationship Model—Toward a Unified View of Data

Page 37: Strukturované metody

ERDERD

Sklad Materiál

Materiál na skladě

Entita EntitaVztah

Asociativní entita

Page 38: Strukturované metody

EntitaEntita

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

Page 39: Strukturované metody

Vztah, kardinalitaVztah, kardinalita

Vozidlo KoloObsahuje

Page 40: Strukturované metody

Parcialita (volitelnost)Parcialita (volitelnost)

Strom ŠvestkaPlodí

Page 41: Strukturované metody

Vztah sám se sebouVztah sám se sebou

Student

Je kamarád

Page 42: Strukturované metody

PříkladPříklad

Student

Známka

Předmět

Učitel

Učí

Studuje

Získal

Page 43: Strukturované metody

AtributAtributVlastnost entityZákladní dělení

◦Totální atribut – u každé entity má hodnotu

◦Parciální atribut – hodnotu má jen někdy

Page 44: Strukturované metody

Typy atributůTypy atributů

ZákladníOdvoditelnéPrimární klíčCizí klíč

Page 45: Strukturované metody

PříkladPříklad

Primární klíč: Rodné čísloTotá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é čísloJménoDatum narozeníVěkSPZ AutaRČ otce

Člověk

Page 46: Strukturované metody

State Transition DiagramState Transition DiagramPopisuje časové následnosti

procesů funkcíPopisuje stavy systému (entity) a

přechody mezi nimiPůvodně vyvinut ve

strukturovaných metodikách, nyní užíván v objektových

Page 47: Strukturované metody

STD entity StudentSTD entity Student

Nezapsaný

Zapsaný

Oznámkovaný

Student si zapsal předmět

Zapiš studenta

Omyl

Zruš známkuTest opraven

Zapiš známku

Page 48: Strukturované metody

Normalizace datNormalizace datTechnika datové analýzyVhodná pro ověření návrhu

logické datové strukturySada omezení aplikovaných na

datové struktury

Page 49: Strukturované metody

První normální formaPrvní normální forma

Datová struktura nesmí obsahovat opakující se položky

UČOJménoIdentNázev předmětuPočet kreditůUčitel

UČOJméno

PřemětIdentNázev předmětuPočet kreditů

Učitel PředmětPředmět

Page 50: Strukturované metody

Druhá normální formaDruhá 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

Page 51: Strukturované metody

Druhá normální formaDruhá normální forma

Ident předmětuČíslo cvičeníPočet studentůJméno učitelePočet kreditů

CvičeníIdent předmětuČíslo cvičeníPočet studentůJméno učitele

PředmětIdent předmětuPočet kreditů

Předmět CvičeníObsahuje

Page 52: Strukturované metody

Třetí normální formaTřetí normální forma

Všechny neklíčové položky musí záviset na primárním klíči přímo

IdentNázev předmětuPočet kreditůUČOJméno

UčitelUČOJméno

PřemětIdentNázev předmětuPočet kreditů

Učitel PředmětPředmět

Page 53: Strukturované metody

NormalizujteNormalizujte

1NF: Datová struktura nesmí obsahovat opakující se položky2NF: 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íči3NF: Všechny neklíčové položky musí záviset na primárním klíči přímo


Recommended