Warning
This page is located in archive.

Semestrální práce

Semestrální práce je dlouhodobá samostatná práce na které student pracuje po celý semestr. Jedná se o softwarový projekt na zadané téma. V rámci předmětu PR2 jsou pro vás připravena 4 témata, pokud byste chtěli vlastní, záleží na dohodě se cvičícím.

Výběr zadání a vytvoření projektu

Nejpozději do začátku 2. cvičení je potřeba:

  • vybrat si téma semestrální práce
  • založit si Maven projekt na Gitlabu, viz. Lab01
  • udělat první commit se zadáním
Za každý den prodlení je penalizace 1 bod.

Konzultace během semestru

Nejpozději v pátem týdnu musí proběhnout konzultace rozpracování semestrální práce. Na této konzultaci musí student demonstrovat základy funkčního kódu. Jedná se zejména o:

  • objektový návrh reprezentovaný kostrou tříd a interfaců
  • funkční základní funkcionalita programu

Obecné požadavky na semestrální práci

  • Rozumný objektový návrh
  • GUI - program musí být vybaven plně funkčním grafickým rozhraním, alespoň jeden formulář musí být vytvořen pomocí kódu, ne designeru (může se jednat o menší formulář/dialog nebo naopak opakující se prvek, který je výhodnější vytvářet programově)
  • Několik netriviálních tříd pokrytých unit testy
  • Použití loggerů - program musí správně využívat loggery a logovat potřebné informace
  • Vlákna - v programu musí být rozumně a správně využita vlákna (threads)
  • Maven - Projekt musí být v Mavenu
  • Git - Vývoj musí probíhat v Gitu za využití FEL GitLabu.
  • Javadoc - Veškeré public prvky v programu musí mít smysluplný javadoc
  • Návod/Popis - Na wiki FEL GitLabu musí být návod na používání programu (uživatelský manuál) a popis programu - jeho vlastností, struktura projektu, použité technologie (technická dokumentace). Pozor, nesuplujte javadoc.
  • Angličtina - všechno kromě dokumentace na GitLabu musí být v angličtině. Anglicky musí být i javadoc.

Hodnocení semestrální práce

Základním předpokladem pro získaní co možná nejvyššího bodového hodnocení semestrální práce je její včasné odevzdání. Dále musí být semestrální práce výlučným dílem odevzdávajícího, lze sice použít knihovny funkcí jiných autorů, ale pak nutně MUSÍ tato skutečnost řádně uvedena být v dokumentaci. Bude velmi přísně postihováno, pokud se student pokusí odevzdat práci, která není jeho vlastním dílem. Takový pokus je důvodem k neudělení zápočtu a nedokončení předmětu a navíc bude předán disciplinární komisi FEL, která rozhodne o dalším postupu (vyloučení ze školy, a další).

Kritéria pro hodnocení semestrální práce

  • Správnost programu - Kontroluje se, zda program správně řeší zvolenou úlohu, zda ji řeší pro všechna přípustná vstupní data a zda správně rozpozná nesmyslná vstupní data.
  • Stabilita programu - Program nečekaně nespadne, např. zda se po výběru 28. položky ze seznamu, který má položek 10 neobjeví chybové hlášení “ArrayIndexOutOfBoundsException”.
  • Vhodnost řešení - Zda jsou dodržovány základy strukturovaného programování, zda je program dostatečně členěn do funkcí a procedur, případně na objekty.
  • Použitelnost programu - Cílem sice není vytvořit program, který bude nezbytně nutně použitelný a používaný v praktickém každodením nasazení, ale měl by být alespoň trochu rozumný. Části programu, např. grafické prvky, jejichž hlavní důvod proč jsou v aplikaci je, že tam jsou, nebudou akceptovány. K projektu přistupujte tak, že je to Vaše první práce na FEL a také vizitka, jak přistupujete k řešení problémů, tj. zkuste si představit, že se k aplikaci vrátíte po letech a budete z toho mít pocit, že jste to tenkrát dobře udělali.
  • Rozsah programu - Pro studenty, kteží s Javou začínají to může být nepříjemné, ale součástí hodnocení je i rozsah a náročnost úlohy. Zvolená, byť správně vyřešená jednoduchá úloha (na 300 řádků) bude hodnocena hůře než úloha rozsáhlejší, náročnější. Rozdíl v hodnocení nebude veliký (2-3 body), ale bude nenulový.
Finální verzi semestrální práce je potřeba odevzdat nejpozději na konci 11. týdne, neboli nejpozději 08.05. ve 23:59!

CodeQuality

Pro hodnocení kvality kódu semestrálních prací bude jako pomocné kritérium použit projekt CodeQuality.

Každý student může nahrát zazipovaný soubor se zdrojovými soubory své semestrální a zjistit tak detekované chyby ve svém projektu. Přihlášení je možné přes SSO. Nahrávejte prosím pouze zdrojové kódy (src/main/java/ a src/test/java). Obvykle trvá analýza asi minutu, ale při vysokém počtu čekajících úloh to může být i 30 minut.

Po termínu odevzdání (01.05.) provedeme hromadně analýzu všech semestrálních prací. Každý repozitář by proto měl obsahovat právě jeden pom.xml soubor, abychom mohli automaticky detekovat kořenový adresář projektu. Výjimky prosím řešte se svým cvičícím.

Zkušební archiv se zdrojovými kódy: simpleproject.zip

Gitlab

Pro semestrální práci má každý student vytvořený projekt na gitlabu (https://gitlab.fel.cvut.cz). Pro přihlášení přes webové rozhraní je možné použít FELid (hlavní přístupové heslo). Pro přístup např. z NetBeans či příkazové řádky je nutné nastavit si na serveru váš veřejný SSH klíč.

courses/a0b36pr2/semester-project/start.txt · Last modified: 2016/04/25 15:19 by vanapet1