IB053 Jednoduchý klient pro twitter.com Zadávací dokumentace Název projektu: IB053 Jednoduchý klient pro twitter.com Účel projektu: zápočtový příklad Verze dokumentu: 1.0 Datum: 10.3.2015 Autor: Petr Steinmetz Zadavatel: Petr Steinmetz Řešitel: studenti IB053 1 Obsah  Obsah Cíl projektu Úvod projektu Součásti řešení projektu Analytická část: Vývojová část (programování): 2 Cíl projektu  Cílem projektu je vytvoření jednoduchého klienta pro službu twitter.com. Tento klient komunikuje se službou přes její API protokolem REST. Data jsou přenášena ve formátu JSON. Klient umožní tyto funkce: - stažení aktuálních zpráv zadaného uživatele - vložení nové zprávy Úvod projektu  Projekt vytvoří (až) tříčlenný tým, úkoly pro jednotlivé členy jsou označeny [A] [B] [C]. Dílo je rozděleno do několika modulů {M1} až {M6}. Součástí řešení projektu je návrh jednotlivých modulů, který řešitel sepíše do samostatného dokumentu a vytvoření modulů v souladu s návrhem. Jednotlivé moduly je možné vytvořit v libovolném programovacím jazyku. Pokud ale půjde o jiný jazyk než Java, C/C++, C#, je nutno výběr konzultovat se zadavatelem. Předání díla spočívá v předvedení funkčnosti, předání zdrojových textů mailem a obhájení zdrojových textů před zadavatelem (bude velmi šťouravý) :-) Součásti řešení projektu  Projekt se skládá z části analytické a vývojové. Analytická část:  - nastudovat službu twitter.com, její možnosti a použití, založení účtu twitter [A] - nastudovat API služby twitter [A] - nastudovat základy protokolu REST (včetně HTTP a TCP/IP) [B] - nastudovat základy formátu JSON [B] - {M1} navrhnout modul pro zajištění veškeré funkčnosti související s konfiguračními daty (uživatelské jméno, heslo, počet zpráv ke stažení - řešit správu konfiguračních dat a získání dat aplikací) [C] - {M2} návrh modulu jednoduchého HTTP klienta (AN) [B] - {M3} návrh modulu jednoduchého REST klienta (AN) [B] - {M4} návrh modulu získání zpráv (AZ) [A] - {M5} návrh modulu zaslání zprávy (AZ) [A] Výsledkem této části jsou dokumenty. Pro každý modul {M1} až {M5} je potřeba sepsat (stručný ale úplný) dokument obsahující jeho rozhraní, tj. jaké služby poskytuje a jak se tyto služby používají. Dokumentaci každého modulu je potřeba v průběhu řešení zaslat zadavateli k odsouhlasení. 3 Vývojová část (programování):  - {M1} konfigurační data (uživatelské jméno, heslo, počet zpráv ke stažení - řešit správu konfiguračních dat a získání dat aplikací) [C] - {M2} vytvoření modulu jednoduchého HTTP klienta [B] - {M3} vytvoření modulu jednoduchého REST klienta [B] - {M4} modul získání zpráv [A] - {M5} modul zaslání zprávy [A] - {M6} (G)UI s funkcemi 1. zobrazení zpráv, 2. zaslání zprávy, 3 správa konf. dat [C] - testování, koordinace [C] Aplikačně závislé moduly: {M1}, {M6} Aplikačně částečně závislé moduly: {M4}, {M5} Aplikačně nezávislé moduly: {M2}, {M3} Úkolem koordinátora (osoba [C]) je - rozdělit projekt mezi řešitele (včetně sebe) - sledovat a mít přehled o průběhu práce jednotlivých řešitelů - určit časový harmonogram a zajistit jeho dodržení - přebírat a kontrolovat dokumenty s návrhem modulů - přebírat a testovat dodané moduly Předání hotového řešení je věcí všech řešitelů. 4