-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathrequirementsSpec.tex
457 lines (410 loc) · 28.8 KB
/
requirementsSpec.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
\documentclass{article}
\usepackage{graphicx}
\graphicspath{ {images/} }
\newcommand{\tab}[1]{\hspace{.1\textwidth}\rlap{#1}}
\begin{document}
\begin{titlepage}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}} % Defines a new command for the horizontal lines, change thickness here
\center % Center everything on the page
%----------------------------------------------------------------------------------------
% LOGO SECTIONS
%----------------------------------------------------------------------------------------
\includegraphics[width=\textwidth]{front-page}
%----------------------------------------------------------------------------------------
% TITLE SECTION
%----------------------------------------------------------------------------------------
\HRule \\[0.4cm]
{ \huge \bfseries Software Requirements Specification}\\[0.4cm] % Title of your document
\HRule \\[1.5cm]
%----------------------------------------------------------------------------------------
% MEMBERS, TEAM NAME SECTION
%----------------------------------------------------------------------------------------
\begin{minipage}{0.5\textwidth}
\begin{flushleft} \large
\emph{Members:}\\% add your name and student here
Peter Boxall 14056136
Orisha Orrie 13025199
Nsovo Baloyi 12163262
Elizabeth Bode 14310156
Robert Trankle 15092454
Nikki Constancon 15011713
Ernst Eksteen 28398603
\end{flushleft}
\end{minipage}
~
\begin{minipage}{0.4\textwidth}
\begin{flushright} \large
{ \huge \bfseries Team Fuchsia }% Title of document
{\large \today}\\
{\large v0.1}
\end{flushright}
\end{minipage}\\[4cm]
\end{titlepage}
\newpage
\section{Introduction}
\subsection{Purpose}
{The purpose of this document is to put forth a description detailing the NavUP system. It will explain the main purpose of the system, as well as additional subsystems, the interface of these systems, and what they will and will not do, as well as the constraints. Providing a detailed requirement specification of the system as a whole. It is intended for the Client, as well as developers who will integrate the system.}
\subsection{Scope}
{NavUP will be a mobile device application, that will provide the basic functionalities of a navigation system. The system will only interoperate and function on the Hatfield main campus of the University of Pretoria.\\\\NavUp will provide a means to navigate the main campus of the University of Pretoria. It will thus provide users choices with regards to which routes they wish to take to reach there destination, taking into account factors such as pedestrian and vehicle traffic as well as providing routes that cater to users who may suffer physical disabilities. NavUP's goal is to provide a personalised, efficient and convenient means of traversing the university's Hatfield campus. The system will also provide additional information regarding useful points of interests such as bathroom locations, as well as provide information to the user regarding the rich history of the University of Pretoria.\\\\The navigation system will be required to constantly be connected the the campus's WI-FI and will continually send up and down stream information to a server with regards to users location and destination. The server will be required to calculate the route and factor in additional information as set up by the user and there needs. The server must also be able to handle a high volume of concurrent users and provide them all with there required data. Location tracking will be achieved through the use of Wi-Fi.\\\\This document intends to outline various aspects of the NavUP system. To do this, the various system interfaces are discusses as well as the systems operations are discussed. The system functional and auxiliary requirements are listed and from these a series of use cases are derived and formulated. With the primary cases being investigated and broken down for better analyses. }
\subsection{Definitions, Acronyms, and Abbreviations}
\begin{itemize}
\item UP : University of Pretoria
\item UI : User Interface
\item POI : Points of Interest
\item C.R.U.D : Create Read Update Delete
\item GPS: Global Positioning System
\item Wi-Fi: is a technology that allows for wireless local area networking
\item MB: Megabyte
\item Wayfinding: All means by which people and animals orientate and navigate themselves through physical space
\end{itemize}
\subsection{References}
{IEEE Recommended Practice for Software Requirements SpeciÞcations}
\subsection{Overview}
\section{Overall Description}
\subsection{Product Perspective}
\subsubsection{System Interface}{
\textbf{User Interface}:\\\\
Functionality:\\\\
The functionality of the user interface is to allow the user to interact with the system. Through this aspect of the system the user can perform all the functions necessary to use NavUP. Through this the user is able to login and register an account, use the navigation and tracking systems as well as well as view map information and become apart of the gamification of the application.\\\\
How functionality achieves requirements:\\\\
The user interface allows the functionality of the application to meet the requirements. The user is able to navigate to the necessary location through searching and navigating via this UI, fulfilling the navigation requirement. The user is able to be displayed information of disability access, generic map information and even receive notifications through this UI, fulfilling these requirements.\\\\
\textbf{Hardware Interface}:\\\\
Functionality:\\\\
The functionality of this system interface is the physical hardware that allows software operation. The hardware in this case is specifically the mobile devices upon which the NavUP application will be installed.\\\\
How functionality achieves requirements :\\\\
This hardware will allow the achievement of the requirements by facilitating the operation of the application. The user will be able to press the physical device screen in order to operate the navigation and other such features of the application. The networking hardware of the components such as the wireless fidelity infrastructure within the device allows for communication to the system server. It is through this communication that the user's location can be determined and the system can function.\\\\
\textbf{Software Interface:}\\\\
Functionality:\\\\
The functionality of the software interface is to facilitate the communication between the hardware infrastructure of the devices running the application and the actual NavUP application. An example of this would be the operating system of the device in use. The operating system would allow the application to make use of the Wi-Fi infrastructure and communicate the necessary information to the application. This would enable the device to communicate with the server and perform the necessary requests.\\\\
How functionality achieves requirements :\\\\
This would allow the achievement of the requirements as the communication of the application to the system server is vital to the operation of the NavUP system. By allowing communication over Wi-Fi the user's location can be determined, accounts can be logged in or created, information regarding heat mapping and general information can be retrieved by the user, fulfilling this requirement. Notifications can also be received by the users application through the Wi-Fi communication , fulfilling the this requirement .}
\subsubsection{User Interface}
{All users will have access to the navigation system when the application is launched.
They will be able to enter a destination and follow the path to location/lecture hall specified(see Figure 1).
The users will also be able to select preferences such as disability access path, which will enable them to travel the path with ease.\\\\
The users will be able to view information each building, giving them additional historic information about the building(Figure 2). If they do not not wish to
view information about the building, they must simply not click on the information symbol available.
They will also be allowed to view each room. The navigation system will allow the users to select points of interest, such as food dispensaries,
smoking locations, and toilets. They will be able to turn on and off indicators for these points of interest(see Figure 3).
The users may access a view to heat paths on the map(see Figure 4), to show an increase in crowd population in a dense area.\\\\
For the account user interface, the registered students and employees will be able to login to their account, using their clickUP information(see Figure 5).
There will be certain accounts with administrative privileges that will be able to create and delete accounts, as deemed necessary.\\\\
The application will be able to send users notifications, on events that occur on campus as well as a report of information, such as the amount of
steps walked per week. Students and employees will be able to remove push notifications, if they do not wish to receive them from the system.
\begin{figure}[h]
\centering
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=2cm]{Navigation}
\caption{Navigation System}
\end{minipage}%
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=2cm]{BuildingInfo}
\caption{Building Information}
\end{minipage}%
\\
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=2cm]{MapIcon}
\caption{POI Indicators}
\end{minipage}%
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=2cm]{heatmaps}
\caption{Heatmaps}
\end{minipage}%
\\
\begin{minipage}{.5\textwidth}
\centering
\includegraphics[width=2cm]{LogIn}
\caption{Login}
\end{minipage}%
\end{figure}
}
\subsubsection{Hardware Interface}
{There will be a hardware interface with the routers across the campus in order to triangulate the position of the user and to create heat maps. The actual Wi-Fi interface between the phone and Wi-Fi will be abstracted by the phone and will be managed by the actual underlying operating system on the phone.}
\subsubsection{Software Interface}
\input{softwareInterface}
\subsubsection{Communications Interface} \begin{itemize}
\item Users using the web will use HTTP/HTTPS protocol.
\end{itemize}
\subsubsection{Memory}
{The mobile application will use a significant amount of space, roughly 300MB, which is due to graphics as well as the mobile application being able to use Wi-Fi as well as GPS to navigate it's location. Primary memory(RAM) will use 200MB on average, based on how long the application is being used.}
\subsubsection{Operations}
{The user will require a series of normal and special case operations to be fulfilled by the system. The user will use the system in normal case operations that comprise of finding the users location, finding a location the user is interested in, including locations such as toilets, and navigating, tracking and guiding the user to these locations. The user will also use the system to save locations of interest for future use as well as check extra information for improved path finding, such as pedestrian traffic, distance or vehicle traffic.\\\\
The system will consist of three modes of operation. One being a general case of functionality, available to all users, that provides wayfinding capabilities to all users of the system. The other being a logged in operational mode which allows access to additional features such as account management, route sharing and rating and data storage. The final mode being a special mode of operation that will be an administrative mode. This mode allows the user to generate and manage events, update and maintain the system as well as generate notifications that will be received by other users.\\\\
Special modes of operation will involve the system pushing user specific information to the user device that may interest them or might require a route recalculation by the system due to environmental changes, such as pedestrian traffic flow or event related locations of interest as set out by the administrative user. Another special mode of operation is the systems ability to generate interesting facts for the user about locations found on campus, which will be useful to generals users who have an interest in history, while not being intrusive to users who do not care for the operation.\\\\
The general user will primarily use the system in en-route to various locations. This will primarily take place between periods of the University time table. Other periods will primarily see the system being used by students with an off period or by visitors and lecturers. The system will see unattended periods of operations while a user is actually walking and being tracked by the system. Further unattended periods of operations will occur when the Server pushes relevant data regarding events and user preferences to the user device.\\\\
The user will be able to view live heat maps of the main campus which allow them to gauge where the most pedestrian traffic is and avoid those routes. The system will also provide a mode which highlights features such as wheelchair ramps and other facilities that enable an easier means of navigating the campus. The system will by default select routes that it has calculated to be the most direct, however the user may choose to set the route navigation into other modes which select the highest ranked routes, the scenic routes or the users saved routes. Points of interest can also be searched for and ordered and filtered by rating and distance.\\\\
The system will provide a registered user the option to either save there data, such as preferences, locally on the device or remotely on the server. The system will also provide administrative users methods for backing up the system and several different forms of readouts, reports and tabulations regarding the state and use of the system which can be gathered at an annual or intermittent period and backed up for analysis.}
\subsection{Product Functions} {The main function of the NavUP system will be to show students how to get around campus in the shortest possible way. Thus, this will entail using Wi-Fi, mobile networks and possibly GPS to navigate around Hatfield campus. The basic functions will include: }
\begin{itemize}
\item A heat map to show pedestrian traffic.
\item Providing the shortest path from point A to point B.
\item A distance tracker to show users the distance left until they reach their destination.
\item A specialized route for disabled users.
\item Points of interest around the university such as restaurants, ATMs, the church, toilets and Botanical Gardens.
\item Essential Areas such as bathrooms, parking areas and smoking areas.
\item Exact locations of buildings as well as the lecture halls that they consist of.
\item A "Where am I?" function to show users exactly what is around them.
\item Historical backgrounds of buildings and different parts of campus.
\item A login page for users who would like access to more of the personalised functions. Theses functions will be saving locations for future use, a game which rewards users when they reach a certain distance and saving user preferences and interests.
\item A random facts generator for distance rewards.
\item Switching between Wi-Fi, mobile data and GPS to navigate around campus.
\item A timetable function for users to input their timetables and show exactly where their lectures will take place with reminders.
\item Provide administrative security for login functionality.
\item Rating system and review for restaurants and parking.
\item Route options such as scenic routes and fastest route.
\item Ability to share directions as well as estimated time of arrival.
\end{itemize}
\subsection{User Characteristics}
{There will be three main types of users interacting with the system, namely a general user, a registered user and an administrator. Each of these types will have different rights and access to the system and thus their own requirements.\\\\}
{The general user will use the system to navigate from their location to another specified location. They will need minimal skill in order to utilise the application, including the ability to connect to the Wi-Fi and indicate intended location. The general user will have restricted usage of the in-app game and certain privileges that require a user profile. They will not require any additional expertise or education to function the application.\\\\}
{The registered user will have the same access as the general user plus access to the in-app game and more personalized search options. They will not require any technical skills sans the ones mentioned for the general user. They will also require minimal expertise and education since the app will be designed for easy to understand user interaction.\\\\}
{The Administrative user will require additional permissions in order to create events and update information. They will need a higher level of expertise to manage and collect information on up-coming and relevant events. They will need minimal education but rather a general knowledge of the campus and the history of the campus. Their technical skill must include the ability to use the application functions to add and edit information and events.\\\\}
\subsection{Assumptions and Dependencies}
\input{Assumptions}
\section{Specific Requirements}
\subsection{Functional Requirements}
\input{funcReq}
Most of the use cases follow all the same functional requirements specification. Figure 6 shows a high-level overview of the system. \\
\includegraphics[width=\textwidth]{System_Use_Case_Diagram}
\begin{center}
Figure 6: System Use Case
\end{center}
\subsubsection{Navigation}
\input{Navigation}
\subsubsection{Map}
\input{Map}
\subsubsection{Account}
\input{Account}
\subsubsection{Game}
\input{Game}
\subsubsection{Reporting}
\input{Reporting}
\subsubsection{Notification}
\input{Notification}
\subsubsection{Actor-System Interaction Models}
{
\noindent\textbf{UC: Find Current Location}
\begin{flushleft}
\begin{tabular}{ |p{7cm}|p{7cm}| }
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Precondition:} The user should have their Wi-Fi or mobile data connected} \\
\hline
\textbf {Actor: General User} & \textbf{System: Navigation}\\
\hline
& 0: System displays map on main page\\
\hline
1:TUCBW General User clicks on "Find current location" button & 2: System displays search bar with the location name as well as a pin on the location \\
\hline
3: TUCEW General user confirms that it has the correct location & \\
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Postcondition: None}} \\
\hline
\end{tabular}
\end{flushleft}
\begin{center}
Table 1: Find Current Location Use Case Narrative
\end{center}
\noindent\textbf{UC: Get Directions To Location}
\begin{flushleft}
\begin{tabular}{ |p{7cm}|p{7cm}| }
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Precondition:} The user should have their Wi-Fi or mobile data connected} \\
\hline
\textbf {Actor: General User} & \textbf{System: Navigation}\\
\hline
& 0: 0: TUCBW System displays map on main page\\
\hline
1:TUCBW General User clicks on "Find location" button & 2: System displays search bar \\
\hline
3: User types in intended location & 4: System displays map with pinned location \\
\hline
5: User clicks on "Navigate To" button & 6:System asks user to input starting location \\
\hline
7: User inputs starting location & 8:System searches for starting location \\
\hline
9: User selects confirm button & 10: System displays map to location \\
\hline
11:TUCEW User follows directions & \\
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Postcondition: None}} \\
\hline
\end{tabular}
\end{flushleft}
\begin{center}
Table 2: Get Directions To Location Use Case Narrative
\end{center}
\noindent\textbf{UC: Track User Location}
\begin{flushleft}
\begin{tabular}{ |p{7cm}|p{7cm}| }
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Precondition:} The user must have followed the steps to get directions from their current location to a specified location} \\
\hline
\textbf{Actor: General User} & \textbf{System: Navigation} \\
\hline
& 0. TUCBW The system displays the campus map indicating users chosen route. \\
\hline
1. TUCBW general user clicks the Start Navigation button on the map page& 2. The system displays sets of directions until the user arrives at their specified location or they terminate the instruction\\
\hline
3. User follows the sets of directions as they are displayed until they reach their chosen destination& 4. The system notifies the user that the destination has been reached\\
\hline
5. TUCEW the general user confirms that the destination has been reached& \\
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Postcondition: None}} \\
\hline
\end{tabular}
\end{flushleft}
\begin{center}
Table 3: Track User Location Use Case Narrative
\end{center}
\bigskip
\bigskip
\noindent\textbf{UC: View Traffic}
\begin{flushleft}
\begin{tabular}{ |p{7cm}|p{7cm}| }
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Precondition:} The user must have followed the steps to get directions from their current location to a specified location} \\
\hline
\textbf{Actor: General User} & \textbf{System: Navigation} \\
\hline
& 0. TUCBW The system displays the campus map indicating users chosen route. \\
\hline
1. General user selects the option to display traffic en-route & 2. The system updates the displayed map to indicate highly congested area in red\\
\hline
3. TUCEW the general user sees the areas of high congestion marked on the map in red.&\\
\hline
\multicolumn{2}{|p{\textwidth}|}{\textbf{Postcondition: None}} \\
\hline
\end{tabular}
\end{flushleft}
}
\begin{center}
Table 4: View Traffic Use Case Narrative
\end{center}
\subsubsection{Traceability Matrix}
{
\noindent\textbf{Functional Requirements List}\\\\
RQ1 System shall direct user from current location to desired location\\
RQ2 System shall inform user about building information\\
RQ3 The system shall point out high population areas\\
RQ4 The system shall allow user to search for various points of interest\\
RQ5 The system shall allow the administrator to create/update/delete users\\
RQ6 The system shall show the user various routes to the current destination\\
RQ7 The system should allow the user to login and logout\\
RQ8 Set user preferences\\
RQ9 The system shall allow the administrator to assign account privileges\\
RQ10 The system should allow users to rate routes, parking lots and locations\\
RQ11 The system should generate random facts as well as UP related facts\\
RQ12 The system should allow the user to input their timetable and any events/activities it should also provide an ETA based on the timetable\\
RQ13 Update activities/events\\
RQ14 Provide route options based on pedestrian traffic and preferences\\
RQ15 Game mechanics based on movement (earning of points based on distance travelled and pick-ups)\\
RQ16 The system shall allow the user to customize the input to create a unique route\\
RQ17 The system shall allow the administrator to create/update/delete locations\\
RQ18 The system shall allow the administrator to create/update/delete notifications\\
RQ19 The system shall generate annual, systems and statistical reports\\
RQ20 Provide real-time directions and pathfinding\\
RQ21 The system should allow the user to share their routes\\\\
\noindent\textbf{Use Cases List}\\\\
UC1 Generate annual report\\
UC2 Generate systems report\\
UC3 Generate statistical report\\
UC4 View report\\
UC5 CRUD event/activity\\
UC6 Create notification\\
UC7 View notification\\
UC8 Update notification\\
UC9 Calculate points according to distance travelled\\
UC10 Calculate bonus points\\
UC11 View scoreboard\\
UC12 CRUD user accounts\\
UC13 Find current location\\
UC14 Track user location\\
UC15 Generate directions and pathfinding\\
UC16 Find specific route\\
UC17 Find quickest route\\
UC18 View directions to location\\
UC19 View traffic\\
UC20 View building/room\\
UC21 Find location\\
UC22 Find point of interest\\
UC23 CRUD locations\\
UC24 Generate facts\\
UC25 Share route\\
UC26 Rate route\\
UC27 Rate parking\\
UC28 Rate location\\
UC29 View location rating\\
UC30 View route rating\\
UC31 View parking rating\\
UC32 Create timetable\\
UC33 View timetable\\
UC34 Calculate ETA based on timetable\\
UC35 Login user\\
UC36 Logout user\\
\newpage
%\vfill
%\begin{figure}[!h]
%\vspace{-3cm}
\includegraphics[scale=0.60]{Traceability_Matrix_1}
%\caption{Traceability Matrix for Use Cases 1 to 19}
%\end{figure}
\begin{center}
Table 5: Traceability Matrix for Use Cases 1 to 19
\end{center}
%\begin{figure}[!h]
%\vspace{-3cm}
\includegraphics[scale=0.60]{Traceability_Matrix_2}
%\caption{Traceability Matrix for Use Cases 20 to 36}
%\end{figure}
\begin{center}
Table 6: Traceability Matrix for Use Cases 20 to 36
\end{center}
%\vfill
\clearpage
}
\subsection{Performance Requirements}
{Performance requirements bullet list:\\\\
One can segregate the performance requirements of the Nav-UP system up into two components. These two components are:\\\\
1. User -Client Application Performance requirements\\\\
This component of the system with specific regards to performance requirements is all aspects of performance relating to the user experience on the client-side. This refers to the user experience with regards to mobile application operation or web client operation.\\\\
2. System- Server Performance Requirements\\\\
This component of the system, with specific regards to the performance requirements, is all aspects involved with communication and operation on a server level. This refers to all interactions with the server running Nav-UP.\\\\
Client Application Requirements\\\\
1. Software needs to be responsive and lightweight enough to run on mobile hardware.\\\\
2. The networking aspect of the software should not hamper the UI thread of the application while in use to ensure a smooth user experience.\\\\
3. During User navigation the Navigation system will need to perform in real time showing turns as taken and arrival as necessary.\\\\
4. The data usage should be kept to a minimum as to not overload the campus Wi-Fi infrastructure being used for non-navigational purposes.\\\\
Server Performance Requirements\\\\
1. The system has to be able to handle a capacity of around 30, 000 concurrent users sending, receiving and processing information.\\\\
2. The system storage capacity should be able to scale to the information retention of 30 000 accounts and locations and be able to retrieve them in a timely manner.\\\\
3. The System will need to be able to concurrently handle account creation.\\\\
4. The system should be able to calculate and display a heat-map in the correct timing as to ensure an as accurate shortest path calculation as possible for user navigation.\\\\
}
\subsection{Design Constraints}
\subsection{Software System Attributes}
{
The software system will have the following attributes:
\\\\
Availability: The system and its functions will be available across campus as long as there is an Internet connection with the campus Wi-Fi.
\\\\
Reliability: The system will provide directions to the correct location, from the correct location, consistently. The system will always be up-to-date and will give correct reliable information regarding the campus and the events on the campus.
\\\\
Portability: The system will be able to function across a multitude of interfaces. Therefore, it will be able to port between Android and iOS with ease.
\\\\
Maintainability: The application will be able to be extended easily with new functionality. There will also be a good test environment to reduce an make it easy to find system errors.
\\\\
Security: The system will guarantee security of the users personal login information. It will also keep the preferences collected from the user secure and private. The Administrator will also have a secure login account to prevent unauthorized access.}
\subsection{Other Requirements}
\begin{itemize}
\item The System shall save routes created by the user.
\item The system shall save the distance travelled, and score it for game purposes.
\item The system shall save the distances into a leader-board database
\item The system shall send notifications to the users based on events which occur.
\item The system shall allow the user to store data (Preferences etc.)
\item The system shall allow the user to rate routes/parking/points of interests
\end{itemize}
\end{document}