Software Requirements Specification Team name: The Incredibles

Purpose Definitions

An integrated chat platform that allows users to communicate with all members on Northeastern campus, view course-specific details, and help manage their time better.

Background

Users switch through multiple platforms, making it difficult to keep track of things while communicating with other users. For example, it’s hard for students and TAs to manage the timelines (due dates and submission status on Canvas) and communicate (Teams and Zoom) through multiple platforms.

Overall Description User Characteristics (Demographic)

Student and TA

  • Age: 16 – 30 (The most common age group)
  • Language: all Language
  • Gender: all genders
  • Culture: all culture
  • Location: US based institutions
  • Education level: undergrad, graduate, professional study, bootcamp

Professor

  • Age: 40 – 60 (The most common age group)
  • Language: all Language
  • Gender: all genders
  • Culture: all culture
  • Location: US based institutions

User Stories

Students, TA and Professor:

  • As a student, I’d like to see what assignments I have coming up, and then quickly reach out to a classmate to talk about it so that I can have my questions clarified and all know their assignments status

  • As a student, I want instant chat feature with TA and professor so that I can get instant responses for my doubts

  • As a Professor, I want to quickly see what I have coming up in terms of deadlines without having to hit too many buttons.

App Workflow (flowchart)

image

Requirements

Functional

Sign up page which would require a university email and Canvas API Key.

    Login page.

    Logout

    User account in the app.

    Toolbar for switching 

    Canvas Access

    View Courses

    View assignments by due date

    View past assignments

    View assignments by name

    (Nice-to Have) View class participants for professor

Notifications

    Instant messages received
    
    Mark all as read 

User Profile

    View username

    View partial Canvas Access Key

    View Email

    Shows Profile picture

Instant message (Chat) with other users.

    History chat page

    Search users

    Chat with specific user

    Group chat

    Make new group
    
    Search group to join

Non-functional

Fast performing: Can load in 5 seconds or less with total number of simultaneous users < 5 thousand.

Scalability: The system should be able to handle 1 million users without crashing.
Easy to use UI: clear instructions and direction of functionalities, no complicated design.

Reliable: users get consistent response and desired outcome from system performance.

Security: the system provides credential verification(eg.canvas access key).

Aesthetic UI: UI should be clean but also maintain aesthetic, including color matching, shapes placement, font size, etc.

Concise: metaphor icon is adapted in this platform.

Multi-platform: users can access all functions in one platform instead of switching.

Compatibility: app is adapted to all environments and different systems.

Fast-data look up:  using firebase to achieve fast-data search and response.

Wireframes (this is a link to a document in your repo)

image

image

image

image

image

UML Class Diagram

image

Gantt Diagram

image

Traceability Matrix

image

Project Board

image

GitHub

View Github