From bfe98b586dd0a0a47f8e7fd46bc6757761967e8b Mon Sep 17 00:00:00 2001
From: Asad Mansoor <mansoa2@mcmaster.ca>
Date: Thu, 10 Nov 2016 09:11:12 -0500
Subject: [PATCH] Module Guide - Updated section 4

---
 Doc/Design/ModuleGuide.pdf | Bin 77236 -> 78166 bytes
 Doc/Design/ModuleGuide.tex |  46 ++++++++++++++++++++++++++-----------
 2 files changed, 33 insertions(+), 13 deletions(-)

diff --git a/Doc/Design/ModuleGuide.pdf b/Doc/Design/ModuleGuide.pdf
index 93aa62dfdeb358fa411f23d1a645e382305388b8..10c3549ae924e2a5440887b1de076899d49f57be 100644
GIT binary patch
delta 12514
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
J@k0{f{{b%W!|(tA

delta 11519
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

diff --git a/Doc/Design/ModuleGuide.tex b/Doc/Design/ModuleGuide.tex
index a78291d..a13ea8b 100644
--- a/Doc/Design/ModuleGuide.tex
+++ b/Doc/Design/ModuleGuide.tex
@@ -162,10 +162,13 @@ actually be implemented.
 
 Since Blaze-Brigade consists of purely software, M1 does not apply to the system. The software never interfaces with the hardware itself. The lowest level of interfacing with the software is the OS.
 
+%Section 4
 \section{Connection Between Requirements and Design} \label{SecConnection}
 The design of the system is intended to satisfy the requirements developed in
 the SRS. In this stage, the system is decomposed into modules. The connection
-between requirements and modules is listed in Table \ref{TblRT}.
+between requirements and modules is listed in Table \ref{TblRT} and Table \ref{TblNFRT}.
+
+%Section 5
 \section{Module Decomposition} \label{SecMD}
 Modules are decomposed according to the principle of ``information hiding'' proposed by \citet{ParnasEtAl1984}. 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
@@ -225,6 +228,8 @@ selected.
 \item[Services:]Retrieves user input and updates the current state of the software. From here, the module sends the current state to the output formatting module.
 \item[Implemented By:]GameState.cs
 \end{description}
+
+%Section 6
 \section{Traceability Matrix} \label{SecTM}
 This section shows two traceability matrices: between the modules and the
 requirements and between the modules and the anticipated changes.
@@ -236,22 +241,37 @@ requirements and between the modules and the anticipated changes.
 \toprule
 \textbf{Req.} & \textbf{Modules}\\
 \midrule
-R1 & \mref{mHH}, \mref{mInput}, \mref{mParams}, \mref{mControl}\\
-R2 & \mref{mInput}, \mref{mParams}\\
-R3 & \mref{mVerify}\\
-R4 & \mref{mOutput}, \mref{mControl}\\
-R5 & \mref{mOutput}, \mref{mODEs}, \mref{mControl}, \mref{mSeqDS}, \mref{mSolver}, \mref{mPlot}\\
-R6 & \mref{mOutput}, \mref{mODEs}, \mref{mControl}, \mref{mSeqDS}, \mref{mSolver}, \mref{mPlot}\\
-R7 & \mref{mOutput}, \mref{mEnergy}, \mref{mControl}, \mref{mSeqDS}, \mref{mPlot}\\
-R8 & \mref{mOutput}, \mref{mEnergy}, \mref{mControl}, \mref{mSeqDS}, \mref{mPlot}\\
-R9 & \mref{mVerifyOut}\\
-R10 & \mref{mOutput}, \mref{mODEs}, \mref{mControl}\\
-R11 & \mref{mOutput}, \mref{mODEs}, \mref{mEnergy}, \mref{mControl}\\
+FR1 & \mref{mHH}, \mref{mIF}, \mref{mOF}\\
+FR2 & \mref{mM}, \mref{mGS}\\
+FR3 & \mref{mIF}, \mref{mOF}\\
+FR4 & \mref{mIF}, \mref{mOF}, \mref{mM}\\
+FR5 & \mref{mM}\\
 \bottomrule
 \end{tabular}
-\caption{Trace Between Requirements and Modules}
+\caption{Trace Between Functional Requirements and Modules}
 \label{TblRT}
 \end{table}
+
+\begin{table}[H]
+\centering
+\begin{tabular}{p{0.2\textwidth} p{0.6\textwidth}}
+\toprule
+\textbf{Req.} & \textbf{Modules}\\
+\midrule
+NFR1 & \mref{mHH}, \mref{mBH}, \mref{mOF}\\
+NFR2 & \mref{mSD}, \mref{mIF}\\
+NFR3 & \mref{mSD}, \mref{mM}\\
+NFR4 & \mref{mSD}, \mref{mM}\\
+NFR5 & \mref{mSD}, \mref{mM}, \mref{mGS}\\
+NFR6 & \mref{mHH}, \mref{mBH}\\
+NFR7 & \mref{mOF}\\
+NFR8 & \mref{mHH}, \mref{mSD}\\
+\bottomrule
+\end{tabular}
+\caption{Trace Between Non-Functional Requirements and Modules}
+\label{TblNFRT}
+\end{table}
+
 \begin{table}[H]
 \centering
 \begin{tabular}{p{0.2\textwidth} p{0.6\textwidth}}
-- 
GitLab