-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements and Specifications
Go-class - team 17
10/07/2023, version_0 - initial document
11/15/2023, version_1 - update User story and User Acceptance Criteria
12/09/2023, version_2 - update wireframe image
Traditionally, class attendance was conducted by professors verbally calling out the names of students. However, recently, with the introduction of the electronic attendance system, it has now become the responsibility of students to check their own attendance. Regrettably, many students often struggle with remembering to mark their attendance in such a system.
To address this, we propose Go-Class, an app with an automatic attendance check system utilizing methods such as BLE beacons. Unlike other solutions such as sending notifications, which may introduce various inconveniences (e.g., unnoticed notifications, noise issues), our solution records the duration of time a student stays in a classroom, allowing them to verify their attendance. It also ensures full attendance as any departure during class time becomes evident.
In addition, to encourage not only attendance but also participation in class, our application contains features that could assist with in-class activities. Class participants (both students and professors) will be able to use group chat features to actively engage in QnA and facilitate team activities more conveniently.
- Students with trouble remembering to take electronic attendance
- Professor wishing to communicate with students more effectively
- Generally, all university class participants (i.e. instructors, TAs, students), especially those taking classes with an attendance check system.
The primary purpose of Go-class is to assist students who struggle with remembering to take electronic attendance, rather than being solely focused on attendance checking. Go-class primarily serves as a means to provide evidence that students were present in class. Currently, there are no such applications like ours, therefore we do not have a competitor.
Goal | Student wants to prove their attendance when forgetting to check electronic attendance |
---|---|
Primary actor | Student |
Scope | Attendance system |
Level | User |
Precondition | The last login to the app was with a student account |
Success end | Class participation is recorded and can be sent to professor |
Failure end | Class participation in not recorded or cannot be sent to professor |
Main Success Scenario | 1. Student joins a class 2. System collects location data during class hours 3. After class, system determines attendance status 4. System sends silent notification to user that attendance has been recorded 5. User enters the app and goes to the class page, then to the attendance history page 6. User checks the recorded data and clicks ‘send’ 7. System sends the data to the professor 8. Professor is able to view the student’s attendance data |
Extensions(error scenario) | 1a. Student fails to join a class 1a.1 Student entered the wrong code 1a.2 Student receives a failure message and tries again 2a. System is unable to collect location data 2a.1 Bluetooth or GPS is turned off 2a.2 System prompts the student to turn them on 4a. Notification is not received by the user 4a.1 User manually checks the app for attendance updates 6a. User cannot access the recorded data 6a.1 System prompts a refresh or check later message 6b. User cannot send the recorded data 6b.1 System prompts an error message and suggests trying again later |
Variations(alternative scenarios) | 5. User gets a vibration alert along with a silent notification |
Goal | Student wants to ask a question at midnight. |
---|---|
Primary actor | Student |
Scope | Chatting system |
Level | User |
Precondition | User has joined the class in the app |
Success end | User gets an answer from ChatGPT. |
Failure end | User fails to get an answer from ChatGPT. |
Main Success Scenario | 1. User asks a question in the Q&A channel 2. System checks the time and finds the current time to be within the time the professor has set as off-hours 3. System takes the student’s question and asks ChatGPT 4. System receives the answer from ChatGPT 5. System posts the answer to the Q&A channel |
Extensions(error scenario) | 3a. System fails to connect to the internet 3a.1 User is prompted with an error message suggesting to check their internet connection 3b. System fails to connect to ChatGPT server 3b.1 User is informed of a technical issue and is advised to try again later 4a. ChatGPT gives wrong information 4a.1 Professor corrects wrong information during available time |
Variations(alternative scenarios) | 1. User utilizes voice command or speech-to-text feature to ask the question 2. System determines off-hours based on the user's local time zone 5. The answer from ChatGPT is stored temporarily for the professor to review and modify if necessary when they're next online 6. If the student is satisfied with the answer, they can give feedback or mark it as "helpful", which can be used for further training of the ChatGPT |
Goal | Professor wishes to enhance student participation (i.e. having active Q&A sessions) |
---|---|
Primary actor | Professor |
Scope | Chatting system |
Level | User |
Precondition | Professor has created the class in the app |
Success end | Students ask questions freely through the Q&A channel |
Failure end | Students are unable to ask questions conveniently through the Q&A channel |
Main Success Scenario | 1. Professor joins the class room 2. Student ask a question in the chatting room 3. Professor provides feedback or gives additional information when needed |
Extensions(error scenario) | 1a. Professor faces issues joining into the classroom chat 1a.1. System prompts for re-join 3a. Professor is unable to provide feedback due to system errors 3a.1. System prompts an error message, and the professor is advised to try again later |
Variations(alternative scenarios) | 1. Professor uses multimedia, such as videos or images, to initiate discussions |
Goal | Professor wishes to give new class announcements to students using the chat channel |
---|---|
Primary actor | Professor |
Scope | Chatting system |
Level | User |
Precondition | Professor is at the class list screen |
Success end | Professor’s announcement chat is sent |
Failure end | Professor’s announcement chat fails to be sent |
Main Success Scenario | 1. Professor enters class 2. Professor enters chat channel for class announcement 3. Professor chats announcements and sends |
Extensions(error scenario) | 1a. System doesn't show the class list properly 1a.1. Professor refreshes the screen or restarts the app 2a. Chat channel for class announcements is not visible or accessible 2a.1. Professor refreshes or restart the app 3a. Chat is not sent due to system error or connectivity issues 3a.1. Professor receives an error notification 3a.2. Professor tries sending the message again after some time or after checking the internet connection |
Variations(alternative scenarios) | 1. Professor enters another class 2. Professor enters Q&A chat channels |
Goal | Professor wants to set up ChatGpt to answer questions when unavailable |
---|---|
Primary actor | Professor |
Scope | Chatting system |
Level | User |
Precondition | The professor is logged in |
Success end | Professor sets unavailable times |
Failure end | Professor fails to set unavailable times |
Main Success Scenario | 1. Professor enters account 2. Professor enters profile page 3. Professor sets unavailable times |
Extensions(error scenario) | 3a. System fails to save the unavailable times set by the professor 3a.1. Professor tries setting the time again after some time or checks the internet connection 3b. System fails to connect to the ChatGPT server when trying to activate it 3b.1. Professor receives an error notification 3b.2. Professor may try again later 3c. Time zone is not applied correctly, leading to ChatGPT activating at wrong times 3c.1. Professor readjusts the time settings or selects the appropriate time zone |
Variations(alternative scenarios) | 3. Professor sets a recurrent unavailability schedule (e.g., every Monday from 2 pm to 4 pm) 3. Instead of specific times, professor sets up ChatGPT based on conditions like "when I am in a meeting" linked with their calendar 3. Professor receives a summary or notification of all the questions answered by ChatGPT during their unavailability 3. Professor can set specialized responses or FAQ for ChatGpt to use, based on the course material |
As a student prone to forgetting attendance check,
I want the app to verify and record my location during classes automatically,
so that I can obtain a record of my class participation
As a curious and academic student,
I can post questions on a chat feed
so that I can receive comments from my professor and ensure I get accurate and authoritative answers.
As a professor who wishes to evaluate students’ attendances,
I can check sent attendance list,
So that I can quickly and accurately assess student attendance.
As a professor who wishes to make new announcements or sudden changes,
I can utilize a chat feed channel,
So that students are always updated and informed promptly.
As a professor aiming to engage with students academically,
I can comment on the students’ chat feed,
so that students can receive informed responses to their questions.
Scenario: Automatic Attendance Verification
Given I am a student who is enrolled in a class and using Go Class to verify my attendance,
When I enter the classroom during the scheduled class time,
Then my class participation is recorded based on location information and can be sent to the professor.
Scenario: Students inquiry and professor response on chat feed.
Given I am a curious and academic student with access to a chat feed,
When I post a question regarding the course material on the chat feed,
Then my professor will comment with an answer or feedback to ensure I receive an accurate and authoritative response to my inquiry.
Scenario : Professor evaluates students’ attendance
Given that I am a professor who needs to assess student attendance for a class,
When I access attendance list that has been automatically generated and sent,
Then I should be able to quickly and accurately confirm which students were present or absent during the class
Scenario: Professor communicates announcements and changes
Given that I am a professor who needs to disseminate new announcements or sudden changes to my students,
When I post this information on chat feed channel,
Then students should be notified immediately, ensuring they are updated and informed promptly.
Scenario: Academic engagement through chat feed
Given that I am professor aiming to provide academic engagement,
When I see a question from a student on chat feed,
Then I can comment with an informed response, enabling the student to receive a comprehensive answer to their question.