Skip to content

Requirements and Specifications

Minseong Kim edited this page Dec 10, 2023 · 19 revisions

12/09/2023 version_2

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

Project Abstract

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.

Customer

  • 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.

Competitive Landscape

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.

Functional Requirements

Use cases

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

User Stories

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.

User Acceptance Criteria

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.

User Interface Requirements

Wireframes

Login and Confirm profile

s1

Create and Join Class

s2

Chat

s3

Comment

s4

Attendance

s5