Professional Documents
Culture Documents
Srs - Janet
Srs - Janet
Janet Pham
Abbreviated Document
The system consists of two services with three main roles involved. Students have the
ability to add or drop courses, while admins possess addition privileges to manage
student records and handle assignments and grades. The communication between these
services is facilitated through a message queue. Notably, when students enroll in a
course, this enrollment information is seamlessly integrated to gradebook service,
ensuring enrollment table is updated accurately.
3.2 Functional Requirements
3.2.1 Adminstrator Use Case
XRef
Alternative Paths If in step 3, both field is blank, an error toast message will be
presented
Postcondition The Student has been added and a success toast message is
displayed
Other
XRef
Trigger The Student selects radio button for a specific semester and
presses Get Schedule
Precondition The Student has to be signed in and enrolled in the courses for
the semester
Basic Path 1. Students select the radio button for the semester they
are trying to view
2. Then press Get Schedule
3. The system will get the records of all the courses the
student is enrolled in for that selected semester.
Alternative Paths
Trigger The Students select a radio button for a specific semester and
select Get Schedule
Basic Path 1. Student gets schedule for a specific semester that they
are cleared to enroll for
2. Student click on Add Course button
3. Student enter valid Course ID
4. Student click on Add button
5. On success, student is presented with success toast
message, the dialog then closes
6. Course has been enrolled
Other
3.2.4 Drop Student’s Course
XRef See 3.2.2 View Student Schedule and 3.2.3 Enroll Student Into
Course
Basic Path 1. Students click the View Schedule button for a valid
semester they can drop classes from
2. Students then click the Drop button next to a course
3. Students are then prompted to click Cancel/Ok to
confirm whether or not they want to drop the course.
4. A success toast message will be displayed upon success
Alternative Paths In step 3, student may click cancel to not drop the course
Postcondition The Students are presented with their schedule without the
course that was dropped
Other If drop data has alread passed, students may not be able to
drop courses.
3.3 Non-Functional Requirements
3.3.1 Performance
To ensure optimal performance, the frontend and backend services should have multiple
instances distributed across multiple servers and be equipped with a load balancer to efficiently
handle traffic. The application must be designed to handle thousands of simultaneous requests,
especially during peak times like class registration when numerous students have access to the
services. Caching mechanisms can be employed to store frequently accessed data, reducing the
need to fetch the same information repeatedly.
3.3.2 Security
The registration backend must comply with stringent security measures including restring
access to API endpoints to only authorized users and allowing administrative actions only for
authenticated users/admins. Robust user authentication should implemented to guard against
unauthorized attack vectors like SQL injection and cross-site scripting. Additionally, all
communcations between the client and server should be encrypted using HTTPS, and a
comprehensive logging systems must be in place for auditing and debugging purposes.