Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Software Requirements Specification Document

Registration Service
Sabrina Ferras
CST438 Software Engineering

Software Requirement Specification


Document

Version: 1.0 Date: 4.10.2023


2.1 System Environment

The Registration Service System has three actors: Student, Admin, and the Gradebook Service.

The student can choose to view their schedule, enroll in a course, or drop a course. When a

student either enrolls in a course or drops a course this action updates the gradebook service.

Once the semester is completed the gradebook service updates the final grade for the students.

Admin can add a new student to the registration service.

SRS V 1.0 Date: 4.10.2023


3.2 System Environment
3.2.1 Administrator Adds a Student
Use Case Name Administrator Adds a Student.
XRef None.
Trigger The Admin presses the “Add Student” button.
Precondition The Admin is on the Home page which has a
“Add Student button under the first header
“Course Registration.”
Basic Path 1. The system shall display a dialog box
titled “Add Student” with two fields
“name” and “email.”
2. The Admin enters the Name of the
student and their email.
3. The Admin presses the “ADD” button
at the bottom right of the dialog box.
4. A message “Student successfully
added” pops up in green with a check
mark in the lower left corner of the
screen.
Alternative Paths None.
Postcondition A new student was added to the database.
Exception Paths 1. After step 5 the message “Error when
adding” outlined in red with an
exclamation mark may appear when
there is any error such as adding a
student that is already in the database.

2. The admin may abandon the operation


at anytime before pressing the “Add”
button by clicking outside the dialog
box or on the “CANCEL” button.
Other In step 2 there are no checks for invalid
entries in the fields for name and email.

3.2.2 Student Views their Schedule


Use Case Name Student Views their Schedule
XRef None.
Trigger None.
Precondition The Student is on the Home page.
Basic Path 1. The system shall display a list of
semesters under the header “Schedule
– select a term” which has two

SRS V 1.0 Date: 4.10.2023


columns, one for year and the other
for semester.
2. The Student selects the radio options
next the year and semester they want
to view the schedule for.
3. The Student presses the button below
the list labeled “GET SCHEDULE.”
Alternative Paths None.
Postcondition 1. The Student is directed to a page with
a header “Schedule __”, the blank has
the year and semester that was chosen.
2. Below the header is a button for
adding a course.
3. Below the button is a list with six
columns: Title, Section, Times,
Building, Room, and Grade.
4. The list displays the classes enrolled
in with all their associated information
filled in.
5. Beside each class displayed is a button
“Drop.”
Exception Paths The Student may abandon the operation at
any time.
Other None.

3.2.3 Student Enrolls in a Course


Use Case Name Student Enrolls in a Course
XRef 3.2.2 Student Views their Schedule
Trigger The Student presses “GET SCHEDULE”
button.
Precondition The Student is on the page to view their
schedule.
Basic Path 1. The Student is directed to a page with
a header “Schedule __”, the blank has
the year and semester that was chosen.
2. Below the header is a button labeled
“ADD COURSE.”
3. The Student presses the button “ADD
COURSE.”
4. A dialog box will come up with title
“Add Course” and one input field to
accept the Course Id.
5. The Student inputs the course id of the
class they want to enroll in.

SRS V 1.0 Date: 4.10.2023


6. A message “Course successfully
added” pops up in green with a check
mark in the lower left corner of the
screen.
Alternative Paths None.
Postcondition 1. The class the Student enrolled in is
added to the database.
2. The gradebook service is updated to
have the Student in the enrolled class.
Exception Paths 1. The Student may abandon the
operation at any time.
2. In step 5 the student may click Cancel
or outside the dialog box to abandon
the operation.
3. In step 6 if the course id in not in the
database of courses then the message
“Error when adding” outlined in red
with an exclamation mark appears.
Other In step 5 there are not checks for invalid
entry.

3.2.4 Student Drops a Course


Use Case Name Student Drops a Course
XRef 3.2.2 Student Views their Schedule
Trigger The Student presses “GET SCHEDULE”
button.
Precondition The Student is on the page to view their
schedule.
Basic Path 1. The system shall display the classes in
the chosen term with an associated
button next to each class labeled
“DROP.”
2. The Student presses the button
“DROP.”
3. A message box will appear asking the
Student if they are sure they want to
drop the course
4. The message box contains two
options: OK and Cancel.
5. The Student selects “OK.”
6. A message “Course successfully
dropped” pops up in green with a
check mark in the lower left corner of
the screen.

SRS V 1.0 Date: 4.10.2023


Alternative Paths None.
Postcondition 1. The enrolled class for the Student is
removed from the database.
2. The gradebook service is updated to
remove the Student from the enrolled
class.
Exception Paths 1. The Student may abandon the
operation at any time.
2. In step 5 the student may click Cancel
to abandon the operation.
Other The Student cannot drop a course that they
are not currently enrolled in.

3.3 Non-Functional Requirements


3.3.1 Performance, Security, and Browser
Performance for this system tests with one user at a time and responds quickly. The security for

this system is very minimal with checks on whether or not certain inputs are in the database. The

browser that should be used with the front end of this service is Chrome with the minimum

version of 111.

3.4 Logical Database Diagram


3.4.1 ER Model

SRS V 1.0 Date: 4.10.2023


3.4.2 Tables, Keys, and Attributes
The three tables are student, enrollment, and course. Each table has a primary key

that is identified by id. Enrollment has two foreign keys “student_id” and

“course_id” to create a many to many relationship from student to course. The

student table also has attributes “name”, “email”, “status”, and “status_code”. Of

these attributes the first three are of type varchar and “status” is the only one with

the option to be null. Enrollment has attributes “year”, “semester”, and

“course_grade”, of which the first two are of type int and last one varchar. The

“course_grade” is the only one that is optionally null. The table for Course has four

not null attributes: “year”, “semester”, “section”, and “title”. The optionally null

attributes are: “times”, “building”, “room”, “instructor”, “start”, and “end.” The

attributes of type int are “year” and “section,” the attributes of type date are “start”

and “end.” The rest of the attributes in the course table are of type varchar.

SRS V 1.0 Date: 4.10.2023

You might also like