You are on page 1of 4

CST438-40_SP23

CST438 Software Engineering


Gradebook Service
Andrew Paulino | Brandon McCarthy-Santos

Software Requirements Specification

Gradebook

Version: (1) Date: (04/18/2023)

Page 1 of 4
CST438-40_SP23

1. Introduction

Gradebook service is a microservice platform that will help facilitate admins to enter and
modify grades of students registered to a designated class. This service will aid in
students retrieving their grade and the final grade they received in the class.

2. The Overall Description

The gradebook service will provide a user interface for teachers and students alike.
Within this interface teachers will be able to change / update grades while interacting
with the user interface. While students will be able to view their grades for individual
assignments and their final grades.

2.1 Product Perspective

Gradebook serves as a microservice to be used in conjunction with Registration service.


It holds data only related to assignments and grading and not data around student
registration. A similar product to be compared to this would be a LMS (i.e Canvas) which
helps manage curriculum and grading.

2.1.1 System Interfaces

Gradebook hooks into a SQL database which provides information surrounding teachers
as well as this it also interacts with a Java based REST API.

2.1.2 Interfaces

Gradebook utilizes a React.js frontend which serves as a GUI or user interface. This will
be hosted as a web application.

2.1.3 Hardware Interfaces

Given this application interacts with the browser we have two main interactions.

(1) Running on a desktop browser (i.e Chrome, Safari, Firefox)


(2) Running on a mobile browser (i.e Safari, Chrome)

2.1.4 Software Interfaces

Specify the use of other required software products and interfaces with other application
systems. For each required software product, include:

Page 2 of 4
CST438-40_SP23

(1) React.js v17


We use react.js as the frontend framework to create the user interface

(2) Java (JDK 17.01) + Spring Boot


We use Java and spring boot to help run the REST API backend

(3) MySQL cCommunity Server 8.0.27


We use MySQL to host the database which holds our gradebook data

2.1.5 Communications Interfaces

We use REST Protocol for our communication between user interface and backend

2.1.6 Memory Constraints

There are no memory constraints.

2.1.7 Operations

Some operations included may be

(1) Deployment of frontend and backend services


(2) Package updates to React.js frontend and Java backend
(3) Database maintenance windows

2.1.8 Site Adaptation Requirements

(1) It is recommended that these services operate in a microservice architecture,


using K8s for container management.

3.2 Functions

(1) The system shall allow teachers, to add an assignment


(2) The system shall allow teachers to grade an assignment
(3) The system shall validate against user email for the validity of the user being an
admin or teacher.
(4) The system shall allow students to check their assignment grade
(5) The system shall calculate the student grades

Page 3 of 4
CST438-40_SP23

3.3 Performance Requirements

(1) The user interface shall load in under 5 seconds


(2) The system shall be able to upload a grade within 5 seconds and be redirected to
the home page
(3) The system shall operate under the purview of current browser implementations
(a) Chrome (v112)
(b) Edge (v112)
(4) The system user interface shall operate under HTTPS SSL web system

3.4 Logical Database Requirements

Page 4 of 4

You might also like