Skip to content
Snippets Groups Projects
Commit d672c4cd authored by 's avatar
Browse files

design

parent 8315ff7b
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -146,26 +146,24 @@ change.
\begin{description}
\item[\refstepcounter{acnum} \actheacnum \label{acHardware}:] The specific
hardware on which the software is running.
\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The format of the
initial input data.
\item ...
\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The Operating System of which the software interfaces with.
\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The new High Score after any previous record is broken.
\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The speed of the snake when the user changes the difficulty level.
\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] Storing the score to the text file after each game is played.
\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The theme of the playground is changed whenever the user decides changes the theme mode.
\item[\refstepcounter{acnum} \actheacnum \label{acInput}:]Default settings for inputs.
\end{description}
\subsection{Unlikely Changes} \label{SecUchange}
The module design should be as general as possible. However, a general system is
more complex. Sometimes this complexity is not necessary. Fixing some design
decisions at the system architecture stage can simplify the software design. If
these decision should later need to be changed, then many parts of the design
will potentially need to be modified. Hence, it is not intended that these
decisions will be changed.
\begin{description}
\item[\refstepcounter{ucnum} \uctheucnum \label{ucIO}:] Input/Output devices
(Input: File and/or Keyboard, Output: File, Memory, and/or Screen).
\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] There will always be
a source of input data external to the software.
\item ...
(The system assumes mouse, keyboard and screen are available).
\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] The snake is responsive to the directions button under any circumstances.
\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] The goal of the system: To provide user with entertainment and a fun game to play.
\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] There will always be a source of input data external to the software.
\end{description}
\section{Module Hierarchy} \label{SecMH}
......@@ -177,7 +175,11 @@ actually be implemented.
\begin{description}
\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Hardware-Hiding Module
\item ...
\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Input Format Module
\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Snake Module
\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Food Module
\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Themes Module
\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Software Design Module
\end{description}
......@@ -191,19 +193,13 @@ actually be implemented.
{Hardware-Hiding Module} & ~ \\
\midrule
\multirow{7}{0.3\textwidth}{Behaviour-Hiding Module} & ?\\
& ?\\
& ?\\
& ?\\
& ?\\
& ?\\
& ?\\
& ?\\
\multirow{4}{0.3\textwidth}{Behaviour-Hiding Module} & Input Format Module\\
& Snake Module\\
& Food Module\\
& Themes Module\\
\midrule
\multirow{3}{0.3\textwidth}{Software Decision Module} & {?}\\
& ?\\
& ?\\
\multirow{1}{0.3\textwidth}{Software Decision Module} & HighScore Module\\
\bottomrule
\end{tabular}
......@@ -251,15 +247,14 @@ 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{Hardware Hiding Modules (\mref{mHH})}
\subsection{Hardware Hiding Modules }
\begin{description}
\item[Secrets:]The data structure and algorithm used to implement the virtual
hardware.
\item[Services:]Serves as a virtual hardware used by the rest of the
\item[Secrets:] The implementation of buttons and mouse and displaying game on screen.
\item[Services:] Serves as a virtual hardware used by the rest of the
system. This module provides the interface between the hardware and the
software. So, the system can use it to display outputs or to accept inputs.
\item[Implemented By:] OS
software. So, the system can take inputs from the keyboard and mouse, and then further output it on the screen.
\item[Implemented By:] Pygame library and OS
\end{description}
\subsection{Behaviour-Hiding Module}
......
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