-
James D'Alton authoredJames D'Alton authored
4_Design.tex 4.42 KiB
%% ----------------------------------------------------------------
%% 4_Design.tex
%% ----------------------------------------------------------------
\chapter{DESIGN}
The design of the web application will be based on the requirements established in the previous chapter, coupled with standards for user friendly interfaces and the user experience.
\section{Conducting User Research}
In order to design a good user interface, one needs to take into account who the user is and what kind of interface will suit them.
In an SME, any one person could be in charge of compliance, from an employee in IT to someone in an administration role or even the CEO. In light of the fact that the application must allow for both technical and non-technical users, the design must be as accessible as possible. In order to ensure accessibility, the application will be designed with non-technical users in mind, and to that end will also be tested and evaluated by them.
\subsection{Competitor Research}
Existing products have been evaluated in chapter 2. As previously stated, the design of these products is unncessecarily bloated for the purpose of producing cyber security compliance forms. Such products are designed to generate many other form types, whereas this product capitalises on the simple structure of compliance to streamline the design of the tool needed to build them.
\subsection{User Personas}
Creating personas allows the production of dependable, authentic representations of the target user group, in order to perform stakeholder analysis. \cite{Personas}
\begin{itemize}
\item
Alan is a 35 year old head of IT at a a small company. He is very capable when it comes to maintaining the company's network and cyber security, but does not know anything about the level of security at other organisations in his company's supply chain. He knows that those organisations could be compromised and used as an attack vector to infiltrate the company network and steal valuable data or do other serious harm.
\item
Emily is a 22 year old computer science graduate, tasked with producing some cyber security best practices for her company to follow, in order for it to fend off the basic attacks that could be carried out by an unskilled individual. She knows about cyber security best practices from some of her modules at university, but is not sure where to start with producing compliance forms for her company to follow.
\item
Bob is a 57 year old systems administrator at a medium sized company that has just undergone a merger with another firm. He is tasked with combining the cyber security compliance standards that both of the old companies were using into a single standard for the new company to follow.
\end{itemize}
\section{User Flows and Wireframes}
This section will illustrate the flow of the application from beginning to end, similar to the flow charts in chapter 3, but with wireframes representing the UI and how each page will transition to another.
\subsection{Wireframes} % 2D outline of single page
TODO: Sign in / Sign up wireframe
TODO: Dashboard wireframe
TODO: Create a Form wireframe
TODO: Add a Partner wireframe
\subsection{Flow Charts} % Map journey
TODO: Minified versions of the wireframes with arrows and generally flowiness...
\section{Material-UI}
Material-UI is a popular React UI framework for faster and easier web development. It has a massive suite of components that help with building a fully customisable UI, it is incredibly well documented and it receives regular monthly updates from its developers. For these reasons, Material-UI has been used for many of the components in the project in order to increase development speed.
\section{Minimum Viable Product}
The Minimum Viable Product (MVP) is the encapsulation of the core features that allow an application to function. While not fully functional, it will have the necessary functionality to allow the application to work at its most basic level, and it provides a solid starting point for a project to work towards.
In the case of CompForge, the core features consist of the ability for a user to create and store a form, and share it with another user. Features like creating persistent accounts, authentication, adding other users as partners were integrated after this first iteration was completed.