diff --git a/Doc/Design/MG/MG.pdf b/Doc/Design/MG/MG.pdf index 45c0a26cf63179436f1742ac87830211a177755b..182cac2c788509c6776b148412d33c15ad68bd92 100644 Binary files a/Doc/Design/MG/MG.pdf and b/Doc/Design/MG/MG.pdf differ diff --git a/Doc/Design/MG/MG.tex b/Doc/Design/MG/MG.tex index 8346e3d3149510296f67b1cda07204a6338d00b5..e159478cc07f20822a61a75ddc97e58f514c0cc9 100644 --- a/Doc/Design/MG/MG.tex +++ b/Doc/Design/MG/MG.tex @@ -32,9 +32,9 @@ \title{SE 3XA3: Module Guide\\Gifitti} \author{Team \#2, Gifitti - \\ Riley McGee, mcgeer \\ Pavle Arezina, arezinp \\ Nicolai Kozel, kozeln + \\ Riley McGee, mcgeer } \date{\today} @@ -55,11 +55,10 @@ \begin{tabularx}{\textwidth}{p{3cm}p{2cm}X} \toprule {\bf Date} & {\bf Version} & {\bf Notes}\\ \midrule -November 9th 2016 & 1.0 & Added Module Hierarchy\\ -November 9th 2016 & 1.1 & Added Module Decomposition\\ -November 11th 2016& 1.2& Added Section 2 and 6\\ -November 13th 2016& 2.0& Spelling and grammatical issues addressed\\ -... & ... & ... \\ +November 9th 2016 & 1.0 & Added Module Hierarchy \\ +November 9th 2016 & 1.1 & Added Module Decomposition \\ +November 11th 2016 & 1.2 & Added Section 2 and 6 \\ +November 13th 2016 & 2.0 & Spelling and grammatical issues addressed \\ \bottomrule \end{tabularx} \end{table} @@ -88,12 +87,19 @@ Our design follows the rules laid out by \citet{ParnasEtAl1984}, as follows: structures must obtain it by calling access programs belonging to that module. \end{itemize} +Gifitti is a software solution for allowing users with a varying knowledge base on image +manipulation, as well as technical experience with computers to be able to load, decompose, +and modify GIF images. \\ +The following document outlines the Module Guide for Gifitti ahdhering to the document +description above. + After completing the first stage of the design, the Software Requirements Specification (SRS), the Module Guide (MG) is developed~\citep{ParnasEtAl1984}. The MG specifies the modular structure of the system and is intended to allow both designers and maintainers to easily identify the parts of the software. The potential readers of this document are as follows: + \begin{itemize} \item New project members: This document can be a guide for a new project member to easily understand the overall structure and quickly find the @@ -271,7 +277,7 @@ selected. \subsection{Behaviour-Hiding Module (\mref{mBH})} \begin{description} -\item[Secrets:]The contents of the required behaviours. +\item[Secrets:]The contents of the required software system behaviours. \item[Services:]Includes programs that provide externally visible behaviour of the system as specified in the software requirements specification (SRS) documents. This module serves as a communication layer between the @@ -283,23 +289,25 @@ selected. \subsubsection{Image Processing Module (\mref{mIP})} \begin{description} -\item[Secrets:] The format and structure of GIF, TIFF, JPEG, PNG, and BMP image types. +\item[Secrets:] The format and structure of GIF, TIFF, JPEG, PNG, and BMP image types, + and Image Meta data parsing is handled by this module. \item[Services:]Converts the input images into a system usable form. -\item[Implemented By:] -- +\item[Implemented By:] ImageMagick.NET \end{description} \subsubsection{Image Loading Module (\mref{mIL})} \begin{description} -\item[Secrets:] Utilizes the Image Processing Module to read in image data and return a useable form. -\item[Services:] Converts system paths to images to a useable form in the software. -\item[Implemented By:] Gifitti +\item[Secrets:] Utilizes the Image Processing Module to read in image data and return a system useable form. +\item[Services:] Converts system paths of images to a useable form in the software. +\item[Implemented By:] Gifitti GIF Model Module (\mref{mGM}) \end{description} \subsubsection{GIF Model Module (\mref{mGM})} \begin{description} -\item[Secrets:] GIF images are represented in a Frame-By-Frame manner to establish easy handling of GIFs. the Images themselves are not strictly of the GIF format they are used to model the GIF image. +\item[Secrets:] GIF images are represented in a Frame-By-Frame manner to establish easy + handling of GIFs. The images themselves are represented as Bitmaps to keep \item[Services:] \begin{itemize} %Brute Force Formatting Leave here @@ -315,14 +323,19 @@ selected. \subsubsection{View-Model Module (\mref{mVM})} \begin{description} -\item[Secrets:] Links Views to the ViewModels using C Sharp partial class declarations to separate view-model, and view aspects of the system. +\item[Secrets:] Views are connected to View-Models via C\# partial class declarations. +View-Models are a C\# architecture, to allow Views to connect to their Model representation +with a loose coupling. This allows for Views and their Models to be developed independently +from each other, in a parallel fashion. The partial class connection of the View-Model and View +elements is what keeps Views and View-Models in the same Module, although they are +abstracted from each other. \item[Services:] Controls View elements, as well as system interactions by the user. \item[Services:] \begin{itemize} %Brute Force Formatting Leave here \end{itemize} \begin{itemize} -\item Controls View elements, as well as system interactions by the user. +\item Controls View elements, as well as system interactions by the user (View-Models). \item Essential link for View elements and Models \end{itemize} \item[Implemented By:] Gifitti @@ -344,19 +357,19 @@ selected. \subsubsection{GIF Transformation Module (\mref{mGT})} \begin{description} -\item[Secrets:] Frame-By-Frame Manipulation of GIF Models to obtain desired results. +\item[Secrets:] Frame-By-Frame Manipulation of GIF Models to obtain modified GIFs. \item[Services:] Converts GIFs into a new GIF based on desired transformations. Transformations include: Reset, Resize, Add Frame(s), Remove Frame(s), Rotate, Modify Speed ... -\item[Implemented By:] Gifitti +\item[Implemented By:] Gifitti \end{description} \subsubsection{Image Conversion Module (\mref{mIC})} \begin{description} -\item[Secrets:] Converts GIF Models into specific Image types. +\item[Secrets:] Converts GIF Models into specific Image types, using ImageMagick.NET \item[Services:] Allows a GIF in the system to be exported as a desired image type. Image types include GIF, TIFF, JPEG, PNG, and BMP. -\item[Implemented By:] Gifitti +\item[Implemented By:] Gifitti GIF Model Module, ImageMagick.Net (\mref{mGM}) \end{description} \section{Traceability Matrix} \label{SecTM}