@@ -212,7 +212,27 @@ The Hardware-Hiding Module is Handled in full by the C Sharp Sytem Libraries, an
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}. Below is a simple
description of the design decisions and how they impact the major functional
and non functional requirements.
\begin{enumerate}
\item User can provide input and get ouput from the system (i.e open and save a GIF). \\\\ This requirement is satisfied through the use
of buttons/file dialogs and is handled primary through C\#'s built in libraries as well as the Image Loading Module and Image Conversion Module.
\item Once a GIF is loaded by the user, it must playback in the window and playback must be able to be stopped and started by the user. \\\\
This requirement is primarily handled by the GIF Model Module. To ensure this requirement is met, the design is being implemented so that the GIF Model
will handle the frames and functions of playing back the GIF.
\item The user must be able to modify the GIF including clipping, frame injection, and possibly add text or other make modifications. \\\\
This requirement is met through the GIF Transformation Module. This module contains all the possibilities of modifications that can be applied to the GIF.
These functions are seperated from the GIF Model Module to provide us with the ability to make changes to the model without affecting the behavior
of the system and having to modify all of the transformation functions. These functions will also be implemented through the use of buttons and click gestures.
\item In general, the system must operate at a high performance rate. This includes a high frame rate during playback and fast/responsive UI elements and load times. \\\\ Some design decisons that were made to ensure this were how the modules were decomoposed and the choice of image framework to work with.
The system is decomposed in such a way to ensure the code is efficient and any algorithms used operate at an optimal rate. The UI elements and file manipulation methods were specifically chosen to be the fastest possible to ensure a positive experience for the user.
\item The program should have a clean UI design and easily usable by people older than 10 years old. \\\\ Design decisions were made during the implementation of the system to ensure this requirement. These included the size of the buttons, the font size/colors, and the general layout. The original application (GIF Viewer)
had a fairly usable interface already, so we simply expanded off of this but attempted to make it even simpler and cleaner by eliminating unneccesary and confusing submenus. Instead, every button serves a single purpose.
\end{enumerate}
\section{Module Decomposition}\label{SecMD}
...
...
@@ -401,11 +421,11 @@ the modules. It can be seen that the graph is a directed acyclic graph
system, and modules in the higher level of the hierarchy are essentially simpler