diff --git a/report/12_FutureWork.tex b/report/12_FutureWork.tex deleted file mode 100644 index a06d0c67024cb5fe22e32e470b8831198cd21202..0000000000000000000000000000000000000000 --- a/report/12_FutureWork.tex +++ /dev/null @@ -1,7 +0,0 @@ -%% ---------------------------------------------------------------- -%% Conclusions.tex -%% ---------------------------------------------------------------- -\chapter{FUTURE WORK} \label{Chapter: Future Work} - -\section{...} - TODO \ No newline at end of file diff --git a/report/1_Introduction.tex b/report/1_Introduction.tex index 7771dab2db2d609d4fd9910b889d398ed4b6e1a6..d0093b582e6f625485a9b42d2a802e62f88ad68e 100644 --- a/report/1_Introduction.tex +++ b/report/1_Introduction.tex @@ -1,12 +1,12 @@ %% ---------------------------------------------------------------- -%% 1_Chapter1.tex +%% 1_Introduction.tex %% ---------------------------------------------------------------- \chapter{INTRODUCTION} \section{Overview} Many businesses require their partners to comply with numerous and varied cyber security compliances, of which there are literally hundreds. Cyber supply chain risk management (CSCRM) differs from cyber security, by gaining a higher degree of governance over the company in question, and over its extended enterprise partners, such as all its suppliers and customers. Whereas cyber security only considers security of a technical nature, CSCRM attempts to encompass both managerial and human factors in preventing risks from disrupting IT systems\textquoteright\ operations. \cite{CSCRM} - The following section will give an overview of the project\textquoteright s goals and objectives. The subsequent sections will go on to talk about compliance in cyber security, cyber crime, supply chains and the impacts of security breaches on businesses, use cases, requirements, risks and functionality for the proposed application, followed by the proposed design of the implementation for the application. + The following chapter will give an overview of the project\textquoteright s goals and objectives. The subsequent chapters will go on to talk about compliance in cyber security, cyber crime, supply chains and the impacts of security breaches on businesses, use cases, requirements, risks and functionality for the proposed application, followed by the proposed design of the implementation for the application. \section{Problem} Keeping track of each company\textquoteright s compliance to a specific standard is a lengthy and potentially expensive task since it can be very difficult to maintain without the use of an external service or consultant. Due to the time and experience level required, it is unlikely to be a task a system administrator would be able to perform in addition to their other responsibilities, and a specialist will, in all likelihood, be too expensive for most SMEs. @@ -14,10 +14,10 @@ An automatically generated cyber security compliance form engine, could provide a low cost, time efficient solution for businesses that need a flexible, customisable way of tracking their partner\textquoteright s compliance - or their own compliance - with multiple standards. \section{Aim} - Ultimately, the goal of the project is to enable organisations to maintain and improve their cyber security by adhering to various compliance standards such as the guidelines set out by the UK government's Cyber Essentials scheme. The scheme aims to protect organisations from a range of attacks that could be carried out by relatively unskilled individuals - the most common cyber threat to businesses. \cite{CyberEssentials} + Ultimately, the goal of the project is to enable organisations to maintain and improve their cyber security by adhering to various compliance standards, such as the guidelines set out by the UK government's Cyber Essentials scheme. The scheme aims to protect organisations from a range of attacks that could be carried out by relatively unskilled individuals - the most common cyber threat to businesses. \cite{CyberEssentials} \subsection{Research} - A thorough review of relevant literature will be required to fully understand the problem and the existing solutions, if any exist. If they do, an assessment of possible improvements that could be made to those solutions should also be executed. A section detailing the analysis of the requirements for the project will be required to determine and gauge the feasibility and enable the planning and design of the application itself. This should include an assessment of likely risks to the project. + A thorough review of relevant literature will be required to fully understand the problem and the existing solutions, if any exist. If they do, an assessment of possible improvements that could be made to those solutions should also be executed. A chapter detailing the analysis of the requirements for the project will be required to determine and gauge the feasibility and enable the planning and design of the application itself. This should include an assessment of likely risks to the project. \subsection{Development and Testing} The implementation of the web application, in a manner which allows for easy maintenance, extensions and other improvements at a later date, is essential. To ensure the functionality of all parts of the application, a testing system should also be implemented - set up as continuous integration with regression testing. This software validation should be automated for consistency and to save time. diff --git a/report/3_BackgroundAndLiteratureReview.tex b/report/2_BackgroundAndLiteratureReview.tex similarity index 98% rename from report/3_BackgroundAndLiteratureReview.tex rename to report/2_BackgroundAndLiteratureReview.tex index a328f4bdf3fe92110c24b7aba5c22b2404046ae6..1e31164052ac9a7f4bcea2748ed804298394feb5 100644 --- a/report/3_BackgroundAndLiteratureReview.tex +++ b/report/2_BackgroundAndLiteratureReview.tex @@ -1,5 +1,5 @@ %% ---------------------------------------------------------------- -%% 2_Chapter2.tex +%% 2_BackgroundAndLiteratureReview.tex %% ---------------------------------------------------------------- \chapter{BACKGROUND AND LITERATURE REVIEW} @@ -43,13 +43,13 @@ At the time of writing, the product has multiple pricing tiers, starting from \$19 USD per month with 'Bronze' and ending up at a \$249 USD per month for 'Platinum', which includes \textquotedblleft Advanced data collection features \& priority supprot\textquotedblright. \cite{Formstack} There is also an 'Enterprise' edition, however pricing for that seems to be on a case-by-case basis. - \begin{figure} + \begin{figure}[H] \center \includegraphics[height=90mm, width=145mm]{../figures/FormstackUserInterface1} \caption{Formstack User Interface 1} \end{figure} - \begin{figure} + \begin{figure}[H] \center \includegraphics[height=90mm, width=145mm]{../figures/FormstackUserInterface2} \caption{Formstack User Interface 2} @@ -58,17 +58,17 @@ \subsection{Device Magic} With a broad focus that includes; job reports, inspections, audits, work orders and invoices, Device Magic is a data collection application that allows users to create and complete mobile forms. \cite{DeviceMagic} One of the key selling points is the ability to use all the features of the app when offline. It possesses an easy-to-use drag and drop user interface similar to that of Formstack and also allows users to preview forms in mobile format when creating them on a desktop. \cite{DeviceMagic} It also features the capability to capture rich data (such as images), and to automate workflows, for example, allowing a form submission to trigger another form to be sent. \cite{DeviceMagic} - \begin{figure}[h] + \begin{figure}[H] \center \includegraphics[height=100mm, width=145mm]{../figures/DeviceMagicUserInterface1} \caption{Device Magic User Interface 1} \end{figure} - \begin{figure}[h] + \begin{figure}[H] \center \includegraphics[height=100mm, width=145mm]{../figures/DeviceMagicUserInterface2} \caption{Device Magic User Interface 2} \end{figure} \subsection{Evaluation and Comparison of Existing Products} - The range of customisations available in Formstack and Device Magic make them a generic solution in comparison to the specialised nature of proposed in this project. CompForge will have a more streamlined interface and method for form creation. Compliance forms have a more straightforward and predictable structure, a fact which was taken advantage of during the design phase (see Section X). \ No newline at end of file + The range of customisations available in Formstack and Device Magic make them a generic solution in comparison to the specialised nature of proposed in this project. CompForge will have a more streamlined interface and method for form creation. Compliance forms have a more straightforward and predictable structure, a fact which was taken advantage of during the design phase (see chapter X). \ No newline at end of file diff --git a/report/2_ProjectGoals.tex b/report/2_ProjectGoals.tex deleted file mode 100644 index 0bcf5fbed4ea8cc8070cc72f436a6c07d5a4f3fd..0000000000000000000000000000000000000000 --- a/report/2_ProjectGoals.tex +++ /dev/null @@ -1,7 +0,0 @@ -%% ---------------------------------------------------------------- -%% 2_Chapter2.tex -%% ---------------------------------------------------------------- -\chapter{PROJECT GOALS} - -\section{Objectives} - \ No newline at end of file diff --git a/report/4_RequirementsAndAnalysis.tex b/report/3_RequirementsAndAnalysis.tex similarity index 97% rename from report/4_RequirementsAndAnalysis.tex rename to report/3_RequirementsAndAnalysis.tex index 3494b2a88dcf1f8af69369732b91c0827f996ed3..fe4a589f7389da4ccea0eaaac65eaee3f756bba6 100644 --- a/report/4_RequirementsAndAnalysis.tex +++ b/report/3_RequirementsAndAnalysis.tex @@ -1,14 +1,14 @@ %% ---------------------------------------------------------------- -%% 3_Chapter3.tex +%% 3_RequirementsAndAnalysis.tex %% ---------------------------------------------------------------- \chapter{REQUIREMENTS AND ANALYSIS} -This section will analyse the requirements of the proposed application and inform the design decisions that have been made. +This chapter will analyse the requirements of the proposed application and inform the design decisions that have been made. \section{Use Cases} - Use cases describe the various interactions between external actors and a given system as part of the Unified Modelling Language (UML). They are used in this section to define the interactions between users and the proposed application.\\\\ + Use cases describe the various interactions between external actors and a given system as part of the Unified Modelling Language (UML). They are used in this chapter to define the interactions between users and the proposed application.\\\\ - \begin{figure}[h] + \begin{figure}[H] \center \begin{tikzpicture} % components @@ -38,7 +38,7 @@ This section will analyse the requirements of the proposed application and infor \caption{Use Case Diagram 1} \end{figure} - \begin{figure} + \begin{figure}[H] \center \begin{tikzpicture} % components @@ -93,10 +93,11 @@ This section will analyse the requirements of the proposed application and infor \caption{Use Case Descriptions} \end{table} + \section{Functional Requirements} A functional requirement defines the intended behaviour of a component or part of a system. In the table below, the major functional requirements have been described:\\ - \begin{table}[h] + \begin{table}[H] \centering \begin{tabular}{|c|c|} \hline @@ -124,7 +125,7 @@ This section will analyse the requirements of the proposed application and infor \subsection{Functional Requirements Analysis} An importance level has been assigned to each of the functional requirements, in order to effectively plan the work to be done in order to create the minimum viable product. An additional table shows how the importance levels have been determined.\\ - \begin{table}[h] + \begin{table}[H] \centering \begin{tabular}{|c||c|c|c|c|c|} \hline @@ -141,7 +142,7 @@ This section will analyse the requirements of the proposed application and infor \caption{Importance Levels} \end{table} - \begin{table}[h] + \begin{table}[H] \centering \begin{tabular}{|c|c|c|c|} \hline @@ -166,10 +167,11 @@ This section will analyse the requirements of the proposed application and infor \caption{Functional Requirements Analysis} \end{table} + \section{Non-Functional Requirements} Non-functional requirements are high-level requirements, that need to be considered during the development decisions for the entire application.\\ - \begin{table}[h] + \begin{table}[H] \centering \begin{tabular}{|c|c|} \hline @@ -188,10 +190,11 @@ This section will analyse the requirements of the proposed application and infor \caption{Non-Functional Requirements} \end{table} + \section{Risk Analysis} The following risk analysis has been produced, based on the requirements above and potential risks to the application as a whole. A rating system, similar to that of the importance levels for the functional requirements, has been devised for the risk level.\\ - \begin{table}[h] + \begin{table}[H] \centering \begin{tabular}{|c||c|c|c|c|c|} \hline @@ -214,7 +217,7 @@ This section will analyse the requirements of the proposed application and infor \hfill\break - \begin{table}[h] + \begin{table}[H] \centering \begin{tabular}{|c|c|c|c|c|c|} \hline @@ -225,7 +228,7 @@ This section will analyse the requirements of the proposed application and infor \hline \makecell{Data\\loss} & Low & Catastrophic & \cellcolor{yellow}0.25 & Redundant database.\\ \hline - \makecell{Security\\breach} & Medium & Catastrophic & \cellcolor{yellow}0.5 & \makecell{Follow good practice for secure\\deveopment of cloud applications.}\\ + \makecell{Security\\breach} & Medium & Catastrophic & \cellcolor{yellow}0.5 & \makecell{Follow good practice for secure\\development of cloud applications.}\\ \hline \makecell{Function\\error} & High & Major & \cellcolor{red}0.5625 & \makecell{Implementation of test\\framework to ensure application\\is fully functional.}\\ \hline @@ -235,6 +238,7 @@ This section will analyse the requirements of the proposed application and infor \caption{Risk Analysis} \end{table} + \section{Functionality} Below is a series of diagrams which describe the flow of some of the primary pieces of functionality in the application. They show the logic behind various aspects of the application, as well as some of the infrastructure that will be in place. @@ -266,7 +270,7 @@ This section will analyse the requirements of the proposed application and infor \tikzstyle{line} = [draw, -latex'] - \begin{figure}[!h] + \begin{figure}[H] \center \begin{tikzpicture} % components @@ -300,7 +304,7 @@ This section will analyse the requirements of the proposed application and infor \pagebreak - \begin{figure}[!h] + \begin{figure}[H] \center \begin{tikzpicture} % components @@ -324,7 +328,7 @@ This section will analyse the requirements of the proposed application and infor \pagebreak - \begin{figure}[!h] + \begin{figure}[H] \center \begin{tikzpicture} % components @@ -348,7 +352,7 @@ This section will analyse the requirements of the proposed application and infor \pagebreak - \begin{figure}[!h] + \begin{figure}[H] \center \begin{tikzpicture} % components @@ -388,7 +392,7 @@ This section will analyse the requirements of the proposed application and infor minimum height=3em, node distance=12em, rounded corners] - \begin{figure}[!h] + \begin{figure}[H] \center \begin{tikzpicture}[to/.style={->,>=stealth',shorten >=1pt,semithick,font=\sffamily\footnotesize}] % components @@ -406,5 +410,6 @@ This section will analyse the requirements of the proposed application and infor \caption{Architecture} \end{figure} + \section{Validation} The testing and validation of the application will be done using Robot Framework. Robot Framework is a generic, open source, automation framework for acceptance testing \cite{Robot}, developed with Python. The framework has many libraries that extend its functionality, and one such library is Selenium, which will be used extensively to automatically drive the application\textquoteright s user interface. These tests will be written in conjunction with the application\textquoteright s features, and run alongside each check-in, as per the continuous integration methodology. \ No newline at end of file diff --git a/report/4_Design.tex b/report/4_Design.tex new file mode 100644 index 0000000000000000000000000000000000000000..f6f8e4256315cbe5960a9ee9d5b5674be60b6bb7 --- /dev/null +++ b/report/4_Design.tex @@ -0,0 +1,61 @@ +%% ---------------------------------------------------------------- +%% 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 + + Sign in / Sign up + + Dashboard + + TODO: Create a Form + + TODO: Add a Partner + + \subsection{Flow Charts} % Map journey + + 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. \ No newline at end of file diff --git a/report/5_Design.tex b/report/5_Design.tex deleted file mode 100644 index 69fdcda61f5cc4134ccdb51893c9d77c6b3d2a23..0000000000000000000000000000000000000000 --- a/report/5_Design.tex +++ /dev/null @@ -1,7 +0,0 @@ -%% ---------------------------------------------------------------- -%% 2_Chapter2.tex -%% ---------------------------------------------------------------- -\chapter{DESIGN} - -\section{...} - TODO \ No newline at end of file diff --git a/report/6_Implementation.tex b/report/5_Implementation.tex similarity index 57% rename from report/6_Implementation.tex rename to report/5_Implementation.tex index 887b71e6b9bf044116afef87def66babfe69ed57..ce6caf66b71350a8bf285d51653d0132c2b72229 100644 --- a/report/6_Implementation.tex +++ b/report/5_Implementation.tex @@ -1,5 +1,5 @@ %% ---------------------------------------------------------------- -%% 2_Chapter2.tex +%% 5_Implementation.tex %% ---------------------------------------------------------------- \chapter{IMPLEMENTATION} @@ -12,6 +12,52 @@ \section{Technologies} A variety of functionality was required to complete the application and this required the employment of a number of different technologies. Requirements included a fast and flexible frontend framework to reduce loading times and adapt quickly to changes from the backend, a realtime database to send those changes to the frontend, and good out-of-the-box security. + \begin{table}[H] + \centering + \begin{tabular}{|c|c|c|} + \hline + Tool/Library & Purpose & Justification\\ + \hline + \hline + \multicolumn{3}{|c|}{Application}\\ + \hline + \hline + \makecell{React} & \makecell{Front end development} & \makecell{Reuseable components,\\development speed,\\ reduced loading times}\\ + \hline + \makecell{React Router} & \makecell{Navigation between\\virtual pages} & \makecell{Reduced loading times}\\ + \hline + \makecell{Material-UI} & \makecell{Flexible pre-built\\components} & \makecell{Development speed}\\ + \hline + \makecell{create-react-app} & \makecell{Quick start\\for React apps} & \makecell{Development speed}\\ + \hline + \makecell{Firebase} & \makecell{Backend as a Service} & \makecell{Development speed,\\no need to\\setup and maintain\\own server}\\ + \hline + \makecell{Firebase Authentication} & \makecell{Authentication as a Service} & \makecell{Development speed,\\security}\\ + \hline + \makecell{Firestore} & \makecell{Serverless realtime\\NoSQL database} & \makecell{Development speed,\\realtime updates}\\ + \hline + \makecell{Firebase CLI} & \makecell{Utility for\\administering\\Firebase projects} & \makecell{Configuration of\\React-Firebase connection}\\ + \hline + \hline + \multicolumn{3}{|c|}{Report}\\ + \hline + \hline + \makecell{Latex} & \makecell{Document preparation system} & \makecell{Produces refined and\\polished PDF reports}\\ + \hline + \makecell{TikZ} & \makecell{Latex library for\\drawing and\\diagram creation} & \makecell{Creation of clean wireframes\\and UML diagrams}\\ + \hline + \hline + \multicolumn{3}{|c|}{Miscellaneous}\\ + \hline + \hline + \makecell{GitLab} & \makecell{Version control system} & \makecell{Project planning and\\code management}\\ + \hline + \makecell{Batch \& WSL} & \makecell{Scripting \& providing\\linux commands\\on Windows} & \makecell{Latex build and\\clean up script\\(see appendix)}\\ + \hline + \end{tabular} + \caption{Technologies and Justifications for Use} + \end{table} + \subsection{React} React is a JavaScript library specialising in the development of user interfaces, developed and maintained by Facebook. \cite{React} React was chosen as the medium for the frontend due to it's manipulation of the virtual DOM, which reduces loading times; reuseable components to increase development speed, and built-in defence against Cross Site Scripting attacks. Given that the core of the application involves user inputting data to forms, the latter is especially important. @@ -20,6 +66,9 @@ \subsubsection{Single Page Application and Routing} Another reason for using the create-react-app tool is that it initialises the application as a single-page application (SPA), which further reduces the loading time for users. As an SPA, the entire frontend is loaded when the user enters the application, and it is not necessary to load anything further, even when navigating the app. From there all the routing between the different pages is done by React Router, a library of React components that are used to navigate between pages in an SPA. However, everything in React is a component, including the \textquoteleft pages\textquoteright, and so the beauty of React Router is that it allows redirection between components, and as such, will only need to re-render the relevant component(s) that are being loaded to the screen, as opposed to the entire page. + + \subsubsection{Node.js} + Node is a free cross platform open source server environment that runs JavaScript. It was used in this project as a local testing environment as it allows the React project to run on a local development server. Node also manages a range of modules that the project was dependent on, including Material-UI, and the Firebase CLI. \subsection{Google Firebase} Firebase is Google's mobile application development platform. \cite{Firebase} It is used by many large applications such as Lyft, Venmo and Trivago for its multitude of services including hosting, authentication, database, storage and functions. @@ -28,4 +77,8 @@ The benefit of using Firebase's database (called Firestore) is that data sent to the database is immediately forwarded on to relevant interested instances of the application, so changes made by one user can update another user in close to real time. In addition, you can add multiple apps to the service and they will all share the same database, making maintaining the application across multiple platforms, like Web, iOS and Android far easier, however, this project is only a web application. \subsubsection{Serverless Architecture} - Serverless architecture is the model Firebase uses as its platform. It is not, in fact, serverless as the name suggests. It simply means that the need for server software and hardware management by the developer is erased, because the infrastructure is provided by a host, like Firebase. This allows for improved scalability for hosted applications. \ No newline at end of file + Serverless architecture is the model Firebase uses as its platform. It is not, in fact, serverless as the name suggests. It simply means that the need for server software and hardware management by the developer is erased, because the infrastructure is provided by a host, like Firebase. This allows for improved scalability for hosted applications. + +\section{Implementation Details} + + The implementation started with the installation and running of create-react-app to kickstart frontend development. From there Material-UI components were used and tweaked alongside custom code to construct the \textquotedblleft Dashboard\textquotedblright\, and \textquotedblleft Create a Form\textquotedblright\ pages. React Router was then used to \ No newline at end of file diff --git a/report/6_TestingAndSoftwareValidation.tex b/report/6_TestingAndSoftwareValidation.tex new file mode 100644 index 0000000000000000000000000000000000000000..60b8d941f4173d7d7de34759e3b19afe67a8942e --- /dev/null +++ b/report/6_TestingAndSoftwareValidation.tex @@ -0,0 +1,25 @@ +%% ---------------------------------------------------------------- +%% 6_TestingAndSoftwareValidation.tex +%% ---------------------------------------------------------------- +\chapter{TESTING AND SOFTWARE VALIDATION} + +\section{Testing} + TODO + + \subsection{Requirements testing} + + % List of requirements | Expected results | Acutal Outcome | Pass/Fail + + \subsection{User Testing} + + % Testing how intuitive the software is to use + +\section{Software Validation} + + \subsection{Robot Framework} + + \subsubsection{Integration} + + \subsubsection{Testing Writing} + + \subsubsection{Results} \ No newline at end of file diff --git a/report/9_Evaluation.tex b/report/7_Evaluation.tex similarity index 55% rename from report/9_Evaluation.tex rename to report/7_Evaluation.tex index 0a9bc195dce74e9523a82c4c32be89935accfb3f..897a18aca741b2b56c993196d3ddb112f314e55b 100644 --- a/report/9_Evaluation.tex +++ b/report/7_Evaluation.tex @@ -1,23 +1,12 @@ %% ---------------------------------------------------------------- -%% 2_Chapter2.tex +%% 7_Evaluation.tex %% ---------------------------------------------------------------- \chapter{EVALUATION} -\section{Design} - - \subsection{Design decisions} - - -\section{Implementation} - - \subsection{} - - -\section{Testing and Software Validation} - - \section{Comparison to Forerunner Projects} + % Maybe a table here? Subjective evaluation in the subsections below + \subsection{Example 1} \subsection{Example 2} @@ -25,4 +14,10 @@ \subsection{Example 3} -\section{Possible Improvement} \ No newline at end of file +\section{Result of Design Decisions} + + \subsection{design decision 1} + + \subsection{design decision 2} + + \subsection{design decision 3} \ No newline at end of file diff --git a/report/7_TestingAndSoftwareValidation.tex b/report/7_TestingAndSoftwareValidation.tex deleted file mode 100644 index 9400cf267179a3c3a969397810f05d7ba8a06d0c..0000000000000000000000000000000000000000 --- a/report/7_TestingAndSoftwareValidation.tex +++ /dev/null @@ -1,7 +0,0 @@ -%% ---------------------------------------------------------------- -%% 2_Chapter2.tex -%% ---------------------------------------------------------------- -\chapter{TESTING AND SOFTWARE VALIDATION} - -\section{...} - TODO \ No newline at end of file diff --git a/report/10_ProjectManagement.tex b/report/8_ProjectManagement.tex similarity index 53% rename from report/10_ProjectManagement.tex rename to report/8_ProjectManagement.tex index 9859bdf7ac358c42696579b76e0e50a7f0447aea..ac75778f576a3acbe168c6b3ecf7865741827150 100644 --- a/report/10_ProjectManagement.tex +++ b/report/8_ProjectManagement.tex @@ -1,7 +1,13 @@ %% ---------------------------------------------------------------- -%% 2_Chapter2.tex +%% 8_ProjectManagement.tex %% ---------------------------------------------------------------- \chapter{PROJECT MANAGEMENT} -\section{...} - TODO \ No newline at end of file +\section{Initial Schedule} + + \subsection{Gantt Chart} + + +\section{Problems/Obstacles} + +\section{Actual Performance} \ No newline at end of file diff --git a/report/8_ResultsAndAnalysis.tex b/report/8_ResultsAndAnalysis.tex deleted file mode 100644 index 3c38fa9c00bea8c7e1dd2fe7ba44e12f670529e4..0000000000000000000000000000000000000000 --- a/report/8_ResultsAndAnalysis.tex +++ /dev/null @@ -1,7 +0,0 @@ -%% ---------------------------------------------------------------- -%% 2_Chapter2.tex -%% ---------------------------------------------------------------- -\chapter{RESULTS AND ANALYSIS} - -\section{...} - TODO \ No newline at end of file diff --git a/report/11_Conclusions.tex b/report/9_Conclusions.tex similarity index 52% rename from report/11_Conclusions.tex rename to report/9_Conclusions.tex index e5f8fb8908e3a4c5ff588d03e0716664e3922d18..ddbfd79edb0a64e6f6d6ade80147f46aed954f2b 100644 --- a/report/11_Conclusions.tex +++ b/report/9_Conclusions.tex @@ -1,7 +1,8 @@ %% ---------------------------------------------------------------- -%% Conclusions.tex +%% 9_Conclusions.tex %% ---------------------------------------------------------------- -\chapter{CONCLUSIONS} \label{Chapter: Conclusions} +\chapter{CONCLUSION} \label{Chapter: Conclusions} -\section{...} - TODO \ No newline at end of file +\section{Potential Improvements} + +\section{Future Work} diff --git a/report/master.bbl b/report/master.bbl index 351cbd6900bd75c86a11401c3983c1802b1bc115..d8c4faede0c7b284e6a7d8e23cf7948654c8eecf 100644 --- a/report/master.bbl +++ b/report/master.bbl @@ -105,6 +105,9 @@ D.~Magic. [Online]. Available: \url{https://devicemagic.com/} R.~F. Foundation. [Online]. Available: \url{https://www.robotframework.org/} \BIBentrySTDinterwordspacing +\bibitem{Personas} +Usability.gov. + \bibitem{React} \BIBentryALTinterwordspacing Facebook. [Online]. Available: \url{https://reactjs.org/} diff --git a/report/master.bib b/report/master.bib index 86c26f79953d7c9b17e2c364440c5c8f9df001cd..9e865b6e5d2c587d865ec391d60e5e214253d09a 100644 --- a/report/master.bib +++ b/report/master.bib @@ -99,4 +99,8 @@ @misc{DeviceMagic, author = {Device Magic}, url = {https://devicemagic.com/} -} \ No newline at end of file +} + +@misc{Personas, + author = {Usability.gov}, + url = {https://usability.gov/how-to-and-tools/methods/personas.html} \ No newline at end of file diff --git a/report/master.pdf b/report/master.pdf index 87af01e662abf561a04808cdcb2e91451afa7cc7..0769f35e7c70cba27f17c7b616b88e770a514eca 100644 Binary files a/report/master.pdf and b/report/master.pdf differ diff --git a/report/master.tex b/report/master.tex index f1d86636960a4092316b5921bb7204fa7a0aeb9b..2b3eac3594f45bf38b4de0dc5ecfd82788f46733 100644 --- a/report/master.tex +++ b/report/master.tex @@ -32,7 +32,7 @@ %% ---------------------------------------------------------------- % Optional extra pages %\listofsymbols{ll}{$w$ & The weight vector} -%\acknowledgements{Here are some acknowledgements} +%\acknowledgements{Here are some acknowledgements} TODO %\dedicatory{To \dots} %% ---------------------------------------------------------------- @@ -42,17 +42,14 @@ \mainmatter \include{1_Introduction} -% \include{2_ProjectGoals} -\include{3_BackgroundAndLiteratureReview} -\include{4_RequirementsAndAnalysis} -\include{5_Design} -\include{6_Implementation} -\include{7_TestingAndSoftwareValidation} -\include{8_ResultsAndAnalysis} -\include{9_Evaluation} -\include{10_ProjectManagement} -\include{11_Conclusions} -\include{12_FutureWork} +\include{2_BackgroundAndLiteratureReview} +\include{3_RequirementsAndAnalysis} +\include{4_Design} +\include{5_Implementation} +\include{6_TestingAndSoftwareValidation} +\include{7_Evaluation} +\include{8_ProjectManagement} +\include{9_Conclusions} % \backmatter means that we've gone from 1,2,3,4,5 chapter numbering % to unnumbered bibliography/appendices. diff --git a/report/src/ecsgdp.cls b/report/src/ecsgdp.cls index a6f79e76df1d862e31891539762f0c20ef6b5303..e963e11ad5da330788c6e20707852a1644d386c3 100644 --- a/report/src/ecsgdp.cls +++ b/report/src/ecsgdp.cls @@ -102,6 +102,7 @@ \usepackage[scriptsize]{subfigure} \usepackage{booktabs} \usepackage{listings} +\usepackage{float} \usepackage{makecell} \usepackage[table]{xcolor} \usepackage{tikz}