Skip to content
Snippets Groups Projects
Commit fe11cc6e authored by Trandinh Thien's avatar Trandinh Thien
Browse files

Updated section 5

parent 1a60dae4
No related branches found
No related tags found
No related merge requests found
No preview for this file type
File added
......@@ -134,7 +134,7 @@ The following design decisions are unlikely to change because they affect many m
\item [\refstepcounter{mnum} \mthemnum \label{mIF}:] Menu Module
\item [\refstepcounter{mnum} \mthemnum \label{mOF}:] Model Module
\item [\refstepcounter{mnum} \mthemnum \label{mM}:] GUI Module
\item [\refstepcounter{mnum} \mthemnum \label{mGS}:] Game State Module
Module
\end{description}
\begin{table}[H]
......@@ -168,29 +168,33 @@ between requirements and modules is listed in Table \ref{TblRT} and Table \ref{T
\section{Module Decomposition} \label{SecMD}
Modules are decomposed according to the principle of "information hiding" proposed by Parnas. The \emph{Secrets} field in a module decomposition is a brief statement of the design decision hidden by the module. The \emph{Services} field specifies \emph{what} the module will do without documenting \emph{how} to do it. For each module, a suggestion for the implementing software is given under the \emph{Implemented By} title. If the entry is \emph{OS}, this means that the module is provided by the operating system or by standard programming language libraries. Also indicate if the module will be implemented specifically for the software. \\
Module Decomposition summary TODO \\
Only the leaf modules in the hierarchy have to be implemented. If a dash (\emph{--}) is shown, this means that the module is not a leaf and will not have to be implemented. Whether or not this module is implemented depends on the programming language selected.
\subsection{System Architecture}
\subsection{Hardware Hiding Modules (\mref{mHH})}
\subsection{Underlaying Architecture}
\subsection{Leaf-level Decomposition}
\subsection{Summary of Leaf Modules}
\subsubsection{Hardware Hiding Modules (\mref{mHH})}
\begin{description}[leftmargin=1.6cm]
\item[Secrets:]The algorithms and format structures used to provide an interface between hardware and software.
\item[Services:]This module provides an interface for users to interact with the software. The module will convert the raw input data from the mouse into data that can be used by controller to update the current game state. The view will also be implemented through this, allowing for users to correctly interact with the software.
\item[Includes:] MouseHandler.cs
\item[Implemented By:] Mouse, \mref{mBH}
\item[Implemented By:] Mouse, MouseHandler, \mref{mBH}
\end{description}
\subsection{Behaviour-Hiding Module(\mref{mBH})}
\subsubsection{Behaviour-Hiding Module(\mref{mBH})}
\begin{description}[leftmargin=1.6cm]
\item[Secrets:]The behavioural process of the software.
\item[Services:]This module functions as the controller in MVC, and handles all the software decision making of Blaze Brigade. This includes all visible behavior of the system specified in the SRS. Hence any changes to the SRS will hereby result in modifications to this module.
\item[Includes:] Game.cs
\item[Implemented By:] Computer.
\item[Implemented By:] Computer, game.cs
\end{description}
\subsection{Software Decision Module}
\subsubsection{Software Decision Module(\mref{mSD})}
\begin{description}[leftmargin=1.6cm]
\item[Secrets:] The design decisions that determine \emph{how} the software updates.
......@@ -198,31 +202,32 @@ Only the leaf modules in the hierarchy have to be implemented. If a dash (\emph{
\item[Implemented By:] \mref{mBH}
\end{description}
\subsubsection{GUI Module (\mref{mOF})}
\subsubsection{GUI Module (\mref{mM})}
\begin{description}[leftmargin=1.6cm]
\item[Secrets:] How and when what is displayed.
\item[Services:] This module is the main View in MVC, and displays data to users in the form of graphics according to what the current game state is.
\item[Implemented By:] Draw methods
\item[Includes] \mref{mGS}, Buttons.cs
\item[Implemented By:] Draw methods, \mref{mGS}, Buttons.cs
\end{description}
\subsubsection{Model Module (\mref{mM})}
\subsubsection{Menu Module (\mref{mIF})}
\begin{description}[leftmargin=1.6cm]
\item[Secrets:] The design decisions that implement the structure of the software.
\item[Services:]Includes data structures that update based on user interaction.
\item[Implemented By:] Game.cs, Graph.cs, Node.cs, Unit.cs, Weapon.cs, Player.cs
\item[Secrets:]The navigational structure for different menu options.
\item[Services:]This module handles the main menu layout, navigation and controls.
\item[Implemented By:] \mref{mOF}
\end{description}
\subsubsection{Menu Module (\mref{mGS})}
\subsubsection{Model Module (\mref{mOF})}
\begin{description}[leftmargin=1.6cm]
\item[Secrets:]The navigational structure for different menu options.
\item[Services:]This module handles the main menu layout, navigation and controls.
\item[Implemented By:] \mref{mOF}
\item[Secrets:] The design decisions that implement the structure of the software.
\item[Services:]This module is the main Model in MVC, and contains most the structure of the game. Most of the elements in this module are simply data, with most methods simply being a C\# property (combination of getter and setter).
\item[Implemented By:] Game.cs, Graph.cs, Node.cs, Unit.cs, Weapon.cs, Player.cs
\end{description}
% =============== Section 6 ===============
\section{Traceability Matrix} \label{SecTM}
......
......@@ -11,7 +11,7 @@ using System.Windows.Forms;
namespace View
{
/// <summary>
/// How to Play Menu 3 is opened with next is clicked on HowToPlay Menu 2
/// How to Play Menu 3 is opened with next is clicked on HowToPlay2 Menu
/// </summary>
public partial class HowToPlay3 : Form
{
......
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