4IT353 - zadání první semestrální úlohy
Zadání:
Jako první semestrální úlohu studenti v dvojčlenných týmech vytvoří síťovou aplikaci implementující nějakou hru, např. piškvorky, pexeso, lodě, člověče nezlob se.
Programy budou splňovat následující podmínky:
- architektura klient-server, hru hrají hráči připojení prostřednictvím klienta (tj. ne jednotlivý hráči proti počítači)
- k serveru se může připojit (přihlásit) větší počet klientů, tj. pokud jsou hrou piškvorky pro dva, server umí párot hráče pro hru a najednou může hrát třeba 10 hráčů (5 her) a jeden čekat na protihráče.
- uživatelé v klientovi se k serveru přihlašují uživatelským jménem a případně heslem, hesla se mohou posílat nezašifrovaně,
- loguje se provoz na serveru a to do konzole a do souboru,
- klient má grafické uživatelské rozhraní,
- server umí vyřešit situaci, kdy se stejný uživatel hlásí podruhé,
- server a klient komunikují buď prostřednictvím textového protokolu, který si studenti sami navrhnou (kódování musí být univerzální tj. UTF-8, druhou variantou je využití serializace objektů.
Každá dvojice bude mít k dispozici úložiště na kitscm.vse.cz, kam se také úkol odvevzdává.
Hodnocení úlohy:
Body za semestrální úlohu získají studenti, pokud splní následující podmínky:
- Do konce pátého týdne semestru odevzdá každá dvojice popis aplikace (základní funkce, návrh obrazovek), návrh síťového protokolu jejich aplikace a návrh rozdělení práce v týmu a popis struktury úložiště. Součástí protokolu musí být i způsob ohlašování chyb. Zadání se odevzdává do odevzdávárny v InSISu.
- Nejpozději do konce 13. týdne výuky odevzdá tým hotovou aplikaci a to tak, že vytvoří v úložišti záložku hotoveReseni, která bude obsahovat funkční aplikaci a všechny náležitosti uvedené dále,
- Tým předvede funkci programu v termínech vypsaných prostřednictvím InSISu nebo v konzultačních hodinách.
Náležitosti, které musejí být v záložce hotoveReseni:
- Zdrojové texty s komentáři dodržující konvence.
- Adresář obsahující distribuci serveru (spustitelný jar, další potřebné archivy a soubory, readme atd.)
- Adresář obsahující distribuci klienta (spustitelný jar atd.)
- Uživatelská dokumentace serveru i klienta.
Body se odečítají za následující nedostatky:
Nedostatek | Možná bodová ztráta |
Zpoždění při odevzdání popisu protokolu | 3 body za každý započatý týden zpoždění |
Zpoždění při odevzdání úlohy | 3 body za každý započatý týden zpoždění |
Chybějící komentáře (pro javadoc) u tříd a metod | 1-10 bodů |
Nedodržení konvencí | 1-10 bodů |
Klienta nebo server nelze z distribuce spustit | 10 bodů |
V záložce chybí uživatelská příručka serveru nebo klienta | 10 bodů |
Aplikace nesplňuje podmínky specifikované v obecném zadání | 5 bodů za každou nesplněnou podmínku |
Neschopnost vysvětlit jakoukoli část kódu | 1-35 bodů |
Aplikace nemá logování | 15 bodů |