You are on page 1of 6

Software Requirements Specification

Software Requirements Specification

Version 1.0

October 18, 2022

Registration Service

Paola Torres

1
Software Requirements Specification

2.1 System Environment

The registration service has two user types: students and admin. A student is
able to view their class schedule, register in classes, and drop classes. An admin is able
to add new classes, add new students, and modify a student’s status. The registration
service uses a mysql database in order to keep records of the admin, classes, and
students. The web application communicates with the database through Http requests.

3.2 Functional Requirements

3.2.1 Add a Student

2
Software Requirements Specification

Use Case Name Add New Student

XRef NA

Trigger An admin clicks on the Add Student button

Precondition User is signed in as an admin

Basic Path 1. The /student webpage displays text inputs to


enter the students information.
2. The required information to enter is the
student’s name and student’s email.

Alternative Paths NA

Postcondition The new student has been added to the database

Exception Paths The admin can cancel adding a student

Other A status code of 0 is added to the database with the


new student by default.

As an administrator, you can add a student. The inputs required are the student’s name
and the student’s email. These are entered into the appropriate text boxes in the
/student webpage. The information is transferred to the database via an Http post
request. When the student is initially created in the database, a status code is set to 0
by default.

3.2.2 View Schedule

Use Case Name View Class Schedule

XRef NA

Trigger A student clicks on the View Schedule button

Precondition User is signed in as a student

Basic Path 1. When the student clicks on the View Schedule


button, the list of classes the student is
enrolled in is displayed.
2. If the student is not enrolled in any classes, the
screen will be blank.

Alternative Paths NA

3
Software Requirements Specification

Postcondition A list of classes is retrieved from the DB and


displayed in the webpage.

Exception Paths A student can leave the schedule page.

Other A student must be enrolled in courses for a list of


classes to be generated.

As a student, you can view your schedule. The input is a student’s click on the view
schedule button in the initial web page after logging in. This process will trigger an Http
get request that will retrieve the classes that specific student is enrolled in from the
database.

3.2.3 Enroll

Use Case Name Register in a Class

XRef NA

Trigger A student selects a course and clicks the enroll


button.

Precondition User is signed in as a student

Basic Path 1. A student searches the list of available classes.


2. The student then selects the course they would
like to enroll in.
3. The enroll button is clicked once the desired
course is selected.

Alternative Paths NA

Postcondition The student is enrolled in the course. The enrollment


appears in the enrollment database.

Exception Paths A student can cancel out of the enrollment screen


before enrolling.

Other NA

As a student, you can enroll in courses. A student can browse and enroll into existing
courses. The initial search for classes triggers an Http get request. Once the student
selects a course to enroll in, the student’s schedule is updated via an Http post request.
The input will be the student’s click on the enroll button. The enrolled courses are saved
in the enrollment table in the database.

4
Software Requirements Specification

3.2.4 Drop

Use Case Name Drop a Class

XRef NA

Trigger A student selects a course and clicks the drop button.

Precondition User is signed in as a student and is enrolled in at


least one course

Basic Path 1. A student views their class schedule.


2. The student selects the desired course.
3. The student clicks the drop button while the
desired course is selected.

Alternative Paths NA

Postcondition The student is not enrolled in the selected course.


The enrollment is removed from the enrollment table
in the database.

Exception Paths A student can cancel out of the drop screen before
they have dropped the class.

Other The student must be enrolled in at least one course to


have the option to drop a class.

As a student, you can drop a course. A student can view their current schedule and
choose to drop a course. The input will be the student’s click on the drop button. This
will trigger an update of the enrollment table in the database via an Http delete request.

3.3 Non-functional Requirements

The registration service uses Google’s OAuth API to authenticate/sign in users. The
registration service can run on all modern browsers, such as Chrome, Safari, Edge, and
Firefox, as long as there is a stable internet connection. The performance of the
registration service is average.

3.4 Logical Database Diagram

5
Software Requirements Specification

The registration database has three main tables: course, student, and
enrollment. The course table contains all the available courses. Its primary key is the
course_id and it has a one to many relationship with the enrollment table. The student
table contains all the students. Its primary key is the student_id. It has a one to many
relationship with the enrollment table. The enrollment table contains the information
about what student is enrolled in what course. Its primary key is the enrollment_id. It
has two foreign keys, student_id and course_id that reference the student table and the
course table respectively. The enrollment table has a many to one relationship with the
student table. It also has a many to one relationship with the course table.
Besides the primary and foreign keys, each table also contains the following
information. The course table also includes information such as the year and semester
of a course, the title, times, building, room, instructor, and start and end dates for each
class. The student table includes information such as the student’s name, email, and
status code. The enrollment table includes information such as year, semester, and
course grade.

You might also like