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