Kreslítko Petr Diviš Zdeněk Papež
Úvod Desktopová („stand-alone“) aplikace Jednoduchý grafický editor Tvorba a editace základních geometrických objektů Možnost seskupování objektů Možnost práce s pořadím v ose Z
Verze 1 Standardní MVC architektura Hlavní okno obsahuje panely, které mají společný model a controller
Verze 2 Architektura PAC (Presentation-abstraction-control) Někdy také ve variantě hierarchického MVC (P-A nejsou oddělené) Aplikaci tvoří samostatná okna Styl jako Gimp Každé okno má vlastní architekturu podobnou MVC View = Presentation Model = Abstraction Ale jsou oddělené
Screenshot Architektura MVC Architektura PAC
Návrhové vzory Composite Pro strukturu umožňující seskupování objektů Visitor Pro vykreslování Command Pro reakci mezi nástroji a kreslící plochou Možnost „Undo“ Mediator Komunikace mezi panely aplikace Observer Sledování změn modelu
Scénáře Editace a seskupování objektů 1. Klikem na různé objekty na ploše uživatel vybírá skupinu objektů 2. Volbou „Group“ z označených objektů vytvoří novou skupinu objektů Pořadí původních objektů v ose Z se zachovává Skupiny objektů uvnitř skupiny se zachovávají 3. Uživatel tažením myši nad některým z objektů skupinu přesune 4. Kliknutím do volného prostoru uživatel zruší označení 5. Klikem na jiný objekt (skupinu) uživatel objekt vybere 6. Volbou „Delete“ uživatel smaže označené objekty Nový objekt 1. Uživatel volí nástroj pro daný objekt 2. Uživatel volí barvu 3. Kliknutím na plochu je zahájena tvorba objektu 4. Pohybem myši se určuje velikost objektu 5. Dalším kliknutím se tvorba ukončí a objekt je vložen Volba „Esc“ tvorbu objektu zruší
Use case diagram
Data model
Požadavky Funkční Tvorba a editace základních geometrických objektů Výběr barvy objektu Seskupování objektů Práce s pořadím v ose Z Nefunkční Aplikace napsaná v JAVĚ OOP s použitím MVC a PAC Verze 1 - jedno okno Verze 2 - více oken Dobrá ovladatelnost Bude fungovat při představení
Závěr Nadefinovali jsme si obě verze aplikace Budeme postupovat podle námi daných kritérií V další prezentaci předvedeme naše výsledky