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