\chapter{Introduction} 
\label{chapterIntroduction}

\section{Purpose and scope of this document} \label{sec:PurposeAndScope}

This document contains the functional design for the \ProgramName, a user interface for the DAM Engine. The DAM Engine is designed for the automated calculation of the strength of dikes.
DAM was developed by Deltares with and for STOWA for all water authorities.
This document describes requirements and functional design of \ProgramName. 
What will actually will be implemented depends on the requirements of the clients using this \ProgramName.
If some functionality is not (yet) needed, then that part does not need to be implemented. 

\subsection{Future options}
\label{sec:FutureOptions}
As mentioned above this document contains some options that will not be implemented in the first release, but are foreseen to be implemented in the near future. Therefore although sometimes a reference will be made to these options, these will not be described in detail yet.

That applies in particular to the following subjects:
\begin{itemize}
	\item NWO module("Niet Waterkerende Objecten")
	\item WBI failure mechanisms (Piping, Macrostability)
\end{itemize}
\section{Other system documents} 
\label{sec:SystemDocuments}

The full documentation on the program comprises the following documents.

\renewcommand{\arraystretch}{1.3}

\begin{table}[H]
%\caption{xxx}
%\label{xxx}
\begin{tabular}{|p{40mm}|p{\textwidth-40mm-24pt}|} \hline
\textbf{Title} & \textbf{Content} \\ \hline
\ProgramName - Architecture Overall \newline \citep{DAM_ArchitectureOverall} & Description of overall architecture of the \ProgramName and its components. \\ \hline
\ProgramName- Functional Design\newline  \citep{DAMEngine_FunctionalDesign} & Description of the requirements and functional design. \\ \hline
\ProgramName - Technical Design\newline \citep{DAMEngine_TechnicalDesign}& Description of the implementation of the technical design of \ProgramName. \\ \hline
\ProgramName - Technical documentation \newline \citep{DAMEngine_TechnicalDocumentation} & Description of the arguments and usage of different software components, generated from in-line comment with Doxygen. \\ \hline
\ProgramName - Test Plan \newline \citep{DAMEngine_TestPlan} & Description of the different regression and acceptation tests, including target values.  \\ \hline
\ProgramName - Test Report \newline \citep{DAMEngine_TestReport} & Description of the test results (benchmarks and test scripts). \\ \hline
Architecture Guidelines \newline \citep{ArchitectureGuidelines} & Architecture guidelines that are used by DSC-Deltares. \\ \hline
\end{tabular}
\caption{\small \ProgramName system documents.}
\label{table-SystemDocuments}
\end{table}

\section{Document revisions}
\label{sec:DocumentRevisions}
\subsection{Revision 0.1}
\label{sec:Revision01}
First concept of the document.

\chapter{Non-functional requirements}

\chapter{Functional requirements}

Main purpose of the \ProgramName
The \ProgramName can import data and combines this data to make geotechnical calculations. After calculations (made by DAM Engine) the \ProgramName shows the results and make analyzation possible.

\section{User story Open project}
As a geotechnical engineer I want to open existing projects to see what data is used and which calculations are made with what result.

\section{User story Data format}
As a geotechnical engineer I want to store my data in a predescribed format, so that I can reuse the data. The design of this functionality is described in \autoref{sec:USDataFormat}.

\section{User story GIS Data combination}
As a geotechnical engineer I want to combine GIS data per location, so that I don't have to do that by hand. The design of this functionality is described in \autoref{sec:DataExtraction}

\section{User story Soil Data combination}
As a geotechnical engineer I want to combine subsoil with surfaceline per location, so that I don't have to draw 2D geometries. The design of this functionality is described in \autoref{sec:GeometryGeneration}

\section{User story DAM Live configuration}
As a geotechnical engineer I want to make a DAM Live configuration, so that I can make calculations with DAM engine, using sensors for the input of piezometric lines. The design of this functionality is described in \autoref{sec:DAMLiveConfiguration}.

\section{User story Data display}
As a geotechnical engineer I want to see the data per location in tables, cross section and map view, so I can check the data before calculation. The design of this functionality is described in \autoref{sec:USDataDisplay}.

\section{User story Data editing}
As a geotechnical engineer I want to edit the data per location, so I can adept the data before calculation. The design of this functionality is described in \autoref{sec:USDataEdit}.

\section{User story Calculation settings}
As a geotechnical engineer I want to see and be able to adept the calculations settings, so I can decide what calculations are made.
The design of this functionality is described in \autoref{sec:USCalcSettings}.

\section{User story Display results}
As a geotechnical engineer I want to see the results of the calculations of the DAM Engine, so I can evaluate the calculations.
%The design of this functionality is described in \autoref{sec:USResultsDisplay}.

\section{User story Export data}
As a geotechnical engineer I want to export data as tables (CSV-format) and/or shapes, so I can use the data for other purposes.
The design of this functionality is described in \autoref{sec:USDataExport}.



