{{indexmenu_n>5000}} ====== Projekt ====== Semestrální projektem je realizace softwarového produktu dle zadání a pokynů cvičícího Součástí SW produktu je i produktová a projektová dokumentace a prezentace průběžných výsledků. Realizace probíhá v týmech studentů. Týmy musí v rámci řešení projektu vytvořit a využívat projektovou infrastrukturu a aplikovat poznatky získané na přednáškách. Realizace SW probíhá v iteracích dle domluvy se cvičícím. Každá iterace začíná prezentací plánované práce a končí prezentací práce provedené. Tyto prezentace jsou součástí cvičení i celkového hodnocení projektu. Projekt si studenti vybírají před začátkem prvního cvičení z nabídky cvičícího. ===== Odevzdávání výstupů ===== Výstupem projektu je funkční aplikace a sada dokumentů popisujících tuto aplikaci z hlediska programátora (analýza/návrh/testy) a z hlediska projektového manažera (POS/plán...). Za výstup projektu se počítá i infrastruktura použitá při realizaci projektu. Na veškerých výstupech se pracuje průběžně během semestru tak, aby bylo možné výstupy konzultovat se cvičícím. * Manažerská dokumentace se odevzdává ve 4 týdnu. * Projektová dokumentace se odevzdává podle harmonogramu z manažerské dokumentace. Více v sekci [[courses:A7B36SI2:tutorials:start|zápočet]] . * Veškeré dokumenty konzultujte s cvičícím v průběhu jejich vypracovávání. * Veškerý kód bude průběžně ukládán v repositáři. * Na závěr semestru budou všechny dokumenty odevzdány při finálním předvedení projektu jako jeden jediný dokument rozdělený do příslušných kapitol. Odevzdává se jednak zdrojový soubor(y) jednak soubor ve formátu PDF. Cvičící může vyžadovat tištěnou verzi dokumentů. //O tom zda bude dokumentace zpracována pomocí LaTeX nebo pomocí jiných textových procesorů rozhoduje domluva se cvičícím. Vzhledem k průběžné práci na projektech je doporučen systém LaTeX usnadňující verzování dokumentu nebo wiki.// ====== Příklady struktury dokumentů ====== Následující text uvádí příklady obsahu odevzdávaných dokumentů. Pokud máte dojem, že navržená struktura neodpovídá charakteru vašeho projektu, tak ji neváhejte upravit. ==== Project Overview Statement ==== * zadání projektu a jeho motivace (odborný článek) * problémy a příležitosti * cíle a obsah projektu * kontextový model * FURPS * akceptační kritéria ==== Úvodní plán projektu ==== * WBS * milníky projektu * harmonogram projektu * odhad trvání úloh * návrh na rozdělení 15 bodů za jednotlivé projektové výstupy (o konečném rozdělení rozhoduje cvičící) * kritická cesta projektem * plán rizik * RACI ==== Úvodní rozpočet projektu ==== * Odhad z WBS * Odhad pomocí Funkčních bodů * Odhad pomocí COCOCMO ==== Analýza ==== * požadavky * scénáře užití * doménový model * platforma/frameworky ==== Návrh ==== * popis balíčků * popis rozhraní tříd * model tříd, sekvenční modely * použité návrhové vzory Součástí hodnocení návrhu je i hodnocení kvality zdrojového kódu. Po dohodě se cvičícím mohou být některé části zpracovány pomocí vhodného nástroje - např. JavaDoc. ==== Rešerše ==== * Co je cílem rešerše (hypotézy) * Vlastní rešerše * Zhodnocení rešerše ==== Testy ==== * plán testů * přehled akceptačních test case * unit testy nebo selenium testy * vývoj testů v čase ==== Uživatelská a instalační dokumentace ==== * Uživatelský manuál (nejlépe videa) * Stránka produktu * Instalační postup * Virtuál pro virtuál box s fungujícím prostředím a nasazenou aplikací ==== Závěrečná zpráva ==== Pro vypracování závěreční zprávy je třeba sledovat řadu parametrů projektu v rámci celého semestru. Nepodceňte monitoring projektu! * zhodnocení vzniklé aplikace * zhodnocení použité infrastruktury * zhodnocení projektu na základě vykázaného času a finančního plánu * vývoj rozpočtu a plánu v průběhu semestru * reálný čas strávený na projektu * znázornění postupu prací * lessons learned * osobní hodnocení jednotlivce (zpracuje každý sám za sebe - role v týmu, přínos pro tým, problémy v týmu, kladné stránky... ====== Ostatní (hodnocené) aspekty projektu ====== ==== Průběžná práce ==== * Využívání projektové infrastruktury * Plnění úkolů * Aktivní přístup k projektu ==== Spokojenost zadavatele ==== * Vyjádření zadavatele k výsledku projektu ====== Infrastruktura projektu ====== Každý tým je povinen vybudovat si vlastní týmovou infrastrukturu (wiki, repositář, komunikační kanál,…). Konkrétní podobu infrastruktury může určit cvičící, pro nové projekty je doporučen github.com, assembla.com, code.google.com. Výstupy nelze odevzdat jinak než prostřednictvím infrastruktury. Každý tým zajistí, aby na jeho wiki byl link ze stránek předmětu. ===== Stránka projektu ===== Slouží k prezentaci projektu veřejnosti, stránka obsahuje minimálně: * Zadání projektu * Seznam členů týmu * Zhodnocení projektu (na konci semestru) * Odkaz na repositář * Odkaz na Issue tracker * Finální verze výstupů + reporty oponentů ===== Wiki ===== Slouží ke komunikaci týmu v průběhu semestru. Projektová wiki je přehledná a jsou na ní dostupné: * První verze dokumentů (třeba jako link na repositář) * Profil studentů * Přerozdělení týmových bodů ===== SCM ===== * konkrétní typ repositáře záleží na dohodě se cvičícím * každý člen bude SCM aktivně používat ===== Issue tracker ===== * zadávání úkolů v týmu bude probíhat **výhradně** přes zvolený systém