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. 15.-19. a 22.-26. 5. 2023). 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 14. 4. 2023 do 23:59 bude na GitLab ve skupině https://gitlab.fel.cvut.cz/B222_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 26. 5. 2023 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. 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.
    • Ideální stav práce připravené k této konzultaci je:
      • Pokud bude použita komunikace po síti, doporučuje se specifikovat 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.
  5. 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. Průběžně (každou hotovou funkcionalitu s popisem) komitují všichni členové týmu.
  2. Projekt bude v Mavenu.
  3. Oba učástníci projektu musí podílet na tvorbě GUI. Alespoň jedno netriviální okno bude vytvořeno bez požití Designeru v Netbeans nebo jiném “klikacím” nástroji.
  4. V projektu student předvede schopnost správně použít vlákna (za to se nepovažuje použití např. třídy Timer). Například vytvořením hodin reálného času, ktreré interagují s průběhem hry.
  5. Několik netriviálních tříd bude pokryto unittesty nebo komplexnějším funkčním testem. Bude použit libovolný testovací framework.
  6. Budou použity loggery. Logovací zprávy bude možno zapnout nebo vypnout parametrem při spuštění
  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: 2023/04/26 13:03 by mudromar