You are on page 1of 6

Software Requirements Specification (SRS)

June 10, 2022


Registration Service
Trinidad Ramirez
CST 438 Software Engineering
2.1 System Environment

The registration service is made for two different types of users: administrators
and students. The three main tasks of the site allow for admins to add students, and for
students to view their schedule and add courses. Specifically, students can view more
than one schedule depending on the semester they choose. In addition, they can add or
drop courses for the semester chosen. Students do not have access to add students.

3.2 Functional Requirements

Add Student
Use Case Name Add Student

XRef NA

Trigger The Admin selects Add New Student


button from the Home page, and then the
Add Student button on the following page

Precondition The Admin accessed the Home page,


followed by the Add Student page

Basic Path 1. The page displays a Dialog box to


enter student information
2. The Admin enters the students
information and selects Add button
3. The site checks to make sure the
student email is not already in the
database

Alternative Paths If Admin enters email that already exists,


an error is displayed that the student
email is already taken.

Postcondition Student is added to the database

Exception Paths The Admin may select the Cancel button


within the Dialog window.

Other The student information includes the


name and email.

View Schedule
Use Case Name View Schedule

XRef NA

Trigger The Student selects the Get Schedule


button

Precondition The Student accessed the Semester


page, and selected a semester

Basic Path 1. The page displays a list of radio


buttons with specific year and semester
2. The Student selects specific year and
semester
3. The Student selects the Get Schedule
button

Alternative Paths No alternative paths

Postcondition The schedule of the selected year and


semester is displayed.

Exception Paths The Student may select the browser’s


Back button to navigate to the previous
page.

Other The only schedules available to view are


Fall 2020, Spring 2021, and Fall 2021.

Add Course
Use Case Name Add Course

XRef Also see Drop Course

Trigger The Student selects the Add Course


button

Precondition The Student accessed the Semester


page, and selected a semester

Basic Path 1. The page displays a Dialog box to


enter course id
2. The Student enters the course id and
selects Add button
3. The site checks to make sure the
course id is valid and that the student is
allowed to register for the course

Alternative Paths If Student enters invalid course id, an


error is displayed that the input is invalid

Postcondition Course and student information is added


to the enrollment table in the database

Exception Paths The Student may select the Cancel button


within the Dialog window.

Other Each course id is tied to more information


like a course name and instructor

Drop Course
Use Case Name Drop Course

XRef Also see Add Course


Trigger The Student selects the Drop button

Precondition The Student accessed the Semester


page, and selected a semester

Basic Path 1. The page displays a Dialog box to


enter course id
2. The Student enters the course id and
selects Add button
3. The site checks to make sure the
course id is valid and that the student is
allowed to register for the course

Alternative Paths If Student enters invalid course id, an


error is displayed that the input is invalid

Postcondition Course and student information is added


to the enrollment table in the database

Exception Paths The Student may select the Cancel button


within the Dialog window.

Other Each course id is tied to more information


like a course name and instructor

3.3 Detailed Non-Functional Requirements

The frontend of the application requires a Google account login to ensure secure
access. The Spring server rest endpoint receives the request, and subsequently
responds with a redirect; therefore, the React app and Spring server never have
visibility to the user’s password. In addition to security, the app offers unique
functionality that only pertains to a specific role. For instance, only admins have access
to add students, and the app verifies if the login credentials provided belong to an admin
or student role. This application was only tested using Google Chrome, and was
confirmed fully functional with version 102.0.5005.61.

3.4 Logical Database Diagram

Entity Diagram Relationship


Each enrollment can have one and only one course, but each course may have zero or
many enrollments. Each student may have zero or many enrollments, but each
enrollment can have one and only one student. The Admin data has no relationship to
the other data. Its sole purpose is to separate admin emails from student emails for
login authorization.

You might also like