VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky BAKALÁŘSKÁ PRÁCE
|
|
- Jan Sedláček
- před 8 lety
- Počet zobrazení:
Transkript
1 VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky BAKALÁŘSKÁ PRÁCE Rok 2005 Jakub Černoch
2 VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Studijní podpory pro OOM Rok 2005 Jakub Černoch
3 Poděkování Na tomto místě bych rád poděkoval svému vedoucímu bakalářské práce, panu Ing. Michalu Radeckému za pomoc při vedení správného zpracování bakalářské práce, za pomoc při odstraňování chyb, za náměty pro zdokonalení práce. Dále bych chtěl poděkovat Cecílii Kudělové za konzultaci grafické úpravy přiložené multimediální aplikace. Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně a uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. V Ostravě dne 6. ledna 2005 Jakub Černoch
4 Abstrakt Každý tvůrce softwaru, který se zabývá vytvářením složitějších softwarových aplikací, se alespoň jednou v životě setká s potřebou vyvíjet svůj software co nejefektivnějším způsobem. Efektivnost v jeho případě znamená nejen přehlednost jeho vlastního produktu, ale také dynamická schopnost jeho produktu reagovat na změny prostředí, ve kterém se produkt využívá. Během jeho vytváření se také může objevit v situaci, ve které se již někdy ocitl nebo v situaci, ve které by uvítal zjednodušení svého vlastního návrhu, aniž by byl nucen zavrhnout ten dosavadní a vytvořit úplně nový. Popsanou problematikou se zabývá právě tato bakalářská práce. Jejím cílem je na úvod seznámit s vytvořenou přiloženou multimediální aplikací pro studijní podporu a následně uvést tvůrce softwarových aplikací do problematiky základních a pokročilejších termínů objektově orientovaných metod související s fázemi vývoje softwarového díla podle standardu UML. Termíny jsou využity v poslední části práce, která se zabývá vlastními návrhovými vzory. Klíčová slova multimediální aplikace, objektově orientované metody, fáze vývoje softwarového díla, návrhový vzor
5 OBSAH OBSAH...1 ÚVOD...2 MULTIMEDIÁLNÍ APLIKACE...3 Logická struktura multimediální studijní podpory... 4 Implementace... 4 OBJEKTOVĚ ORIENTOVANÉ METODY Úvod do problematiky Základní pojmy Rational unified process (životní cyklus vývoje softwarového díla) Unifikovaný proces vývoje aplikací pro OOM Požadavky Analýza Návrh Implementace NÁVRHOVÉ VZORY Úvodem Co je návrhový vzor? Popis návrhových vzorů Jak návrhový vzor vybírat Katalog návrhových vzorů Návrhové vzory Tvořivé (creational patterns) Návrhové vzory Strukturální (structural patterns) Návrhové vzory Chování (behavioral patterns) ZÁVĚR PŘÍLOHY LITERATURA
6 ÚVOD V softwarovém světě se můžeme setkat s širokou škálou programovacích technik. Jednou z velmi rozšířených je objektově orientované programování. Pro perfektní ovládání umění objektově orientované programování je důležité osvojit si specifika zmíněného programování. Nejedná se pouze o vlastní psaní zdrojového kódu, ale také o možnost znovupoužitelnosti takto naprogramovaných aplikací. Než přikročíme k vlastnímu tématu zadání práce, budete na úvod seznámeni s přiloženou multimediální podporou. Následně budete seznámeni se základními i pokročilejšími pojmy z oblasti objektově orientovaných metod, které vám pomohou lépe porozumět poslední kapitole týkající se návrhových vzorů, které se v objektovém programování hojně využívají. 2
7 MULTIMEDIÁLNÍ APLIKACE Na výběr pro vytvoření multimediální studijní podpory jsem měl hned několik produktů. Pro zpracování vizuální podoby jsem po úvaze nakonec použil program Macromedia Flash MX Professional Flash jsem vybral hned z několika důvodů: - široké možnosti v oblasti grafických úprav - interaktivita v komunikaci s uživatelem - možnost vytvoření obsahu materiálu, který je pak možné dynamicky upravovat, pokud dojde k jeho změně - velký výběr exportovaných formátů (html, exe, swf...) - kvalitní přehledná struktura, co se týče knihovny, časové osy ve vlastním programu Prvním krokem bylo vytvoření grafického návrhu této aplikace tak, aby z ní bylo možné studovat. Usoudil jsem, že nejlepší bude, aby ovládání a přesun mezi kapitolami byl logický a inteligentně strukturovaný. Taky jsem ponechal velký prostor pro samotné texty s obrázky a ovládání. Po vykreslení grafických prvků jsem implementoval první animace tlačítek a přiřadil jim první action skripty. Jakmile všechna tlačítka reagovala správným způsobem, do souborů kapitol jsem vložil komponenty TextArea (viz. dále). Následně jsem jim přiřadil action skripty pro načítání externího obsahu a tento externí obsah jsem vytvořil. Obsahovalo to vytvoření textových souborů příslušných názvů, které obsahovaly teorii, kterou jsem chtěl zobrazit. Do textu jsem také vložil html tagy, které umožnily lepší přehlednost textu tím, že jej naformátovaly. Napomohl také externí soubor s kaskádovými styly, který jsem umístil do adresáře css. Po sepsání veškerého nutného obsahu, včetně úpravy obrázků, jsem do aplikace doplnil čas a datum, základní informace o mě jako autorovi, indikaci načítání Loaderů (viz. dále) a úvodní animaci pro spuštění aplikace. Výslednou multimediální studijní podporu jsem exportoval do html formátu, tedy webovských stránek a do formátu exe, což je spustitelný program pod windows obsahující vlastní flash přehrávač nutný pro spuštění. Multimediální studijní podpora je spustitelná na každém počítači, který má nainstalovaný Macromedia Flash Player 7 a vyšší řady, který lze spustit bez hardwarových problémů. Taky je nutné mít kompletní adresářovou strukturu celé multimediální studijní podpory. Multimediální studijní podpora se spouští následujícím způsobem: - html stránky: v adresáři s html soubory najděte index.html. Po odkliknutí se spustí váš webovský prohlížeč. Pokud nemáte nainstalován zmíněný Macromedia Flash Player 7 a výše, budete přesměrování na stránku, která vám umožní instalaci tohoto pluginu. Pokud Flash Player nainstalován máte, po chvíli budete přesměrování na samotné swf soubory, konkrétně na main.swf. Pokud i přesto, že máte určitě nainstalován Flash Player nelze aplikaci spustit, můžete ji spustit přes soubor s názvem index_content.html. - exe soubor: v adresáři s exe soubory najděte main.exe. Po odkliknutí se spustí Flash Player, který vám umožní další práci s materiálem Osobně bych doporučil také se zaměřit na výběr rozlišení obrazovky. Moje doporučení pro minimální rozlišení je 1024x768 pixelů, nejlépe v barvách. Pokud budete multimediální studijní podporu spouštět v tomto rozlišení v Internet Exploreru, doporučuju jej přepnout na celou obrazovku tlačítkem F11 (zpět opět F11). Tím se vyhnete možným posouváním posuvníku u zmíněného prohlížeče. 3
8 4 Logická struktura multimediální studijní podpory Teoretický text je rozdělen do dvou hlavních kapitol: Objektově orientované metody (OOM) a Katalog návrhových vzorů (KNV). Každá z těchto hlavních kapitol obsahuje teorii k danému tématu. Kapitola OOM je zpracováním pouze informativním, tedy připomíná pouze některé postupy či termíny související s objektově orientovaným programováním či s vývojem softwaru. Tyto termíny se mohou využit v rozsáhleji zpracované kapitole KNV. Základní struktura multimediální studijní podpory vypadá následovně: Každá z kapitol Úvod, Požadavky, Analýza, Návrh, Implementace obsahuje podkapitoly podle své teorie. Každá z kapitol návrhových vzorů obsahuje následující podkapitoly: Účel, Motivace, Použití, Struktura, Důsledky, Implementace, Příklad, Vzory v praxi. Implementace Všechny kapitoly jsou uspořádány v logicky uspořádané adresářové struktuře, které obsahují textové soubory obsahující teorii jednotlivých kapitol, obrázky k jednotlivým tématům a flashové spustitelné soubory vlastní grafiky. Obsah textových souborů, které využívají jednoduché html formátovací tagy a kaskádové styly, je možné dynamicky pozměňovat podle potřeby nebo z důvodů aktualizace informací v nich obsažených, včetně přiložených obrázků. Každý textový soubor má svůj jedinečný název podle své kapitoly či podkapitoly. Je to soubor se sice ukládá jako txt, ale sám obsahuje html kód. Každý textový soubor je načítán do tzv. TextArea, což je komponenta Flashe pro textový obsah. U této komponenty je možné nastavit vzhled, velikost, jestli se text v ní zobrazený bude formátova jako html, zalamování řádků apod. V následujícím textu je ukázka nastavení komponenty TextArea použitá v aplikaci. U TextArea se nastavuje barva a přiřazuje konkrétní styl z kaskádových stylů (viz. níže). tacolor = 0xCCCCCC; tasadaucel_txt.backgroundcolor = tacolor; tasadaucel_txt.stylesheet = styles_css; Následuje jedna ukázka načítání textového souboru do TextArea s názvem tasadaucet_txt strukturálního návrhového vzoru Adapter, kapitola Účel: //styl pro textarea tasadaucel_txt.backgroundcolor = tacolor; tasadaucel_txt.stylesheet = styles_css;
9 5 //text pro text area se nejprve nacte do promenne a pak priradi konkrétní komponente TextArea var tasadaucel_lv:loadvars = new LoadVars(); tasadaucel_lv.load("design_patterns/structural/adapter/sada_ucel.txt "); tasadaucel_lv.onload = function(success:boolean) { if(success) { tasadaucel_txt.text = this.content; else { trace("unable to load text file"); ; Při aktualizaci textových souborů je důležité dodržet následující podmínky: - začátek každého souboru musí začínat tímto řetězcem &content= Ukázka z textového souboru: &content=<p class='headline'>účel</p><br> <p>zapouzdří žádost do objektu a tím umožní... - je nutné dodržet adresářovou strukturu všech souborů - soubor nesmí pro správné zobrazení celého textu obsahovat znaky, které se využívají pro načítání souboru nebo jeho formátování; např. +, <, & apod. (využijte tyto náhradní symboly: v pořadí PLUS, OS, AA) - je velmi důležité a pro zobrazení českých znaků nutné dodržet kódování textového dokumentu, které nese označení UTF-8 - při ukládání nesmíme zapomenout na dodržení názvu souboru (každý název nese označení kapitoly a podkapitoly) Dalším důležitým souborem je soubor s kaskádovými styly styles.css, který je umístěn v adresáři css. Kaskádové styly jsou určeny pro textový html obsah výše zmíněné komponenty TextArea. Neexistence souboru s kaskádovými styly zapříčiní nenaformátovaný text ve všech komponentách TextArea všech kapitol multimediální studijní podpory. Následuje zdrojový kód flashových souborů, který načítá kaskádový styl, který je následně využit u všech TextArea u všech kapitol: //styl text area var styles_css = new TextField.StyleSheet(); styles_css.load("css/styles.css"); styles_css.onload = function(success:boolean) { if(!success) { trace("error loading css file..."); ;
10 6 Je vytvořena proměnná styles_css, do které se nahraje příslušný kaskádový styl. Pokud není načtení úspěšné, vypíše se programátorovi hlášení o neúspěchu. Posledními soubory, o kterých bych se chtěl jenom okrajově zmínit, jsou obrázky k některým podkapitolám. Všechny obrázky jsou uloženy do adresáře images v adresáři kapitoly, ke které mají vztah. V souvislosti s obrázky a jejich případnou aktualizací bych zmínil pouze následující tři doporučení: - v případě jejich úprav dbejte na to, aby byly hlediska místa na disku co nejmenší, ne na úkor kvality čím menší obrázky budou, tím rychleji se budou načítat - jejich horizontální rozlišení by nemělo přesáhnout 700px to je z důvodů velikosti komponenty TextArea u všech podkapitol - aby byly správně načteny všechny obrázky, měly by být ve formátu jpg Hlavní main.swf soubor obsahuje časovou osu, na které se mimo úvodní animace objevuje pouze jedna oblast s komponentou Loader, která pomocí action scriptu načítá externí swf soubory podkapitol podle zmáčknutého tlačítka. Je to jednodušší a úspornější řešení než mít na časové ose desítky komponent Loader. Tím by vzrostla velikost hlavního main.swf souboru a dosáhlo by se nepřehlednosti. Soubory kapitol (např. command.swf z kapitoly Návrhové vzory chování) mají na rozdíl od hlavního souboru více oblastí. Jejich počet závisí na počtu podkapitol. Každá tato oblast má svou komponentu TextArea, která má svůj jedinečný název a do které se mohou nerušeně načítat externí data. Tímto je možné zasáhnout do jednotlivých oblastí bez ovlivnění těch druhých.
11 7 Po úvodní krátké animaci (což jsou grafiky nebo MovieClipy rozpohybované pomocí změn souřadnic, kterým může být přidána animovaná vlastnost jas, alpha, barva ) se objeví úvodní obrazovka: Tento zdrojový kód načítá úvodní obrazovku: //autoload hlavniho loaderu this.mainloader_ldr.autoload = false;
12 8 //nacteni uvodni obrazovky _root.mainloader_ldr.contentpath = "main/hello.swf"; _root.mainloader_ldr.load(); Vpravo nahoře je dynamické textové pole, ve kterém se vám objeví nadpis hlavní kapitoly, ve které se zrovna pohybujete O aplikaci, Oom nebo Návrhové vzory. Text do tohoto textového pole se načítá následovně (v našem případě se na posledním řádku načte text NÁVRHOVÉ VZORY): mainname = new Array(); mainname[0] = "O APLIKACI"; mainname[1] = "OBJEKTOVĚ ORIENTOVANÉ METODY"; mainname[2] = "NÁVRHOVÉ VZORY"; main.text = mainname[2]; Nad tímto textovým polem je aktuální čas, který umožňuje mít přehled nad dobou strávenou při studiu. V prvním okénku animace se načte aktuální čas: cas = new Date(); this.dat_txt.text = cas.getdate() + ". " + (cas.getmonth() + 1) + ". " + cas.getfullyear() + ", " + cas.gethours() + ":" + cas.getminutes() + ":" + cas.getseconds(); A pomocí druhého okénka animace se znovu a znovu aktuální čas obnovuje: gotoandplay(1); Při načítání externích souborů, vyjma těch textových a obrázků, se vedle datumu pokud zrovna načítáte nějakou z hlavních kapitol, objeví LOADING.... Toto oznámení je zde uvedeno z důvodů pomalého načítání některých větších externích swf souborů. Indikuje, že komponenta Loader načítá obsah, i když se na obrazovce zrovna nic neobjevilo po stisku některého z tlačítek. Je to instance textové pole s názvem loading_txt, které má programově nastaveno naslouchání událostí, jež se dějí v komponentě Loader. Následující zdrojový text ukazuje příklad naslouchání: //informace o loadovani (text loading...) loadlistener = new Object(); loadlistener.progress = function() { _root.loading_txt._visible = true; ; loadlistener.complete = function(eventobj) { _root.loading_txt._visible = false; ; //nove naslouchani udalosti pri dokonceni loadovani _root.mainloader_ldr.addeventlistener("complete", loadlistener); Je vytvořen nový objekt, kterému jsou přiřazeny nové funkce pro naslouchání během načítání (progress) a pro naslouchání na konci načtení (complete). Tyto jsou pak přiřazeny konkrétnímu Leaderu, jenž tyto funkce použije. Světle šedé pole je zde umístěna flash komponenta Loader umožňuje načítat externí flashový obsah nebo obrázky. V našem případě načítá jednotlivé kapitoly. Výhodou je možnost dynamického načítání dat. Není nutné, aby se všechna data načetla do paměti, dokud si to uživatel nevyžádá (výhoda pro umístění na webovou síť).
13 9 Pro všechna načítání je použit podobný zdrojový kód, který je uveden níže. Liší se pouze názvem načítaného souboru a názvy instancí (zvýrazněno kurzívou), které načítání odstartují: this.fieldabout_mc.obsah_mc.obsah_btn.onrelease = function() { _root.mainloader_ldr.addeventlistener("progress", loadlistener); _root.mainloader_ldr.addeventlistener("complete", loadlistener); ; mainloader_ldr.contentpath = "info/obsah.swf"; mainloader_ldr.load(); Opět se zde využívá naslouchání událostí pro informaci o načítání (obě funkce pro naslouchání událostí Loaderu jsou uvedené výše). Vlevo nahoře jsou tři hlavní tlačítka O aplikaci, Oom, Návrhové vzory. Po jejich stisku se nic nenačítá. Pouze po najetí myši se rozbalí příslušné podnabídky. Tyto podnabídky jsou instance MovieClip s vlastní časovou osou. Pro lepší orientaci v pohybu jsou určité části časové osy pojmenovány (slidedown, slideup apod.). Částí řešení komunikace mezi jednotlivými podnabídkami jsou cykly, které kontrolují stavy jednotlivých instancí MovieClip. up = "slideup"; down = "slidedown"; //hlavni nabidka About this.about_btn.onrollover = function() { if (aboutmenu == 0) { fieldabout_mc.gotoandplay(down); aboutmenu = 1; if (oommenu == 1) { fieldoom_mc.gotoandplay(up); oommenu = 0; if (patmenu == 1) { fieldpattern_mc.gotoandplay(up); patmenu = 0; ;
14 10 Pro komunikaci instancí klipu MovieClip se navíc využívá neviditelné tlačítko. Pomocí neviditelného tlačítka je řešeno rozbalování a sbalování podmenu. Neviditelné proto, že obsahuje nějakou grafiku pouze ve stavu Hit (tlačítka ve flashi mají tyto stavy: Up počáteční, Down myš klikne, Over, myš přes něj přejede, Hit aktivní oblast tlačítka pro kliknutí), takže je mu dána pouze oblast aktivity. V actionscriptu se uvede, že po nájezdu myši na toto neviditelné tlačítko se dá vědět výsuvným menu a ta se uvedou do stavu vysunutého nebo zasunutého. Výpis funkčnosti neviditelného tlačítka z hlavního main.swf souboru je následující: //promenne pro ovladani tlacitek var aboutmenu:number = 0; var oommenu:number = 0; var patmenu:number = 0; var behfield:number = 0; var crefield:number = 0; var strfield:number = 0; //obsluha neviditelneho tlacitka invfield_btn this.invfield_btn.onrollover = function() { if (aboutmenu == 1) { fieldabout_mc.gotoandplay(up); aboutmenu = 0; if (oommenu == 1) { fieldoom_mc.gotoandplay(up); oommenu = 0;
15 11 ; if (patmenu == 1) { fieldpattern_mc.gotoandplay(up); patmenu = 0; if (behfield == 1) { chapterbehavioral_mc.gotoandplay(left); behfield = 0; if (crefield == 1) { chaptercreational_mc.gotoandplay(left); crefield = 0; if (strfield == 1) { chapterstructural_mc.gotoandplay(left); strfield = 0; Neviditelné tlačítko má jednu nevýhodu. Protože jsem TextArea podkapitol řešil tak, aby bylo možné označit text a kopírovat jej do schránky, může se stát, že některé výsuvné menu zůstane viset ve vzduchu. Tento stav setrvá dokud se myší nenajede nad neviditelné tlačítko. Je to ta modrozelená oblast přibližně po obvodu aplikace na následujícím obrázku. Návrhové vzory mají navíc ještě svoje podnabídky podle tří hlavních rozdělení návrhových vzorů. Jejich pohyb je řešen podobně jako u hlavní nabídky s tím rozdílem, že nyní se pohybují doleva nebo doprava a navíc jsou maskována jinou vrstvou, aby byla vidět až ve vhodnou chvíli:
16 12 left = "slideleft"; right = "slideright"; this.fieldpattern_mc.behavioral_mc.behavioral_btn.onrollover = function() { if (behfield == 0) { _root.chapterbehavioral_mc.gotoandplay(right); behfield = 1; if (crefield == 1) { _root.chaptercreational_mc.gotoandplay(left); crefield = 0; if (strfield == 1) { _root.chapterstructural_mc.gotoandplay(left); strfield = 0; ; Z úvodní obrazovky se můžete vzápětí přesunout do nabídky obsahu. Stejná možnost je přes tlačítka O aplikaci Obsah. Z obsahu se můžete dostat do jakékoliv kapitoly, do které se můžete dostat přes tlačítkovou nabídku. Tato aktivita je opět řešena neviditelnými tlačítky (v aplikaci nejdou vidět). Nyní však ale odkazují na externí soubory, které se načtou do hlavního Loaderu: //ovladani obsahu o aplikaci
17 13 this.obpouziti_btn.onrelease = function() { _root.mainloader_ldr.contentpath = "info/about.swf"; _root.mainloader_ldr.load(); ; a podobně Poslední zmínku ze souboru main.swf jsem si ponechal na údaje o mě jako autorovi. K nim se lze dostat po stisknutí tlačítka O AUTOROVI. Je to MovieClip, který obsahuje příslušné tlačítko s animací a textové pole s údaji o autorovi, které se vysune nebo zasune po stisknutí tlačítka. Text je maskován, aby nedošlo k jeho zviditelnění, kdy si to nepřejeme. Kontakt je aktivní text. Po kliknutí se otevře váš ový klient, který vám umožní napsat autorovi.
18 14 Pro ovládání tlačítka a textového pole, tedy celého MovieClipu slouží následující zdrojový kód: //tlacitko o autorovi this.oautorovi_mc.oautorovi_btn.onrelease = function() { if (_root.oautorovi_mc._currentframe == 1) { _root.oautorovi_mc.gotoandplay(up); else if (_root.oautorovi_mc._currentframe == 8) { _root.oautorovi_mc.gotoandplay(down); ; Po stisknutí tlačítka se kontroluje, na kterém snímku se instance MovieClipu nachází a podle toho jej tlačítko ovládá nahoru nebo dolů. Nevyužívá se neviditelné tlačítko. Proto je nutné pro zasunutí opětovné kliknutí. Funkčnost jednotlivých kapitol si ukážeme na kapitole Flyweight ze strukturálních návrhových vzorů.
19 15 První obrazovkou je hlavní nadpis. Vpravo nahoře jsou šipky pro postupný pohyb mezi jednotlivými podkapitolami. Obsahují jednouchý kód přičítající nebo odečítající aktuální snímek z časové osy: on (release) { gotoandplay(_currentframe - 10); Počet podkapitol lze snadno uhádnout podle počtu kulatých tlačítek, které jsou navíc pro jednoduchost orientace očíslovány. Jejich animace fungují na základě čtyř zmíněných stavů pro tlačítka. Po nájezdu na ně, se objeví další možnost přesunu mezi jednotlivými podkapitolami. Tyto vysouvající se tlačítka jsou maskována a lze je vidět pouze po rozbalení. Jejich funkčnost a komunikace mezi nimi je řešena podobně jako funkčnost hlavní nabídky, tedy pomocí neviditelného tlačítka, které je kolem tohoto menu. Nad oblastí kulatých tlačítek je místo pro název kapitoly a její podkapitoly. Je to dynamické textové pole, do kterého se načítá text z pole hodnot: //pole nazvu kapitol chapternumber = new Array(); chapternumber[0] = "1. "; chapternumber[1] = "2. "; chapternumber[2] = "3. "; chapternumber[3] = "4. "; chapternumber[4] = "5. "; chapternumber[5] = "6. "; chapternumber[6] = "7. ";
20 16 chapternumber[7] = "8. "; chaptername = new Array(); chaptername[0] = ": účel"; chaptername[1] = ": motivace"; chaptername[2] = ": použití vzoru"; chaptername[3] = ": popis struktury"; chaptername[4] = ": důsledky použití vzoru"; chaptername[5] = ": implementace"; chaptername[6] = ": příklad"; chaptername[7] = ": vzory v praxi"; patternname = "Flyweight"; Tyto hodnoty se pak v dynamickém textovém poli objevují podle skriptu: chapter.text = chapternumber[0] + patternname + chaptername[0]; Největší oblast je věnována komponentě TextArea, do které se dynamicky načítají textové html soubory. Každá tato komponenta má v dané podkapitole svůj jedinečný název, podle kterého se na ně odkazu v actionscriptu. Pro úpravu ve flashi je dobré vědět, že pro každý soubor existuje knihovna. Tato knihovna obsahuje všechny použité grafiky, movie klipy, buttony či komponenty, které jsou v daném souboru využity. Knihovnu jsem uspořádal podle druhu komponenty a pak podle toho, čemu náleží, jestli pozadí, tlačítkům :
21 17 OBJEKTOVĚ ORIENTOVANÉ METODY Úvod do problematiky Základní pojmy Co je to objektově orientovaná metoda Vlastní definici objektově orientované metody předřadíme zavedení následujících základních pojmů vztažených a definovaných v kontextu softwarového inženýrství: 1. metoda je promyšlený postup vývoje softwarového systému 2. architektura je organizovaná struktura a s ní spjaté chování systému 3. objekt je entita s jasně definovanou hranicí a identitou zahrnující její chování a stavy 4. objektově orientovaná architektura systému je tedy struktura propojených objektů, které prostřednictvím vzájemné komunikace (interakce) definují výsledné chování celého systému Z výše uvedeného tedy vyplývá, že objektově orientovaná metoda je promyšlený způsob vývoje softwarového systému postaveného na objektově orientované architektuře. Metoda reprezentuje ideální postup, který jednotlivé firmy přizpůsobují podle svých konkrétních podmínek do podoby svého tzv. softwarového procesu, tedy podnikového procesu používaného k realizaci jednotlivých softwarových projektů. Vztah metody a softwarového procesu tak lze nejlépe dokumentovat na analogii s laboratorním vývojem (metoda) a průmyslovou výrobou (softwarový proces) nějakého produktu. Co je účelem použití objektově orientované metody Účelem objektově orientovaných metod je dát softwarovým inženýrům k dispozici dobře definovaný popis cesty jak vyvíjet softwarové systémy objektově orientované architektury, a zajistit tak maximální kvalitu vytváření všech softwarových artefaktů spjatých s tímto vývojem. Softwarový produkt není dán pouze výsledným kódem, ale je tvořen celou řadou dokumentů popisujících specifikace požadavků, modely analýzy a návrhu, stejně jako popis fyzické architektury systému a způsob jeho rozmístění u zákazníka. Metody mohou být neformální, bez přesně definované syntaxe a sémantiky, nebo naopak formální, kdy je syntaxe a sémantika přesně daná. Náročnost zvládnutí metody stoupá s mírou formalizace dané metody. Čistě formální metoda nutně musí vycházet z matematicky definovaných formulí a bývá pro běžnou praxi díky své náročnosti hůře použitelná. Kompromisem jsou metody semiformální, které sice nejsou postaveny na jazyce matematiky, ale využívají přesně daného specifikačního jazyka (obvykle grafického), který je kompromisem přijatelným pro širokou obec softwarových inženýrů. Historie vývoje objektově orientovaných metod Historie vývoje objektově orientovaných je stejně stará jako vývoj jazyků používaných pro objektově orientované programování. Tyto metody vznikaly z důvodů zajištění metodiky efektivního použití těchto jazyků. Od druhé poloviny 80. let se tak objevila celá řada metod, které doznaly svého uplatnění v praxi. Ty nejvýznačnější, které se staly základem jazyka UML (Unified Modeling Language) jsou metoda OMT (Objekt Modeling Technique), Boochova metoda a OOSE (Object- Oriented Software Engineering). V dnešní době je standardem pro výše uvedené účely vývoje jazyk UML, který navazuje na historicky úspěšné metody z první poloviny devadesátých let a jehož řízená specifikace je garantována skupinou OMG (Object Management Group). Oficiální dokumentace specifikace jednotlivých verzí
22 18 jazyka UML jsou k dipozici na webových stránkách OMG na adrese Rational unified process (životní cyklus vývoje softwarového díla) Iterace, fáze a cykly vývoje softwarového díla Tento proces definuje při vývoji softwaru otázky kdo, co, kdy a jak. V současném období, kdy se předmětem vývoje staly softwarové systémy vysoké úrovně sofistikace, je nemožné nejprve specifikovat celé zadání, následně navrhnout jeho řešení, vytvořit softwarový produkt implementující toto zadání, vše otestovat a předat zadavateli k užívání. Jediným možným řešením takového problému je přístup postavený na postupném upřesňování cílového produktu cestou jeho inkrementálního rozšiřovaní z původní hrubé formy do výsledné podoby. Softwarový systém je tak vyvíjen ve verzích, které lze průběžně ověřovat se zadavatelem a případně je pozměnit pro následující cyklus. Samotný životní cyklus vývoje softwarového díla je rozložen do čtyř základních fází (zahájení, rozpracování, tvorba a předání), přičemž pro každou z nich je typická realizace několika iterací umožňujících postupné detailnější rozpracování produktu. Každý cyklus vede k vytvoření takové verze systému, kterou lze předat uživatelům, a která implementuje jimi specifikované požadavky. Iterace je pak úplná vývojová smyčka vedoucí k vytvoření spustitelné verze systému reprezentující podmnožinu vyvíjeného cílového produktu. Tento je postupně rozšiřován každou iterací až do výsledné podoby. V rámci každé iterace proběhnou činnosti vázané na byznys modelování, následují specifikace požadavků, analýza a návrh, implementace, testování a nasazení (instalace). K tomu probíhá celá řada podpůrných činností týkajících se správy konfigurací, řízení projektu a přípravy prostředí, ve kterém je systém vyvíjen a nasazen. Popis procesů a jimi vytvářených modelů Z výše uvedeného tedy vyplývá, že vývoj softwarového systému je dán celou řadou v iteracích prováděných činností uspořádaných do následujících procesů charakteristických dle účelu svého použití: 1. byznys modelování popisuje strukturu a dynamiku podniku či organizace 2. specifikace požadavků definuje funkcionalitu softwarového systému cestou specifikace tzv. případů použití 3. analýza a návrh se zaměřuje na specifikaci architektury softwarového produktu 4. implementace reprezentuje vlastní tvorbu softwaru, testování komponent a jejich integraci 5. testování se zaměřuje na činnosti spjaté s ověřením správnosti řešení softwaru v celé jeho složitosti
23 19 6. nasazení se zabývá problematikou konfigurace výsledného produktu na cílové počítačové infrastruktuře Unifikovaný proces vývoje aplikací pro OOM Požadavky Požadavky a jejich specifikace Většina prací spojená s definicí a specifikací požadavků je vykonána ve fázích začátku RUP. Následující metamodel ukazuje, že existují dva způsoby zachycení požadavků: - funkční a nefunkční požadavky - případy užití a účastníci Detail pracovního postupu tvorby požadavků v metodice RUP obsahuje následující aktivity, které nás jako objektově orientované analytiky budou zajímat: - vyhledání účastníků a případu užití - detaily případu užití - struktura modelu případů užití Standardní pracovní postup tvorby požadavků je rozšířeno tímto způsobem: - účastník: tvůrce požadavků - aktivita: vyhledání funkčních požadavků - aktivita: vyhledání nefunkčních požadavků - aktivita: stanovení priorit jednotlivých požadavků - aktivita: sledování požadavků až k případům užití Význam požadavků je dalekosáhlý. Přibližně 25% projektů končí nezdarem v důsledku problémů, které vznikly v procesu inženýrství požadavků. Existují dva typy požadavků: 1. funkční požadavky, které popisují požadovanou službu systému
24 20 2. nefunkční požadavky, které definují vlastnosti systému a omezení, za nichž musí systém pracovat Správně formulované požadavky by měly být vyjádřeny jednoduchým strukturovaným jazykem s použitím klíčového slova bude, aby je bylo možné v nástrojích pro podporu inženýrství požadavků snadno zpracovat. Např. <id><system>bude<funkce> (jedinečný identifikátor-název systému-klíčové slovo-funkce). Specifikace systémových požadavků obsahuje funkční i nefunkční požadavky na vznikající systém. Specifikace může mít podobu dokumentu nebo databáze v nástroji pro správu požadavků. To, že máme mapu systému neznamená ještě, že máme systém samotný. Naše volba v nepřeberném množství informací musí projít následujícími stavy: - odstraněním (odfiltrování informací) - deformací (což jsou pozměněné informace) - zobecněním (pravidla, víra, zásady, které byly vytvořeny o pravdě a nepravdě) Univerzální kvantifikátory (např. všichni, někteří, nikdo) mohou naznačovat hranice omezenosti vidění daného systému. Je třeba prověřit všechny možnosti. Modelování případů užití Modelování případů užití je součástí pracovního procesu Požadavky. Klíčovými aktivitami modelování případů užití jsou nalezení účastníků a případů užití a detail případů užití. Účastník specifikuje roli, kterou určitá externí entita přijímá v okamžiku, kdy začíná daný systém bezprostředně používat. Může vyjadřovat roli uživatele, roli dalšího systému, který se dotýká hranic našeho systému. Modelování případů užití je další formou inženýrství požadavků. Tuto aktivitu lze rozdělit na následující etapy: - nalezení hranic systému - nalezení účastníků - nalezení případů užití Účastníci jsou takové role přidělené vnějším entitám, které přímo komunikují se systémem. K označení účastníka napomůže, jestliže si uvědomíme, kdo nebo co používá systém, či s ním bezprostředně komunikuje. Účastníkem může být často i abstraktní pojem, např. čas. Případy užití jsou funkce, které systém vykonává jménem jednotlivých účastníků nebo v jejich prospěch. V nalezení případů užití nám může pomoci, když si uvědomíme, jak jednotliví účastníci komunikují se systémem. Diagramy případů užití znázorňují následující: - hranice systému - účastníky - případy užití
1. 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í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í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í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í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í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í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íceObjektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová
Objektově orientované technologie Business proces Diagram aktivit Daniela Szturcová Osnova Bysnys proces pojmy metody, specifikace pomocí diagramů Modelování pomocí aktivitního diagramu prvky diagramu
Více7.6 Další diagramy UML
7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI
Více7.6 Další diagramy UML
7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI
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íceObjektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová
Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová Osnova Modelování interakcí mezi objekty modelování zpráv (mapování zpráv na operace), vytváření a
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í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í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í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í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íceObsah. Zpracoval:
Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč
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 Webový server, instalace PHP a MySQL 13
Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
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í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íceUML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007
UML úvod Kapitola má seznámit se základy modelovacího jazyka UML. Klíčové pojmy: UML, CASE nástroje, procesní modelování, případy užití, role, diagram tříd, diagram objektů, sekvenční diagramy, digram
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í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íce10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření 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 příkazům balíčkům, grafickému
VíceOOT Objektově orientované technologie
OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include a extend) Shrnutí
VíceOOT Objektově orientované technologie
OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová, Pavel Děrgel Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include
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íce2. 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í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íceAnalýza. Pracovní postup Analýza
Otázka 4 - Analýza - hledání analytických tříd, hledání atributů a stavů, analýza chování a odpovídající diagramy v UML. (A7B36SIN) Analýza Pracovní postup Analýza Analýza v metodice UP zahrnuje architektonickou
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í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í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ícePožadavky Modelování případů užití
Požadavky Modelování případů užití Požadavky část 2 Clear View Training 2005 v2.2 1 4.2 Modelování případů užití Modelování případů užití je jednou z forem inženýrství požadavků Modelování případů užití
VíceANOTACE vytvořených/inovovaných materiálů
ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a
VíceDiagram sekvencí (sequence diagram)
Diagramy sekvencí 1 Diagram sekvencí (sequence diagram) Zobrazuje, jak objekty spolupracují Na rozdíl od stavového diagramu zachycují komunikaci více objektů Popisuje zprávy mezi objekty jaké zprávy, komu
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.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íceObjektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová
Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová Osnova K čemu slouží diagram komponent obsah komponent závislosti rozhraní
VíceTento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky 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 rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
VícePlatforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13
Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace
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íceZobrazování bannerů podporují pouze nově vytvořené šablony motivů vzhledu.
Bannerový systém ProEshop od verze 1.13 umožňuje zobrazování bannerů na popředí e-shopu. Bannerový systém je přístupný v administraci e-shopu v nabídce Vzhled, texty Bannerový systém v případě, že aktivní
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í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í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ícePascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 21. Otázka : Softwarový process. Jeho definice, modely a vyspělostní úrovně. Standardizovaný přístup pomocí RUP (Rational Unified Process). Obsah :
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í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íceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
VíceAlgoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
VíceUNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií
UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií Softwarový nástroj pro tvorbu a správu genealogických dat Manuál pro uživatele Bc. František Hlaváček Součást
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ícePV167 Projekt z obj. návrhu IS. 26. března 2008
Analytický model tříd - 1. část PV167 Projekt z obj. návrhu IS B. Zimmerová 26. března 2008 PV167 Projekt z obj. návrhu IS Analytický model tříd - 1. část 26. března 2008 1 / 8 Diagram tříd - opakování
Více1. Webový server, instalace PHP a MySQL 13
Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
Více1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018
ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 Informační technologie 1 - Doporučená doba zpracování: 40 minut 1) Termín DCL v relačně databázové technologii
VíceAnalýza Realizace případů užití
Analýza Realizace případů užití Analýza část 9 Clear View Training 2005 v2.2 1 12.2 Analýza případu užití Obchodní model [nebo doménový model] Inženýr případů užití Analytická třída Model požadavků Analyse
VíceZdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.
Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace
VíceMBI - technologická realizace modelu
MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,
VíceZákladní úlohy: vytvoření dokumentu...13
3 KAPITOLA 1 Základní úlohy: vytvoření dokumentu....................13 Přehled uživatelského rozhraní.......................................15 Změna pozadí a velikosti plochy scény.................................17
VíceZpravodaj. Uživatelská příručka. Verze
Zpravodaj Uživatelská příručka Verze 02.01.02 1. Úvod... 3 2. Jak číst tuto příručku... 4 3. Funkčnost... 5 3.1. Seznam zpráv... 5 4. Ovládání programu... 6 4.1. Hlavní okno serveru... 6 4.2. Seznam zpráv...
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íceReliance 3 design OBSAH
Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních
VíceBridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
Více4 ARCHITEKTURA PODNIKOVÝCH PROCESŮ S ARISEM
41 4 ARCHITEKTURA PODNIKOVÝCH PROCESŮ S ARISEM V této kapitole vysvětlíme potřebu strukturované architektury podnikových procesů, a seznámíme se s běžnými typy modelů, používaných v ARISu k reprezentaci
VíceZadání maturitní práce ve školním roce 2016/2017
Zadání maturitní práce ve školním roce 2016/2017 vydané podle 15 odst. 1 vyhlášky č. 177/2009 Sb., o bližších podmínkách ukončování vzdělávání ve středních školách maturitní zkouškou, ve znění pozdějších
VíceBALISTICKÝ MĚŘICÍ SYSTÉM
BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD
VíceObsah SLEDOVÁNÍ PRÁCE... 4
Co je nového Obsah SLEDOVÁNÍ PRÁCE...... 4 Konfigurace souboru... 5 Globální konfigurace... 6 Soubory... 6 Projekty... 6 Uživatelské rozhraní... 7 Synchronizace... 7 Typ serveru... 8 Test připojení...
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ícePokročilé typové úlohy a scénáře 2006 UOMO 71
Pokročilé typové úlohy a scénáře 2006 UOMO 71 Osnova Interní model typové úlohy Vazby include a extend Provázanost typových úloh na firemní procesy a objekty Nejčastější chyby 2006 UOMO 72 Interní model
VíceObjektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová
Objektově orientované technologie Logická struktura systému Objektový diagram Pavel Děrgel, Daniela Szturcová Osnova Modelování objektů objektový diagram Struktura a vazby mezi objekty Dobré zvyky při
Více7.2 Model použití (jednání) (Use Case)
7.2 Model použití (jednání) (Use Case) - při analýze požadavků často popis typických interakcí uživatele, nedokumentované Jacobson model použití (1992) Scénář Posloupnost kroků popisujících interakci mezi
VíceObjektová tvorba SW, Analýza požadavků 2006 UOMO 53
Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Osnova Základní principy tvorby SW Fáze tvorby SW v předmětu UOMO Analýza požadavků Modelování typových úloh 2006 UOMO 54 Tvorba SW Dříve umění vyvolených
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íce6 Příkazy řízení toku
6 Příkazy řízení toku 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 příkazům pro řízení toku programu. Pro všechny tyto základní
VíceMožnosti tisku v MarushkaDesignu
0 Možnosti tisku v MarushkaDesignu OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGNU...5-1 - 1 Cíl příkladu V tomto příkladu si ukážeme
Více1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services
13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -
VíceUŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0
UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 OBSAH 1 ÚVOD... 3 1.1 HOME STRÁNKA... 3 1.2 INFORMACE O GENEROVANÉ STRÁNCE... 4 2 VYHLEDÁVÁNÍ V ÚZEMÍ...
VíceZákladní popis Toolboxu MPSV nástroje
Základní popis Toolboxu MPSV nástroje Nástroj XLS2DBF ze sady MPSV nástroje slouží pro zkonvertování souboru ve formátu XLS do formátu DBF. Nástroj umožňuje konvertovat buď vybraný list nebo listy ze sešitu
VíceMODERNÍ WEB SNADNO A RYCHLE
SNADNO A RYCHLE Marek Lučný Pavoučí síť přes celý svět Co prohlížeče (ne)skrývají Tajemný kód HTML Všechno má svůj styl Interaktivní je IN Na obrazovce i na mobilu Začni podle šablony Informace jsou základ
VíceROZDÍL MEZI VZTAHEM EXTEND A INCLUDE V USE CASE DIAGRAMECH
ROZDÍL MEZI VZTAHEM EXTEND A INCLUDE V USE CASE DIAGRAMECH 3. část RNDr. Ilja Kraval, srpen 2009 http://www.objects.cz ÚVOD Tento článek je pokračováním předešlých článků. Článek vysvětluje použití vztahu
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Více1 Uživatelská dokumentace
1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod
VíceArchiv elektronických dokumentů Zela
Archiv elektronických dokumentů Zela Instalace po rozbalení servisního balíčku 38 se automaticky spustí instalační program, který nainstaluje potřebné moduly pro provoz archivu dokumentů. Tyto moduly je
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íceNastavení provozního prostředí webového prohlížeče pro aplikaci
Nastavení provozního prostředí webového prohlížeče pro aplikaci IS o ISVS - Informační systém o informačních systémech veřejné správy verze 2.03.00 pro uživatele vypracovala společnost ASD Software, s.r.o.
VícePro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.
1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky
VícePodklad pro tvorbu ilayer typu
1 Podklad pro tvorbu ilayer typu poslední úprava 11.2011 Obsah Ilayer v SWF jednosouborové a dvousouborové 1 Kódování ilayeru 2 Kódy v dvousouborovém layeru 3 1. STARTER SWF SOUBOR 3 2. LAYER SWF SOUBOR
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VícePožadavky Pokročilé modelování případů užití
Požadavky Pokročilé modelování případů užití Požadavky - Část 3 Clear View Training 2005 v2.2 1 5.1 Více relací Budeme se věnovat některým pokročilým aspektům modelování případů užití a popíšeme všechny
VíceBusiness Process Modeling Notation
Business Process Modeling Notation Stephen A. White, IBM Corporation Procesní řízení 1 Co to je BPMN? Standard Business Process Modeling Notation (BPMN) byl vyvinutý skupinou Business Process Management
VíceVývoj informačních systémů. Přehled témat a úkolů
Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze
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íceČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy
ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow
VícePowerPoint 2010 Kurz 4
PowerPoint 2010 Kurz 4 Animace... 1 Texty vkládání, formátování... 3 Grafy vkládání, formátování... 5 Grafické objekty... 6 Přechody mezi snímky... 7 CZ.1.07/2.2.00/28.0221 Animace Animace jsou umístěny
VíceProfilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
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íce