Analýza a modelování dat. Přednáška 4
|
|
- Lukáš Mach
- před 5 lety
- Počet zobrazení:
Transkript
1 Analýza a modelování dat Přednáška 4
2 Objektově orientovaný přístup
3 Strukturovaný přístup starší přístup analýzy modelování dat typický zástupce: E-R model prvky reálného světa zobrazujeme do předem připravených struktur entita, vztah modelování procesů typický zástupce: data flow diagram (DFD) strukturované programování
4 počátky OOP: Historie OOP 60. léta: programovací jazyk Simula67 rysy OOP rozvoj OOP: 70. léta: výzkumné středisko PARC projekt Dynabook návrh osobního grafického počítače základ pro Apple Macintosh, MS Windows, X- Window
5 Historie OOP jednotný software (OS) a programovací jazyk: SmallTalk považována za první čistý skutečně objektový jazyk spojoval rysy neprocedurálního (funkcionálního) jazyka Lisp a jazyka SIMULA67
6 Objektově orientovaný programovací styl Jedna z definic: Objektově orientovaný programovací styl lze označit jako obecný postup analýzy, návrhu a implementace programu, založený na přímém modelování (programovém popisu) objektů z reálného světa aplikace (včetně jejich vazeb a interakce) ve světě počítače s využitím prostředků pro abstrakci a hierarchizaci popisu.
7 Čisté OOP a smíšený přístup čisté OOP programovací jazyky pouze objektové rysy, neexistence globálních proměnných SmallTalk, Java smíšený přístup klasické jazyky (většina - C, Pascal) rozšířené o rysy OOP (C++, C#, Borland Delphi Pascal s objekty) je možné zapsat program i v klasickém strukturovaném stylu, překladače jej přeloží, mixovat styly
8 Čisté OOP a smíšený přístup Proč vznikl smíšený přístup? v 80. letech nebyl dostatečně výkonné počítače a překladače pro plnou podporu všech rysů OOP snaha o zpětnou kompatibilitu
9 OMG Object Management Group sdružení zabývající se standardy objektového modelování UML OCL MDA (Model Driven Architecture)
10 Objekty Základní datový prvek objekt modeluje nějakou část reálného světa (člověk, zvíře, zařízení), i abstraktní (stav počasí, ) sdružuje (zapouzdřuje) data (tzv. atributy) a funkcionalitu (operace nad daty metody) objekt je zapouzdřením atributů a metod objekty jsou propojené vazbami a vzájemně na sebe působí
11 Zprávy, metody zpráva zasílaný požadavek, který objekt přijímá např. požadavek na zjištění jména ( vybírání hodnot atributů), zápis jména ( zapisování hodnot do atributů) spouštění operací nad objekty v praxi volání metod metoda může mít parametry protokol objektu seznam všech zpráv, které může objekt přijímat
12 Polymorfismus mnohotvarost, vícetvarost stejná zpráva může vyvolat různé operace, např. podle typu objektu z pohledu toho, kdo posílá zprávu, je stejná v C++ (Javě) je polymorfismus realizován mechanismem: přetěžování metod metoda se rozlišuje počtem a typem parametrů dynamicky vázanými metodami (virtuálními) rozhodnutí, která metoda se vyvolá, se děje až za běhu programu podle typu objektu, nad kterým je metoda vyvolána
13 Objektově orientovaná analýza zjednodušeně: spočívá v tvorbě modelových objektů co nejlépe zobrazující prvky reálného světa a hledání vazeb mezi nimi objekt: dvojice (D,F): D - atributy, F - metody snažíme se identifikovat atributy, popíšeme je svým jménem a typem metody popisujeme jménem, chování popisujeme v prvé fázi zpravidla slovně, později třeba konečným automatem
14 měli bychom pamatovat i na výjimečné a chybové stavy výstupem objektově orientované analýzy je systémový popis pomocí ustálených diagramů nebo již definice objektů zapsaná v programovacím jazyce jedna z prvních knih o OOA: Peter Coad, Edward Yourdon: Object -Oriented Analysis, Yourdon Press, 1991 notace: zavedena právě Codadem: Codadova notace viz další snímek
15 z Codadovy notace vychází dnes převážně používané UML diagram tříd Objekt 1 atributy metody 1 n Objekt 2 atributy metody více např. Richta, K. - Sochor, J.: Softwarové inženýrství I., skripta ČVUT, 1996
16 Kolekce objektů v čistém OO přístupu se rozeznává: množina SET objekty jsou neuspořádané, každý objekt se vyskytuje pouze 1x (v jedné instanci) batoh BAG objekty jsou neuspořádané, stejné objekty se mohou vyskytovat v kopiích seznam LIST batoh, kde objekty jsou uspořádané podle určité hodnoty: lze určit první, druhý,, poslední prvek Poznámka: tabulka je také druh kolekce, ale v OOP se nepoužívá
17 Třída Třída je popis objektu Objekt je instancí třídy
18 Popis třídy v UML konkrétní třída Název třídy Seznam datových položek objektů této třídy (atributů) Seznam metody objektů této třídy Osoba Jméno Příjmení Adresa Datum_narozeni Vek()
19 Popis třídy v UML v UML se ještě specifikuje: - - soukromý (privat) atribut (metoda) + - veřejný (public) atribut (metoda) # - chráněný (protected) atribut (metoda) ~ - atribut viditelný v rámci balíku u metod návratový typ: vek(): integer a seznam parametrů
20 Objekt instance třídy v UML Josef Novák: Osoba Jméno = Josef Příjmení = Novák Adresa = Praha Datum_narozeni = Vek()
21 Kolekce objektů V UML neexistuje standardní symbol byl zakomponován v návrhu verze 0.8, ale později byl odstraněn UML 2.0 dovoluje definici vlastních symbolů lze dodefinovat V OOA se používá symbol: Název kolekce: typ kolekce
22 Kolekce objektů ZAMĚSTNANCI : SET Osoba Jméno Příjmení Adresa Datum_narozeni Vek()
23 Dědění definice jedné třídy (subclass - podtřída) využívá definici druhé třídy (superclass nadtřída) podtřída dědí od nadtřídy všechny atributy a metody v OOP lze metody přetížit, tj. předefinovat v podtřídě lze dodefinovat atributy i metody podtřída má vše, co má nadtřída, a může mít něco navíc tam, kde se užívají instance nadtřídy, lze použít i instance podtřídy
24 Dědění Dospělá Osoba Jméno Příjmení Adresa Datum_narozeni Vek() nadtřída (superclass) Dítě Matka Otec Adresa() poddtřída (subclass)
25 Skládání objektů datová položka objektu (atribut) může být také objekt otec Dospělá Osoba Jméno Příjmení Adresa Datum_narozeni Vek() Dítě matka Adresa()
26 Skládání objektů ohodnocená orientovaná hrana (pojmenovaná šipka) znamená instance třídy Dítě mají dvě položky otec, matka, které obsahují instance třídy Dospělá Osoba v UML se využívá pro skládání (agregaci) šipka s prázdným kosočtvercem na konci instance mohou existovat samostatně, nezávisle, mohou být součástí více seskupení
27 Skládání objektů V UML existuje ještě silnější typ agregace: kompozice Instance nemohou existovat samostantě (složené objekty bez komponent a komponenty bez složených objektů, každá komponenta je součástí pouze jednoho složeného objektu kompozice a agregace často determinují dopředu i implementační detail realizaci komponenty jako objekt nebo ukazatel na objekt
28 Skládání objektů LIDÉ: SET otec Dospělá Osoba Jméno Příjmení Adresa Datum_narozeni Vek() Dítě matka Adresa()
29 Skládání objektů LIDÉ: SET otec Dospělá Osoba Jméno Příjmení Adresa Datum_narozeni Vek() Dítě matka Adresa()
30 vyjadřuje vazby mezi objekty (vztahy) kardinalita: Asociace dospělá osoba má 0 nebo více dětí dítě má jednoho (otec neznámý) nebo dva rodiče šipka u textu určuje směr čtení, nikoliv fakt, kterým směrem asociace platí Dospělá Osoba 1..2 má 0..* Dítě
31 Asociace x skládání asociace může být někdy nahrazena skládáním tři možnosti realizace 1. dítě obsahuje objekt rodiče Dospělá Osoba otec matka Dítě vhodné, když častěji pracujeme s dětmi a občas se podíváme na rodiče
32 Asociace x skládání 2. rodiče obsahují kolekci dětí Dospělá Osoba děti { Set } Dítě vhodné, když častěji pracujeme s rodiči a díváme se na všechny jejich děti
33 Asociace x skládání 3. oba způsoby softwarově náročnější (konzistence) Dospělá Osoba matka otec Dítě děti { Set }
34 Operace nad kolekcemi operace se zapisují pomocí výrazů tzv. λ - kalkulu výběr (selection) vybere z kolekce podmnožinu na základě podmínky př. výběr osob mladších 20 let z kolekce LIDÉ LIDÉ (λx x vek < 20)
35 Operace nad kolekcemi sběr (collection) přeměna prvků nějaké kolekce na jinou kolekci výběr všech otců dětí Inst(Dítě) >> (λx x otec) pro všechny instance z kolekce Dítě vytvoř kolekci jejich otců
36 Operace nad kolekcemi projekce (projection) operace je převzata z relačních databázových systémů (relační algebry) zvláštní případ sběru: transformuje objekty zmenšováním protokolu, tj. vybírá jen některé atributy LIDÉ >> [Příjmení, Datum_narození]
37 OCL (Object Constraint Language) jazyk pro popis omezení (podmínek) pro objektově orientovaný návrh jako doplněk UML 2.0 specifikován OMG poslední verze 2.4 z roku 2014 věty jazyka OCL mají podobu logických formulí odvozených z λ - kalkulu lze zapsat podmínky pro prvky kolekcí, operaci selekce (výběru), log. výrazy,...
38 OCL - příklady (z knihy Merunka: Objektové modelování) žádné dvě instance od třídy osoby nesmějí mít stejné jméno Osoba.allInstances -> forall(p1,p2 p1 <> p2 implies p1.jmeno <> p2.jmeno)
39 OCL - příklady všichni zaměstnanci musí být starší 18 let Zamestnanci.select(p p.vek<=18) -> is Empty()
40 ONF (objektové normální formy) odvozeny od normálních forem relací 1ONF 2ONF 3ONF Pokročilé techniky návrhu Objektové normální formy
41 1ONF Třída je v 1ONF, jestliže její objekty neobsahují skupinu opakujících se atributů Převedení do 1ONF vyčlenění atributů do nové třídy zavést vazbu na kolekci této nové třídy
42 2ONF Třída je ve 2ONF, jestliže její objekty neobsahují atribut nebo skupinu atributů, které by byly sdílené s nějakým jiným objektem Převedení do 2ONF vyčlenění sdílených atributů do nové třídy zavést vazby na kolekci této nové třídy
43 3ONF Třída je ve 3ONF, jestliže její objekty neobsahují atribut nebo skupinu atributů, které mají samostatný význam nezávislý na objektu Převedení do 3ONF vyčlenění atributů do nové třídy zavést vazbu na kolekci této nové třídy
44 popisují modelové situace a dávají návod, jakým způsobem je řešit struktura návrhového vzoru název popis problému, který návrhový vzor řeší řešení Návrhové vzory zpravidla diagram a slovní popis řešení důsledky použití vzoru
45 strukturální vzor angl. adaptor, též wrapper (obálka) problém: Příklady: Adaptér na stávající objekt potřebujeme nasadit jiné rozhraní, které bude měnit protokol objektu (a též např. transformovat data) Adaptér 1 Adaptovaná
46 Příklady: Adaptér Adaptér jméno příjmení ulice č_domu psč město osoba 1 Osoba jméno příjmení adresa extrahuje z osoby části adresy
47 strukturální vzor angl. Composite problém: potřebujeme implementovat hierarchické stromové struktury bez předem známé hloubky využití kusovník Příklady: Skladba
48 Příklady: Skladba Celek List Skladba
49 Příklady: Stav behaviorální vzor (vyjadřuje chování) angl. State problém: potřebujeme zachytit chování - různé stavy objektu, každý stav má jiné atributy řešení: objekt má datovou položku (atribut) typu abstraktní stav
50 Příklady: Stav Objekt 1 Abstraktní stav Stav A Stav B
51 Příklady: Stav Osoba jméno příjmení adresa role 1 Role Student ročník obor Zaměstnanec plat zařazení
52 Příklady: Stav udržujeme informace o osobách ve škole při změně role (student dostuduje a stane se zaměstnancem) není nutné rušit objekt nesoucí informace o osobě, změní se pouze hodnota položky role
2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování
1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy
Více7.3 Diagramy tříd - základy
7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'
Více7.3 Diagramy tříd - základy
7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'
Více7.5 Diagram tříd pokročilé techniky
7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem
VíceDiagramy tříd - základy
Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka Zákazník -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'
Více6 Objektově-orientovaný vývoj programového vybavení
6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).
Více7.5 Diagram tříd pokročilé techniky
7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem
Více1. Dědičnost a polymorfismus
1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář
VíceMATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
VíceObjekty, třídy, vazby 2006 UOMO 30
Objekty, třídy, vazby 2006 UOMO 30 Osnova Vymezení pojmu objekt Objekt a základní objektové koncepty Třídy, třída vs. objekt Vztahy mezi objekty, vazby mezi třídami Polymorfismus 2006 UOMO 31 Vymezení
VíceZáklady objektové orientace I. Únor 2010
Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných
VícePrincipy UML. Clear View Training 2005 v2.2 1
Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat
VíceObjektově orientovaný přístup
Objektově orientovaný přístup 1 Historie programovacích jazyků 1945: John von Neumann článek o nové metodě pro ukládání programů 1945: Grace Hopper poprvé termín "bug" 1946: Konrad Zuse Plankalkul - první
VíceInfrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů
Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,
VícePB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
VíceUML. Unified Modeling Language. Součásti UML
UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje
Více3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
VíceProgramování II. Třídy a objekty (objektová orientovanost) 2018/19
Programování II Třídy a objekty (objektová orientovanost) 2018/19 Osnova přednášky Objektový přístup (proč potřebujeme objekty). Třídy, objekty,... Příklad. Proč potřebujeme objekty? Udržovatelnost softwaru
VícePB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
VíceDBS Konceptuální modelování
DBS Konceptuální modelování Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze Michal.Valenta@fit.cvut.cz c Michal Valenta, 2010 BIVŠ DBS I, ZS 2010/11 https://users.fit.cvut.cz/
VíceTřída. Atributy. Operace
Class Diagrams Třída Atributy Operace Třída Třída je jakýsi prototyp objektů. Za třídou si můžeme představit množinu jejích instancí. Každý objekt dané třídy má stejnou množinu atributů (proměnných) a
VíceVyřešené teoretické otázky do OOP ( )
Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
VíceÚvod do databázových systémů 6. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2012 Modelování databází [1]
VíceModelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda
Modelování informačních systémů s využitím jazyka UML Jaroslav Šmarda Využití jazyka UML při vývoji IS na příkladu jednoduché aplikace pro evidenci knih Model IS Modelování případů užití Diagram případů
VíceModely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.
Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové
VíceTvorba informačních systémů
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í
VíceKlíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda
Anotace sady: Úvod do objektově orientovaného programování, VY_32_INOVACE_PRG_OOP_01 Autor: Blanka Sadovská Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda Druh učebního materiálu:
VíceOOT Objektově orientované technologie
OOT Objektově orientované technologie Logická struktura systému (Diagram tříd) Daniela Szturcová Institut geoinformatiky, HGF Osnova Třídy Statický pohled na systém Atributy a operace, řízení přístupu
VíceKonceptuální modelování. Pavel Tyl 21. 3. 2013
Konceptuální modelování Pavel Tyl 21. 3. 2013 Vytváření IS Vytváření IS Analýza Návrh Implementace Testování Předání Jednotlivé fáze mezi sebou iterují Proč modelovat a analyzovat? Standardizované pracovní
VíceMetody popisu systému, základy UML
Metody popisu systému, základy UML Strukturovaný přístup Klasickou metodou analýzy a návrhu informačních systémů je strukturovaný přístup, navržený v 70. letech (Tom DeMarco, Ken Orr, Larry Constantine,
VíceAnalýza a modelování dat. Přednáška 5
Analýza a modelování dat Přednáška 5 Objektově orientované databáze Relační databáze data uložena v logicky provázaných tabulkách přes cizí klíče výhoda jednoduchost, intuitivnost, naplnění myšlenky oddělení
VíceUML - 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 - 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 Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram
VíceIB111 Programování a algoritmizace. Objektově orientované programování (OOP)
IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,
VíceObjektově orientované databáze. Miroslav Beneš
Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace
VíceObjektově orientované programování. Úvod
Objektově orientované programování Úvod Imperativní programovací styl klasický programovací styl používaný v době vzniku prvních vyšších programovacích jazyků těžiště programování je v tvorbě algoritmů
VíceInformační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika
2 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk UML, základní modely, diagramy aktivit, diagramy entit.
VíceÚvod do principů objektově orientovaného programování
OBSAH DISTANČNÍHO E-LEARNINGOVÉHO KURZU PROFESNÍ RŮST ANALYTIKA OD ZÁKLADŮ (BASE) ÚVOD DO TECHNOLOGIÍ INFORMAČNÍCH SYSTÉMŮ Jak funguje počítač na základní úrovni Základy HTML Skripty ve webovských technologiích
VíceArchitektury Informačních systémů. Jaroslav Žáček
Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?
VíceÚvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 7 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Modelování databází Modelování
Více2. Konceptuální model dat, E-R konceptuální model
2. Konceptuální model dat, E-R konceptuální model Úvod Databázový model souhrn prostředků, pojmů a metod, jak na logické úrovni popsat data a jejich strukturu výsledkem je databázové schéma. Databázové
VíceNepravidlové a hybridní znalostní systémy
Nepravidlové a hybridní znalostní systémy 7. 14. listopadu 2017 _ 3-1 Nepravidlové reprezentace znalostí K nepravidlovým reprezentačním technikám patří: rozhodovací stromy rámce sémantické sítě Petriho
VíceDědění, polymorfismus
Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá
VíceDatabázové systémy. Ing. Radek Holý
Databázové systémy Ing. Radek Holý holy@cvut.cz Literatura: Skripta: Jeřábek, Kaliková, Krčál, Krčálová, Kalika: Databázové systémy pro dopravní aplikace Vydavatelství ČVUT, 09/2010 Co je relační databáze?
VíceUnifikovaný modelovací jazyk UML
Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li
VíceKlasické 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
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 Osnova přednášky Co to je softwarové inženýrství Softwarový proces Metodika a metoda Evoluce softwarových
VíceAnalýza dat a modelování. Přednáška 2
Analýza dat a modelování Přednáška 2 E-R model jiné notace většina současných modelovacích nástrojů case používá jinou grafickou notaci než původní Chenovu nástroj SQL Developer Data Modeler: entity obdélník
VíceProgramování II. Polymorfismus
Programování II Polymorfismus Osnova přednášky Vztah přetížení, překrytí a protected přístupu. Co je polymorfismus? Příklad. Přetížení, překrytí, protected Přetížení x překrytí Přetížením řešíme doplnění
VíceModelování procesů s využitím MS Visio.
Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo
VíceNávrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.
Jakub Klemsa Jan Legerský Objektově orientované programování klemsjak@fjfi.cvut.cz jan.legersky@gmail.com 30. října 2012 návrhový vzor (design pattern) obecné řešení problému, které se využívá při návrhu
VíceKapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů
- 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa
Více7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
Více7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
VíceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceDatabázové modelování. Analýza Návrh konceptuálního schématu
Databázové modelování Analýza Návrh konceptuálního schématu 1 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2 Proč modelovat/analyzovat? Standardizované
VíceUML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz
UML a jeho použití v procesu vývoje Jaroslav Žáček jaroslav.zacek@osu.cz Různé pohledy na modelování Různé pohledy na modelování Unified Modeling Language UML není metodikou ani programovacím jazykem,
VíceIB111 Programování a algoritmizace. Programovací jazyky
IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím
VíceInformač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í
1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,
VíceCommunist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.
Jan Smolík UML UML Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux Zdroj: Wikipedia Unified modelling language Neproprietární
VíceNávrh softwaru. RNDr. Michal Žemlička, Ph.D. Zimní semestr 2013/2014
Softwarové inženýrství I Návrh softwaru RNDr. Michal Žemlička, Ph.D. Vysoká škola finanční a správní Zimní semestr 2013/2014 Návrh softwaru k čemu to? Udělat cokoliv většího bez plánu je riskantní záležitost.
VíceProgramování v C++ 1, 6. cvičení
Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
Více11 Diagram tříd, asociace, dědičnost, abstraktní třídy
11 Diagram tříd, asociace, dědičnost, abstraktní třídy Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost diagramům tříd, asociaci,
VíceDatabázové systémy. Přednáška 1
Databázové systémy Přednáška 1 Vyučující Ing. Martin Šrotýř, Ph.D. K614 Místnost: K311 E-mail: srotyr@fd.cvut.cz Telefon: 2 2435 9532 Konzultační hodiny: Dle domluvy Databázové systémy 14DATS 3. semestr
VíceÚvod do softwarového inženýrství IUS 2009/2010 p.1/30
Úvod do softwarového inženýrství IUS 2009/2010 5. přednáška Ing. Radek Kočí, Ph.D. Ing. Bohuslav Křena, Ph.D. Vytvořeno na základě přednášky doc. Ing. Jaroslava Zendulky, CSc. Úvod do softwarového inženýrství
VíceSada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 01. Základní pojmy a principy programování Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
VíceRNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze
RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze 1 Konceptuální modelování 2 Vytvořte model pro reprezentaci
VíceDiagram tříd (class diagram)
Diagramy tříd 1 Diagram tříd (class diagram) Zobrazuje třídy v daném systému a vztahy mezi nimi Zobrazuje statický stav ukazuje vzájemné interakce, ale neukazuje co se při těchto interakcích děje Při znázornění
VíceMaturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
VíceJiří Mašek BIVŠ V Pra r ha 20 2 08
Jiří Mašek BIVŠ Praha 2008 Procesvývoje IS Unifiedprocess(UP) Iterace vývoje Rysy CASE nástrojů Podpora metodických přístupů modelování Integrační mechanismy propojení modelů Podpora etap vývoje Generování
VíceÚvod do softwarového inženýrství IUS 2009/2010 p.1/42
Úvod do softwarového inženýrství IUS 2009/2010 4. přednáška Ing. Radek Kočí, Ph.D. Ing. Bohuslav Křena, Ph.D. Úvod do softwarového inženýrství IUS 2009/2010 p.1/42 Domácí úloha systém správy účtů Provádíme
VíceProgramování II. Abstraktní třída Vícenásobná dědičnost 2018/19
Programování II Abstraktní třída Vícenásobná dědičnost 2018/19 Osnova přednášky Polymorfismus - důsledky. Abstraktní třída. Vícenásobná dědičnost. Polymorfismus - důsledky Polymorfismus Polymorfismus je
VíceVÝUKA OBJEKTOVÉHO MODELOVÁNÍ POMOCÍ SMALLTALKU
VÝUKA OBJEKTOVÉHO MODELOVÁNÍ POMOCÍ SMALLTALKU Vojtěch Merunka, Athanasios Podaras Katedra informačního inženýrství, PEF, ČZU Praha merunka@pef.czu.cz, podaras@pef.czu.cz ABSTRAKT: Příspěvek se zabývá
VíceProgram a životní cyklus programu
Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy
Více3 druhy UML diagramů
UML grafický jazyk se pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů zjednodušuje komunikaci mezi zadavatelem a řešitelem projektu UML podporuje objektově orientovaný přístup
VíceJazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken
Jazyk UML - přehled Unified Modeling Language jazyk pro popis objektově orientované analýzy a návrhu aplikací slouží k vzájemné komunikaci mezi zadavatelem a návrhářem systému má několik částí, není nutné
VíceInovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.
Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Projekt ESF OP VK reg.č. CZ.1.07/2.2.00/28.0209 Elektronické opory a e-learning pro obory výpočtového
VíceObjektově orientované technologie. Daniela Szturcová
Objektově orientované technologie Cvičení 5 - Tvorba třídního diagramu Daniela Szturcová 1 5 Tvorba třídního diagramu Cíl cvičení Vyhledat třídy, jejich atributy a operace. Navrhnout vazby mezi třídami.
VíceStrukturované metody Jan Smolík
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é
VíceSoftwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
VíceArchitektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/
Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
VíceDatabázové systémy trocha teorie
Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů
VíceCommon Object Request Broker Architecture
Common Object Request Broker Architecture Tvorba aplikací, jejichž komponenty budou komunikovat přes počítačovou síť Programátor jedné aplikace volá metody vzdálených objektů podobně jako u sebe lokální
VíceProgramování II. Modularita 2017/18
Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích
VíceNÁSTROJE PRO DATOVÉ MODELOVÁNÍ
NÁSTROJE PRO DATOVÉ MODELOVÁNÍ Vojtěch Merunka Katedra informačního inženýrství, PEF, ČZU Praha merunka@pef.czu.cz ABSTRAKT: Datové modelování je nový obor softwarového inženýrství, který se zabývá nejen
VíceTvorba informačních systémů
Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2005 2008 Michal Krátký Tvorba informačních systémů 1/39 Konceptuální
VíceUsage of modular scissors in the implementation of FEM
Usage of modular scissors in the implementation of FEM Dalibor Frydrych PANM 2010 6.-11. června 2010 Dolní Maxov 8. června 2010 1 Úvod Zúžený pohled na OOP 2 Základy objektově orientovaného přístupu Objektové
VíceStřední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U
Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní
VíceObjektové programování
Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 23. Otázka : Problematika analýzy a návrhu softwarového systému. Sestavení UML diagramů popisující statickou i dynamickou část díla. Problematika návrhových
VíceVývoj IS - strukturované paradigma II
Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 05 1/18 Vývoj IS - strukturované paradigma II Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta informačních
VíceDalším příkladem může být například výstup dat na různá zařízení, souborů, grafických rozhraní, sítě atd.
1. Zapouzdření Cíl látky Tento blok nejdříve přiblíží zásadu zapouzdření a odpoutání kódu a po té na relacích, jako jsou asociace, agregace a kompozice, vysvětlí jak lze objektový zdrojový kód zapouzdřovat
VíceViditelnost (práva přístupu) Tomáš Pitner, upravil Marek Šabo
Viditelnost (práva přístupu) Tomáš Pitner, upravil Marek Šabo Viditelnost Přístup ke třídám i jejim prvkům lze (podobně jako např. v C++) regulovat. Přístupem se rozumí jakékoli použití dané třídy, prvku
VícePOROVNÁNÍ RELAČNÍHO A OBJEKTOVÉHO DATOVÉHO MODELU V KONSTRUKCI DATABÁZOVÝCH SYSTÉMŮ
POROVNÁNÍ RELAČNÍHO A OBJEKTOVÉHO DATOVÉHO MODELU V KONSTRUKCI DATABÁZOVÝCH SYSTÉMŮ COMPARISON OF THE RELATIONAL AND OBJECT-ORIENTED DATA MODEL FOR DATABASE SYSTEMS DEVELOPMENT Tomáš Doskočil, Vojtěch
VíceRelační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:
Relační databáze Pojem databáze, druhy databází Databází se myslí uložiště dat. V době začátků využívání databází byly tyto členěny hlavně hierarchicky, případně síťově (rozšíření hierarchického modelu).
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 22. Otázka : Úvodní fáze rozpracování softwarového projektu. Postupy při specifikaci byznys modelů. Specifikace požadavků a jejich rozpracování pomocí
VícePB161 Základy OOP. Tomáš Brukner
PB161 Základy OOP Tomáš Brukner Sylabus - Co je to OOP? Jaké jsou základní principy OOP? Jak se projevují v C++? https://cs.wikipedia.org/wiki/strahovská_knihovna SELECT * FROM books WHERE pages < 250
VíceKMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d
KMA/PDB Prostorové databáze Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Sylabus předmětu KMA/PDB Úvodní přednáška Základní terminologie Motivace rozdíl klasické
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 29. Otázka : Zpracování událostí: mechanismus událostí a jejich zpracování (Event/Listener), nepřímá invokace (Observer/Observable). Obsah : 1. Mechanisums
VíceVzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování
Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování
Více