Software Requirements Specifications

Version 1.5



1. Introduction

StudySpace is a web application that provides post-secondary students with access to virtual spaces that foster unique social learning environments. The purpose of this project is to promote a sense of unity and community among students by helping them meet new peers, connect, and study together.

1.1. Purpose

The purpose of this document is to establish the requirements of the project from an implementation perspective. Additionally, this document lays the foundation for all group processes from start to finish by outlining the vision for the project. 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 its features work.

1.2. Scope

StudySpace allows users to search for and join virtual study groups. User benefits include improving academic success, making friends, and gaining a sense of community among peers. The objective of StudySpace is to help students find groups of like-minded individuals with whom they can collaborate — regardless of their physical locations. Through the use of this product, students who are enrolled in online courses do not miss out on the benefits of group work and peer discussion.

1.3. Definitions

DESK A Desk is a virtual space wherein students may collaborate. Each Desk is temporary; it only exists as long as the Desk is in use. 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.
FRIEND Any two Users can become Friends if one sends a Friend Request and the other accepts it. When two Users are Friends, they can 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.
GROUP NAME A Group Name is the name of a Group. The Group Name is set by a member of the Group. The Group Name must be unique so that other Users can easily discover the Group via Search.
INITIAL AUDIENCE This product is for David Brown, who is the initial User and the project client.
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:
     1. Co-op
     2. Friends
     3. CP104
     4. Programming
INVITATION An Invitation is the opportunity for a User to join a Group. Any member of a Group can choose to send an Invitation to a User who isn’t already a member.
PAGE A Page is where Posts are viewed. Each Group can have one or more Pages.
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.
PROFILE A Profile is a page with personal information about the user. The Profile also provides functionality such as managing group memberships and accessing chats.
RESPONSE A Response is a text message which is linked to a Post.
SEARCH Search is a function of the app where Users can search and discover Groups by Group Name or Users by Username.
STUDYSPACE StudySpace refers to the web application created by the Team for the Initial Audience, David Brown.
TARGET AUDIENCE Students are the intended users of this product.
USER A User is someone who uses the application, such as a Student.
USER MATCH Users have the option to enter their Interests, such as various preferences, courses they are enrolled in, and their study habits. Users who are both members of the same group have the possibility of getting matched. The more common Interests, the more likely they are to be matched. When a User Match occurs, the matched users show up in each other’s list of user matches, found on the page of the group they were matched in.
USERNAME A Username is part of a User’s account information. A Username is the name by which a User is referred to on the app.
UPVOTE/DOWNVOTE Users can express whether or not they like a post or agree with it by giving it an Upvote or Downvote. Upvoting is equivalent to “liking” the post, and Downvoting is the same as “disliking” the post.

1.4. References

1.5. Overview

The rest of this document contains details about the overall description and specific requirements of the project. Section 2 contains information about the product perspective, product functions, user characteristics, constraints, and dependencies. Section 3 discusses external interfaces, functions, logical database requirements, and software system attributes.


2. Overall Description

2.1. Product Perspective

StudySpace is an independent, self-contained web application. Core features are personalized profiles, groups, chats, and pages in each group. It is a web application with 2 components: user interfaces (frontend), and software interfaces (backend).

2.1.1. User Interfaces

2.1.1.1. Landing Page (logged out)

2.1.1.2. Sign Up View

2.1.1.3. Home Page (Logged In)


2.1.1.4. Groups Home Page


2.1.1.5. Desk View


2.1.1.6. Posts View


2.1.1.7. User Profile Page


2.1.1.8. Profile Page (another user)


2.1.1.9. User Match View


2.2. Product Functions

Users can create their own group with a desired set of members or a specific topic. New groups may not share a name with existing groups. Users can create posts, comment on posts, chat, log in, and send friend requests to other users.

2.3. Actors and Use Cases

2.3.1. Administrator Functions

2.3.2. Moderator Functions

2.3.3. User Functions

2.4. User Characteristics

Post-secondary students are the intended users of this product. As such, it is assumed that the user has experience using a web browser and navigating websites. It is helpful — but not necessary — for the user to have experience with common social media applications, such as Reddit, Instagram, or Twitter. This experience should aid the user in learning how certain features of StudySpace work, such as chat, due to the similarities to other social media applications.

2.5. Constraints

A large number of users must be able to access the website at once. To ensure the website is reliable, smooth, and feels responsive to the user, chat logs should update within a second whenever a user sends a chat.

2.6. Assumptions and Dependencies

It is assumed that users have a functioning, web-capable computer (desktop or laptop) with a browser installed. Users are expected to have an internet connection for the entire duration of their session. StudySpace should be compatible with any desktop operating system.


3. Specific Requirements

3.1. Function Requirements

3.2. Logical Database Requirements






3.3. Software System Attributes

3.3.1. Performance Requirements

The website must be quick and responsive to all screens above 320px to meet usability requirements. From the front-end perspective, content must load quickly and transitions between pages should be seamless. 95% of the transactions shall be processed in less than 1 second.

3.3.2. Security

Any access to the StudySpace backend needs to be verified to ensure that only authorized administrators/moderators have access. Authorization involves entering a valid username and password to an account with administrator privileges. When an administrator or moderator logs into the system, they are granted permissions to edit, create, and delete content.

3.3.3. Portability

StudySpace must be accessible on any desktop device that is web-capable and has a browser. Therefore, StudySpace must be compatible with any operating system, including Windows, macOS, and Linux. The product must also be compatible with any browser, including Chrome, Firefox, Internet Explorer, Edge, and Safari.


4. Version History

Version 1.0 - 09/02/2021

Initial Requirements document created

Version 1.1 - 10/02/2021

Document reformatted and expanded use case definitions

Version 1.2 - 11/02/2021

Adjusted document upon SQA suggestions

Thanks to SQA by

Version 1.3 - 24/03/2021

Performed SQA on consistency with previous docs and grammar checks

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”

Updated section 3.2 to match the Design document

Version 1.4 - 07/04/2021

Added Upvote/Downvote definition to be consistent with other documents

Version 1.5 - 10/04/2021

Updated Section 2.1.1 User Interfaces to match the Design document

Updated Section 2.3 Use Case Diagram based on David Brown’s suggestion to separate Create Moderator and Delete Moderator cases

Updated Section 3.1 to clarify password requirements

Reformatted and converted to HTML