Team 6 Srs
Team 6 Srs
Team 6 Srs
Version 1.0
Team 6 SRS
Robin Hurtado ,
Sukhdeep Malhi ,
Juan Duarte ,
Nicholas Anderson
Table of Contents
Table of Contents.............................................................................................................................................. 1
1.0. Introduction................................................................................................................................................1
1.3. Glossary.............................................................................................................................................. 2
2.0. Overall Description....................................................................................................................................3
2.1 System Environment............................................................................................................................3
3.0. Specific Requirements..............................................................................................5
3.2 Functional Requirements.....................................................................................................................5
3.2.1 Admin Add Course....................................................................................................................5
3.2.2 Admin Views Courses............................................................................................................... 6
3.2.3 Admin Updates Course............................................................................................................. 6
3.2.4 Admin Adds Section................................................................................................................. 7
3.2.5 Admin Views Sections by Search............................................................................................. 8
3.2.6 Admin Update Section.............................................................................................................. 9
3.2.7 Instructor Add Assignment..................................................................................................... 10
3.2.8 Instructor Grades Assignment................................................................................................. 11
3.2.9 Instructor View Assignments.................................................................................................. 12
3.2.10 Instructor Update Assignments............................................................................................. 12
3.2.11 Instructor View Enrollments..................................................................................................13
3.2.12 Instructor View Sections....................................................................................................... 14
3.2.13 Students Enroll Course..........................................................................................................14
3.2.14 Students View Assignments.................................................................................................. 15
3.2.15 Students View Transcript...................................................................................................... 15
3.3 Non - Functional Requirements..........................................................................................................16
3.4 Logical Database Requirements......................................................................................................... 17
1.0. Introduction
1.1 Purpose
The purpose of this document is to list and describe the specification requirements for a
system that governs a school. This document will explain the requirements for each
subsystem and how it interacts with the rest of the system. The actors that interact with
the system will also be described. The hope of this document is that the stakeholders as
well as the developers can understand and agree upon the requirements of the system.
1.2 Scope
The software system being developed is for the functions of a school system to operate
successfully. These functions include the administration’s need for the ability to create
and control classes for students as well as the need for students to enroll and interact with
the classes. Instructors also need a way to have control over assignments and grades
which this system also aims to solve. When the whole system is operating, students,
1
instructors, and administrators should be able to successfully operate the needs of the
school system.
1.3. Glossary
Term Definition
Admin The person in charge of adding and editing sections and
courses in the school database system. The admin also has
control over adding, editing, and deleting users from the
database system.
Instructor A teacher at the school who teaches courses. Teachers will
create and grade assignments for students, as well as give
grades to students for the course.
Course A class as identified by its subject, identifying number, and
title.
Collection of all the information monitored by this system.
Database Course schedule and information is stored within the
database.
The object created when a student enrolls into a specific
Enrollment
section of a course.
Student A student enrolls in courses. Each student turns in
assignments and will receive grades for assignments and
courses.
Parameter A value that defines a value or condition.
System The interconnected elements of a database, a user and
parameters working together to complete task.
Section A specific instance of a course occurring at a specific time,
at a specific location, in a specific term, identified by
Section number.
Semester The school term usually divided into Fall, and Spring
Transcript A list of student course information with grades.
Term The season and year in which a specific section of a course
occurs.
User Admin, Instructor or Student
2
2.0 Overall Description
2.1 System Environment
3
The School Enrollment system has three main actors and an external database
service that stores school records. The student has five main use cases, assignments view,
transcript view, enrollment view, class schedule view, and a main view to navigate to all
other views. The assignment view should display assignments for a year and semester.
Each assignment should display the course and the grade. Transcripts show all classes
and the corresponding grade. Enrollment view should allow a student to enroll in an open
class, and schedule view should allow a student to drop a class.
Instructor roles should have four main use cases: sections view, enrollment view,
assignment view, and a main view. From the main view, an instructor can enter a year and
semester which allows navigation to section view. All sections for a given year and
semester are displayed. Each section allows you to navigate to the corresponding
enrollment view or assignment view. From the enrollment view the instructor can add
grades for enrolled students in the section. In the assignment view for a section, the
instructor can add, delete, or edit an assignment. Finally, the instructor can also assign
grades to the assignments for all students in the section.
The administration role should have four main use cases: user view, courses view,
sections view, and a main view to navigate to other views. The user view allows the
administrator to add, delete, and edit users to the system. An administrator can add,
delete, and edit courses in the courses view. Finally, an administrator can add, delete, and
edit sections in the section view. In the sections view the year, semester, and course prefix
needs to be entered to view corresponding sections.
4
2. The system presents prefilled text boxes for the course
selected. Return to step 6.
In step 2, if the Admin selects delete course.
1. The Admin selects delete.
2. The system asks the admin to confirm deletion.
3. The system removes the selected course from the
database.
4. In step 5, if any required field is blank, the Admin is
instructed to add an entry.
In step 5, if any required field is blank, the Admin is instructed
to add an entry.
5
4. The system presents pre-filled text boxes for thes
elected course.
5. The Admin enters the updated course information and
submits it.
6. The system checks that none of the boxes were left
blank, and updates the database.
6
2. The Admin enters section information and submits it.
3. The system checks that every parameter is entered, and
displays a list of sections that match the parameters.
In step 3, if the parameters are left empty
1. The system returns a message indicating
parameters are missing.
7
3.2.6 Admin Update Section
Use Case Name Update Section
XRef
Trigger The Admin selects edit to update the information for a section
already existing in the database.
Precondition The user must be an Admin, and have access to the admin
sections screen
Basic Path 1. The system provides blank text boxes for parameters to
search sections by.
2. The Admin enters parameters into text boxes and
submits.
3. The system checks that all the parameters were entered
into the text boxes.
4. The system displays a list of sections that match the
parameters.
5. The Admin selects edit.
6. The system returns pre-filled text boxes for the section
selected.
7. The Admin updates information in text boxes and
submits.
8. The system updates the section in the database.
Alternative Paths In step 2, if the Admin selects add section 3.2.4 Add Section
use case.
1. The system presents blank text boxes for the new
section.
2. The Admin enters the new section information and
submits it.
3. The system checks that none of the required boxes
were left blank, and updates the database
4.
In step 4, if the Admin selects the delete section.
1. The system displays a confirmation dialog box.
2. The Admin confirms the deletion.
3. The system deletes the selected section from the
database and updates the database.
The Admin can only update sec id, building, room times and
instructorEmail text boxes.
8
3.2.7 Instructor Add Assignment
Use Case Name Add Assignment
XRef
Trigger The Instructor selects add assignment to add an assignment to
a section database.
Precondition The Instructor has accessed the sections menu and selected
assignments for the desired section.
Basic Path
1. The Instructor selects show sections using the 3.2.12
View Sections use case.
2. The system displays a list of sections that match the
parameters provided.
3. The Instructor selects Assignments for the desired
section.
4. The system displays a list of the assignments in the
section.
5. The Instructor selects the add assignment.
6. The system presents blank text boxes for the new
assignment.
7. The Instructor enters the assignment information into
the blank text boxes.
8. The system checks that the text boxes are not left
blank.
9. The system adds the assignment
Alternative Paths In step 2, if the Instructor selects Enrollments.
1. The system displays a list of the enrolled students for
the selected section.
In step 4, if the Instructor selects edit assignment
1. The system presents pre-filled text boxes for the
selected assignment.
2. The Instructor updates the information and submits.
3. The system checks the updated information and
updates the database.
In step 4, if the Instructor selects delete section
1. The system displays a confirmation message.
2. The Instructor confirms deletion.
3. The system deletes the assignment and updates the
database.
In step 4, if the Instructor selects grades.
1. The system presents a list of students' grades for the
selected assignment.
2. The Instructor enters the updated grades.
3. The system checks that the updated grade is a valid
input and updates the database.
Postcondition The new assignment is added to the section database.
9
Assignment successfully added a message displayed.
Exception Paths The Instructor may abandon adding a new assignment at any
time.
Other The parameters requested for a new assignment include Tifle
and Due Date. The due date must be a future date.
10
Postcondition A message displays that the grades have been saved.
Exception Paths The Instructor may abandon adding a new assignment at any
time.
Other This use case extends 3.2.9 View Assignments
11
3. The Instructor selects Assignments for the desired
section.
4. The system displays a list of the assignments in the
section.
5. The Instructor selects edit for an assignment.
6. The system presents pre-filled text boxes for the
selected assignment.
7. The Instructor updates the information and submits.
8. The system checks the updated information and
updates the database
Alternative Paths In step 4, if the Instructor selects grade assignments
1. The system presents a list of students' grades for the
selected assignment.
2. The Instructor enters the updated grades.
3. The system checks that the updated grade is a valid
input and updates the database.
In step 4, if the Instructor selects delete assignments
4. The system displays a confirmation message.
5. The Instructor confirms deletion.
6. The system deletes the assignment and updates the
database.
In step 4, if the Instructor selects add assignment.
4. The system presents blank text boxes for the new
assignment.
5. The Instructor enters the assignment information into
the blank text boxes.
6. The system checks that the text boxes are not left
blank.
Postcondition Assignment saved message is shown.
Exception Paths The Instructor may abandon updating assignments at any time.
Other This use case extends the 3.2.9 View Assignment use case
12
3. The system checks the parameters and returns a list of
sections that match the parameters provided.
4. The Instructor selects enrollments.
5. The system presents a list of student enrollments under
the selected section.
Alternative Paths In step 3, if the Instructor selects Assignments
1. The system presents a list of the assignments in the selected
section
13
4. The system lets the student enroll upon clicking on
enroll.
Alternative Paths The system throws an error when the student attempts to enroll
in the course they are already enrolled in.
Postcondition The student is enrolled in the selected course successfully.
Exception Paths The Student may abandon the enrollment of course process at
any time.
Other After clicking on enroll, the student receives a confirmation
message.
Alternative Paths The system throws an error when the student attempts to enroll
in the course they are already enrolled in.
Postcondition The student views assignments successfully.
Exception Paths
Other After clicking on view assignments, the student can view more
details about a specific assignment.
14
3.2.16 Students Withdraw Course
Use Case Name Withdraw Course
XRef Section 3.2, Withdraw Course
Trigger The student selects a specific course to withdraw.
Precondition The student is enrolled in the course.
Basic Path 1. The system lets the student navigate to withdraw
course section
2. The system displays all courses the student is currently
enrolled with an option to withdraw.
3. The student clicks on the withdrawal option to remove
the course.
4. The system successfully removes the course.
Alternative Paths The system throws an exception if the student attempts to
withdraw from the course after the drop deadline has passed.
Postcondition The course is removed from the student’s courses section.
Exception Paths The system displays a confirmation after attempting to
withdraw.
The system shows a course has been removed successfully.
Other None
3.3.2 Security
The application ensures security measurements to protect data security and
integrity. The system prompts users to enter user ID and password to log in,
processing credentials securely through the login URL by using HTTP security. In
terms of performance and reliability, the system is designed to work for fast
internet connection, displaying data quickly for users, and loading accurate
information within seconds efficiently.
15
3.4 Logical Database Requirements
The database contains tables for user, course, section, term, enrollment, grade, and
assignment. Additional column constraints are as follows:
16