@@ -57,7 +57,7 @@ The individual contributions of each team member are described below. Subteam B
\midrule
Lawrence Chung
& Head of Room Booking \newline Subteam B Member
& Implemented the depth first search and connected components algorithms. \\
& Implemented the depth first search, connected components algorithms, client code for connected components, Graph building, Node class and Bag class. \\
\midrule
Haley Glavina
& Meeting Minutes Administrator \newline Subteam B Member
...
...
@@ -65,7 +65,7 @@ The individual contributions of each team member are described below. Subteam B
\midrule
Winnie Liang
& Project Log Administrator \newline Subteam A Member
& Implemented the module responsible for parsing out data to create related objects, implemented taxonNode ADT. Led user interface development, set up tomcat files and directory structure, handled communication between the Google Maps APIs and JavaScript code. Overlooked project log entries.\\
& Implemented the module responsible for parsing our data to create related objects, implemented taxonNode ADT. Led user interface development, set up tomcat files and directory structure, handled communication between the Google Maps APIs and JavaScript code. Overlooked project log entries.\\
\midrule
Ray Liu
& TA \& Professor Liaison \newline Subteam A Member
...
...
@@ -124,6 +124,9 @@ The implementation involved over 30 classes implemented in Java. Additional Java
\subsection{Modular Structure and Uses}
The requirements in the Requirement Specification Document are achieved by applying modularity and seperation of concerns, which will be shown in the UML diagrams. The table below traces back to requirements for each class interface:\\
Scalable (Non-functional) & KDT.java, Quickselect.java, and RedBlackTree.java \\
\hline
\end{tabular}.
\end{tabular}
\end{adjustbox}
\subsection{Class Organization}
An overview of the modules included in the \textit{TrawlExpert} is shown in figure \ref{fig:UML}. The \textit{Trawl Expert} implementation efforts were divided into two subteams: Subteam A and Subteam B. Tasks were assigned so as to maximize the parallelization of the development process. As a biproduct, modules were designed to uphold the principles of information hiding, modularity and separation of concerns.
An overview of the modules included in the \textit{TrawlExpert} is shown in figure \ref{fig:UML}. The \textit{Trawl Expert} implementation efforts were divided into two subteams: Subteam A and Subteam B. Tasks were assigned so as to maximize the parallelization of the development process. As a byproduct, modules were designed to uphold the principles of information hiding, modularity and separation of concerns.
Using Java packages, related modules were grouped together to form packages of closely-related logic, as well as to ensure that modules were organized and easy to find. This section describes a package-level description of each one and justification for this modular decomposition.
\subsubsection{model Package}
This class represents the model of the \textit{TrawlExpert} platform. It provides wrapper hooks to functionality deeper inside the codebase, which allows different views to be used separately from the internal functionality. Two such views are the command-line interface in \texttt{main/Main.java} and the tomcat server. This design allows any such view to be built upon the foundation of the model, without needing to edit any underlying code.
This class represents the model of the \textit{TrawlExpert} platform. It provides wrapper hooks to function deeper inside the codebase, which allows different views to be used separately from the internal functionality. Two such views are the command-line interface in \texttt{main/Main.java} and the web interface through the tomcat server. This design allows any such view to be built upon the foundation of the model, without needing to edit any underlying code.
\subsubsection{data Package}
The top-level data package contains three main types of modules: abstract data types (e.g. Record, TaxonNode, Date), abstract objects (e.g. BioTree, DataStore) and supporting modules such as WormsAPI.