Professional Documents
Culture Documents
Software Requirements Specification October 18, 2022 Registration Service Paola Torres
Software Requirements Specification October 18, 2022 Registration Service Paola Torres
Version 1.0
Registration Service
Paola Torres
1
Software Requirements Specification
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.
2
Software Requirements Specification
XRef NA
Alternative Paths NA
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.
XRef NA
Alternative Paths NA
3
Software Requirements Specification
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
XRef NA
Alternative Paths NA
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
XRef NA
Alternative Paths NA
Exception Paths A student can cancel out of the drop screen before
they have dropped the 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.
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.
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.