Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Semestrální práce

Odevzdání

Práce bude odevzdána v předepsaných týdnech (dva poslední týdny semestru, tj. 9.-13. a 16.-20. 5. 2022). Odevzdání ve zkouškovém termínu není možné, pouze ve výjimečných případech (nemoc apod.) lze po domluvě s cvičícím umožnit odevzdání v prvním týdnu zkouškového období.

Termíny

Do pátku 1.4.2022 do 23:59 bude na GitLab ve skupině https://gitlab.fel.cvut.cz/B212_B0B36PJV (a ne jinde!) založen projekt, a na stránce Wiki popsaná téma a cíl projektu, rozpracovaná dokumentace z hlediska uživatele (např. manuál) a z pohledu programátora (popisy tříd, stavů aplikace, použité technologie, knihovny, apod.) případné dělba práce. V repositáři budou i zdrojové soubory - kostry hlavních tříd a rozhraní, tak aby byla patrná navržená architektura. Hodnotí se dodržení termínu, dále kvalita a rozsah dokumentace. Představení práce a jeho ohodnocení se děje v během konzultace studenta s cvičícím.
Kompletní práce se odevzdává do konce posledního výukového týdne, tj. do pátku 20.5.2022 opět v rámci konzultace s cvičícím.

Témata

Je možné pracovat samostatně i ve dvojicích. Semestrální práce tak bude rozsáhlejší, například se vyžaduje implementace síťové verze hry nebo distribuovaná simulace.

Podmínky pro vypracování SP

  1. Pracuje se ve dvojicích nebo jednotlivě. Členové týmu nemusí být ze stejného cvičení.
  2. Práce je vyvíjena za pomoci verzovacího systému GIT. Veškeré změny jsou ukládány výhradně na http://gitlab.fel.cvut.cz. Zadání pište do wiki u Vašeho projektu.
  3. Na Gitlabu bude ve wikipedii do předepsaného termínu zapsáno téma práce a jména obou účastníků projektu.
  4. Ve wiki bude udržována zvláštní stránka s odhadem pracnosti jednotlivých částí práce a rozdělení úkolů každého z týmu.
  5. Oba členové týmu se v předepsaný týden musí společně zúčastnit kontrolního pohovoru nad vypracovaným objektovým návrhem práce a předpokládaným protokolem komunikace klient-server (bude-li použit).
    • Ideální stav práce připravené k této konzultaci je:
      • Pokud bude použita komunikace po síti, bude specifikován komunikační protokol - tedy jaká data a v jakém formátu se budou mezi serverem a klientem posílat. Tento protokol je zásadní a proto by se v průbehu další práce už ideálně neměl měnit
      • Student předvádí objektový návrh ideálně ve formátu kostry programu v Javě (balíčky, .java soubory). Ten by měl obsahovat definované třídy včetně vztahu dědičnosti mezi nimi, atributy tříd, hlavní metody všech tříd, pomocí kterých mezi sebou budou objekty komunikovat a také metody, které budou sloužit k ovládání objektů z GUI. Metody nemusí obsahovat tělo, ale je doporučeno, aby byl už připraven stručný Javadoc, který obsahuje textovou informaci, k čemu daná metoda nebo objekt slouží.
      • Objekty nemusí obsahovat privátní a jiné pomocné metody, stejně tak se nepředpokládá, že v metodách bude již definováno tělo.
      • Je možné konzultovat i materiál v jiné formě, ale musí z něj být patrné všechny informace, které jsou uvedeny výše.
  6. Oba členové týmu se musí společně zúčastnit odevzdání práce na konci semestru. Oba musí rozumět a být schopni odpovědět na otázky ohledně všech částí kódu (tedy ne jen svých).

Technické požadavky na semestrální práci:

  1. Bude dokladovatelný progres projektu na Gitlabu.
  2. Projekt bude v Mavenu.
  3. Oba učástníci projektu musí vytvořit GUI (nemusí být shodné náročnosti). Alespoň jedno netriviální okno bude vytvořeno bez požití Designeru v Netbeans nebo jiném “klikacím” nástroji.
  4. V projektu budou rozumně použita vlákna (za to se nepovažuje použití např. třídy Timer).
  5. Několik netriviálních tříd bude pokryto unittesty
  6. Budou použity loggery.
  7. Javadoc - Veškeré public prvky v programu musí mít smysluplný Javadoc
  8. Kód bude vhodně okomentován.
  9. 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.
  10. Angličtina - všechno kromě dokumentace na GitLabu musí být v angličtině. Anglicky musí být i Javadoc.
courses/b0b36pjv/semestral/start.txt · Last modified: 2022/02/01 08:12 by seredlad