\section{Requirements}
%And here the other classes of requirements...

The requirements are classified in five groups:
\begin{itemize}
\item Requirements related to the statistical model. (5.1)
\item Requirements related to data files. (5.2)
\item Requirements related to the simulation algorithm and its parameters. (5.3)
\item Requirements related to output the program must produce. (5.4)
\item	Requirements related to error conditions. (5.5)
\item Non-functional requirements (5.6)
\end{itemize}

Each requirement has an \textit{id}, \textit{name}, a longer \textit{description}, \textit{rationale}, \textit{priority}, \textit{stability} and \textit{source}.

The id:s are used when referring to the requirements from other documents (for example from the system design document). The name of the requirement states shortly what the requirement is about. The description is a longer explanation of the requirement and the rationale includes reasons why the requirement is important. The source tells who suggested including the requirement.

The requirements are divided into the following categories by priority: 
\begin{itemize}
\item Essential: Implies that the software will not be acceptable unless these requirements are provided in an agreed manner.
\item Conditional: Implies that these are requirements that would enhance the software product, but would not make it unacceptable if they are absent.
\item Optional: Implies a class of functions that may or may not be worthwhile. This gives the supplier the opportunity to propose something that exceeds the SRS.
\end{itemize}
[IEEE98]

The requirements are divided into the following categories by stability:
\begin{itemize}
\item Stable: The requirement is unlikely to change.
\item Unstable: The requirement may change in the future. The software architecture could be designed to be flexible enough to adapt to the possible changes.
\end{itemize}

%	? \input{req_execution.tex} ? 
\input{content/req_model.tex}
\input{content/req_data.tex}
\input{content/req_sim.tex}
\input{content/req_output.tex}
\input{content/req_other.tex}
