The next thing we need to do
after the methodologies chapter is Requirements. Since we have selected SDLC,
then we can specify the requirements. In this chapter, we will discuss all the
requirements for this type of product.
Gathering & Analysis
of Portable Low-Cost Facial Recognition
In order to collect all the
requirements of this product, it had to be considered the purpose of the
product, which is as face recognition. Since the product is quite unique, the
research needs to be conducted along with the similar products / solutions
discussed in chapter 2.6. However, since there is no user, then an independent
consideration has been made for the requirements by using a mindmap, as
presented in the figure below. Along with the entire requirements, this
research had to decide if those requirements are quite realistic to be
accomplished by an exclusive developer in available time.
Figure 1 Requirements Mind map
Legal Issues of
Portable Low-Cost Facial Recognition
Some legal issues were appeared
and needed to be addressed since they might leave the product to be vulnerable
for any type of legal action. One of the legal issues was in the usage of API.
The table below defines a complete comparison of the entire licenses which will
be integrated into this software.
Software
|
License
|
Monetization
Permitted?
|
Non-Profit
Distribution Permitted?
|
Python
|
Python Software
Foundation License or PSF
|
Yes
|
Yes
|
Nest Python API
or Python Nest
|
Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 Unported License
|
No
|
Yes
|
Raspian
Operating System (Based off Debian Linux)
|
GNU General
Public License or GPL
|
Yes (in case of
there will be source code included)
|
Yes
|
PyGal
|
GNU LGPL v3+
|
Yes (in case of there
will be source code included)
|
Yes
|
SQLite
|
Public Domain
|
Yes
|
Yes
|
Flask
|
Flask/BSD
License
|
Yes
|
Yes
|
Pushbullet
Python API, Envirophat-Library
|
MIT
|
Yes
|
Yes
|
Due to there are no exact plans
to monetize the product, then there is a concern around some of the licenses
that do not permit this. On the other hand, if this will be established as
remunerated software, then it will be compulsory to open source the sections
which are approved under GPL or else the complete software relying on the
mixture of licensed utilized. In case if this open-sourcing of these sections
were not perfect, then the replacement needs to be conducted with non-GPL
options.
This product also has another
legal issue around managing the user data. It is important to make sure that
the user’s data must always be protected. For this reason, the user’s data will
be saved only inside the Raspberry Pi database. This simply means that only
valid users will able to access their own private data. As a consequence, there
will be less concern about security since the data will never be saved on any
external server. On the other hand, if the data were saved externally, then
there must be an implementation of the UK Data Protection Act (Bailey, 2018).
Ethical
Issues of Portable Low-Cost Facial Recognition
This project
also had some ethical issues to be addressed such as (Floridi &
Taddeo, 2016):
Privacy of Portable Low-Cost Facial Recognition
Since the
product is around face recognition, then there might be some ethical issues
related to the privacy of the users. For this reason, the project needs to
implement the legal principles to establish the project.
Security of Portable Low-Cost Facial Recognition
Due to the
product will apply the use of Internet connection along with involving a
camera, then there is a big concern of security. To tackle this, the project
will use a password and firewall to measure security.
Functional
Requirements of Portable Low-Cost Facial Recognition
There
are various functional requirements included in this project such as:
User Login of Portable Low-Cost Facial Recognition
To secure the users, then there will be a login screen
included for extra security. In the future, if the system will be allowed for
more than one user, then this individual login will be adjusted with the
appropriate settings and personalization to be stored differently for each
account of the user.
Image Capturing
& Video Recording
This project has the capability to take images or
photos and also record some videos taken by the camera. These image capturing
and video recording permits as well for the taking of photos or videos from a
live stream.
Data Saving
There will be some pieces of data that need to be saved
such as details of user login, photos, and also videos. The reason is due to it
will be easier for the users to view the data from the previous one once they
use the camera.
Usability &
Performance of Portable Low-Cost Facial Recognition
Since this product is designed
to be used by various users of different stages of age, then it is quite
fundamental for this product to be easy and accessible to use by all of the
users. For this, the UI systems should be slightly easy to navigate and also
the design needs to be flexible, which means that the most used elements must
be easy to find instead than hidden behind a massive amount of menu. In addition
to this, the portable camera also needs to have a simple learning-arch, with a
purpose to make the users enjoy the experience.
Usability is also highly
essential since it would provide the users with a further satisfying
experience, which will result in making them excited to keep on using the
product and also will potentially recommend the product to other people. For
this reason, usability is extremely tied up with the product performance. An
example of usability can be described such as quick response times. Due to the
system software of this product runs on a Raspberry Pi 3, then there is a
necessity to optimize the software since there will be only 1GB RAM in this
system, and thus, it will not be powerful enough.
Requirements Conclusion
of Portable Low-Cost Facial Recognition
The specified requirements which
explained and discussed in this chapter are expected to build the future of
this product since the Design along with the Implementation should meet all of
these requirements. This section discusses the requirements as some important
tasks to be achieved in an allocated schedule.