Software Analysis
Version 1.4
StudySpace is a web application that provides post-secondary students with access to virtual spaces that foster unique social learning environments, promoting a sense of unity among students by helping them meet new peers, connect, and
anstudy together.
The following document will cover the analysis portion of StudySpace. It will explain features of the application and their respective uses. This document is intended to be used by developers, users, and any other individual who wants
to learn the concept of this application and how it’s features work.

- DESK
A Desk is a virtual space wherein students may collaborate. Each desk is temporary; it only exists as long as there are people using it. After everyone leaves the desk, it is removed from memory. Each desk
has an admin who can set a limit to the number of members and can add signifiers such as language, age category, and other factors.
- FRIENDS
Any two Users can become Friends if one sends a Friend Request and the other accepts it. When two Users are Friends, they are able to send private chats directly to one another.
- GROUP
A Group is a collection of two or more users who have connected through StudySpace either by Invitation or a User Match. All members of a Group automatically have access to a Chat upon joining.
- INTERESTS
Interests refer to the parameters that the user has chosen and the ranking of these parameters. The choice and ranking of parameters are key to determining User Matches.
Example.
Alice has chosen the following parameters: Co-op, Friends, CP104, Programming and she has the following Interests:
- Co-op
- Friends
- CP104
- Programming
- USER
Typically a Student is a user enrolled in any Canadian university, who seeks the use of a Desk.
- POST
A Post is an object which can include photos and text. Posts are created by Users for all members of a Group to see. Users can make a Post about anything they wish, including: buying/selling textbooks, asking
questions, looking for advice, etc. Users can also write a Response to a Post.
- PAGE
A Page is where Posts are viewed. Each Group can have one or more Pages
- PROFILE
A page with personal information about the user. The Profile also provides functionality such as managing group memberships and accessing chats.
- TOP GROUPS
The most popular groups that are similar to the user’s interests.
Example.
If the user is interested in joining a group about co-op, there may be several groups named Co-opA and Co-opB that they are interested in potentially joining. However, if Co-opA has more users than Co-opB,
then Co-opA will be featured in the user’s suggested Top Groups shown in the Home Page.
- AUTHENTICATOR
- Authenticates the user, provided an email and password.
- USER INTERFACE
- Controls the interface that the user interacts with, allowing them to perform various functions such as Chat, Send, Receive, Show, Usermatch, Search, and Invite.
- SEND
- Enables Users to send chat messages to each other and amongst groups with the chat feature. Chat messages are sent, received and viewed through a chat box.
- RECEIVE
- Users can receive messages from other users directly and from fellow group members in a group-wide discussion. Chat messages are sent, received and viewed through a chat box.
- SEARCH
- Using a search bar, Users can search and discover Groups by Group Name or Users by Username. The search function uses full-text-search to search for results in the database that match the Search query.
- POST
- Creates or edits a post for the group. When creating a new post, the user is prompted to enter the content of their post in a text box, and the title of their post in another text box.
- INVITE
- Invites a member to the group. An Invitation is the opportunity for a User to join a Private Group. Any member of a Private Group can choose to send an Invitation to a User who isn’t already a member. Through the group
page, members are invited by clicking an “Invite” button next to their username in the search results for the user to be invited.
- USERMATCH
- Matches user with another user. Suggested user matches are displayed in a list on a group page. To match with one of these suggested matches and add them as a friend, the user must click a “Match” button next
to their username in this list.
- SHOW
- Shows a room that users can join when a ‘Desk’ is created.
- Shows a user’s profile and their info.
- Shows all of a user’s friends.
- Shows information about a group.
- Shows all members in a group.
- Shows posts in groups, the contents of a post, the person who posted it, and the comments on the post.
- AUTHENTICATE
- Authenticates a user; verifies their identity by requiring the entry of a correct email and password combination. Upon logging in, the user will be required to enter their email and password in two separate text boxes.
- CHAT
- A Chat is a feature where all members of a Group can send text messages to each other. Two users can also send direct chats to one another if they are friends. The Chat is viewed through a chat box on the Group’s page,
or through the user’s main page in the case of direct chat conversations.




- User will see a screen when joining a DESK
- User will see when they are disconnected from a DESK
- Messages will be seen by all users when sent

Version 1.0 - 02/20/2021
Initial Analysis document created
- Shyam Dave
- Matthew Francis
- Arshdeep Sahi
- Zeeshan Jafri
- Evan Surtel
- Brian Carvalho
Version 1.1 - 03/03/2021
Adjusted document upon SQA suggestions
- Brian Carvalho
- Shyam Dave
- Matthew Francis
- Evan Surtel
- Arshdeep Sahi
Thanks to SQA by
- Janelle Tait
- David Rosien
- Arvin Benipal
- Mackenzie Van Zanden
- Muhammad Hashir
Version 1.2 - 03/03/2021
Adjusted object diagram according to SQA suggestions
Thanks to SQA by
Version 1.3 - 03/04/2021
Adjusted object diagram according to SQA suggestions
Thanks to SQA by
Version 1.4 - 24/03/2021
Performed SQA to check consistency with past documents
- Ann Baldonasa
- Mackenzie Van Zanden
- Dayton Talarico
- Janelle Tait
Removed mention of tutors as this will no longer be a part of the software
Added Interests definition and changed any previous mentioning of “user preferences” to “Interests”
Clarify Top Groups definition
Updated section 6 to match the chat class outlined in design doc
Version 1.5 - 11/04/2021
Corrected spelling error in Object Diagram
Replaced Class Diagram with updated Design document version
Revised Section 4 Non Functional Attributes based on David Brown’s comments
Reworded vague statements throughout the document based on David Brown’s comments
Removed Message Control due to redundancy with new Class Diagram
Reformatted and converted to HTML