next up previous contents
Next: Common Components Up: Specification Previous: User Database Data Format   Contents

System Specification

Figures 3.3 and 3.5 show the structure of the server and client programs. The components are described in more detail in section 3.2.


\begin{sidewaysfigure}
% latex2html id marker 529
[p]
\centering %%\includegrap...
.../server_uml.eps}
\caption{UML class diagram for the server}\end{sidewaysfigure}

Figure 3.4: UML class diagram showing exception classes used in the project
\includegraphics[width=\textwidth]{graphics/exceptions_uml.eps}

Throughout the code, errors are reported using exceptions. Unlike Java, C++ does not require exceptions to be derived from a standard base class, and in fact allows any type of object to be thrown. To make handling exceptions easier and more uniform, all exceptions extend a single base class. The obvious choice for this base-class would seem to be the STL exception class but as it does not allow the programmer to store any information in the class, it is not particularly useful. Therefore, all exceptions extend the class ned21_Exception which is modelled on the Java Exception class - i.e. it takes a string which can be used to describe why the exception was thrown or store another piece of user-data. The main exceptions used in the client and server are shown in figure 3.4.


next up previous contents
Next: Common Components Up: Specification Previous: User Database Data Format   Contents
Nathan Dimmock 2001-06-20