Cvičení doc. Buchalcevové LS 2011/2012
Upřesnění požadavků na 1.semestrální úlohu - GUI adventura
řádný termín odevzdání Gui adventury vytvořením záložky grafickaVerze v úložišti je 8.4.2012
| Požadavek | bodová ztráta, když se požadavek neudělá(-) body za požadavek, který je navíc (+) |
| Základem je adventura s textovým uživatelským rozhraním, kterou jste odevzdali v kurzu 4IT101 | musí být |
| Třídy aplikace budou rozděleny do balíčků | musí být |
| Hlavní okno grafického rozhraní bude obsahovat textovou oblast, ve které se budou vypisovat jednotlivé texty hry | musí být |
| Pro vstup příkazů bude využito textové pole | musí být |
| Součástí grafického rozhraní musí být menu, které bude obsahovat minimálně položky Nová hra, Nápověda | musí být |
| Při přechodu do prostoru se na panelu vypíší východy z prostoru, realizováno pomocí návrhového vzoru Observer | musí být |
| Při přechodu do prostoru se v dialogovém okně zobrazí obrázek s plánem prostorů, na kterém bude vyznačen aktuální prostor, realizováno pomocí návrhového vzoru Observer | musí být |
| Obsah batohu se bude zobrazovat na panelu alespoň pomocí textů, v řešení bude využit návrhový vzor Observer | musí být |
| Nápověda ( uložená v HTML souboru) se bude zobrazovat v samostatném okně | musí být |
| Rozhraní pro návrhový vzor Observer budou v názvu obsahovat Subject a Observer, nikoli předplatitel a vydavatel. | musí být |
| Budou dodrženy konvence pro pojmenování komponent GUI tak, že v názvu je obsažen název komponenty – např. zozbrazButton… | musí být |
| Na kitscm bude vytvořena záložka grafickaVerze | musí být |
| Obsah batohu se bude zobrazovat pomocí obrázků na panelu, při změně obsahu batohu se provede aktualizace obrázků, v řešení bude využit návrhový vzor Observer | pokud nebude implementováno -4 body |
| Aplikace se spustí buď v textovém rozhraní, anebo v grafickém rozhraní podle parametru příkazové řádky | pokud nebude implementováno -2 body |
| Průběh hry (zprávy programu i příkazy uživatele) se bude zaznamenávat do textového souboru - logu, který se na volbu z menu Zobrazení logu zobrazí v dialogovém okně | pokud nebude implementováno -3 body |
| Úloha obsahuje spustitelný archiv | pokud nebude implementováno -2 body |
| Komentáře pro javadoc u tříd a metod | pokud nebude implementováno -3 body |
| Implementační diagram tříd pro finální verzi adventury | pokud nebude implementováno -5 bodů |
| Sekvenční diagram znazornujici komunikaci při realizaci observeru batohu | pokud nebude implementováno -5 bodů |
| Zpoždění při odevzdání finální verze, tj vytvoření záložky grafickaVerze | -3 body za každý započatý týden zpoždění |
| Místo zadávání příkazu v textovém poli bude uživatel vybírat z rozbalovacího seznamu příkazů (combo box) | pokud bude implementováno +2 body |
| Nabídka sousedních prostorů bude realizována combo boxem | pokud bude implementováno +2 body |
| Kromě menu bude použita i nástrojová lišta | pokud bude implementováno +2 body |
| Obrázky (soubor GIF či JPEG) budou umístěny do spustitelného archivu a na začátku hry se uloží v paměti | pokud bude implementováno +2 body |
Domácí úkoly
| DU | Název | Body | do kdy |
| DU1 | záložka textovaVerze k adventuře | 1 | do začátku 3.cv |
| DU2 | jednoduché GUI | 3 | do začátku 4.cv |
| DU3 | implementační class diagram k Vaší adventuře | 2 | do začátku 5.cv |
| DU4 | komplexnější GUI | 4 | do začátku 6.cv |
DU2 Jednoduché GUI
Vytvořte aplikaci s grafickým oknem následujícího vzhledu. Když uživatel vyplní jméno a klikne na tlačítko pozdrav, objeví se v dolním panelu nápis Hello + zadané jméno.
DU4 Komplexnější GUI - ukázka správců rozložení
Aplikace demonstruje, jak jsou umístěny komponenty v rámci různých správců rozložení (LayoutManager). V hlavním okně aplikace (JFrame), které má titulek, nastavenu velikost a umístění okna, se pomocí radio tlačítek (JRadioButton) vybere správce rozložení (alespoň 5 různých správců). Pokud je pro vybraného správce rozložení potřeba, zadají se v novém dialogovém okně ještě další parametry
- například u GridLayoutu počet řádek a sloupců, velikost mezer,
- u BoxLayoutu směr atd.
Stisknutím tlačítka Zobraz se otevře dialogové okno, ve kterém je zobrazen nějaký obrázek, label se jménem autora programu a alespoň 3 další různé komponenty. Komponenty v dialogovém okně mají rozložení odpovídající vybranému.
Test UML Maximum 10 bodů, minimum 5 bodů
Na základě slovní specifikace požadavků vytvořte use case model a class model a zaznamenejte jej v modelovacím nástroji. Definujte třídy a jejich atributy (včetně viditelnosti, datového typu) a metody. Definujte vztahy mezi třídami, uveďte násobnosti.
Harmonogram cvičení - úterní cvičení
| Týden | Obsah cvičení |
| 1 | Seznámení s vývojovým prostředím NetBeans, seznámení s nástrojem na správu verzí Subversion, struktura úložiště, podpora Subversion ve vývojovém prostředí, úprava adventury – rozdělení tříd do balíčků a uložení do úložiště |
| 2 | Doplnění adventury o GUI - frame, základní ovládací prvky, jednoduchá reakce na událost |
| 3 | Další ovládací prvky – JList, obrázky, JDialog |
| 4 | Doplnění zobrazování východů z místnosti s využitím návrhového vzoru Observer, CASE nástroj Astah - implementační diagram tříd pro Adventuru vygenerovaný zpětně z kódu |
| 5 | Menu,nástrojová lišta, UML sekvenční diagram |
| 6 | Vytvoření týmů a přiřazení zadání pro 2. semestrální úlohu, UML - diagram případů užití |
| 7 | UML Diagram tříd, kontrola přiřazení úkolů členům týmů |
| 8 | Test UML |
| 9 | konzultace návrhu |
| 10 | Obhajoba návrhuna kitscm finální návrh do 11.5.2012 |
| 11 | svátek 1.5 |
| 12 | svátek 8.5 |
| 13 | GUI – komponenta JTable, Konzultace k implementaci |
Harmonogram cvičení - středeční cvičení
| Týden | Obsah cvičení |
| 1 | Seznámení s vývojovým prostředím NetBeans, seznámení s nástrojem na správu verzí Subversion, struktura úložiště, podpora Subversion ve vývojovém prostředí, úprava adventury – rozdělení tříd do balíčků a uložení do úložiště |
| 2 | Doplnění adventury o GUI - frame, základní ovládací prvky, jednoduchá reakce na událost |
| 3 | Další ovládací prvky – JList, obrázky, JDialog |
| 4 | Doplnění zobrazování východů z místnosti s využitím návrhového vzoru Observer, CASE nástroj Astah - implementační diagram tříd pro Adventuru vygenerovaný zpětně z kódu |
| 5 | Menu,nástrojová lišta, UML sekvenční diagram |
| 6 | Vytvoření týmů a přiřazení zadání pro 2. semestrální úlohu, UML - diagram případů užití |
| 7 | UML Diagram tříd, kontrola přiřazení úkolů členům týmů |
| 8 | Test UML |
| 9 | Rektorský den |
| 10 | konzultace návrhu |
| 11 | Obhajoba návrhu |
| 12 | GUI – komponenta JTable |
| 13 | Konzultace k implementaci |
Zadání týmové úlohy
Řádný termín odevzdání implementace 2. úlohy do 27.5.2012 záložkou finalniVerze v úložišti projektu
Pro programy na návrh GUI se používají anglické pojmy prototype (prototyp), mockups (makety) či wireframes (drátěné modely). Existuje jich velké množství, část z nich je i volně k dispozici. Seznam 10 bezplatných je v článku http://speckyboy.com/2010/01/11/10-completely-free-wireframe-and-mockup-applications/. Další jsou v článku na wikipedii http://en.wikipedia.org/wiki/Website_wireframe. Dlouhý seznam je na http://konigi.com/node/1819.
Lze použít i návrháře určené pro vytváření GUI aplikací (tj. ne jen pro návrhy GUI), např. návrhář integrovaný v NetBeans (jmenuje se Mattise), Microsoft Visio (můžete stáhnout z MSDN AA), Window Builder (nyní zdarma ke stažení od Google), Gui Builder z IntelliJ IDEA, Guide (nutno požádat o osobní licenci) a další.
Úterní cvičení
Klub přátel KIT (3-5 řešitelů)
Aplikace zajišťuje evidenci lidí, kteří mají zájem spolupracovat s katedrou KIT. U osoby se eviduje jméno, příjmení, tituly, nejvyšší dosažené vzdělání, firma, kde pracuje, adresa, kontakty (email, telefony) Dále se eviduje, je-li osoba absolventem VŠE a FIS a v kterém roce absolvovala. Je třeba zaznamenat, o jakou formu spolupráce má zájem. Jedna osoba může mít zájem o více forem spolupráce. Formy spolupráce musí aplikace udržovat - zadávat, editovat. Příkladem formy spolupráce je: realizace přednášky, externí výuka celého kurzu, spolupráce na BP a DP, oponování BP a DP, účast na odb.seminářích jako přednášející, účast na odb.seminářích jako účastník, sponzorství katedry, být informován o akcích. Aplikace musí evidovat i uskutečněnou spolupráci. Program umožní zadávat a aktualizovat údaje a zobrazovat záznamy podle různých kritérií.
Půjčovna kol pro turisty v Praze (3-5 řešitelů)
Aplikace podporuje činnost půjčovny kol. Pracovník půjčovny eviduje půjčovaná kola - eviduje se identifikace kola, druh kola (pánské, dámské, dětské), značka, popis, denní sazba, týdenní sazba. Pracovník půjčovny eviduje zákazníky - jméno, příjmení, rodné číslo, číslo průkazu, trvalé bydliště, adresa pobytu, email, telefon. Pracovník půjčovny eviduje výpůjčky. Výpůjčka je vždy pro 1 kolo. U výpůjčky se eviduje datum půjčení, datum vrácení a vypočítá se cena. Je-li kolo půjčováno na více než 6 dní, počítá se týdenní sazba. Při vrácení kola pracovník půjčovny zaznamená vrácení a vytiskne doklad. Pracovník půjčovny si může zobrazit všechny výpůjčky, které mají být určitý den vráceny, a které nebyly včas vráceny.
Testování lyží (3-5 řešitelů)
Aplikace slouží na podporu akcí Testování lyží. Aplikace je desktopová. Organizátor eviduje akce. U akce se ukládá identifikace akce, země, místo, datum od čas od, datum do, čas do, maximální počet účastníků. Organizátor eviduje lyže, které se testují. U lyží se eviduje identifikace, značka,výrobce, typ, rok výroby,rádius,vykrojení,technologie,popis vlastností, délka. Údaje o lyžích je možné editovat či zrušit.
Organizátor akce eviduje účastníky akce – jméno, příjmení, rodné číslo, číslo pasu, adresa, email, telefon, výška, váha, úroveň lyžování (začátečník, středně pokročilý, pokročilý, závodní, cvičitel). Údaje o účastnících je možné editovat či zrušit.
Účastník si může prohlížet seznam lyží pro testování i detailní údaje o lyžích. Účastník se může přihlásit na určitou akci. Přihlášený účastník si vybere, které lyže bude testovat. Každý účastník testuje minimálně 3 a maximálně 6 lyží, což aplikace kontroluje. Po ukončení testu musí účastník pro každé testované lyže napsat hodnocení – známka (1 – 5) a slovní hodnocení. Organizátor akce sestaví žebříček nejlépe hodnocených lyží.
Středeční cvičení
Hostesky (3-5 řešitelů)
Aplikace slouží pro podporu činnosti agentury zajišťující hostesky na různé akce a konference. Aplikace je desktopová. Pracovníci agentury evidují firmy, které pořádají akce, na které si objednávají hostesky (hostesy). U firmy se eviduje IČO, název, adresa, kontaktní osoba. Pracovníci agentury evidují jednotlivé akce – identifikace akce, název, datum od, čas od, datum do, čas do, místo, adresa, popis činnosti, firma, která objednala akci, požadovaný počet lidí. Pracovníci agentury evidují hostesky (hostesy)– jméno, příjmení, datum narození, pohlaví, adresa, kontaktní údaje, vzdělání, fotka, zkušenosti - výběr z předem daných možností. Aplikace umožňuje filtrovat seznam hostesek podle různých kritérií - věk, zkušenosti, místo bydliště atd. Pracovníci agentury přiřazují hostesky na akce - založí záznam účast na akci. Po skončení akce zaznamená pracovník agentury slovní hodnocení každé hostesky do záznamu účasti na akci.
Psí školka (3-5 řešitelů)
inspirace na
http://www.psi-skolka.cz/
Akce pro zahraniční studenty (3-5 řešitelů)
Aplikace slouží pro podporu činnosti Buddy systému na VŠE. Aplikace je desktopová. Aplikace umožňuje evidovat studenty VŠE, kteří jsou přihlášeni v Buddy systému – xname,jméno, příjmení,titul, datum narození, pohlaví, státní příslušnost, adresa v ČR, telefon,email. Aplikace umožňuje evidovat zahraniční studenty – jméno, příjmení, datum narození, pohlaví, stát, adresa v ČR, telefon, email, fotka, přidělený Buddy student. Pracovníci Buddy systému evidují akce, které se pro zahraniční studenty pořádají – identifikace akce, druh (předem dané možnosti - druhy se mohou přidávat), název, datum od, čas od, datum do, čas do, místo, popis, cena, maximální počet účastníků. Aplikace umožňuje filtrovat seznam akcí podle různých kritérií - druh, termín, volná kapacita atd. Zahraniční studenti si mohou prohlížet přehledy akcí i detaily jednotlivých akcí. Pokud mají o akci zájem, sdělí to pracovníkům Buddy systému a ti je na akci přihlásí. Pracovníci Buddy systému si mohou vypisovat seznamy účastníků pro jednotlivé akce, zadávat, zda student akci zaplatil.