Software Requirements Specification
Software Requirements Specification
Version 1.0
Alex O’Brien
Page 1 of 7
2.1 System Environment
The School Registration Service has two active actors, Admin and Student. Admins can
add a student. Students can enroll in a course, drop a course, and view their schedule. The school
registration service also communicates back and forth with the Gradebook service to alter the
Page 2 of 7
3.2 Functional Requirements
XRef None
Exception Paths The Admin can click “Cancel” to end the operation at any time.
Other The Student hold status is set to 0. This indicates that the student
does not have a hold preventing them to enroll in courses.
Trigger The Student selects to view their course schedule from the
database.
Precondition The Student has accessed the Course Registration screen.
Basic Path 1. The system presents options to select the term consisting of
year and semester.
2. The Student clicks on “Get Schedule”.
3. The system fetches courses from the database that are
associated with the Student.
Page 3 of 7
Alternative Paths If in step 2, there are no courses that are associated with the
Student, no rows will be shown.
Postcondition The course schedule is shown to the Student.
Exception Paths The Student can abandon the operation at any time.
Other After adding a Course, the Course will be displayed when the
Student views their schedule for that term.
Page 4 of 7
Trigger The Student selects to drop an enrollment from the database.
Precondition The Student has accessed their schedule and is viewing the term
that is associated with the course they would like to drop.
Basic Path 1. The Student clicks on “Drop”.
2. The system confirms with the Student that they would like
to drop the course.
3. The Student confirms with the system.
4. The system removes the enrollment that is associated with
the Student and Course being dropped.
Alternative Paths None
Postcondition The enrollment is removed from the database indicating that the
course is dropped.
Exception Paths The Student can abandon the operation at any time.
Other After dropping a Course, the Course will not be displayed when the
Student views their schedule for that term.
3.3.1 Performance
The performance of the system will depend on the workstation being used. With modern
hardware and a strong internet connection, 95% of users will not have to wait more than 3
seconds for a transaction to be completed from the moment a confirmation button is clicked.
3.3.2 Security
The server where the system is running will have its own security to prevent unauthorized
access. The database server that the system uses will be protected from unauthorized write/delete
access. The Admin and Student accounts will be protected by hashed password authentication.
Page 5 of 7
Google Chrome is fully tested and is the recommended Web Browser for the frontend
web application. The recommended Google Chrome version is the latest non-beta version
Page 6 of 7
Course
Columns Description
course_id Course ID, Primary Key
title Title
year Year
semester Semester
times Time course is offered
building Building location
room Building room number
instructor Instructor
start Start date
end End date
Enrollment
Columns Description
enrollment_id Enrollment ID, Primary Key
year Enrollment year
semester Enrollment semester
course_grade Grade of course
student_id Student ID, Foreign Key
course_id Course ID, Foreign Key
Student
Columns Description
student_id Student ID, Primary Key
name Student first and last name
email Student email
status Hold status
Binary hold status, 0 (no
status_code
hold) or 1 (hold)
Page 7 of 7