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)
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)
UML Class Diagram
Gantt Diagram
Traceability Matrix
Project Board