4it115»Buchalcevova

Buchalcevova

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žadavekbodová 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 4IT101musí 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 hrymusí být
Pro vstup příkazů bude využito textové polemusí být
Součástí grafického rozhraní musí být menu, které bude obsahovat minimálně položky Nová hra, Nápovědamusí být
Při přechodu do prostoru se na panelu vypíší východy z prostoru, realizováno pomocí návrhového vzoru Observermusí 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 Observermusí být
Obsah batohu se bude zobrazovat na panelu alespoň pomocí textů, v řešení bude využit návrhový vzor Observermusí 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 grafickaVerzemusí 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 Observerpokud nebude implementováno -4 body
Aplikace se spustí buď v textovém rozhraní, anebo v grafickém rozhraní podle parametru příkazové řádkypokud 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ý archivpokud nebude implementováno -2 body
Komentáře pro javadoc u tříd a metodpokud nebude implementováno -3 body
Implementační diagram tříd pro finální verzi adventurypokud nebude implementováno -5 bodů
Sekvenční diagram znazornujici komunikaci při realizaci observeru batohupokud 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 boxempokud bude implementováno +2 body
Kromě menu bude použita i nástrojová lištapokud 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ětipokud bude implementováno +2 body

Domácí úkoly

DUNázevBodydo kdy
DU1záložka textovaVerze k adventuře1do začátku 3.cv
DU2jednoduché GUI3do začátku 4.cv
DU3implementační class diagram k Vaší adventuře2do začátku 5.cv
DU4komplexnější GUI4do 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ýdenObsah cvičení
1Sezná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ě
2Doplnění adventury o GUI - frame, základní ovládací prvky, jednoduchá reakce na událost
3Další ovládací prvky – JList, obrázky, JDialog
4Doplně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
5Menu,nástrojová lišta, UML sekvenční diagram
6Vytvoření týmů a přiřazení zadání pro 2. semestrální úlohu, UML - diagram případů užití
7UML Diagram tříd, kontrola přiřazení úkolů členům týmů
8Test UML
9konzultace návrhu
10Obhajoba návrhuna kitscm finální návrh do 11.5.2012
11svátek 1.5
12svátek 8.5
13GUI – komponenta JTable, Konzultace k implementaci

Harmonogram cvičení - středeční cvičení

TýdenObsah cvičení
1Sezná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ě
2Doplnění adventury o GUI - frame, základní ovládací prvky, jednoduchá reakce na událost
3Další ovládací prvky – JList, obrázky, JDialog
4Doplně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
5Menu,nástrojová lišta, UML sekvenční diagram
6Vytvoření týmů a přiřazení zadání pro 2. semestrální úlohu, UML - diagram případů užití
7UML Diagram tříd, kontrola přiřazení úkolů členům týmů
8Test UML
9Rektorský den
10konzultace návrhu
11Obhajoba návrhu
12GUI – komponenta JTable
13Konzultace 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.