Niet-functionele vereisten

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.