PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Návrhové vzory Dan Doležel
|
|
- Viktor Zeman
- před 8 lety
- Počet zobrazení:
Transkript
1 PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Návrhové vzory 2013 Dan Doležel
2 Anotace Návrhové vzory jsou doporučené postupy pro řešení často se vyskytujících úloh. V úvodu jsou shrnuté pojmy související s problematikou návrhových vzorů a jejich stručný popis. Dále v textu následuje rozdělení návrhových vzorů do skupin a podrobný popis vybraných zástupců z každé skupiny. Součásti práce je aplikace, která umožňuje editovat UML diagram tříd s využitím návrhových vzorů. Hotový diagram je možné exportovat do zdrojových kódů jazyka C++. Klíčová slova: Návrhový vzor, UML diagram, třída.
3 Poděkování: Děkuji vedoucímu bakalářské práce RNDr. Arnoštu Večerkovi za cenné rady, věcné připomínky a vstřícnost při konzultacích a vypracování bakalářské práce.
4 Obsah 1. Úvod 7 2. Návrhové vzory Definice pojmů Stručná historie návrhových vzorů Použití návrhových vzorů v praxi Vybrané návrhové vzory Návrhové vzory vytváření Abstraktní továrna (Abstract Factory) Stavitel (Builder) Tovární metoda (Factory method) Další návrhové vzory vytváření Strukturální návrhové vzory Adaptér (Adapter) Most (Bridge) Dekorátor (Decorator) Další strukturální návrhové vzory Návrhové vzory chování Řetěz odpovědnosti (Chain of Responsibility) Příkaz (Command) Iterátor (Iterator) Další návrhové vzory chování Editor UML Analýza Struktura kódu Základní framework aplikace Prvky UML diagramu Uživatelské rozhraní Závěr 25 Reference 26 A. Uživatelská dokumentace k UML editoru 27 A.1. Hlavní okno programu A.2. Položky hlavního menu A.3. Editace diagramu
5 B. Možnosti rozšíření aplikace UML editoru 30 B.1. Rozšíření stávající aplikace B.2. Návrh nové aplikace C. Obsah přiloženého CD 31 5
6 Seznam obrázků 1. UML diagram: Abstraktní továrna UML diagram: Stavitel UML diagram: Tovární metoda UML diagram: Prototyp UML diagram: Jedináček UML diagram: Adaptér UML diagram: Most UML diagram: Dekorátor UML diagram: Strom UML diagram: Muší váha UML diagram: Zástupce UML diagram: Řetěz odpovědnosti UML diagram: Příkaz UML diagram: Iterátor UML diagram: Interpret UML diagram: Prostředník UML diagram: Třídy aplikace pro práci s UML diagramem Hlavní okno aplikace
7 1. Úvod V bakalářské práci se budu zabývat problematikou návrhových vzorů. Návrhové vzory (anglicky design patterns) jsou doporučené postupy pro řešení často se vyskytujících úloh. V softwarovém inženýrství jsou využívány pro zefektivnění návrhu počítačových programů a zjednodušení jejich implementace. Jejích použití při návrhu aplikací umožňují editory pro návrh tříd a vazeb mezi nimi. Vznik pojmu návrhových vzorů se původně pojí s oblasti architektury v polovině dvacátého století. Do oblasti výpočetní techniky tento termín proniká v devadesátých letech dvacátého století spolu s větším rozšířením objektově orientovaného přístupu k programování. Jednotlivé návrhové vzory jsou dnes v podobě katalogů návrhových vzorů nedílnou součásti při návrhu programů. V teoretické části se zaměřím na existující návrhové vzory, jejich rozdělení, výhody použití a z každé skupiny detailně popíši několik zástupců. Při studiu dané problematiky jsem čerpal informace převážně ze zdrojů uvedených v sekci reference. Součástí bakalářské práce je vytvoření aplikace, která umožní navrhnout třídy a vazby mezi nimi s pomocí návrhových vzorů vytváření, strukturálních návrhových vzorů a návrhových vzorů chování. Z vytvořeného návrhu bude možné vyexportovat třídy do zdrojového kódu ve zvoleném programovacím jazyce podporujícího objektově orientované programování. 7
8 2. Návrhové vzory 2.1. Definice pojmů Návrhové vzory (anglicky design patterns) jsou doporučené postupy pro řešení často se vyskytujících úloh. V softwarovém inženýrství jsou využívány při návrhu počítačových programů. Návrhový vzor není knihovnou nebo částí zdrojového kódu, která by se přímo vkládala do vytvářených zdrojových kódů nebo se s nimi kompilovala. Jedná se o popis řešení problému, který může být aplikován na konkrétní situaci. V objektově orientovaném programování se používají objektově orientované návrhové vzory. Ty definují vztahy a interakce mezi třídami a objekty bez toho, aby určovaly konkrétní implementaci tříd. Tato práce se věnuje právě objektově orientovaným návrhovým vzorům. Pro zápis objektově orientovaných návrhových vzorů se nejčastěji používá UML diagramy. Ty umožňují na dostatečně obecné úrovni definovat třídy a vztahy mezi nimi. Jazyk UML (z anglického Unified Modeling Language) se skládá z grafických prvků, které je možné v souladu s pravidly jazyka vzájemně kombinovat do diagramů. Jazyk UML definuje 13 diagramů. Pro potřeby této práce bude využíván pouze diagram tříd Stručná historie návrhových vzorů Vznik pojmu návrhový vzor se datuje do šedesátých let dvacátého století, kdy se tento termín poprvé objevuje v architektuře. V oblasti výpočetní techniky se o návrhových vzorech začína mluvit na konferenci OOPSLA v roce 1987 v Orlandu. Základním kamenem pro použití návrhových vzorů se stala kniha Design Patterns: Elements of Reusable Object-Oriented Software od autorů Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides [1]. Poprvé byla vydána v roce 1995 a dodnes je považována za pomyslnou bibli návrhových vzorů. Čtveřice autorů se stala známá jako GoF (Gang of Four - banda čtyř) a tato zkratka se často vyskytuje i v odborných textech Použití návrhových vzorů v praxi Sbírky návrhových vzorů jsou označovány jako katalogy návrhových vzorů. Nejznámější z nich je GoF [1]. V praxi se vyskytují jako součásti programovacích jazyků (například šablony v knihovně STL jazyka C++), které je možné přímo využívat při psaní kódu. Další možnosti jsou šablony v UML editorech, které se využívají při návrhů diagramů tříd. 8
9 Použití návrhových vzorů podstatně zrychluje a zlevňuje vývoj aplikací. Mezi hlavní výhody, které přináší, patří: Zrychlení vývoje - není potřeba znovu vymýšlet něco, co už funguje. Menší chybovost - navrhované postupy jsou ověřeny praxi. Rozšiřitelnost - návrhové vzory počítají s možností rozšíření do budoucna. Nebude potřeba přepisovat tolik kódu. Psaní méně kódu - vazby mezi třídami je možné vyexportovat z UML diagramu do zdrojových kódů. Některé programovací jazyky nabízejí šablony, které je možné přímo použít. Standardizace postupů - lepší čitelnost zdrojových kódů ostatními členy týmu. 9
10 3. Vybrané návrhové vzory Návrhové vzory je možné rozdělit do skupin podle použití. Kniha GoF [1] definuje 23 návrhových vzorů rozdělených do tří skupin: návrhové vzory vytváření, strukturální návrhové vzory a návrhové vzory chování. Tyto vzory jsou považovány za obecně použitelné, proto se v následujícím textu tohoto rozdělení budu držet. Kromě výše zmíněného je rozšířeno a využívá se velké množství dalších návrhových vzorů. Tyto vzory jsou ale často úzce specializované pro specifické oblasti programování. Jako příklad uvedu skupinu návrhových vzorů, které řeší problematiku souběžně běžících úloh (concurrency patterns). Ve zbytku kapitoly je uvedeno několik zástupců pro každou skupinu návrhových vzorů. Při psaní tohoto přehledu jsem vycházel z GoF [1], Návrhové vzory [3] a informaci na internetu [4]. Veškeré UML diagramy, nebude-li uvedeno jinak, jsem vytvořil v UML editoru, který je součástí této bakalářské práce Návrhové vzory vytváření Tato skupina návrhových vzorů řeší problémy související s vytvářením objektů. Snahou těchto návrhových vzorů je popsat postup výběru třídy nového objektu a zajištění správného počtu jeho instancí. Většinou se to řeší dynamickým rozhodováním za běhu programu Abstraktní továrna (Abstract Factory) Tento návrhový vzor poskytuje možnost obalit skupinu individuálních konkrétních továren tykajících se společného tématu. Obvyklé použití vzoru spočívá ve vytvoření konkrétní implementace abstraktní továrny, která je odpovědná za výrobu potřebných objektů. Klient se nestará o to, které konkrétní objekty vyrábí která konkrétní továrna, protože používá jednotné rozhraní abstraktní továrny. Vzor odděluje detaily implementace skupiny objektů od jejich obecného používání. Příslušný UML diagram je znázorněn na obrázku 1. 10
11 Obrázek 1. UML diagram: Abstraktní továrna. Význam jednotlivých tříd v diagramu: AbstractFactory: deklaruje rozhraní pro operace vytváření abstraktních produktů. ConcreteFactory: implementuje operace pro vytváření konkrétních instancí produktů. ProductX, ProductY : deklaruje rozhraní pro jednotlivé typy produktů. ProductX1, ProductX2 : definuje objekty produktů zděděných z abstraktní třídy ProduktX. ProductY1, ProductY2 : definuje objekty produktů zděděných z abstraktní třídy ProduktY Stavitel (Builder) Stavitel slouží k abstrahování tvorby složitých objektů. Je navržen tak, aby stejné výrobní schéma mohlo být použito pro tvorbu různých objektů. Způsob konstrukce těchto objektů je tedy stejný, jednotlivé kroky se však liší. Často se 11
12 používá společně s návrhovým vzorem Kompozit (Composite), konkrétně vytvářené objekty mohou být typu kompozit, dle zmíněného vzoru. Příslušný UML diagram je znázorněn na obrázku 2. Obrázek 2. UML diagram: Stavitel. Význam jednotlivých tříd v diagramu: Director: je třída, která řídí proces vytváření objektů. Instance třídy Director získává od klienta informaci, který Builder má použít. Tím je i definováno, který produkt bude vyráběn. Director řídí vytvoření produktu voláním metod pro vytvoření jednotlivých částí z rozhraní Builder. Po vytvoření požadované části výsledného produktu je tato do něho začleněna. Director je odstíněn od způsobu, jakým se vytvářejí konkrétní části a jak se skládají. Určuje ovšem, kdy se mají části vyrobit, a tím řídí proces vytváření produktů. Builder: je abstraktní rozhraní pro tvorbu objektů typu Product. Metoda BuildPart() slouží k vytvoření konkrétní části objektu, o její volání se stará Director. ConcreteBuilder: je implementace rozhraní Builder schopná vytvářet další objekty. Vytváří a sestavuje součásti pro tvorbu složitých objektů. Metoda GetResult() slouží k předání výsledného produktu a volá ji zpravidla klient, který konstrukci objektu vyvolal. Product: reprezentuje produkt po jeho celkovém sestavení. ConcreteBuilder vytváří interní reprezentaci produktu a definuje procesy jeho vytváření Tovární metoda (Factory method) Jako tovární metoda se označuje metoda, která vytváří a vrací novou instanci požadovaného objektu. Typ objektu a popřípadě i jeho počáteční vlastnosti jsou dané předanými parametry tovární metodě. Příslušný UML diagram je znázorněn na obrázku 3. 12
13 Obrázek 3. UML diagram: Tovární metoda. Význam jednotlivých tříd v diagramu: Product: definuje rozhraní objektů, které vytváří tovární metoda. ConcreteProduct: implementuje rozhraní bázové třídy Product pro konkrétní typy objektů. Creator: deklaruje tovární metodu FactoryMethod(), která vrací objekt zděděný z bázové třídy Product. Může také definovat výchozí implementaci tovární metody, která vrací výchozí typ ConcreteProduct. ConcreteCreator: přetěžuje tovární metodu FactoryMethod() a vrací odpovídající instanci ConcreteProduct Další návrhové vzory vytváření Další návrhové vzory vytváření podle GoF [1] budou popsány pouze ve stručnosti. Jsou to: Obrázek 4. UML diagram: Prototyp. 13
14 Prototyp (Prototype) : Používá se v případech, když je vytváření třídy časově náročné. V případě požadavku na vytváření mnoha instanci dané třídy je výhodnější vytvořit pouze jednu a ostatní z ní naklonovat. Při klonování jde většinou o mělkou kopii (kopírují se pouze reference a ne celé objekty). Příslušný UML diagram je znázorněn na obrázku 4. Jedináček (Singleton) : zabezpečuje, že v celém programu bude existovat pouze jediná instance dané třídy. Zároveň také k této třídě poskytuje globální přístup. Jako příklad využití můžeme uvést schránku v systému Windows. Příslušný UML diagram je znázorněn na obrázku 5. Obrázek 5. UML diagram: Jedináček Strukturální návrhové vzory Strukturální návrhové vzory se zaměřují na možnosti uspořádání jednotlivých tříd nebo komponent v systému. Snahou je zpřehlednit systém a využít možnosti strukturalizace kódu Adaptér (Adapter) Tento návrhový vzor se využije tam, kde je potřeba z nějakého důvodu změnit rozhraní třídy. Mezi ní a jejího uživatele vložíme třídu adaptéru, která bude zabezpečovat konverzi rozhraní třídy na požadované rozhraní. Typické využití je při použití hotového kódu s nekompatibilním rozhraním. V jazyce Java jsou adaptéry použité pro obalení primitivních datových typů. Často jsou označované jako wrapper. Příslušný UML diagram je znázorněn na obrázku 6. Význam jednotlivých tříd v diagramu: Target: třída obsahující požadované rozhraní. Adapter: třída adaptéru, která převádí specifické rozhraní třídy Adaptee na požadované třídou Target. Adaptee: definuje stávající rozhraní, který je potřeba přizpůsobit Client: využívá objekty s použitím rozhraní třídy Target. 14
15 Obrázek 6. UML diagram: Adaptér Most (Bridge) Tento návrhový vzor odděluje abstrakci od implementace, takže obě lze měnit nezávisle na sobě. Klient komunikuje přes rozhraní abstrakce, která zprostředkovává funkcionalitu implementace. Tento přístup je výhodný například při vytváření programů běžících na různých systémech. Program využívá rozhraní abstrakce, zatímco implementace se liší na každé platformě. Příslušný UML diagram je znázorněn na obrázku 7. Obrázek 7. UML diagram: Most. 15
16 Význam jednotlivých tříd v diagramu: Abstraction: definuje abstraktní rozhraní a udržuje referenci na objekt typu Implementor. RefinedAbstraction: rozšiřuje rozhraní definované třídou Abstraction. Implementor: definuje rozhraní implementačních tříd. Toto rozhraní nemusí přesně odpovídat rozhraní třídy Abstraction. Velmi často toto rozhraní obsahují základní operace a rozhraní třídy Abstraction na jejich základě definuje složitější operace. ConcreteImplementor: implementuje rozhraní třídy Implementor pro konkrétní implementaci Dekorátor (Decorator) Tento návrhový vzor umožňuje přidat další přídavnou funkcionalitu k objektu tak, že objekt zabalí do jiného objektu, který má na starosti pouze tuto přidanou funkcionalitu. Zbytek požadavků je delegován dále na zabalený objekt. Dekorátor poskytuje flexibilní alternativu k dědění a umožňuje přidávat funkčnost dynamicky. Příslušný UML diagram je znázorněn na obrázku 8. Obrázek 8. UML diagram: Dekorátor. Význam jednotlivých tříd v diagramu: Component: definuje rozhraní pro objekt, který může svou funkcionalitu rozšiřovat dynamicky. 16
17 ConcreteComponent: definuje objekt, ke kterému může být přidána rozšiřující funkcionalita. Decorator: udržuje referenci na objekt Component a definuje rozhraní, které vyhovuje třídě Component. ConcreteDecorator: přidává funkcionalitu pro třídu Component Další strukturální návrhové vzory Další strukturální návrhové vzory podle GoF [1] budou popsány pouze ve stručnosti. Jsou to: Obrázek 9. UML diagram: Strom. Strom (Composite) : umožňuje uspořádat jednoduché a z nich složené objekty (kompozitní) tak, aby k oběma typům objektů bylo možné přistupovat jednotným způsobem. Příslušný UML diagram je znázorněn na obrázku 9. Fasáda (Facade) : vytváří jednotné rozhraní k množině rozhraní v subsystému. Tím definuje jednotné rozhraní vyšší úrovně, které usnadňuje používáni subsystému. Muší váha (Flyweight) : Pomocí sdílení umožňuje podporu velkého množství malých objektů. Příslušný UML diagram je znázorněn na obrázku 10. Zástupce (Proxy) : odstiňuje uživatele od objektu, který zastupuje. Díky tomu dokáže řídit přístup uživatelů k danému objektu. Příslušný UML diagram je znázorněn na obrázku
18 Obrázek 10. UML diagram: Muší váha. Obrázek 11. UML diagram: Zástupce Návrhové vzory chování Tato skupina návrhových vzorů se stará o chování systému. Mohou být založeny na třídách nebo objektech. U tříd využívají při návrhu řešení především principu dědičnosti. V druhém přístupu je řešena spolupráce mezi objekty a skupinami objektů, která zajišťuje dosažení požadovaného výsledku Řetěz odpovědnosti (Chain of Responsibility) Umožňuje, aby požadavek zpracoval jiný objekt než ten, kterému byl zaslán. Předpokládá se, že objekty budou zřetězeny tak, aby objekt, který není schopen zpracovat požadavek, ho mohl předat dalšímu objektu. Příslušný UML diagram je znázorněn na obrázku
19 Obrázek 12. UML diagram: Řetěz odpovědnosti. Význam jednotlivých tříd v diagramu: Handler: implementuje rozhraní pro ošetření požadavků. ConcreteHandler: zpracovává konkrétní požadavek. Client: zadává požadavek do řetězu Příkaz (Command) Umožňuje zabalit metodu do objektu a dále s ní pracovat jako s běžným objektem. Tento přístup dovoluje dynamickou výměnu používaných metod za běhu programu a přizpůsobení programu potřebám uživatele. Příslušný UML diagram je znázorněn na obrázku 13. Obrázek 13. UML diagram: Příkaz. 19
20 Význam jednotlivých tříd v diagramu: Command : deklaruje rozhraní pro volání operací. ConcreteCommand: implementuje příslušnou operací. Client: vytváří instanci třídy ConcreteCommand a nastavuje ji třídě Receiver. Receiver: spouští příslušnou operací třídy ConcreteCommand pro zpracování požadaveku Iterátor (Iterator) Skrývá před klientem vnitřní implementaci uložení dat v kontejneru a poskytuje sekvenční přístup k těmto datům. Vnitřní implementace bývá často nelineární (například stromová struktura). Příslušný UML diagram je znázorněn na obrázku 14. Obrázek 14. UML diagram: Iterátor. Význam jednotlivých tříd v diagramu: Iterator: definuje rozhraní pro přístup k elementům. ConcreteIterator: implementuje rozhraní třídy Iterator. Udržuje potřebné informace procházení kontejneru. Aggregate: definuje rozhraní pro vytváření objektů iterátorů. ConcreteAggregate: vytváří odpovídající iterátor pro třídu ConcreteIterator. 20
21 Další návrhové vzory chování Další návrhové vzory chování podle GoF [1] budou popsány pouze ve stručnosti. Jsou to: Obrázek 15. UML diagram: Interpret. Interpret (Interpreter): Definuje reprezentaci gramatických pravidel jazyka pomocí tříd. Zároveň definuje interpret tohoto jazyka za pomocí metod instancí takto navrhnutých tříd. Příslušný UML diagram je znázorněn na obrázku 15. Prostředník (Mediator): Umožňuje odstranit vazby navzájem komunikujících objektů tím, že mezi komunikující objekty vloží objekt prostředníka. Tím zruší přímou závislost mezi původními objekty a dovolí je upravovat nezávisle na sobě. Příslušný UML diagram je znázorněn na obrázku 16. Pamětník (Memento): Uchovává stav objektů bez narušení jejich zapouzdření. To umožňuje pozdější návrat objektů do dříve uloženého stavu. Pozorovatel (Observer): Zavádí vztah mezi objekty pozorovatelů a pozorovaných. Pokud pozorovaný objekt změní svůj stav, jsou na to upozorněni všichni pozorovatelé daného objektu. Stav (State): umožňuje objektu měnit své chování při změně vnitřního stavu. Objekt se pak tváří, jako by měnil svoji třídu. Strategie (Strategy): definuje množinu objektů reprezentujících algoritmy řešící zadanou úlohu (objekty mají stejné rozhraní) a umožní se mezi nimi dynamicky přepínat. 21
22 Šablonová metoda (Template method): definuje kostru algoritmu, z něhož některé části deleguje na své podtřídy. Tím je zaručeno, že ne všechny kroky algoritmu musí být známy při vzniku šablony. Návštěvník (Visitor): definuje nové operace pro skupinu tříd, aniž by bylo nutno měnit kód těchto tříd. Obrázek 16. UML diagram: Prostředník. 22
23 4. Editor UML Mezi vytyčené cíle patří tvorba editoru UML diagramů s podporou návrhových vzorů představených v předchozí kapitole. Tato část se věnuje implementačním detailům. Informace o jazyku UML jsem čerpal převážně z The unified modeling language reference manual od autorů James Rumbaugh, Ivar Jacobson, and Grady Booch[2] Analýza Jazyk UML definuje 13 typů diagramů. Pro potřeby této práce postačuje diagram tříd. Případné rozšíření programu o další typy UML diagramu bude nastíněno v příloze B - Možnosti rozšíření aplikace UML editoru. Protože v zadání nejsou specifikované implementační požadavky, zvolil jsem za operační systém Microsoft Windows XP nebo novější verzi. Aplikace bude napsána v jazyce C++ a tento jazyk bude také použit pro export navržených diagramů do zdrojových kódů Struktura kódu Zdrojové kódy jsou rozděleny do tří sekcí (základní Framework aplikace, prvky UML diagramu a uživatelské rozhraní). Pokud mezi jednotlivými sekcemi existuje závislost, je vždy jednostranná. V případě potřeby oboustranné komunikace je použit komunikační interface, který odděluje implementace. Toto řešení je zvoleno pro snadnější možnost výměny jednotlivých částí Základní framework aplikace Tato část je odpovědna za inicializaci a deinicializaci aplikace a o pravidelné updatovaní potřebných částí Prvky UML diagramu Pro modelování tříd a vazeb mezi nimi je potřeba implementovat prvky diagramu tříd podle definice UML diagramu. Pro jednoduchou práci s objekty diagramu mají všechny společnou bázovou třídu C ItemBase, která definuje rozhraní pro práci s nimi (vytvoření, smazání, editace, ukládání, načítání a export). Třída C Diagram uchovává všechny entity v editovaném diagramu. Tyto vztahy znázorňuje obrázek
24 Obrázek 17. UML diagram: Třídy aplikace pro práci s UML diagramem Uživatelské rozhraní Tato část je odpovědná za zobrazení grafiky hry a za komunikaci s uživatelem. Je založena na Windows API. Pro práci s dialogy je definována bázová třída C BaseDialog, která zastřešuje komunikaci dialogů se systémem. 24
25 Závěr V teoretické části jsem se zaměřil především na návrhové vzory definované v katalogu [1], který je obecně považovaný za základní seznam. Obsahuje 23 návrhových vzorů rozdělených do tří skupin. Z každé skupiny jsem vybral a podrobně popsal několik zástupců. Mnohé z nich řeší obsáhlé problémy a je z nich patrné, že jejich znalost a použití při návrhu aplikací podstatným způsobem zefektivní proces návrhu. Mezi výhody použití návrhových vzorů patří zrychlení vývoje, menší chybovost a budoucí rozšiřitelnost. Z historie návrhových vzorů je patrné, že s rozšířením objektově orientovaného přístupu k programování získalo jejich využití při návrhu aplikací na důležitosti. V praktické části bakalářské práce jsem vytvořil aplikaci, která umožňuje definovat třídy a vazby mezi nimi. K tomu využívá připravené šablony s návrhovými vzory popsanými v teoretické části. Takto vytvořené diagramy je možné ukládat a načítat, vytvářet nové šablony návrhových vzorů a exportovat diagramy do zdrojového kódu jazyka C++. Tato aplikace je schopna editovat v souladu se standardy jazyka UML pouze diagram tříd. Z popsaných návrhových vzorů je v kódech aplikace nejčastěji používán iterátor. Největší část vývoje aplikace mi zabralo uživatelské rozhraní. Pro implementaci této části by byl vhodnější jazyk C#, který v této oblasti poskytuje lepší nástroje. Vzhledem k tomu, že i zbytek aplikace není výpočetně náročný, nebyl by problém použít jazyk C# pro tvorbu celé aplikace. Další možnosti rozšíření aplikace jsou popsány v příloze 2 - Možnosti rozšíření aplikace UML editoru. 25
26 Reference [1] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, ISBN: [2] James Rumbaugh, Ivar Jacobson, and Grady Booch. The unified modeling language reference manual. Addison-Wesley, ISBN: [3] Rudolf Pecinovský. Návrhové vzory. Computer Press a.s., ISBN [4] Dofactory. Design patterns. Elektronický dokument. 26
27 A. Uživatelská dokumentace k UML editoru A.1. Hlavní okno programu Hlavní okno programu zobrazuje diagram a pomocí akcí myši nebo nabídky menu umožňuje jeho editaci. Hlavní okno znázorňuje obrázek 18. A.2. Skládá se z následujících části: Lišta hlavního menu. Lišta nástrojů. Obrázek 18. Hlavní okno aplikace. Hlavní část okna zobrazuje editovaný diagram. Posuvníky vpravo a dole slouží pro posun pracovní plochy. Položky hlavního menu Veškerá funkcionalita aplikace je dostupbná z hlavního menu. Položky jsou rozdělěny do tří podmenu a mají následující význam: 27
28 Podmenu Soubor Nový - smaže diagram a začne editaci nového Otevřít - načte dříve uložený diagram Uložit - uloží editovaný diagram Uložit jako... - uloží editovaný diagram do zadaného souboru Konec - ukončí program Podmenu Diagram Vložit třídu - vloží do diagramu novou třídu Vložit poznámku - vloží do diagramu novou poznámku Vložit vazbu mezi třídami - vloží do diagramu novou vazbu mezi dvěma právě označeními třídami. Pokud nebudou označeny dvě třídy, upozorní na to dialogem. Vložit návrhový vzor - vloží do diagramu předem uložený návrhový vzor Editovat označenou položku - spustí dialog s nastavením vlastnosti příslušný k označené položce Smazat označené položky - smaže položky, které jsou označené Exportovat do C++ - spustí dialog s výběrem lokace pro uložení a exportuje editovaný diagram do příslušných zdrojových kód Podmenu Nápověda Zobrazit nápovědu - zobrazí nápovědu pro ovládání programu O aplikaci - about dialog A.3. Editace diagramu Kliknutím levého tlačítka myši se označí objekt pod kurzorem. Pokud tam žádný není, selekce se vynuluje. Pokud při kliku levým, tlačítkem myši bude stištěná zároveň i klávesa Ctrl, selekce se bude přepínat označen/neoznačen. 28
29 Kliknutím levého tlačítka myši nad objektem a pohybem myši dojde k posunu objektu na ploše. Pokud je označených více objektů, budou se přesouvat všechny. Přesun nefunguje na vazby mezi třídami, jejich pozice se počítá z pozic tříd, které spojuje. Dvojklikem levého tlačítka myši se spustí dialog s editací vlastnosti objektu pod kurzorem. Označené objekty jsou červeně orámovány. Všechny nově vytvářené objekty (třídy, poznámky i celé návrhové vzory) se umístí v levém horním rohu, odkud je možné je podle potřeby přesunout. Při vyplňování vlastnosti objektů bude uživatel upozorněn dialogem na nevalidní data. 29
30 B. Možnosti rozšíření aplikace UML editoru B.1. Rozšíření stávající aplikace B.2. undo/redo copy/paste tisk diagramu export diagramu do grafického formátu speciální dialog pro výběr návrhového vzoru: měl by se zobrazovat náhled lepší podpora práce s myší: selekce výběrem oblasti, posun pracovní plochy i tažením kurzoru myši bez označeného objektu, více podporovat akci drag&drop zoom u vazeb mezi třídami přidat možnost editovat tvar čáry Návrh nové aplikace Aplikaci bych navrhl jako modulární stavebnici. Základem by byl program, který by pouze definoval rozhraní pro moduly a bázové třídy (například pro objekty diagramu). Veškerá funkcionalita by se nacházela v modulech, které by byly obsaženy v DLL souborech. Tím by byla zajištěna budoucí rozšiřitelnost bez nutnosti měnit program. Uživatelské rozhraní by mohlo být také součásti modulů, což by umožňovalo jeho výměnu. Kromě změn popsaných v sekci B.1. by nebyl problém rozšířit program o: nové typy UML diagramů nové uživatelské rozhraní (například pro integraci do MS Visual Studia) export diagramu do dalších programovacích jazyků Vzhledem k tomu, že samotný program bez modulů by byl k ničemu, základní moduly dodávané s programem by byly označeny jako systémové a jejich přítomnost by byla vyžadována. 30
31 C. Obsah přiloženého CD bin/ doc/ src/ Obsahuje spustitelný soubor UML Editor.exe. Program nevyžaduje instalaci. V podadresářích se nachází soubory s nápovědou a předdefinovanými návrhovými vzory. Dokumentace práce ve formátu PDF, vytvořená dle závazného stylu KI PřF pro diplomové práce, včetně všech příloh, a všechny soubory nutné pro bezproblémové vygenerování PDF souboru dokumentace (v ZIP archivu), tj. zdrojový text dokumentace, vložené obrázky, apod. Kompletní zdrojové texty programu UML Editor se všemi potřebnými (převzatými) zdrojovými texty, knihovnami a dalšími soubory pro bezproblémové vytvoření spustitelných verzí programu. readme.txt Instrukce pro instalaci a spuštění programu UML Editor, včetně požadavků pro jeho provoz. U veškerých odjinud převzatých materiálů obsažených na CD/DVD jejich zahrnutí dovolují podmínky pro jejich šíření nebo přiložený souhlas držitele copyrightu. Pro materiály, u kterých toto není splněno, je uveden jejich zdroj (webová adresa) v textu dokumentace práce nebo v souboru readme.txt. 31
Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.
Jakub Klemsa Jan Legerský Objektově orientované programování klemsjak@fjfi.cvut.cz jan.legersky@gmail.com 30. října 2012 návrhový vzor (design pattern) obecné řešení problému, které se využívá při návrhu
VíceSemin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2009 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 25
Seminář Java Návrhové vzory Radek Kočí Fakulta informačních technologií VUT Duben 2009 Radek Kočí Seminář Java Návrhové vzory 1/ 25 Znovupoužitelnost Dědičnost implementace třídy pomocí jiné (již existující)
VíceSemin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2008 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 24
Seminář Java Návrhové vzory Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Návrhové vzory 1/ 24 Znovupoužitelnost Dědičnost implementace třídy pomocí jiné (již existující)
VíceČÁST 1. Zahřívací kolo. Co je a k čemu je návrhový vzor 33
Stručný obsah Část 1: Zahřívací kolo Kapitola 1 Co je a k čemu je návrhový vzor 33 Kapitola 2 Zásady objektově orientovaného programování 39 Kapitola 3 Co konstruktor neumí (Jednoduchá tovární metoda Simple
VíceVývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
VíceNávrhové vzory OMO, LS 2014/2015
Návrhové vzory OMO, LS 2014/2015 Motivace Cílem objektového návrhu je strukturu aplikace navrhnout tak, aby splňovala následující kritéria: snadná rozšiřitelnost účelnost testovatelnost dokumentovatelnost
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ícePostupy práce se šablonami IS MPP
Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul
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í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í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íceAPS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6
APS mini.ed programová nadstavba pro základní vyhodnocení docházky Příručka uživatele verze 2.2.0.6 APS mini.ed Příručka uživatele Obsah Obsah... 2 Instalace a konfigurace programu... 3 Popis programu...
VíceÚvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5
Rejstřík Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Úvod Správcovská aplikace slouží k vytvoření vstupního a zašifrovaného souboru pro odečtovou
VícePrincipy OOP při tvorbě aplikací v JEE. Michal Čejchan
Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích
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íceUživatelský manuál aplikace. Dental MAXweb
Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné
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í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íce43 HTML šablony. Záložka Šablony v systému
43 HTML šablony Modul HTML šablony slouží ke správě šablon pro výstupy z informačního systému modularis ve formátu HTML. Modul umožňuje k šablonám doplňovat patičku, dokumentaci a vázat šablony na konkrétní
VíceSignEditor 1 - návod k použití
SignEditor 1 - návod k použití Tomáš Ryba tryba@kky.zcu.cz Zdeněk Krňoul zdkrnoul@kky.zcu.cz Jakub Kanis jkanis@kky.zcu.cz 27. března 2012 1 Vznik za podpory projektu Pojabr - Potlačení jazykové bariéry
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í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í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íceKonvertor diakritiky 3. Instalace
OBSAH Popis... 2 Ovládání aplikace... 3 Odstranění diakritických znamének... 4 Operace s textem... 4 Nastavení aplikace... 4 Písmo... 4 Jazyk... 4 Přidání dalšího jazyka do aplikace... 5 Znaky... 5 Instalace
VíceERP informační systém
Vážení zákazníci, připravili jsem pro vás nový modul Zakázka, který Vám přináší nový vzhled a nové možnosti. Pro snadnější přechod na novou verzi zůstává ve WAK INTRA souběžně i stávající modul zakázek.
VíceÚvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5
Rejstřík Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Úvod Správcovská aplikace slouží k vytvoření vstupního a zašifrovaného souboru pro odečtovou
VíceHelpdesk Liberecké IS
tel: +420 485 243 031 e-mail: lis@lis.liberec.cz IČO: 254 0131 Liberecká IS, a.s., Mrštíkova 3, 461 71 Liberec 3 DIČ: CZ25450131 Helpdesk Liberecké IS Dokumentace zákazník d.help Josef Fröhlich Liberecká
VícePro správné zobrazení mapové aplikace je potřeba mít nainstalovaný zásuvný modul Flash Adobe Player.
Návod na ovládání veřejné mapové aplikace: Generel cyklodopravy Pro správné zobrazení mapové aplikace je potřeba mít nainstalovaný zásuvný modul Flash Adobe Player. Logo, název Panel nástrojů Odkazy Vrstvy
VíceCUZAK. Uživatelská příručka. Verze 2.0 2015
CUZAK Uživatelská příručka Verze 2.0 2015 Copyright 2015 Altair CUZAK s.r.o. Všechna práva vyhrazena. Všechna práva vyhrazena. Všechna informace, jež jsou publikována na v tomto dokumentu, jsou chráněna
VíceKRY. Projekt č. 2. Kamil Dudka xdudka00
KRY Projekt č. 2 Kamil Dudka xdudka00 1 Úvod Úkolem bylo vytvořit program, který do určeného obrázku umí schovat text a tento text z obrázku později vytáhnout. Schovaný text měl být zabezpečený pomocí
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 Znalosti Schopnosti Cvičení
VíceMS Word. verze Přehled programů pro úpravu textu
MS Word verze 2013 Přehled programů pro úpravu textu Pro úpravu textu slouží textový editor Jednoduché (zdarma, součást operačního systému MS Windows): Poznámkový blok, WordPad Komplexní: MS Word, Writer
VíceRozvodnice design verze 3.1
Rozvodnice design verze 3.1 (rozvodnice Opale, Pragma a Kaedra) Leden 2007 1 Úvod Program Rozvodnice design je určen pro rychlý návrh a specifikaci rozvodnic MiniOpale, MiniPragma, Pragma a Kaedra Popis
VíceSpráva souborů soubor, stromová struktura. Mgr. Jan Veverka Střední odborná škola sociální obor ošetřovatel
Správa souborů soubor, stromová struktura Mgr. Jan Veverka Střední odborná škola sociální obor ošetřovatel Soubor pojmenovaná uspořádaná skupina dat uložená na nějakém datovém médiu (související data uložená
VíceTvorba kurzu v LMS Moodle
Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce
VíceTIA Selection Tool manuál pro použití
TIA Selection Tool manuál pro použití Verze 1 duben 2012 Obsah: Postup rychlé konfigurace a exportu stanice Detailní popis aplikace Siemens s. r. Protection o. 2012. Všechna notice / práva Copyright vyhrazena.
VíceTechnologické postupy práce s aktovkou IS MPP
Technologické postupy práce s aktovkou IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Technologické postupy práce
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íceOdpadové hospodářství v ORP Ústí nad Labem
mapová aplikace Odpadové hospodářství Návod na ovládání veřejné mapové aplikace: Odpadové hospodářství v ORP Ústí nad Labem Pro správné zobrazení mapové aplikace je potřeba mít nainstalovaný zásuvný modul
VíceTento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1.
Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro editaci ŽS Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento dokument
Více2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
VíceREMARK. Perfektně popsaný záznam. Uživatelský manuál
REMARK Perfektně popsaný záznam Uživatelský manuál áudified AUDIFIED REMARK Uživatelský Manuál 2 Obsah Úvod 3 Prostředí programu 3 Nastavení programu 4 Karta Audio 4 Karta Export a přenos 5 Karta Obecné
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íceVersiondog 3.1.0 Lukáš Rejfek, Pantek (CS) s.r.o. 7/2014
Versiondog 3.1.0 Lukáš Rejfek, Pantek (CS) s.r.o. 7/2014 Strana 2 Versiondog 3.1.0 Nová verze systému Versiondog 3.1.0 přináší oproti předchozí verzi 3.0.3 celou řadu nových funkčností. Zásadní změnou
VíceBc. Martin Majer, AiP Beroun s.r.o.
REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam
VíceCUZAK. Uživatelská příručka. Verze 2.0 2014
CUZAK Uživatelská příručka Verze 2.0 2014 Copyright 2014 Altair Software s.r.o. Všechna práva vyhrazena. Všechna práva vyhrazena. Všechna informace, jež jsou publikována na v tomto dokumentu, jsou chráněna
VícePDF Split and Merge. Průvodce programem pro práci s PDF
PDF Split and Merge Průvodce programem pro práci s PDF Obsah Instalace a nastavení programu... 1 Sloučení více PDF do jednoho souboru... 1 Rozdělení PDF... 2 Vizuální reorganizátor... 3 Vizuální průvodce
VíceOSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA BAKALÁŘSKÁ PRÁCE 2002 SEDLÁK MARIAN - 1 - OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA KATEDRA INFORMATIKY A POČÍTAČŮ Vizualizace principů výpočtu konečného
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íceNávrhové vzory. n OO jazyky - široká paleta technických prostředků. n Návrhový vzor. n rozhraní!! n volnější vazby, parametrizace
Návrhové vzory Návrhové vzory n OO jazyky - široká paleta technických prostředků q dědičnost, polymorfismus, šablony, reference, přetěžování,... q problém - jak toto všechno efektivně používat q cíl -
VíceDesign Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz
Design Patterns Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz Základní návrhové vzory Kategorie Creational Patterns starají se o vytváření instancí Structural Patterns struktura komponent v
VíceC. 3. Vytvoření metodiky práce s implementovaným IS včetně jeho naplnění daty relevantních procesů a způsobů jejich vyhodnocování
Název příjemce podpory: MĚSTO VESELÍ NAD MORAVOU tř. Masarykova 119 698 13 Veselí nad Moravou IMPLEMENTACE PROCESNÍHO ŘÍZENÍ V OBLASTI SAMOSTATNÉ PŮSOBNOSTI MĚSTA VESELÍ NAD MORAVOU C. 3. Vytvoření metodiky
VíceÚvod. Program ZK EANPRINT. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu
sq Program ZK EANPRINT verze 1.20 Uživatelská dokumentace programu Úvod Základní vlastnosti programu Jednoduchost ovládání - umožňuje obsluhu i málo zkušeným uživatelům bez nutnosti většího zaškolování.
VíceVývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
VíceTypy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu
StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již
VíceDIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce.
DIPL 2 Stručný manuál pro vysokoškolské kvalifikační práce. Obsah STUDENTI VYTVOŘENÍ VOLNÉHO TÉMATU VŠKP VÝBĚR TÉMATU VŠKP Z VOLNÝCH TÉMAT KONTROLA ZADÁNÍ TÉMATU FORMÁLNÍ ÚPRAVA VYPLNĚNÍ ÚDAJŮ ELEKTRONICKÉ
VícePopis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.
Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.
VícePředměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013
Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521
VíceKAPITOLA 3 - ZPRACOVÁNÍ TEXTU
KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KLÍČOVÉ POJMY textové editory formát textu tabulka grafické objekty odrážky a číslování odstavec CÍLE KAPITOLY Pracovat s textovými dokumenty a ukládat je v souborech různého
VíceAC FORM FILLER. aplikace pro podání žádosti o poskytnutí finančního příspěvku. Verze 1.0
aplikace pro podání žádosti o poskytnutí finančního příspěvku Verze 1.0 2013 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento dokument obsahuje informace důvěrného charakteru a informace v něm obsažené
VíceAPS Administrator.GS
APS Administrator.GS Grafická nadstavba pro vizualizaci systémů APS (rozšiřující programový modul pro APS Administrator) Instalační a uživatelská příručka 2004 2015,TECH FASS s.r.o., www.techfass.cz, techfass@techfass.cz
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íceKRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro
Manuál Uživatele aplikace informačního systému pro zjišťování údajů a vypracování Přehledu o předběžném odhadu nákladů na obnovu majetku sloužícího k zabezpečení základních funkcí v území Karlovarského
VíceLiteratura. E. Gamma, R. Helm, R. Johnson, J. Vlissides The Gang of Four (GoF) Design Patterns Elements of Reusable Object-Oriented Software 1995
Návrhové vzory Literatura E. Gamma, R. Helm, R. Johnson, J. Vlissides The Gang of Four (GoF) Design Patterns Elements of Reusable Object-Oriented Software 1995 Grada 2003: Návrh programů podle vzorů J.
VíceArchitektura softwarových systémů
Architektura softwarových systémů Definice, Strukturní a Procesní doporučení Ing. Tomáš Černý, MSCS Pojem softwarové architektury (SA) Obvyklé způsoby vysvětlování pojmu SA komponenty a vazby celková struktura
Více45 Plánovací kalendář
45 Plánovací kalendář Modul Správa majetku slouží ke tvorbě obecných ročních plánů činností organizace. V rámci plánu je třeba definovat oblasti činností, tj. oblasti, ve kterých je možné plánovat. Každá
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ícePrůvodce aplikací FS Karta
Průvodce aplikací FS Karta Základní informace k Aplikaci Online aplikace FS Karta slouží k bezpečnému ukládání osobních údajů fyzických osob a k jejich zpracování. Osobní údaje jsou uloženy ve formě karty.
VíceWR Reality. Web Revolution. Uživatelský manuál administračního rozhraní
WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality
VícePTERANODONSOFT.CZ. Manuál k programu Guldiner Light verze 2.2.
Manuál k programu Guldiner Light verze 2.2. e-mail: pteranodonsoft@seznam.cz web: www.pteranodonsoft.cz facebook: www.facebook.com/guldinerlight skupina: www.facebook.com/groups/guldinerlight Obsah: První
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 29. Otázka : Zpracování událostí: mechanismus událostí a jejich zpracování (Event/Listener), nepřímá invokace (Observer/Observable). Obsah : 1. Mechanisums
VíceManuál k aplikaci SDO PILOT v.0.2
Manuál k aplikaci SDO PILOT v.0.2 Základní informace o aplikaci Aplikace slouží pro zjednodušené vytváření dokumentů Souhrnů doporučených opatření pro Evropsky významné lokality. Vznikala přírustkovým
Více1. Dědičnost a polymorfismus
1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář
VícePřehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.
Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků
VíceJednoduchý návod k použití programu Vinotéka 2007, v 2.2.1
Jednoduchý návod k použití programu Vinotéka 2007, v 2.2.1 Demeter Jurista 2007 16.12.2007 Obsah Obsah... 2 Instalace programu... 3 Spuštění programu... 3 Popis hlavního panelu... 4 Menu... 4 Panel Vinotéka...
VíceCYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA
CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA Obsah Cyclope Print Management Software- uživatelská příručka... 1 1. Přehled produktu... 2 2. Stručný popis produtku CPMS... 2 2.1. Stažení CPMS...
VíceObsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS
Obsah Napojení...3 programu COSMED Omnia Nastavení...3 MEDICUS Přidání...3 externího programu COSMED Omnia Přidání...4 ikony do panelu nástrojů Nastavení...5 COSMED Omnia Postup...5 při vyšetření pacienta
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íceMETODICKÉ LISTY. výstup projektu Vzdělávací středisko pro další vzdělávání pedagogických pracovníků v Sokolově
METODICKÉ LISTY výstup projektu Vzdělávací středisko pro další vzdělávání pedagogických pracovníků v Sokolově reg. č. projektu: CZ.1.07/1.3.11/02.0005 Sada metodických listů: KABINET INFORMATIKY Název
Více02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox
02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů
VíceMST - sběr dat pomocí mobilních terminálů on-line/off-line
MST - sběr dat pomocí mobilních terminálů on-line/off-line Stručný přehled název: MST, software pro sběr dat mobilními terminály ve skladu (příjem, výdej, inventura) autor aplikace: FASK, spol. s r.o.,
VíceProstředí Microstationu a jeho nastavení. Nastavení výkresu
Prostředí Microstationu a jeho nastavení Nastavení výkresu 1 Pracovní plocha, panely nástrojů Seznámení s pracovním prostředím ovlivní pohodlí, rychlost, efektivitu a možná i kvalitu práce v programu Microstation.
VíceJAY Systém TELwork s.r.o. JAY Systém Klient. Uživatelská příručka ( ) JAYSystem Klient - Uživatelská příručka.docx Stránka: 1 / 15
JAY Systém Klient Uživatelská příručka (14.3.2016) JAYSystem Klient - Uživatelská příručka.docx Stránka: 1 / 15 Obsah Obsah... 2 První spuštění aplikace... 3 Vložení licenčního čísla... 4 Spuštění služby...
VíceWebmMenu slouží pro editaci a management položek menu. Pro další informace si prosím vyberte jedno z následujících témat:
uživatelské manuály WebMenu WebmMenu slouží pro editaci a management položek menu. Pro další informace si prosím vyberte jedno z následujících témat: Jak na to aneb snadné vytvoření menu Význam jednotlivých
VíceNový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.
Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,
VíceMS Excel 2010. Lekce 1. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU
MS Excel 2010 Lekce 1 Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory: 7.2.2
VícePráce v textovém editoru
Práce v textovém editoru 0) Otevřete NOTEPAD a okopírujte celý tento článek do NOTEPADu. [Můžete použít zkratky Ctrl-A (označit vše) Ctrl+C(kopírovat), Ctrl+V (vložit)] 1) Najděte v tomto textu slovo "myš"
VíceFormátování pomocí stylů
Styly a šablony Styly, šablony a témata Formátování dokumentu pomocí standardních nástrojů (přímé formátování) (Podokno úloh Zobrazit formátování): textu jsou přiřazeny parametry (font, velikost, barva,
VíceSTŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE
STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které
VícePodpora skriptování v Audacity
Specifikace softwarového díla & Časový plán implementace pro Podpora skriptování v Audacity Audacity je oblíběný editor zvuku, který ovšem v současné době postrádá možnost automatizovaného vykonávání skriptů.
VíceProjekt Kreslítko X36ASS
Projekt Kreslítko X36ASS Petr Diviš a Zdeněk Papež ČVUT FEL Praha, listopad 2010 divispe2@fel.cvut.cz, papezzde@fel.cvut.cz Abstrakt Tato zpráva popisuje návrh, vývoj a porovnání dvou softwarových architektur
VíceMANUÁL VÝPOČTOVÉHO SYSTÉMU W2E (WASTE-TO-ENERGY)
MANUÁL VÝPOČTOVÉHO SYSTÉMU W2E (WASTE-TO-ENERGY) 0 1. PRACOVNÍ PLOCHA Uspořádání a vzhled pracovní plochy, se kterým se uživatel během práce může setkat, zobrazuje obr. 1. Obr. 1: Uspořádání pracovní plochy
VíceExport tabulky výsledků
StatSoft Export tabulky výsledků Jelikož prezentace výsledků je důležitou součástí naší každodenní práce, ukážeme si tentokrát, jak exportovat tabulky výsledků nejen do MS Wordu. Také se může hodit vědět,
VíceSTATISTICA. Vlastní menu v programu. StatSoft
StatSoft Vlastní menu v programu STATISTICA Software STATISTICA je rozsáhlý modulární program, kde jednotlivé moduly nabízejí velkou řadu statistických metod, naši uživatelé obvykle využívají analýzy z
VíceAplikace BSMS. Uživatelská příručka - 1 -
Aplikace BSMS Uživatelská příručka - 1 - Obsah 1. O aplikaci BSMS... 3 2. Základní předpoklady pro používání BSMS... 3 3. Instalace aplikace... 3 3.1. Samotná instalace... 3 3.2. Možné problémy při instalaci...
Více