PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Návrhové vzory Dan Doležel

Rozměr: px
Začít zobrazení ze stránky:

Download "PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Návrhové vzory. 2013 Dan Doležel"

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í.

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íce

Semin 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 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íce

Semin 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 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

ČÁ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íce

Vý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 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íce

Návrhové vzory OMO, LS 2014/2015

Ná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íce

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. 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íce

Postupy práce se šablonami IS MPP

Postupy 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íce

Objektově 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á 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íce

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉ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íce

Reliance 3 design OBSAH

Reliance 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íce

APS 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 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

Ú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íce

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Principy 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 Č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íce

Uživatelský manuál aplikace. Dental MAXweb

Už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íce

Objektově 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á 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íce

Zpravodaj. Uživatelská příručka. Verze

Zpravodaj. 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íce

43 HTML šablony. Záložka Šablony v systému

43 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íce

SignEditor 1 - návod k použití

SignEditor 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íce

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Pro 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íce

Vyřešené teoretické otázky do OOP ( )

Vyř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íce

Konvertor diakritiky 3. Instalace

Konvertor 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íce

ERP informační systém

ERP 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

Ú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íce

Helpdesk Liberecké IS

Helpdesk 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íce

Pro správné zobrazení mapové aplikace je potřeba mít nainstalovaný zásuvný modul Flash Adobe Player.

Pro 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íce

CUZAK. Uživatelská příručka. Verze 2.0 2015

CUZAK. 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íce

KRY. Projekt č. 2. Kamil Dudka xdudka00

KRY. 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íce

Vý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ů 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íce

MS Word. verze Přehled programů pro úpravu textu

MS 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íce

Rozvodnice design verze 3.1

Rozvodnice 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íce

Sprá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 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íce

Tvorba kurzu v LMS Moodle

Tvorba 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íce

TIA Selection Tool manuál pro použití

TIA 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íce

Technologické postupy práce s aktovkou IS MPP

Technologické 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íce

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

UNIVERZITA 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íce

Odpadové hospodářství v ORP Ústí nad Labem

Odpadové 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íce

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.

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. 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íce

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 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íce

REMARK. Perfektně popsaný záznam. Uživatelský manuál

REMARK. 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íce

6 Objektově-orientovaný vývoj programového vybavení

6 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íce

Versiondog 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 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íce

Bc. Martin Majer, AiP Beroun s.r.o.

Bc. 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íce

CUZAK. Uživatelská příručka. Verze 2.0 2014

CUZAK. 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íce

PDF Split and Merge. Průvodce programem pro práci s PDF

PDF 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íce

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

OSTRAVSKÁ 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íce

MBI - technologická realizace modelu

MBI - 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íce

Ná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 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íce

Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz

Design 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íce

C. 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í

C. 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

Ú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íce

Vý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 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íce

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy 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íce

DIPL 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. 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íce

Popis 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í. 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íce

Př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 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íce

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU

KAPITOLA 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íce

AC FORM FILLER. aplikace pro podání žádosti o poskytnutí finančního příspěvku. Verze 1.0

AC 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íce

APS Administrator.GS

APS 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íce

Obsah. Zpracoval:

Obsah. 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íce

KRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro

KRAJSKÝ ÚŘ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íce

Literatura. E. Gamma, R. Helm, R. Johnson, J. Vlissides The Gang of Four (GoF) Design Patterns Elements of Reusable Object-Oriented Software 1995

Literatura. 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íce

Architektura softwarových systémů

Architektura 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íce

45 Plánovací kalendář

45 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íce

7.5 Diagram tříd pokročilé techniky

7.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íce

Průvodce aplikací FS Karta

Prů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íce

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

WR 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íce

PTERANODONSOFT.CZ. Manuál k programu Guldiner Light verze 2.2.

PTERANODONSOFT.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íce

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉ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íce

Manuál k aplikaci SDO PILOT v.0.2

Manuá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íce

1. Dědičnost a polymorfismus

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íce

Př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 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íce

Jednoduchý 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 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íce

CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA

CYCLOPE 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íce

Obsah. 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. 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íce

1 Uživatelská dokumentace

1 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íce

METODICKÉ 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ě 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íce

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

02. 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íce

MST - 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 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íce

Prostředí Microstationu a jeho nastavení. Nastavení výkresu

Prostř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íce

JAY 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 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íce

WebmMenu slouží pro editaci a management položek menu. Pro další informace si prosím vyberte jedno z následujících témat:

WebmMenu 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íce

Nový 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á.

Nový 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íce

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

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 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íce

Práce v textovém editoru

Prá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íce

Formátování pomocí stylů

Formá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íce

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘ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íce

Podpora skriptování v Audacity

Podpora 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íce

Projekt Kreslítko X36ASS

Projekt 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íce

MANUÁL VÝPOČTOVÉHO SYSTÉMU W2E (WASTE-TO-ENERGY)

MANUÁ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íce

Export tabulky výsledků

Export 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íce

STATISTICA. Vlastní menu v programu. StatSoft

STATISTICA. 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íce

Aplikace BSMS. Uživatelská příručka - 1 -

Aplikace 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