Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Gradebook Service

Team 3
E.J. Rollo

Software Requirements Specification


Document

Version: 1.0 Date: 10/19/2021


2.1 System Environment

Figure 1 – System Environment

The Gradebook application has 2 active user roles, students and teachers, each of

which can interact with various functions of the application. A student can enroll in a

course through the Registration application and view their grades for the courses they

are enrolled in. A teacher can add assignments, enter grades and submit final grades for

courses they are assigned to. There is a service communication link between the

Gradebook and Registration applications where they exchange data transfer objects over

various protocols.
3.2 Functional Requirements

Use Case 1: Instructor adds an assignment for a course

Description

The instructor accesses the Gradebook web application and adds an assignment for a
course they are assigned to.

Step-By-Step Description

The instructor must be logged into the application prior to performing these steps.

1. Instructor sees the list of assignments.


2. Instructor selects the button to add an assignment to the course.
3. On the add assignment page, the instructor enters the assignment name, the due
date, and the course ID.
4. Instructor submits the assignment by selecting the add assignment button.
5. The assignment is added to the assignments table in the database.

Use Case 2: Instructor enters scores for an assignment

Description

The instructor accesses the Gradebook web application and adds grades for the
assignments they assigned.

Step-By-Step Description

The instructor must be logged into the application prior to performing these steps.

1. Instructor sees the list of assignments.


2. Instructor selects the button to update assignment grades.
3. On the assignment grades page, the instructor updates the grades field in the
table for each assignment.
4. Instructor submits the grades by selecting the add grades button.
5. The grades are added to the assignment_grade table.

Use Case 3: Student views their scores for a course

Description

The student accesses the Gradebook web application and views their grades for
assignments in the courses they are enrolled in.
Step-By-Step Description

The student must be logged into the application prior to performing these steps.

1. The student must enter the assignment ID number.


2. The student enters the assignment ID and selects the get grades button.
3. The assignment grades for the assignment ID are updated in the table.
4. The student can enter another assignment ID to see the grades for that
assignment.

Use Case 4: Instructor submits final grades for a course

Description

The instructor accesses the Gradebook web application and submits the final grades for
a course.

Step-By-Step Description

The instructor must be logged into the application prior to performing these steps.

1. The instructor must enter the course ID to see the gradebook.


2. The instructor then sees the grades for each student.
3. The instructor updates the grades if needed.
4. The instructor submits the grades by selecting the submit button.
5. The gradebook is then submitted to the Registration application for processing.
3.3 Non-Functional Requirements

Performance

The performance of the system is highly dependent on the speed and bandwidth
of the user’s internet connection. The application does not transmit large volumes of
data, but the system can be bogged down when a higher than usual load of user’s is
logged into the system.

Security

The system uses Oauth2 to authenticate users using the Google authentication
components. Every effort was made to compartmentalize the blocks of the system from
instructors and students.

Browser Requirements

The application runs on Google Chrome browser version 94.0.4606.81 and later.
Because Chrome incorporates its own secure version of UDP, it is recommended for all
use cases both for speed and security.
3.4 Logical Database Requirements

Figure 2 – Gradebook database ER model

Course Assignment Enrollment Assignment_grade


table table table table
Primary Primary Key Primary Key Primary Key = id
Key = = id (auto = id (auto (auto generated)
course_id generated) generated)
Instructor Assignment Student’s Assignment score
email due date email
Semester Assignment Student’s Assignment_id
(Fall, name name from assignment
Spring, table
Summer)
Course title Assignment Course_id Enrollment_id
needs from course from enrollment
grading table table
indicator
Year Course_id
from course
table

You might also like