Témata diplomových a bakalářských prací
Josef Kufner <kufnejos@fel.cvut.cz>
Pokud máte o některé z témat zájem, napište mi a na něčem se domluvíme. Rozsah témat lze upravit pro bakalářské i diplomové práce. Použité technologie, alespoň ty klíčové, jsou pevně dané, neboť výsledky těchto prací jsou určeny k začlenění do většího celku.
1 Grafický webový editor formulářů a uživatelského rozhraní
Prostudujte dostupné nástroje pro tvorbu a návrh uživatelských rozhraní. Vytvořte nástroj pro tvorbu formulářů a uživatelských rozhraní, který lze snadno integrovat do běžného HTML formuláře, a tedy i do libovolné webové aplikace.
Primárním výstupem editoru bude JSON struktura popisující vytvořené GUI. Tato struktura pak bude předána frameworku pro tvorbu GUI, to však je již mimo rozsah této práce.
Dalším výstupem bude mockup – černobílý, jakoby tužkou kreslený, náčrtek vytvořeného GUI s odkazy na ostatní mockupy, ne nepodobný tomu, co vytváří
Pencil.
Editace probíhá na úrovni náčrtku bez požadavku na věrnou grafickou reprezentaci. Pokud to bude vhodné, použijte části existujících opensource produktů.
-
Technologie: Javascript, jQuery, HTML5.
-
Editor běží pouze na klientovi (v prohlížeči), nemá specifickou serverovou část.
-
Editor nahradí <textarea> běžného HTML formuláře.
-
Vstupní data pro editor jsou uložena v JSON uvnitř nahrazovaného elementu, výstup je vrácen tamtéž.
-
Uživatel má k dispozici paletu dostupných elementů, z nich skládá uživatelské rozhraní.
-
Paleta elementů bude generována z rozličných externích zdrojů (ty nejsou součástí práce), její specifikace tedy musí být jednoduchá a zcela deklarativní (prostá JSON struktura).
-
Důraz je kladen na jednoduchost a snadnou integrovatelnost do jiných aplikací. Editor je určen pro vytvoření/úpravu konfigurace, která pak bude dále interpretována aplikací. Musí tedy umožňovat nastavování rozličných vlastností elementů, nemusí je však všechny interpretovat ani vizualizovat.
-
Editor bude možné použít pro editaci layoutu stránky, formulářů a zobrazovacích šablon (formulář, kde místo <input> je <span>). Rozdíl je jen v použité paletě elementů.
-
Editor musí umožňovat několik režimů pozicování elementů – tabulka, absolutní x-y, float a další.
-
Framework pro deklarativní popis formulářů je připraven. Úloha editoru je v tomto směru omezena na úpravu datové struktury v JSON.
Podobné, avšak nevyhovující a příliš složité editory:
2 Automatické testování webových aplikací
Cílem je vytvořit nástroj, který prokliká webovou aplikaci bez jakéhokoliv zásahu uživatele/programátora. K dispozici má definice automatů, které tvoří model (ve smyslu M v MVC) a základní URL aplikace. Testující nástroj by měl najít správný odkaz či formulář a použít jej k vyvolání přechodu automatu v modelu. Následně pak zjistit, zda se operace povedla.
Jedná se o rozšíření bonusové úlohy na TVS. Prototyp by měl využívat tentýž framework. Téma zahrnuje i propagaci metadat o automatu skrz uživatelské rozhraní, aby testovací nástroj poznal, co vlastně má dělat.