Skip to content
Snippets Groups Projects
Commit 7c393a24 authored by Ray Liu's avatar Ray Liu
Browse files

Added section for Modular structure and uses

parent 7742bcbc
No related branches found
No related tags found
No related merge requests found
\def \vhCurrentVersion {1.1}
\def \vhCurrentDate {08.04.18}
\newsetsimple \vhAllAuthorsSet {HG}
\def \vhCurrentVersion {1.2}
\def \vhCurrentDate {10.04.18}
\newsetsimple \vhAllAuthorsSet {HG|RL}
No preview for this file type
......@@ -39,6 +39,7 @@
\begin{versionhistory}
\vhEntry{1.0}{05.04.18}{HG}{created}
\vhEntry{1.1}{08.04.18}{HG}{algorithmic analysis added}
\vhEntry{1.2}{10.04.18}{RL}{Added Modular structure and uses}
\end{versionhistory}
\noindent\textit{By virtue of submitting this document we electronically sign and date that the work being submitted by all the individuals in the group is their exclusive work as a group and we consent to make available the application being developed through SE-2XB3 project, the reports, presentations, and assignments (not including my name and student number) for future teaching purposes.}
......@@ -119,6 +120,32 @@ Apache tomcat was used to create a webserver which uses the internal functionali
\subsection{Classes and Modules}
The implementation involved over 30 classes implemented in Java. Additional JavaScript and HTML files were used to create a sophisticated web-based user interface. For a description of each class and module used, JavaDoc documentation can be viewed by opening the \texttt{doc/index.html} folder in the submission archive or by visiting \url{http://trawl.schankula.ca/Trawl/doc}.
\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:\\
\begin{tabular}{| l | l |}
\hline
\textbf{Requirements} & \textbf{Modules}\\
\hline
Reading input file and dealing with corrupted data (Funcitonal)& WORM.java,FileProcessor.java \\
\hline
List of species by family, order, genus (Funcitonal)& KDT.java, RangeHelper.java, Quickselect.java \\
\hline
Historical distribution of records (Funcitonal) & Histogram.java, RedBlackTree.Java, BasicSearch.java \\
\hline
Geographical subgroupings (Funcitonal) & Graph.java, CC.java \\
\hline
Plotting/mapping tools & BasicSearch.java, CC.java (With Google Maps API) \\
\hline
Fast Speed (Non-functional) & KDT.java, Quickselect.java, and RedBlackTree.java \\
\hline
Low Memory Usage (Non-functional) & KDT.java, Quickselect.java, and RedBlackTree.java \\
\hline
Scalable (Non-functional) & KDT.java, Quickselect.java, and RedBlackTree.java \\
\hline
\end{tabular}.
\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.
......
......@@ -5,17 +5,18 @@
\contentsline {subsection}{\numberline {1.4}Final Product}{5}{subsection.1.4}
\contentsline {section}{\numberline {2}Implementation}{6}{section.2}
\contentsline {subsection}{\numberline {2.1}Classes and Modules}{6}{subsection.2.1}
\contentsline {subsection}{\numberline {2.2}Class Organization}{6}{subsection.2.2}
\contentsline {subsubsection}{\numberline {2.2.1}model Package}{6}{subsubsection.2.2.1}
\contentsline {subsubsection}{\numberline {2.2.2}data Package}{7}{subsubsection.2.2.2}
\contentsline {subsubsection}{\numberline {2.2.3}search Package}{7}{subsubsection.2.2.3}
\contentsline {subsubsection}{\numberline {2.2.4}sort Package}{7}{subsubsection.2.2.4}
\contentsline {subsubsection}{\numberline {2.2.5}graph Package}{7}{subsubsection.2.2.5}
\contentsline {subsubsection}{\numberline {2.2.6}utils Package}{7}{subsubsection.2.2.6}
\contentsline {subsubsection}{\numberline {2.2.7}web Package}{7}{subsubsection.2.2.7}
\contentsline {subsection}{\numberline {2.3}UML State Diagrams}{7}{subsection.2.3}
\contentsline {subsubsection}{\numberline {2.3.1}Main.java}{7}{subsubsection.2.3.1}
\contentsline {subsubsection}{\numberline {2.3.2}BioTree.java}{7}{subsubsection.2.3.2}
\contentsline {subsection}{\numberline {2.2}Modular Structure and Uses}{6}{subsection.2.2}
\contentsline {subsection}{\numberline {2.3}Class Organization}{6}{subsection.2.3}
\contentsline {subsubsection}{\numberline {2.3.1}model Package}{7}{subsubsection.2.3.1}
\contentsline {subsubsection}{\numberline {2.3.2}data Package}{7}{subsubsection.2.3.2}
\contentsline {subsubsection}{\numberline {2.3.3}search Package}{7}{subsubsection.2.3.3}
\contentsline {subsubsection}{\numberline {2.3.4}sort Package}{7}{subsubsection.2.3.4}
\contentsline {subsubsection}{\numberline {2.3.5}graph Package}{7}{subsubsection.2.3.5}
\contentsline {subsubsection}{\numberline {2.3.6}utils Package}{7}{subsubsection.2.3.6}
\contentsline {subsubsection}{\numberline {2.3.7}web Package}{7}{subsubsection.2.3.7}
\contentsline {subsection}{\numberline {2.4}UML State Diagrams}{7}{subsection.2.4}
\contentsline {subsubsection}{\numberline {2.4.1}Main.java}{7}{subsubsection.2.4.1}
\contentsline {subsubsection}{\numberline {2.4.2}BioTree.java}{7}{subsubsection.2.4.2}
\contentsline {section}{\numberline {3}Algorithmic Opportunities}{10}{section.3}
\contentsline {subsection}{\numberline {3.1}Quick Select}{10}{subsection.3.1}
\contentsline {subsection}{\numberline {3.2}kd Tree}{11}{subsection.3.2}
......
......@@ -11,4 +11,8 @@
& 08.04.18
& \listset {HG}
& algorithmic analysis added\\
1.2
& 10.04.18
& \listset {RL}
& Added Modular structure and uses\\
\end {longtable}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment