Návrh - návrhové třídy a vzory
|
|
- Renáta Kopecká
- před 9 lety
- Počet zobrazení:
Transkript
1 Návrh - návrhové třídy a vzory Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové inženýrství BI-SI1 LS 2011/ Před. 6 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
2 Obsah Návrhový model tříd Databázový model Spolupráce objektů Vzory GRASP Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 2
3 Návrhový model tříd Závislý na zvolené technologii Vychází z doménového modelu Datové typy atributů Upřesnění relací Nové softwarové třídy Přiřazení zodpovědností Realizace scénářů případů užití Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 3
4 Návrhový model tříd Diagram tříd pokročilá notace Statické Abstraktní Viditelnost Konstruktor Inicializace Kolekce Závislosti class Návrhový model tříd Třída - statický atribut: int # protected atri but: int ~ package visible: i nt - /odvozený atribut: i nt - iniciali zovaný atribut: i nt = hodnota - konstantní atribut: i nt {reado nly} - kol ekce dupl icity: i nt [0..*] {bag} - uspořádaná kol ekce: i nt [1..*] {ordered} + statická m etoda() : void + abstraktní metoda() : voi d + m etoda(char) : boolean[] «constructor» + konstruktor() : void Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 4
5 Návrhový model tříd deployment Náv rhov ý model tříd Java Vytisk - evidencnicislo - roknakupu - datum Vyrazeni - porizovacicena m aexem plare 1..* 1 - nazev - isbn - rokvyd ani - obsah - klicovaslova Kniha «trace» «trace» Vytisk Serializable Kniha Serializable - vytiskid: int - datum vyrazen i: Da te - evid encni cisl o: Stri ng - porizovacicena: double - rokn akupu: i nt -knihaid - knihaid: int - isbn: S trin g - klicovaslova: String - nazev: Stri ng - rokvydani: i nt + Vytisk() + getdatum vyraze ni() : Date + setdatum vyrazeni(date) : vo id + getevidencnicislo() : String + setevidencnicislo(string) : void + getpori zovacicena() : do ubl e + setporizovacicena(double) : void + getroknakupu() : int + setroknakupu(int) : void 1 + Kniha() + getisbn() : String + setisbn(string) : void + getklicovaslova() : String + setklicovaslova(string) : void + getnazev() : String + setnazev(string) : void + getrokvydani() : int + setrokvydani(int) : void Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 5
6 Návrhový model tříd Doporučení - důležitá je přehlednost Nezobrazovat názvy asociací Nezobrazovat get a set metody Pouze pro jednoduché třídy (Adresa, Bankovní účet) upřednostňovat zobrazení pomocí atributu Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 6
7 Návrhový model tříd Dotazy? Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 7
8 Databázový model Popisuje uložení dat v relační databázi Generování zakládacích SQL skriptů Obsahuje datové typy zvolené databáze Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 8
9 Databázový model Primární klíče Cizí klíče Dekompozice m:n vazeb Dědičnost 1 tabulka 2 tabulky 3 tabulky Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 9
10 Databázový model MySQL deployment Databázový model Autor - jm eno - pri jm eni 1..* jenapsana 0..* Kniha - nazev - isbn - rokvydani - obsah - klicovaslova «trace» Autor «trace» «colum n» jm eno: V ARCHAR(50) prijm eni: VARCHAR(50) *PK autorid: Integer «PK» + PK_ Autor() «FK» (a utorid = autorid) 0..* jenapsana «colum n» FK autorid: INT EG ER 1..* FK knihaid: INT EG ER «FK» (knihaid = kn ihaid) Kniha «colum n» nazev: VARCHAR(50) isbn: V ARCHAR(20) rokvyd ani: NUM ERIC(4 ) obsah: T EXT klicova Slova: VARCHA R(50) *PK knihaid: Integer FK regalid: INT EGER FK naklad atelstviid: INT EG ER «PK» + PK_ Kniha() «FK» + Autor() + Kniha() Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 10
11 Databázový model Doporučení - důležití je přehlednost Členění tabulek do více balíčků Skrývání popisů konců asociací (názvy PK, FK) Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 11
12 Databázový model Členění do balíčků class Relační datov ý model Ev idence knih + Autor + jenapsana + Kniha + Nakladatelstvi + Regal + Zanr + zarazenado Evidence vypujcek + Ctenar + jerezervovana + Pokuta + Rezervace + Vypujcka + Vytisk Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 12
13 Databázový model Rozdělení na více diagramů req Ev idence vypuj cek-slide Ctenar «colum n» cisloprukazky: INT EGER em ail: VARCHAR(50) jm eno: VARCHAR(50) prijm eni: VARCHAR(50) telefon: VARCHAR(50) *PK ctenarid: INT EGER «PK» + PK_Ctenar(INT EGER) (ctenarid = ctenarid) «FK» 1 0..* Vypujcka «colum n» datum Vraceni : DAT E datum Vypujceni : DAT E vypujcenado: DAT E *PK vypujckaid: INT EGER FK ctenarid: INT EGER FK vytiskid: INT EGER «PK» + PK_ Vypujcka(INT EGER) «FK» + m avypujceno(int EGER) + jevypujcen(int EGER) «FK» (vytiskid = vytiskid) 0..* 1 Vytisk «colum n» datum Vyrazeni: DAT E evidencnicislo: VARCHA R(50) porizovacicena: DOUBLE roknakupu: INT EGER FK vypujckaid: INT EGER stav: VARCHAR(50) *PK vytiskid: INT EGER FK knihaid: INT EGER «PK» + PK_ Vytisk(INT EGER) «FK» + jevypujcen(int EGER) + m aexem plare(int EGER) 1..* (knihaid = knihaid) «FK» 1 Ev idence knih::kniha Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 13
14 Databázový model Dotazy? Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 14
15 Spolupráce objektů Popis realizace scénářů Zachycení komunikace spolupracujících objektů Přiřazení zodpovědnosti třídám Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 15
16 Spolupráce objektů Notace interakční diagramy UML Sekvenční diagram Diagram komunikace Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 16
17 Spolupráce objektů Sekvenční diagram Objekt sd Sekv enční diagram :T řída B Objekt A:T řída A Třída Pojmenovaný Nepojmenovaný asynch. zpráva() synch. zpráva() Zpráva Statická metoda Asynchronní Synchronní Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 17
18 Spolupráce objektů Návratová hodnota 2 různé způsoby sd Náv ratov á hodnota :T řída A :T řída B vysledek= zprava() zprava() vysle dek Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 18
19 Spolupráce objektů Vytvoření objektu sd Vytvoření, zrušení :T řída A Zrušení objektu «create» Nový objekt:t řída B zpráva() «destroy» Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 19
20 Spolupráce objektů Sekvenční diagram Nalezená zpráva Zaslání zprávy sám sobě (Self Message) sd SelfMessage Objekt B: T řída B Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 20
21 Spolupráce objektů Sekvenční diagram Fragment sd Fragment :T řída B Objekt A:T řída A Větvení Cyklus Další (opt, par) alt f [a>b] [a <=b] zpráva A() zpráva B() loop [a<b] zpráva A() Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 21
22 Spolupráce objektů Sekvenční diagram sd VypujceniVytisku vytisk :VytiskDT O :StavVolny knihavypujcek :KnihaVypujcek Zpracuj(Ctenar, VytiskDT O) zapisvypujcku(vytiskdt O, Ctenar) new() vypujcka setvytisk(vytiskdt O) setctenar(ctenar) setvypujcenado(date) setstav(new StavVypujceny()) Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 22
23 Spolupráce objektů Diagram komunikace Objekt Třída Zpráva Pojmenovaný Nepojmenovaný Statická metoda Synchronní Asynchronní sd Diagram komunikace :Třída A 1: zpráva() 1.2: zprá va() Obj ektb:třída B 1.1: zpráva() :Třída C Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 23
24 Spolupráce objektů Diagram komunikace Vytvoření objektu Zrušení objektu sd Diagram komunikace v ytv áření obj ektu :Třída A 1: create() :Třída B «create» 1.1: vytvor() «destroy» 1.2: zprava() :Třída C Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 24
25 Spolupráce objektů Diagram komunikace Podmínky Cykly Iterace sd Diagram komunikace v ětv ení, cykly :Třída A 1: [a>b]:zprava() :Třída B :Třída A 1.1: *[i=1..n]:zprava() :Třída B :Třída A 1.2: *[i=1..n]:zprava() obj ekty[i]:třída B Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 25
26 Spolupráce objektů Diagram komunikace sd 6. přednáška :VytiskDTO 1: zpracuj(ctenar, VytiskDT O) :Stav Volny 1.1: zapisvypu jcku(vytiskdt O, Ctenar) :Vypuj cka 1.2: create() 1.3: setvytiskid(int) 1.4: setctenarid(int) :KnihaVypuj cek 1.5: setvypujcena do(date) Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 26
27 Spolupráce objektů Sekvenční diagram Výhody Nevýhody Přehledné zachycení pořadí zasílání zpráv Větší vyjadřovací schopnosti Velké nároky na prostor v horizontálním směru Nevhodné pro zobrazení většího množství objektů Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 27
28 Spolupráce objektů Diagram komunikace Výhody Nevýhody Úspornější na místo i při zobrazení více objektů Možnost uspořádat objekty horizontálně i vertikálně Obtížnější sledování pořadí zasílání zpráv Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 28
29 Spolupráce objektů Dotazy? Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 29
30 GRASP Základní vzory / principy pro přiřazení zodpovědností třídám Zodpovědnost je úkol, který má třída řešit Existuje mnoho způsobů rozdělení úloh mezi třídy Neexistuje jediné správné řešení Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 30
31 GRASP Informační expert (Information Expert) Nízká provázanost (Low Coupling) Vysoká soudržnost (High Cohesion) 6 dalších Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 31
32 GRASP Informační expert Základní princip přiřazení zodpovědnosti Popis Přiřaďte zodpovědnost třídě, která má informace potřebné pro splnění této zodpovědnosti Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 32
33 GRASP Nízká provázanost Zmenšuje dopad při provádění změn Popis Přiřaďte zodpovědnost tak, aby provázanost zůstala nízká Každá třída by si měla vystačit při plnění úkolu sama a minimalizovat nutnost využití ostatních tříd Zvyšuje možnost znovupoužití Počet vazeb mezi třídami by měl být minimální Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 33
34 GRASP Vysoká soudržnost Podporuje nízkou provázanost Popis Přiřaďte zodpovědnost tak, aby soudržnost zůstala vysoká Každá třída by měl být zaměřena na jediný úkol Zvyšuje srozumitelnost systému Zodpovědnost třídy je snadno pochopitelná Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 34
35 GRASP Jedna třída umí všechno Nízká provázanost Malá soudržnost Každá třída pouze jednu metodu Vysoká provázanost Velká soudržnost Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 35
36 GRASP Další informace Larman, Craig (2005). Applying UML and Patterns An Introduction to Object-Oriented Analysis and Design and Iterative Development Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 36
37 GRASP Dotazy? Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 37
38 Děkuji za pozornost. Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 6 - Návrh - návrhové třídy a vzory 38
Analýza problémové domény
Analýza problémové domény Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové
VíceModelování obchodních procesů
Modelování obchodních procesů Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové
VíceObsah přednášky. Postup při vytváření objektů. Postup při vytváření objektů. Alokace paměti. Inicializace hodnot atributů
Základy programování (IZAPR, IZKPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Postup při vytváření
VíceArchitektura softwarových systémů
Architektura softwarových systémů Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové
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íce20. Projekt Domácí mediotéka
Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý
VíceVzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))
Vzorové příklady SQL Tabulka: Kniha CREATE TABLE kniha název VARCHAR(50, PRIMARY KEY (id Tabulka: Autoři CREATE TABLE autoři jméno VARCHAR(10, příjmení VARCHAR(20, titul VARCHAR(7, prostřední VARCHAR(10,
VícePrincipy objektově orientovaného programování
Principy objektově orientovaného programování Třídy a objekty doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz C E T
VíceStudent s Life. Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal 3.12.2010
Student s Life Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal 3.12.2010 Model Specification Page: 2 Obsah Model architektury... 3 Návrhový model... 3 Bussines
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íce11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9
Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií
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íceModelování požadavků
Modelování požadavků Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové inženýrství
VíceÚvod do softwarového inženýrství a týmového vývoje
Úvod do softwarového inženýrství a týmového vývoje Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz
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íceProgramování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceObjektově orientované programování 1 XOBO1. Autor: Doc. Ing. František Huňka, CSc.
Objektově orientované programování 1 XOBO1 Autor: Doc. Ing. František Huňka, CSc. 1 Seznam kapitol 1 Základní pojmy...3 1.1 Úvod do tříd a objektů...3 1.2 Vývojové prostředí...7 1.3 Jednotný modelovací
VíceStruktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová
Struktura třídy, operátory, jednoduché algoritmy, junit 2. cvičení Alena Buchalcevová Cíle cvičení seznámit se s rozhraním (interface) v Javě seznámit se s testováním při vývoji (makety, JUnit) naučit
VíceProgramování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha
ANT Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
VíceTabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář
Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění
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íce8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod 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 třídám a objektům, instančním
VíceTeoretické minimum z PJV
Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceÚvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VíceKTE / ZPE Informační technologie
4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší
VícePREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
VíceNávrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich
Návrh aplikace Project Westpon Inteligentní simulátor budov Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich . Úvod.. Účel dokumentu Tento dokument má za účel detailně popsat návrh
Více2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.
2 přednáška 2 října 2012 10:32 Souborově orientované uchování dat Slabý HW Není možné uchovávat "velká data" - maximálně řádově jednotky MB Na každou úlohu samostatná aplikace, která má samostatná data
VíceUNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky. Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof
UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof Bakalářská práce 2011 Prohlášení autora Prohlašuji, že jsem tuto práci
VíceRegistrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B
PŘIJÍMACÍ TEST Z INFORMATIKY A MATEMATIKY NAVAZUJÍCÍ MAGISTERSKÉ STUDIUM V OBORU APLIKOVANÁ INFORMATIKA FAKULTA INFORMATIKY A MANAGEMENTU UNIVERZITY HRADEC KRÁLOVÉ ČÁST A Registrační číslo Hodnocení -
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íceObjektově orientované programování
Objektově orientované programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 7 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 7: Objektově
Více14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
VíceDBS Transformace konceptuálního schématu na
DBS Transformace konceptuálního schématu na relační Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/
Víceknihovna programátora
knihovna programátora Učebnice pro ty, kteří nechtějí zůstat obyčejnými kodéry, ale chtějí se stát špičkovými architekty Postupuje podle metodiky Architecture First Soustředí se na návrh programů a osvojení
VíceElektronická zdravotní karta
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY Elektronická zdravotní karta (semestrální projekt) ZS 2009-2010 Analýza Implementace Číslo skupiny: Členové skupiny:
VíceOborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B. 1. úloha (4 body) Kolik existuje cest délky 4 v grafu K11? 2.
PŘIJÍMACÍ TEST Z INFORMATIKY A MATEMATIKY NAVAZUJÍCÍ MAGISTERSKÉ STUDIUM V OBORU APLIKOVANÁ INFORMATIKA FAKULTA INFORMATIKY A MANAGEMENTU UNIVERZITY HRADEC KRÁLOVÉ ČÁST A Oborové číslo Hodnocení - část
VíceOborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B
PŘIJÍMACÍ TEST Z INFORMATIKY A MATEMATIKY NAVAZUJÍCÍ MAGISTERSKÉ STUDIUM V OBORU APLIKOVANÁ INFORMATIKA FAKULTA INFORMATIKY A MANAGEMENTU UNIVERZITY HRADEC KRÁLOVÉ ČÁST A Oborové číslo Hodnocení - část
Více4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady
Základy programování (IZAPR, IZKPR) Přednáška 5 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Příkazy cyklu -
VíceOSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha
OSGi Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
VíceGeorge J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu
A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,
Více6. SQL složitější dotazy, QBE
6. SQL složitější dotazy, QBE Příklady : Veškeré příklady budou dotazy nad databází KONTAKTY nebo KNIHOVNA nebo FIRMA Databáze KONTAKTY OSOBA (Id_osoba, Příjmení, Jméno, Narození, Město, Ulice, PSČ) EMAIL
VíceTransformace ER SQL. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 9
Transformace ER SQL Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11,
VíceDědičnost (inheritance)
Dědičnost (inheritance) Úvod Umožňuje objektům převzít (zdědit) členy jiných objektů a pouze je rozšířit o Auto: lze odvodit Vztah je osobní auto, cisterna jsou auta Základní pojmy Bázová třída (rodič)
Více4IT218 Databáze. 4IT218 Databáze
4IT218 Databáze Šestá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Datové modelování Transformace KS do LS Šestá přednáška Program přednášek (12 přednášek) Týden
VíceOCL a integritní omezení
OCL a integritní omezení Karel Richta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze richta@fel.cvut.cz, 2011 Softwarové inženýrství I., BI-SI1 04/2011,
VíceReflexe RTTI Runtime Type Identification
Vaše jistota na trhu IT Reflexe RTTI Runtime Type Identification Rudolf PECINOVSKÝ rudolf@pecinovsky.cz Vaše jistota na trhu IT Opakování Shrnutí či téma Co je to reflexe/rtti Termínem Reflexe označujeme
VíceSemestrální práce z DAS2 a WWW
Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA
VíceDatabázové systémy Cvičení 5.2
Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako
VíceInformační systém pro fotbalový team
České Vysoké Učení Technické v Praze Fakulta: Elektrotechnická Obor: Softwarové technologie a management Předmět: Úvod do softwarového inţenýrství ( Y36SIN ) Téma práce: Informační systém pro fotbalový
VíceUML - Unified Modeling Language
UML - Unified Modeling Language Martin Molhanec Katedra elektrotechnologie, ČVUT - Fakulta elektrotechnická, Technická 2, 166 21 PRAHA 6 e-mail: molhanec@fel.cvut.cz Abstrakt UML Unified Modeling Language
VíceTerminologie v relačním modelu
3. RELAČNÍ MODEL Relační model reprezentuje databázi jako soubor relací. Každá relace představuje tabulku nebo soubor ( ve smyslu soubor na nosiči dat ). Terminologie v relačním modelu řádek n-tice ( n-tuple,
VíceOOPR_05. Případové studie
OOPR_05 Případové studie 1 Přehled probírané látky příklad skládání objektů - čára příklad skládání objektů kompozice a agregace přetížené konstruktory pole jako datový atribut 2 Grafický objekt - čára
VíceZapouzdření. Tomáš Pitner, upravil Marek Šabo
Zapouzdření Tomáš Pitner, upravil Marek Šabo Co je zapouzdření Naprosto zásadní vlastnost objektového přístupu, možná nejzásadnější Jde o spojení dat a práce s nimi do jednoho celku - objektu Data jsou
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íceObrázek. Základní popis, zadání úkolu. Struktura tříd,
Obrázek Základní popis, zadání úkolu Pracujeme na projektu Domecek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy Obrazek a zavoláme metodu kresli(). Výsledkem
VíceTabulka fotbalové ligy
Semestrální práce na X36DB2 Michal Rezler Jan Zmátlík Tabulka fotbalové ligy a tabulka střelců 8. prosinec 2011 Obsah 1 Zadání....................................................... 3 1.1 Stručný popis.............................................
VíceObjektové modelování BI-OMO 4. cvičení
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Objektové modelování BI-OMO 4. cvičení Ing. Zdeněk Rybola Katedra softwarového inženýrství Fakulta informačních technologií ČVUT v Praze
Víceó Š Ž ť Ě Ě Í Ě Ý Ý Á Ě ó Č Á Í Ý ň ň ď ňť ň ď ď ť ť ť ť Á ď ť ť ť Ý Ť ť ť ť ú ď ť ť ť ť ď ň ň ň Á ó ď ť ď ď ť ň ď ť ť Á ó ó Á ď ť ó ť ť ó ť Ó ň ň ť ň ň ň ň ó ť ň ň ň ď ň ď ó ň ť ť ď ň ň ň ď ď ď Á Ž ň
VíceNávrh a tvorba WWW stránek 1/14. PHP a databáze
Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované
VíceProjekty pro výuku programování v jazyce Java
JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil
VíceGenerické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
Více11. Dědičnost. Dědičnost strana 103
Dědičnost strana 103 11. Dědičnost V této kapitole si vysvětlíme jeden ze základních pojmů objektově orientovaného programování dědičnost (inheritance). S ní souvisejí i následující témata: předek a potomek
VíceIRAE 07/08 Přednáška č. 1
Úvod do předmětu OOP Objekt Proč OOP? Literatura, osnova předmětu viz. cvičení Základní prvek OOP sw inženýrství = model reálných objektů (věcí) člověk, auto, okno (ve windows), slovník, = model abstraktní
VíceObject-relational mapping (JPA, Hibernate)
Vysoká škola báňská - technická univerzita Ostrava 17. března 2010 Obsah 1 2 3 4 namapovat chování objektového světa do relačních struktur a naopak, tak aby spolu mohli jednoduše komunikovat většina moderních
VíceSeminář Java II p.1/43
Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceProgramování v Pythonu
ƒeské vysoké u ení technické v Praze FIT Programování v Pythonu Ji í Znamená ek P íprava studijního programu Informatika je podporována projektem nancovaným z Evropského sociálního fondu a rozpo tu hlavního
VíceNávrhové vzory Design Patterns
Návrhové vzory Design Patterns doc. Ing. František Huňka, CSc. Ostravská univerzita PřF 1 Definice vzoru Každý vzor popisuje problém, který nastává opakovaně v našem prostředí, a potom popisuje podstatu
VíceUložené procedury Úvod ulehčit správu zabezpečení rychleji
Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen
VíceGymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410
VíceDPKOM_06 Dědičnost entit a zpětná volání posluchači
DPKOM_06 Dědičnost entit a zpětná volání posluchači 1 Obsah přednášky Jedna tabulka pro hierarchii tříd Tabulka pro konkrétní třídu Tabulka pro podtřídu Neentitní základní třídy Události zpětného volání
VíceDatové typy v Javě. Tomáš Pitner, upravil Marek Šabo
Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.
VíceVytěžování znalostí z dat
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 4 1/27 Vytěžování znalostí z dat Pavel Kordík, Jan Motl Department of Computer Systems Faculty of Information Technology
VíceEnterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java
VícePrincipy objektového návrhu. Přednáška 8, LS 2013/2014
Principy objektového návrhu Přednáška 8, LS 2013/2014 Principy objektového návrhu Cílem je vytvořit kvalitní návrh, který bude předcházet vzniku symptomů jako: Ztuhlost - změna SW je obtížná Křehkost -
VíceOFF-LINE PRÁCE SE ZDROJI aneb Jak na elektronické výpůjčky
Knihovna univerzitního kampusu OFF-LINE PRÁCE SE ZDROJI aneb Jak na elektronické výpůjčky Mgr. Ludmila Plisková Knihovna univerzitního kampusu ČTENÍ OFFLINE PDF (stáhnutí/ uložení) DOWNLOAD KNIHY (trvalý)
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ícePočítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
VíceVytváření a použití knihoven tříd
Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce
VíceTřídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);
Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace
VíceKIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování
KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství Přemysl Brada Cíle předmětu Organizační informace Opakování Cíl předmětu Praktické zkušenosti sw proces a iterativní vývoj jaksi mimochodem
VíceJazyk C++ I. Šablony 2
Jazyk C++ I Šablony 2 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()
Více14.4.1. Typický prvek kolekce pro české řazení
14.4. Co všechno by měl mít typický prvek kolekce 177 Poznámka: Třídy BigInteger, BigDecimal a Date budou vysvětleny v částech [15./183, [16./185 a [18.1./204. 14.4.1. Typický prvek kolekce pro české řazení
VíceČeská zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií
Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií Teze diplomové práce Analýza a návrh informačního systému Miloš Rajdl 2012 ČZU v Praze 1 Souhrn Diplomová
VíceAbstraktní datové typy: zásobník
Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní
VíceZáklady jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní
Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti
VíceX36 WWW Šablony Martin Klíma xklima@fel.cvut.cz Čtryřvrstvá architektura Server Klient Prezentační logika Aplikační Logika Databáze 2 Výhody Jednotlivé vrstvy jsou nezávislé Lze je samostatně spravovat
VíceTransformace konceptuálního modelu na relační
Transformace konceptuálního modelu na relační Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16
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í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ícetypová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
VíceJazyk C# a platforma.net
Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 2. část BI-DNP Evropský sociální fond
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íceVytěžování znalostí z dat
Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2011, Cvičení 9 1/16 Vytěžování znalostí z dat Pavel Kordík, Josef Borkovec Department of Computer Systems Faculty of Information
VíceINFORMAČNÍ SYSTÉM PŮJČOVNY JÍZDNÍCH KOL
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY INFORMAČNÍ SYSTÉM PŮJČOVNY JÍZDNÍCH KOL (semestrální projekt) ZS 2010-2011 Analýza Implementace Číslo skupiny: 12 Členové
VíceSeznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí
Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků
Více