Co by měla obsahovat specifikace zápočtového programu?
Téma (název)
Vstupy, resp. ovládání programu. Je-li vstupem nějaký text či čísla, je dobré se zamyslet nad formátem tohoto vstupu a tuto představu napsat již do specifikace.
Přičemž detaily jdou později pozměnit. Pokud je program naopak např. nějaká hra, tak se zde očekává popis ovládání této hry (klávesy, myš apod.).
Výstupy, resp. chování programu. To znamená, co bude program dělat a jak se to uživatel dozví.
Hrubá myšlenka toho, jak to chcete řešit.
Dává-li to smysl a máte-li o tom představu, tak určitý odhad toho, jak bude program "dobrý" či "rychlý".
Tedy například u hry Mastermind program vyřeší každý vstup do 10 tahů. Nebo implementovaný algoritmus bude mít časovou složitost O(n2).
Zde neslibujte nemožné, ale zároveň se cení, když máte chuť vytvořit něco dobrého/nového apod. Nicméně zároveň zde můžete rovnou předem napsat určitá omezení,
jako například, že nezaručujete optimální/vyhrávající strategii apod.
Především si dejte pozor na dvě věci - pokud toho naslibujete ve specifikaci málo, pravděpodobně Vám ji neuznám (je dobré se předem dohodnout na tom, co všechno by to mělo umět -
nebo poslat specifikaci včas). No a pokud toho naslibujete naopak moc, je to možná ještě horší. Neboť všechno z toho, co je slíbeno ve specifikaci, musí v programu být. =)
Proč vůbec psát specifikaci
Proč tolik zdánlivých formatit? Jelikož zápočtový program je jedna z hlavních částí zápočtu a měl by pěkně završit vše, co jste se v semestru naučili, není dobré ho podceňovat.
A jelikož jeho vytvoření netrvá hodinu ani den, ale více, je dobré předem vědět, že jdete správnou cestou. Že Vaše veškerá práce nebude zbytečná. Že pokud splníte podmínky, které
si předem vymyslíte (resp. se mnou dohodnete), tak splníte i zápočtový program. Je to tedy určitá pojistka pro Vás i pro mne.