Niet-functionele vereisten
Naast de functionele vereisten opgegeven door de klant, had deze ook nog een aantal niet-functionele vereisten waaraan het project moet voldoen.
Verplicht
- Platform: Het systeem moet draaien op Linux en het moet geprogrameerd zijn in C++. Het systeem moet compileren met compiler flags -std=c++98 en -Wall -Werror. Gebruik deze CMakeLists.txt als voorbeeld.
- Functionaliteit: De klant wil garanties over de aanwezige functionaliteit daarom moet de klant ook eigen invoerbestanden kunnen aanreiken. (Maak gebruik van de TinyXML library)
- Kwalitatief eindproduct:
- Testen: De klant verwacht een kwaliteitsvol systeem daarom moeten er automatische testen zijn. (Maak gebruik van de gtest library)
- Contracten: De klant verwacht een kwaliteitsvol systeem daarom moeten er contracten in het systeem zitten. (Maak hiervoor gebruik van DesignByContract.h)
- Kwalitatieve code:
- Code Conventions: Volg de C++ code conventions.
- Het systeem moet een object-georienteerd design hebben.
- Het product moet ontwikkeld worden volgens de afgesproken planning.
- Er moet voldoende documentatie geschreven zijn voor het systeem. Deze documentatie moet compatibel zijn met het Doxygen programma.