You are on page 1of 9

Software Requirement Specification

April 17, 2023

CST 438 Project

Saul Mendoza-Loera
System Environment

Figure 1. System Environment of CST 438 Project

Figure 1 displays the system environment for the CST 438 Project. This system consists

of 3 external actors: student, instructor, administrator. The instructor and student will have

access to the gradebook service of the system. The student and administrator will have access

to the registration service of the system. All participating actors will go to the same web page to

log into the system. They will enter their credentials (school email and password) in order to
have access to the right tools based on their roles. The data will live in a MySQL database that

the server in which the system will live in will have access in order to read and write.

System Requirements

This section covers the functional requirements for the use cases in the gradebook service. As

mentioned above, there are two external actors for this service, the student and instructor.

Use Case Name Instructor adds an assignment to a course

XRef Figure 1. System Requirement

Trigger The instructor clicks on the “Add Assignment”


button.

Precondition The instructor has logged into the system with


their credentials, school email and password.

Basic Path 1. Once the button is clicked, the web page


displays the add assignment page.
2. The instructor enters the course id, name
of the assignment, and the due date.
3. The system checks if the course id
entered is valid and creates the
assignment.

Alternative Paths If the course id is invalid when checking in step


3, an error will display in the webpage and the
assignment will not be created.

Postcondition The instructor was able to add an assignment for


a course.

Exception paths The instructor may opt out from adding an


assignment.

Other The course id must be valid, the name of the


assignment must be a string, and the due date
must be in the format YYYY-MM-DD.
Use Case Name Instructor enters scores for an assignment

XRef Figure 1. System Requirement

Trigger The instructor is at the main page of the


webpage.

Precondition The instructor has logged into the system


with their credentials, school email and
password. They select the course they wish
to enter a new assignment for.

Basic Path 1. The webpage displays the


assignments that needs to be graded
2. The instructor selects the assignment
they will want to grade then press the
“Grade” button.
3. The webpage will display a list of all
the students enrolled in the course
that the assignment was created for.
4. The instructor will enter the grade for
each student then press “Submit”
when they are done.

Alternative Paths The instructor must enter a valid numerical


value as a grade. The system will validate
this.

Postcondition The instructor has submitted all the grades


for the assignment.

Exception paths The instructor may opt out from submitting


scores for an assignment.

Other The list of assignments will only be from the


courses the instructor is teaching.
Use Case Name Student views their grades from a course

XRef Figure 1. System Environment.

Trigger The student clicks on a course they are


currently enrolled in.

Precondition The student has logged into the system with


their credentials, school email and password,
and sees a list of the courses they are
enrolled in.

Basic Path 1. Webpage displays a list of courses


that the student is currently enrolled
in.
2. The student selects the course they
wish to view their grades.
3. The webpage lists all the assignments
for that course and the grades they
have received after the instructor has
graded the assignments.

Alternative Paths n/a

Postcondition The student will see the scores of each


assignment for a course they have selected
to view.

Exception paths The student may opt out from viewing their
scores for the assignments.

Other The student is only able to see their own


scores (not others) for the assignments in a
course they are enrolled in.
Use Case Name Instructor submits final grades for a course

XRef Figure 1. System Environment.

Trigger The instructor selects the course they are


instructing then selects the “finalize grades”
button.

Precondition The instructor has logged into the system


with their credentials, school email and
password. The webpage displays the list of
courses they are instructing.

Basic Path 1. Webpage displays the list of courses


the instructor is instructing in.
2. The instructor selects a course.
3. The webpage displays a list of all the
assignments in that course.
4. Instructor selects the “finalize grades”
button.
5. The webpage computes the overall
grade for each student enrolled in that
course.

Alternative Paths The instructor can modify a student's grade if


needed (e.g “I” for incomplete).

Postcondition The instructor will get a list of all students in


the course with their final grades calculated.

Exception paths The instructor may opt out from finalizing


grades.

Other The instructor is only able to finalize and view


grades for all students in the course. They
also have the option to modify a grade if
needed (see alternative paths).
Non-functional Requirements
Performance
The CST 438 Project performance will be based on the hardware of the server it lives on

and internet quality the actor uses to access the webpage. The database will live on a MySQL

server.

Security

The only authorized users with an email account that obtains the school's domain can

access the webpage. These users are to log into the CST 438 by using Google as a sign in

option. The users will need to have 2-Step verification for further protection and security.

Other Requirements

Users will be able to use any preferred browser (Safari, Edge, Chrome, FireFox etc) but

will need to have the latest version of said browser for better performance. The webpage should

be accessible on multiple forms of devices: computer, phone, or tablet.


Gradebook ERD

Enrollment

The enrollment table will consist of 4 variables. The primary key would be the id of type

int that will auto increment. Two variable character types would be student_email and

student_name. Lastly, course_id would be a foreign key of type int. The course_id will reference

the course table.

Course

The course table will consist of 5 variables. The primary key would be the course_id of

type int. Three variables of character type would be instructor, semester, and title. Finally, the

variable year would be of type int.

Assignment

The assignment table will consist of 5 variables. The primary key, id, will be of type int. A

variable of type DATE will be due_date. There will be a character type for the variable name.
There will be two additional type int variables, needs_grading and course_id. Again, the

course_id will be a foreign key that references the course table.

Assigment_grade

The assigment_grade table will consist of 4 variables. The primary key, id, will be of type

int. A character type variable will be for score. Finally two int type variables, one for

assignment_id and another one for enrollment_id. Assignment_id will be a foreign key that will

reference the assignment table. The enrollment_id will be another foreign key that will reference

the enrollment table.

You might also like