You are on page 1of 18

System Requirements

Specification
For

VIZE
Requirements for Version 2.0
WoW Factor Media
Prepared by Nickolas Schmidt
21 September 2020
TABLE OF CONTENTS
Table of Contents........................................................................................................................i
Revision History..........................................................................................................................ii
1. Introduction...........................................................................................................................1
1.1 Purpose..............................................................................................................................1
1.2 Intended Audience.............................................................................................................1
1.3 Intended Use......................................................................................................................1
1.4 Scope.................................................................................................................................2
2. Related Documents................................................................................................................2
2.1 Installation Documentation...............................................................................................2
2.2 High Level Diagram..........................................................................................................3
3. Overall Description...............................................................................................................4
3.1 Product Perspective...........................................................................................................4
3.2 Product Features................................................................................................................4
3.3 User Needs........................................................................................................................4
3.4 Assumptions and Dependencies........................................................................................5
4. System Requirements............................................................................................................5
4.1 Functional Requirements...................................................................................................5
4.2 External Interface Requirements.......................................................................................6
5. System Features.....................................................................................................................7
5.1 Dashboard Page Features..................................................................................................7
5.2 Message Checker Features................................................................................................8
5.3 Flagged Message Page Features.......................................................................................8
5.4 Analytics Page Features...................................................................................................8
5.5 Collaboration Page Features.............................................................................................9
5.6 Admin Control Features....................................................................................................9
5.7 General Features...............................................................................................................10
6. Nonfunctional Requirements...............................................................................................11
6.1 Performance Requirements..............................................................................................11
6.2 Safety Requirements.........................................................................................................11
6.3 Security Requirements......................................................................................................11
6.4 Password Requirements....................................................................................................11
6.5 Software Quality Requirements.......................................................................................12
Appendix A: Glossary.................................................................................................................13

i
REVISION HISTORY
Name Date Reason for Change Version
Vize March. 2020 Initial Draft 1.1
Vize Sept. 2020 Update 2.0
Vize Dec. 2020 System Feature 2.1
Update

ii
1. INTRODUCTION

1.1 Purpose
The System Requirements Document (SRD) for the Vize AI-Coach application outlines the
features and behaviour of the Vize software application. The requirements document will cover
the work corresponding to a text analysis used by WoW Factor Media for the testing and
demonstration of text analysis using artificial intelligence (AI) to observe the trending and
perceived emotions of all text that has been analyzed. These requirements are applicable for Vize
Client and Server systems which send and receive requests for Vize products to support text
analysis based on the AI results.
This document contains the following:
 Installation Documentation
 High Level Diagram

1.2 Intended Audience


This document is intended for the following audiences:
Developers: Developers who review project capabilities can more easily understand where their
efforts should be targeted to improve and add more features to the application
System Administrators: System administrators can use this document as a basis for their
understanding of the design and implementation of the Vize project to help strategize for their
onsite installation
End Users: End users who utilize the application and what to further their understanding of what
the application can do.

1.3 Intended Use


The intended use of this document is to provide all necessary information regarding the Vize
application including the installation instructions and a detailed list of features currently
available through the application

1
1.4 Scope
Vize is a tool used to analyze text through supporting API’s which include but are not limited to
Facebook, Twitter, Slack, Microsoft Teams and Outlook 365 and supported file uploads. The
Vize application can group users into subsets which give management feedback in real-time. The
feedback contains the following metrics, Sentiment, Suggestions, Complaints and Inappropriate
language metrics. Vize can analyze messages and find the context behind said messages that is
often missed by people. Vize then displays the context in real-time with an assortment of related
graphs and trending metrics. The application comes loaded with a text analysis tool which allows
a user to paste the body of an email in which the AI will decode the text and relays a summary of
how it was perceived by the AI.
There are two ways that a Vize user can access the portal, the first way is over the internet which
receives continuous updates and support. The second way is for an onsite installation which will
not have automatic updates but will need to be manually updated due to security.

2. RELATED DOCUMENTS

2.1 Installation Document


Server Installation Requirements:
Hardware Requirements:
 Processor: 4 Core
 RAM: 16GB
 Hard Drive: 320GB or higher SSD preferred
 OS: Ubuntu 19.04
Non-Hardware Requirements:
 Dedicated IT administrator
 Dedicated IT security specialist
 Dedicated IT networking specialist
 SSH access from our office, active during installation and during maintenance tasks
 SSL certificate provided

2
Email Integration Requirements:
 IMAPS enabled on port 993
Social Channels Integration Requirements:

 Facebook: Administrator access during initial setup and during token renewal (60 days'
time)
 Twitter: An authorization with a sign in
 Slack: An authorization with an individual user sign in
 Teams: Administrator authorization to add teams chat channels
 File Upload: A well formatted file, proficiency with Excel
 Note: Additional requirements may arise due to the technical nature of deployment
Software Installation Requirements:
 JDE: Java Development Environment
 Maven: Automation tool user for the Java application
 Python: Lates version of Python will be required
 Tensor Flow: Python library for machine learning
 Keras: Python library for machine learning
 NLTK: Python Library for machine learning
 MySQL: Database Requirement
 TMUX: Terminal Multiplexer will be needed to support multiple terminal sessions
Note: Maven will install Java libraries needed for the application to run

3
2.2 High Level Diagram

3. OVERALL DESCRIPTION

3.1 Product Perspective


Vize is a helpful tool built to save time and money for its users. Vize helps users understand the
overall emotions of the companies work culture. For more information or to set up a
consultation, Joel Pinel can be contacted at joel.pinel@wowfactormedia.ca.

3.2 Product Features


Vize provides users the following features/functions:
 Tree like structure for employee organization
 Profiles which contact a collection of associates related to a user to improve meta-data
 Account encryption to protect user accounts with an encrypted password
 Activity log to verify processing operations

4
3.3 User Needs
Some users may want more from the application. They want to improve their communication
skills as well as needing a way to confirm that their words will be interpreted by the recipient in
the intended way. Some users may need a tool which could help analyze their messages before it
is sent out to suggest ways that the message could be worded better to help convey the intended
message to the recipient.
For certain users in managerial positions, a tool that can not only help them improve their
personal communication skills but also improve the communication throughout the team may
come to be beneficial. These users also would want to be informed when a user in their team is
communicating inappropriately with one's peers. Managers may also need to know which of
their employees are being over worked when deciding on hiring new members for a given team.
Using Vize, managers can receive real time feedback from their customers on the products and
services they provide. This cuts down the waiting time usually associated with yearly surveys
and allows the company to better tailor their product for the customers based on the immediate
feedback. Managers also require the ability to filter through messages received by the company
and focus on which messages are most important given a specified criterion.

3.4 Assumptions and Dependencies


Assumptions:
Due to the nature of security, product updates will have to be done manually for any client with
the onsite installation.
All on site installation clients will have to provide their own IT professionals to provide onsite
support to keep the application running
This application will not be used as a spying tool or to be used in any malicious manor to harm
any persons or entities.
Dependencies:
The Java application depends on all the information available in the database and the AI modules
that are always required to be running for any text analysis to be completed.

5
4. SYSTEM REQUIREMENTS

4.1 Functional Requirements


Java Application: The Java Application is the main source and communicates with the backend
database, the third-party API’s and the front-end system which displays the content to the user.
AI Module Sentiment: This module is responsible for determining the sentiment of the text that's
been analyzed and then stores the result for each text in the MySQL database.
AI Module Suggestion: This module is responsible for determining how suggestive the analyzed
text is and then stores the result for each text in the MySQL database.
AI Module Complaints: This module is responsible for detecting complaints in the analyzed text
and then stores the result in the MySQL database.
AI Module Inappropriate Comments: This module is responsible for detecting inappropriate
comments in the analyzed text and then stores the result in the MySQL database.
AI Module Question: This module is responsible for detecting if the analyzed text is a question
or not and then stores the result in the MySQL database.
N-gram Module: This module is responsible for creating n-grams of the text and then
determining how often the specific n-gram has been used by order of importance and this is
stored in the MySQL database.
Database: The database is a MySQL database which is installed locally where the application is
installed. The MySQL database holds all the data retrieved by the Java application and all the
analyzed text found in all of the channels after being analyzed by the AI modules along with
each of the given AI metric associated with each text. The Java application and AI modules also
retrieve stored information from this local database.

4.2 External Interface Requirements


4.2.1 User Interfaces
Front-End Software: Web-based GUI application written using HTML, CSS and React which
communicates with the backend application over the HTTP protocol to provide functionality to
the application

6
Back-end Software: Spring boot framework-based application which responds to requests by the
front-end application. It is also responsible for communicating with third party services such as
email servers, Facebook, Twitter, Slack, Microsoft Teams and other social media API’s to fetch
new data and then store it in a MySQL database.

4.2.2 Hardware Interfaces


Client Application:
Computer with any operating system that can run the latest version of a modern internet browser
(Google Chrome, Mozilla Firefox, Microsoft Edge, Safari).
A web browser which supports HTML, CSS & JavaScript
Server Application:
Refer to the hardware requirements section (2.1) of the document to view all hardware
requirements.

4.2.3 Software Interfaces


The following is the software used for the Vize client application.
Software Used Description
Operating System Any operating system able to run the latest
version of a modern web browser
Web Browser Latest version of any modern browser such as
Google Chrome, Firefox or Safari

The following is the software used for the Vize server application
Software Used Description
Operating System Ubuntu Server 18.04.4 LTS
Database MySQL Community Server 8.0.19
Open JDK The latest version of JDK is used to run the
Java application
Python Python 3.8.2 is used to run AI modules
Java Application Dependencies Please see installation document
Python Application Dependencies Please see installation document

7
5. SYSTEM FEATURES
This section outlines all the functional requirements of the application and the features it
provides. System features are described in detail to help the future exemption and testing of the
system. All features stated below are already implemented in the current Vize system. The Vize
application is separated into two sections, collaboration and social. Each of the sections has a
separate list of system features and will be detailed below. A list of general features which
contain items not linked to a certain section of the Vize application is also described.

5.1 Vize Collaboration Features


The Vize Collaboration application features are centered around the integrations of Microsoft
Teams and Slack to compute values and given analytics. This application gives users the ability
to filter all features by a given time as well as a selected team or group message in both Teams
and Slack determined by the integration being utilized by the Vize application.

5.1.1 Collaboration Dashboard Features


The collaboration dashboard page gives both team wide and individual insight for a variety of
different metrics related to collaboration. The user can select a dropdown list of teams they have
viewing access for as well as select induvial members of the team to see more metrics based on
the selected individual.
Top Collaborator Feature: This feature highlights the members of the selected team who spend
the most time collaborating with one another.
Learning Feature: This feature determines if the selected user is a learner by calculating how
many questions the selected user is asking to the remaining members of the team.
Collaboration Frequency Feature: This feature highlights how the team's collaboration has
increased or decreased in the given time selected.
Team Collaboration: This feature displays a graph outlining the collaboration between the
selected member of the team and all of their peers. The graph can display whether the
communication between two members is positive or negative as well as a total message count for
the communication between two individuals.
Collaboration Keywords Feature: This feature displays the frequency that each keyword of all
created categories appears in the text for the selected team. This information allows the user to
see what is being discussed the most between the team members.

8
Mentors Feature: This feature displays who the mentors to the selected individual are based on
the amount of questions asked by the user to all other members of the team.
Mentees Feature: This feature displays who the mentees to the selected individual are based on
the amount of questions received by the user from all other members of the team.
Organization Connectivity Feature: This feature calculates the organizational connectivity of a
user based on the messages sent with high complaint and suggestion metrics compared to all the
messages sent by a user
Peer Connectivity Feature: This feature calculates the organizational connectivity of a user based
on the average sentiment of all messages sent by the user and takes into consideration how many
coworkers the user interacts with.
Comfort Score Feature: The comfort score is determined by taking the average of the
organization connectivity score and the peer connectivity scores. This score is used to show how
comfortable a user is in their workplace.
Message Feedback Feature: The message feedback feature allows users to view how their
messages are being interacted with by displaying likes, replies and mentions.

5.1.2 Collaboration Message Checker Features


The message checker page allows a user to type a message and have the message be analyzed to
determine the given sentiment of the message.
Text analysis tool: This feature will allow the pasting of text into the analysis field and will
analyze the text and show the results of Sentiment, Suggestion, Complaints, and
Inappropriateness. The pasted context will be saved in the local MySQL database for speed
optimization. But is not displayed in any of the metric tables, charts, history, and no other user
can see this data regardless of permission level.

5.1.3 Collaboration Analytics Features


The analytics page displays analytics for a given company based on one of the four selected
metrics including Sentiment, Complaint, Suggestion and Inappropriate. The displayed
information can also be modified by selecting a date timeframe that the user is interested in
viewing.
Average Score Feature: This feature calculates the average score of all messages for a given
metric to display to the user the average value for a given metric all messages currently have.
Score Distribution Feature: This feature displays a count of total messages that contain a metric
score between 1 and 10 for the selected metric given the timeframe.

9
Analytic Graph Feature: This feature displays a graph containing message bubbles that show the
volume of messages with high or low metric scores over the given selected time period.
Team performance Feature: This feature lists all teams for a given company and outlines the
increase or decrease in team performance for a given time period based on the amount of positive
of negative text is being analyzed by each team.

5.1.4 Collaboration Sentiment Features


The dashboard page describes in general the analytics to a user for a given period of days. This
page includes the following selection of features regarding the overall company of the signed in
user.
Overall Company Health Feature: This feature describes the overall company health for a given
period based on the metrics of all text analyzed for a given company.
Metric Card Feature: This feature counts the total amount of messages that contain a high metric
value for each of the given metrics, inappropriate, uplifting, complaints and suggestions.
Newsfeed Feature: This feature displays to the user a news feed containing important
information regarding any changes in the company's health over the selected time period. This
includes an increase or decrease to the overall company health as well as any changes regarding
trending topics.
Trending Topics Feature: This feature displays to the user the most common topics analyzed in
the text for the given period. The feature then shows whether each topic was appearing in a
positive of negative text.

5.2 Vize Social Features


The Vize Social application features are centered around the integrations of Facebook and
Twitter values and given analytics. This application gives users the ability to filter all features by
a given period.

5.2.1 Social Dashboard Features


The dashboard page describes in general the analytics to a user for a given period of days. This
page includes the following selection of features regarding the overall company of the signed in
user.
Overall Company Health Feature: This feature describes the overall company health for a given
time period based on the metrics of all text analyzed for a given company.

10
Message Feedback Feature: The message feedback feature allows users to view how their posts
are being interacted with by displaying likes, replies and mentions and posts.
Metric Card Feature: This feature counts the total amount of messages that contain a high metric
value for each of the given metrics, inappropriate, uplifting, complaints and suggestions.
Newsfeed Feature: This feature displays to the user a news feed containing important
information regarding any changes in the company's health over the selected time period. This
includes an increase or decrease to the overall company health as well as any changes regarding
trending topics.
Trending Topics Feature: This feature displays to the user the most common topics analyzed in
the text for the given period. The feature then shows whether each topic was appearing in a
positive of negative text.

5.2.2 Social Message Checker Features


The message checker page allows a user to type a message and have the message be analyzed to
determine the given sentiment of the message.
Text analysis tool: This feature will allow the pasting of text into the analysis field and will
analyze the text and show the results of Sentiment, Suggestion, Complaints, and
Inappropriateness. The pasted context will be saved in the local MySQL database for speed
optimization. But is not displayed in any of the metric tables, charts, history, and no other user
can see this data regardless of permission level.

5.2.3 Social Flagged Message Features


The flagged message page highlights all analyzed text that stand out with a high metric score to
determine the extremely positive and extremely negative text for any given user. The channel in
which the message was pulled from as well as the date the text was sent is also displayed. This
allows users to quickly filter messages by a given metric type to view any messages that stand
out for that given metric
Message Details Feature: A tool to allow the user to select the details of a given message. Once
selected, the conversation thread for the selected message will appear with metric cards for each
individual message sent in a conversation. The tool will also display an overall sentiment score
for the conversation. The type of message will also be displayed as well as the dates for all given
messages in the thread.
Read and Starred Message Feature: This feature allows a user to select any important messages
to be read or starred which will place them in the read or starred category to be easily
distinguished from the remaining messages.

11
5.2.4 Social Analytics Features
The analytics page displays analytics for a given company based on one of the four selected
metrics including Sentiment, Complaint, Suggestion and Inappropriate. The displayed
information can also be modified by selecting a date timeframe that the user is interested in
viewing.
Average Score Feature: This feature calculates the average score of all messages for a given
metric to display to the user the average value for a given metric all messages currently have.
Score Distribution Feature: This feature displays a count of total messages that contain a metric
score between 1 and 10 for the selected metric given the timeframe.
Analytic Graph Feature: This feature displays a graph containing message bubbles that show the
volume of messages with high or low metric scores over the given selected time period.
Team performance Feature: This feature lists all teams for a given company and outlines the
increase or decrease in team performance for a given time period based on the amount of positive
of negative text is being analyzed by each team.

5.3 Universal Features


5.3.1 Owner Console Features
Keyword and Category wizard: A wizard system where a admin user can define selected
category and keywords to determine what topics are being discussed the most by any given team
as well as determine who is discussing each topic.
Feature Request: A request system to allow users to request a new or updated feature to the Vize
application
Member Feature: This feature allows a user to invite a new team member to join Vize, search for
members of a given team to view analytics on an individual person as well as assign members to
different teams.

5.3.2 Admin Console Features


The admin console page contains a variety of user options to modify their current profile on the
Vize website. This includes team, channel and member management options as well as a feature
request option to submit feedback about the application.

12
5.4 General Features
The general features section contains other features of the Vize application that are used on
multiple pages or do not fit into any of the specified sections above.
AI Coach: The purpose of the AI Coach is for self-improvement of the end user such that they
may add personal and work email channels to engage all the features of the text analysis for
personal use. This will provide how other users may perceive the context of their personal
messages and emails.
Search Tool: Allows a user to search through the text using keywords, specific date or a timeline.
This feature also allows a user to search for a specific person in that team or through the text for
instances where a name is being mentioned.
N-grams: The intended purpose of n-grams is to summarize the important parts of a text body by
determining which n-grams are used the most.
Two Factor Authentication: This feature allows the user to select from a list of security questions
to enable two factor authentication where a unique 6-digit code will be required along with a
password whenever signing into the website for added security.
Notification: A notification system where the end user can assign a threshold to each metric type
to receive alerts when new text fits their description to a corresponding email that is associated
with that users account.

6. NON-FUNCTIONAL REQUIREMENTS

6.1 Performance Requirements


The following steps are taken to ensure that the application is performing optimally.
1. Schema of the MySQL database is designed to follow Third normal form (3NF) of data
normalization
2. MySQL database is hosted on the same server as the application on modules meaning no
network induced latency will occur.

6.2 Safety Requirements


In the event of extensive damage to a wide portion of the database due to a catastrophic failure
such as a disc crash or failure a recover method is in place. The recovery method should be able

13
to restore a past copy of the database. The application can then reconstruct a more current state
by reapplying or redoing the operations that were active at the time of the malfunction. This list
of committed transactions forms the backed-up log up to the time of failure.

6.3 Security Requirements


The Vize application stores all its data (data it generates and the data it fetches from the third-
party sources) to a MySQL database on the same server which runs the application. The database
is only made available locally on the server its hosted on and is not accessible over the network
to ensure no intruders can view any of the data housed on the database.

6.4 Password Requirements


Passwords are stored with triple DES with salt and key in the local database. Channel
integrations will automatically send requests to read data on a schedule. The schedule is as
follows:
Email: Every 60 seconds.
Facebook: Every 6 hours.
Twitter: Every 60 seconds.
Slack: Every 20 minutes.
Microsoft Teams: Every 20 minutes.
Email integrations where the password has been changed that attempts to request data will
receive [AUTHENTICATION FAILED] invalid credentials error codes and will be
automatically suspended. This suspension will require an update before any other requests can be
made.

6.5 Software Quality Attributes


Availability: The application must be hosted on a reliable server to ensure its availability to all
users.
Correctness: Correctness of the results produced by the Vize application and modules must be
completely correct. These results are dependent on the AI algorithms used which are
continuously being updated and improved.
Usability: The application should be able to satisfy most of the customers analytic needs and
provide accurate results.

14
APPENDIX A – GLOSSARY
Acronym Definition
AI Artificial Intelligence
API Application programming interface
Channels Reference to a unique connection to email of social media
accounts
Complaint The AI detection of a complaint in the text analysis
DES Data Encryption Standard
EM Email
FB Facebook
Inappropriate The AI detection of inappropriate comments in the text
analysis
IT Information Technology
JDE Java Development Environment
MT Microsoft Teams
MySQL System software for database
N-gram A continuous sequence of n items in a given sample of text
NLTK Natural Language Tool Kit
Sentiment The emotion in text
SL Slack
SRD System Requirements Document
Suggestion The AI detection of a suggestion in the text analysis
Tmux Terminal Multiplexer
TW Twitter
3NF Third Normal Form

15

You might also like