You are on page 1of 7

Gradebook Service

Team 6a
Javier Gonzalez

System Requirements Specification


Document

Version: 1 Date: 06/14/2022


2.0 Overall Description

2.1 System Environment

Fig.1 - System Environment

The Gradebook Service has three active actors and one cooperating system. The Student,

Admin, and Instructor actors interact with the Gradebook Frontend via their web browser. The

Instructor has the ability to create, modify, and delete assignments for students. They can also

input and/or update grades for these student assignments. Students can access the Gradebook

Service but can only view their grades for course assignments. They cannot alter these grades.

The Admin has access to both the Gradebook and Registration Services. Lastly, the Registration

Service is the cooperating system which informs the Gradebook Service about student course

enrollments and receives final letter grades from the Gradebook Services.
3.0 Specific Requirements

3.2 Functional Requirements

3.2.1 Instructor adds an assignment for a course


Use Case Name Instructor adds an assignment for a course

XRef N/A

Trigger The Instructor selects the ‘Add Assignment’ button

Precondition The Instructor’s assignments page will be displayed and will populate a
list of assignments that require grading. From here, Instructor can add
assignments using the ‘Add Assignment’ button.

Basic Path 1. Instructor logs in and clicks ‘Add Assignment’


2. Dialogue window will populate to add assignment details
3. Clicks “Add” button
4. System checks if form is valid and course exists in Gradebook
DB
5. Updates Gradebook DB accordingly

Alternative Paths If in Step 2 assignment details are invalid, the form will not submit

Post Condition Assignment is added to the Gradebook DB

Exception Paths Instructor can abort the new assignment by clicking ‘Cancel’ button or
if assignment is invalid, Instructor will receive a failure toast message

Other New assignment information requires a valid Course ID, assignment


name, and due date

3.2.2 Instructor enters scores for an assignment


Use Case Name Instructor enters scores for an assignment

XRef N/A

Trigger The Instructor selects the ‘Submit’ button on the assignment page

Precondition The Instructor selected an assignment to grade and enters a grade for it

Basic Path 1. Instructor views list of assignments that need to be graded from
the the homepage
2. Instructor selects an assignment from the list and clicks ‘Grade’
3. Instructor enters the assignment’s grade in the Grade column
4. Once grade has been entered, Instructor can select ‘Submit’ to
finalize

Alternative Paths If a grade already exists for a particular student’s assignment, the
Instructor can update/alter the current grade

Post Condition Assignment score is added to the Gradebook DB

Exception Paths Instructor can abort the grading of an assignment at any time and if
there is an error scoring the assignment, Instructor will receive a failure
toast message

Other The assignment score must be entered as a numerical value

3.2.3 A Student views their scores for a course


Use Case Name A Student views their scores for a course

XRef N/A

Trigger The Student selects to view their scores for an enrolled course

Precondition The Student selected a course to view their assignment scores which
was entered by the Instructor

Basic Path 1. Student logs into website


2. Student views gradebook page
3. Student views their course assignments with their respective
score

Alternative Paths None

Post Condition The Student’s scores are retrieved from the Gradebook DB for viewing

Exception Paths The Student can exit the gradebook page whenever they choose to

Other None

3.2.4 Instructor submits final grades for a course


Use Case Name Instructor submits final grades for a course

XRef N/A

Trigger Instructor selects ‘Submit’ on the assignments page

Precondition The Instructor has selected a course to input final grades

Basic Path 1. Instructor logs into website


2. A list of courses taught by the Instructor are populated
3. Instructor selects a course that he wants to submit final grades
for

Alternative Paths None


Post Condition Final grades are sent to Registration Service and saved to the
Registration DB

Exception Paths If final grades fail to be sent, a toast message will be sent to the
Instructor and this operation can be aborted at any time

Other Final grades are calculated from the assignment scores and then get
converted and sent as a final letter grade to the Registration Service

3.3 Detailed Non-Functional Requirements

The React frontend will be deployed in a cloud environment and will utilize

high-performance server systems. The web service will be secured using OAuth2 authentication

via Google Sign-in. This will ensure that the verified user has access to the appropriate

permissions and privileges for the Gradebook website. Also, this application was tested using the

Google Chrome browser version 102.0.5005.61. Other browsers such as Mozilla Firefox,

Microsoft Edge, or Apple Safari can be used to access the Gradebook website.
3.4 Logical Database Requirements

Fig.2 - Logical Database Diagram

The data descriptions of each of these data entities is as follows:

Assignment Data Entry


Data Item Type Description Comments

id Integer Assignment ID number Primary key

due_date Date Assignment due date Must be entered in the


form YYYY-MM-DD

name Varchar(255) Name/Title of course

needs_grading Integer Binary 0 or 1 indicating if 1 = needs grading


assignment needs grading based 0 = does not need
on passing assignment due date grading

course_id Integer Course ID number Foreign key to course


table
Course Data Entry
Data Item Type Description Comments

course_id Integer Course ID number Primary key

instructor Varchar(255) Email of course instructor Instructor identifier

semester Varchar(255) Semester of course Fall or Spring semester

title Varchar(255) Title of course

year Integer Year of course

Assignment Grade Data Entry


Data Item Type Description Comments

id Integer Assignment Grade ID number Primary key

score Varchar(255) Score for assignment String field is empty


until assignment is
graded and then average
assignment scores get
calculated and converted
to a final letter grade
which get passed to the
Registration Service

assignment_id Varchar(255) Assignment ID number Foreign key to


assignments table

enrollment _id Integer Enrollment ID number Foreign key to


enrollment table

Enrollment Data Entry


Data Item Type Description Comments

id Integer Enrollment ID number Primary key

student_email Varchar(255) Email of enrolled student Student identifier

student_name Varchar(255) Name of student enrolled

course_id Integer Course ID number Foreign key to course


table

You might also like