Ročníkový projekt
NPRG045 Ročníkový projekt
NPRG046 Softwarová praxe
- Průběh semestru
- Předmět probíhá formou samostatné práce a konzultací s vedoucím
- První část 'NPRG045 Ročníkový projekt' (specifikace a pilotní verze) v LS, druhá část 'NPRG046 Softwarová praxe' (finální implementace a dokumentace) v ZS
- V LS zápočet, v ZS klasifikovaný zápočet - známka za práci v obou semestrech
- Na ročníkový projekt typicky plynule navazuje bakalářský projekt (dle dohody s vedoucím už při předběžné domluvě tématu - je třeba zohlednit). Předpokládá se, že vedoucí RP bude i vedoucím BP.
- První týden semestru - úvodní informativní schůzka pro všechny studenty, viz rozvrh
- Poté přiřazování k vedoucím - modul Přihlašování k rozvrhu
- Vedoucí může omezit množinu možných projektů (např. Pouze projekty na zpracování XML) anebo použitých jazyků nebo cílových platforem (např. Pouze C++ pro Unix/Linux). Toto omezení je uvedeno v poli Poznámka k rozvrhu. Může také nabídnout vlastní návrhy projektů.
- Skupiny mají nastavenou kapacitu na 0, v poli Poznámky jsou uvedné podrobnosti, typicky URL stránky s nabídkou projektů.
- Rozmyslete si co a jak byste chtěli dělat a kontaktujte příslušného vedoucího. Ten vás pak případně po vzájemné domluvě přiřadí k sobě do skupiny.
- Pro teoreticky zaměřené studenty je nově zavedena možnost absolvovat pouze zkrácený projekt v rámci NPRG045 a dále pokračovat teoretickou větví absolvováním předmětu NSZZ029 Bakalářská práce – rešerše.
- Termíny
- konkrétní termínu určuje vedoucí dle svých možností, toto jsou defaulty
- nejpozději do konce března (preferováno dříve) - přihlášení k vedoucímu
- konec března - zadání (předběžně dohodnutého tématu)
- duben-květen - podrobná specifikace
- konec června nebo září - pilotní (rozpracovaná) verze
- Rozsah podrobné specifikace, obsah případné pilotní verze a stupeň rozpracovanosti je nutné domluvit předem při zadávání a specifikaci projektu.
- Nedodržování termínů bude penalizováno snížením výsledné známky, případné závažné a opakované nedodržování i snížením až o 3 stupně.
- Obsah projektu
-
V zásadě jakýkoliv, ale pokud možno zajímavé a netriviální, rozhodně ne implementace už 100x implementovaného, s alespoň částečně vlastní myšlenkou (určitě v případě, že bude projekt rozšířen na bakalářský)
- Jazyk: v zásadě libovolný, preferovány 'běžné': C++, Java, C#, rozumné webové aplikace jsou také možné. Ohodnocovací funkci rozumnosti implementuje konkrétní vedoucí.
- Operační systém: v zásadě libovolný, preferovány 'běžné' systémy Linuxové i Windowsové třídy. U netradičních operačních systémů a platforem je povinnost studenta zajistit dostupnost platformy pro vedoucího.
- Upřesnění součástí projektu
- Zadání - krátký popis dohodnutého programu:
- Název, cca 5-15 řádků popisu tématu, OS, jazyk, knihovny nebo jiné externí komponenty, vývojové prostředí, ...
- Podrobná specifikace - detailní popis problematiky, podle něhož by jiný programátor napsal "tentýž" program:
- Stručná analýza existujících programů, popis všech podstatných zamýšlených funkcí a vlastností programu + zdůraznit čím se bude lišit od existujících (v čem bude lepší, co bude mít jiného, apod.)
- Popis hlavních funkcí
- Návrh struktury programu (moduly, knihovny, vzájemná provázanost)
- OS, jazyk, vývojové prostředí, další využívané zdroje (knihovny, moduly, apod.)
- Pilotní verze - dostatečně velký kus kódu, který alespoň částečně funguje (rozsah a funkčnost domluvit předem), nikoli pouze "naklikané" GUI apod.
- Finální verze
- Funkční stabilní softwarový produkt s použitelným uživatelským nebo aplikačním rozhraním.
- 'instalační balíček' obsahujcí vše potřebné pro instalaci a spuštění (knihovny, konfigurace, ...)
- Testovací data - v případě, že projekt pro demonstraci své funkčnosti potřebuje nějaká data, musí být tato přiložena.
- Dokumentace
- Standardní požadavky na dokumentaci
- Instalační příručka = popis instalace, konfigurace a spouštění programu
- Uživatelská příručka = popis ovládání programu (co a jak lze s programem dělat), popis rozhraní
- Vývojová dokumentace = postup překladu programu, popis implementace (co, v čem, jak), popis netriviálních algoritmů
Za vývojovou dokumentaci není považovám text automaticky vygenerovaný za zdrojových textů (Doxygen, Javadoc, ...) - v dokumentaci musí být naopak to, co ve zdrojových textech není.
- Hodnocení
- Program: celková kvalita díla, stabilita programu, uživatelská přítulnost, kultura zdrojových textů, komentáře
- Dokumentace: srozumitelnost, přehlednost, úplnost, kvalita provedení
- Další informace