0% found this document useful (0 votes)
32 views

Software Requirements Specification

Uploaded by

api-634388533
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Software Requirements Specification

Uploaded by

api-634388533
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Software Requirements Specification

Version 1.0

04/02/2024

GradeMe

Bitwise #1

Andi Cameron, Christopher McMichael, Jake Kroeker,


Jeremiah McGrath
Software Requirements Specifications Document

Table of Contents

1.0 Introduction.............................................................................................................................4
2.0 The Overall Description......................................................................................................... 5
2.1 System Environment...........................................................................................................5
2.1.1 System Environment UML Summary.............................................................................6
3.0 Specific Requirements............................................................................................................ 7
3.2 Functional Requirements.................................................................................................... 7
3.2.1 Login.......................................................................................................................... 7
3.2.2 Student - View Enrolled Courses...............................................................................7
3.2.3 Student - Drop Enrolled Courses............................................................................... 8
3.2.4 Student - View Open Courses.................................................................................... 8
3.2.5 Student - Enroll in Courses........................................................................................ 9
3.2.6 Student - View Assignments....................................................................................10
3.2.7 Student - View Transcripts.......................................................................................10
3.2.8 Instructor - View Sections........................................................................................11
3.2.9 Instructor - View Enrollments..................................................................................12
3.2.10 Instructor - Enter Final Grades.............................................................................. 12
3.2.11 Instructor - View Assignments...............................................................................13
3.2.12 Instructor - View Assignment Grades....................................................................13
3.2.13 Instructor - Edit Assignment Grades......................................................................14
3.2.14 Instructor - Edit Assignment..................................................................................14
3.2.15 Instructor - Delete Assignment.............................................................................. 15
3.2.16 Instructor - Add Assignment..................................................................................16
3.2.17 Administrator - View Users................................................................................... 16
3.2.18 Administrator - Edit Users..................................................................................... 17
3.2.19 Administrator - Delete Users................................................................................. 18
3.2.20 Administrator - Add Users.....................................................................................18
3.2.21 Administrator - View Courses............................................................................... 19
3.2.22 Administrator - Edit Courses................................................................................. 19
3.2.23 Administrator - Delete Courses............................................................................. 20
3.2.24 Administrator - Add Courses................................................................................. 21
3.2.25 Administrator - View Sections...............................................................................21
3.2.26 Administrator - Edit Sections.................................................................................22
3.2.27 Administrator - Delete Sections.............................................................................23
3.2.28 Administrator - Add Sections................................................................................ 24
3.3 Non-Functional Requirements.......................................................................................... 25
3.3.1 Performance............................................................................................................. 25

Page 2 of 30 04/02/2024 f
Software Requirements Specifications Document

3.3.2 Security.................................................................................................................... 25
3.3.3 Reliability................................................................................................................25
3.3.4 Usability................................................................................................................. 25
3.3.5 Maintainability........................................................................................................ 25
3.3.6 Portability............................................................................................................... 25
3.4 Logical Database Requirements....................................................................................... 27
3.4.1 Figure of Database Schema........................................................................................... 27
3.4.2 Description of Database Schema.................................................................................... 27
3.4.2.1 Assignment Data Entity........................................................................................ 28
3.4.2.2 Course Data Entity................................................................................................28
3.4.2.3 Enrollment Data Entity......................................................................................... 28
3.4.2.4 Grade Data Entity................................................................................................. 28
3.4.2.5 Section Data Entity............................................................................................... 29
3.4.2.6 Term Data Entity...................................................................................................29
3.4.2.7 User Data Entity....................................................................................................30

Page 3 of 30 04/02/2024 f
Software Requirements Specifications Document

1.0 Introduction

This Software Requirements Specifications (SRS) document provides an overview of the


system being developed, and its constituent requirements. It has been divided into several
sections, each providing detailed information on that aspect of the system. These sections
include:
● The System Environment
● The Functional Requirements
● The Non-Functional Requirements
● The Logical Database Requirements

GradeMe aims to create a comprehensive software system to streamline academic


management tasks within educational institutions. The project will deliver user-friendly
portals for students and instructors, providing essential functionalities such as transcript
viewing, course management, assignment tracking, and grade management.

The primary objectives of the project are to:

● Improve the efficiency and accuracy of academic management tasks.


● Provide a centralized platform for accessing academic information and resources.
● Enhance the user experience for students and instructors.

Key deliverables include:

● Student and instructor portals with intuitive interfaces.


● Backend database infrastructure for storing academic records.

Page 4 of 30 04/02/2024 f
Software Requirements Specifications Document

2.0 The Overall Description

2.1 System Environment

Page 5 of 30 04/02/2024 f
Software Requirements Specifications Document

2.1.1 System Environment UML Summary

GradeMe has three active actors. The Admin, Instructor, and Student all access the
program through the Internet. Admins have three main pages where they can view
courses, sections, and users – all of which have use cases for editing, adding, and deleting
their respective items. Instructors have a single home page that extends to use cases
regarding the management of sections, assignments, and enrollments. Finally, Students
have use cases for managing and viewing their courses, enrollments, and grades.

Page 6 of 30 04/02/2024 f
Software Requirements Specifications Document

3.0 Specific Requirements

3.2 Functional Requirements

3.2.1 Login

Title Login

Description The system shall provide a secure login mechanism for students,
instructors, and administrators to access academic records

Precondition The user has previously obtained login credentials

Trigger A user navigates to the project URL

Basic Path 1. The system prompts the user to enter a Username and Password
2. The user enters their login credentials
3. The system validates the credentials

Alternative Path In step 3, if the login credentials are incorrect


● The system displays a relevant error message

Postcondition The system redirects the user to the corresponding homepage

Exception Path N/A

3.2.2 Student - View Enrolled Courses

Title Student - View Enrolled Courses

Description The system shall allow students to view their enrolled courses

Precondition The student has completed Use Case 3.2.1

Trigger The student clicks View Class Schedule

Basic Path 1. The system prompts the user to enter a Year and Semester
2. The user enters a Year and Semester
3. The user clicks Query
4. The system queries the database for information about the student’s
enrolled courses for the given Year and Semester

Postcondition The system displays a table with the following information for all the
courses in which the student is enrolled and that match the specified Year
and Semester

Page 7 of 30 04/02/2024 f
Software Requirements Specifications Document

● Section Number
● Course ID
● Section ID
● Title
● Credits
● Grade
● Drop (button)

Exception Path In step 3, if the Year / Semester field holds invalid data
● The system displays a relevant error message
In step 4, if the database returns an error
● The system displays a relevant error message

3.2.3 Student - Drop Enrolled Courses

Title Student - Drop Enrolled Courses

Description The system shall allow students to drop enrolled courses

Precondition The student has completed Use Case 3.2.2

Trigger The student clicks Drop for one of the displayed courses

Basic Path 1. The system deletes the enrollment entry corresponding to the
student and the dropped course from the database

Postcondition The enrollment entry corresponding to the student and the dropped course
is deleted

Exception Path In step 1, if the database returns an error, such as the course not being
droppable at the current time
● The system displays a relevant error message
● The database is not updated

3.2.4 Student - View Open Courses

Title Student - View Open Courses

Description The system shall allow students to view all currently open courses

Precondition The student has completed Use Case 3.2.1

Trigger The student clicks Enroll in a Course

Page 8 of 30 04/02/2024 f
Software Requirements Specifications Document

Basic Path 1. The system queries the database for information about any
currently open courses

Postcondition The system displays a table with the following information for all the
currently open courses
● Semester
● Section Number
● Course ID
● Section ID
● Room
● Times
● Instructor Name
● Instructor Email
● Enroll (button)

Exception Path In step 1, if the database returns an error


● The system displays a relevant error message

3.2.5 Student - Enroll in Courses

Title Student - Enroll in Courses

Description The system shall allow students to enroll in open courses within specified
registration periods

Precondition The student has completed Use Case 3.2.4

Trigger The student clicks Enroll for one of the displayed courses

Basic Path 1. The system displays a popup confirming that the student wants to
enroll in the course
2. The student clicks Enroll
3. The system adds a new enrollment for the student and the
enrolled-in course to the database

Alternate Path In step 2, if the user clicks Cancel


● The database is not updated

Postcondition A new enrollment for the student and the enrolled-in course is added to the
database

Exception Path In step 3, if the database returns an error, such as the student already being
enrolled in the course
● The system displays a relevant error message

Page 9 of 30 04/02/2024 f
Software Requirements Specifications Document

● The database is not updated

3.2.6 Student - View Assignments

Title Student - View Assignments

Description The system shall allow students to view their assignments

Precondition The student has completed Use Case 3.2.1

Trigger The student clicks View Assignments

Basic Path 1. The system prompts the user to enter a Year and Semester
2. The student enters a Year and Semester
3. The student clicks Search
4. The system queries the database for information about the student’s
assignments for the given Year and Semester

Postcondition The system displays a table with the following information for all the
student’s assignments which match the specified Year and Semester
● Course ID
● Assignment Title
● Due Date
● Score

Exception Path In step 3, if the Year / Semester field holds invalid data
● The system displays a relevant error message
In step 4, if the database returns an error, such as no assignments being
found for the given Year and Semester
● The system displays a relevant error message

3.2.7 Student - View Transcripts

Title Student - View Transcripts

Description The system shall allow students to view their transcripts

Precondition The student has completed Use Case 3.2.1

Trigger The student clicks View Transcript

Basic Path 1. The system queries the database for information about the student’s
enrollments (past and current)

Page 10 of 30 04/02/2024 f
Software Requirements Specifications Document

Postcondition The system displays a table with the following information for all the
student’s enrollments (past and current)
● Year
● Semester
● Course ID
● Section ID
● Title
● Credits
● Grade

Exception Path In step 1, if the database returns an error


● The system displays a relevant error message

3.2.8 Instructor - View Sections

Title Instructor - View Sections

Description The system shall allow instructors to view their sections

Precondition The student has completed Use Case 3.2.1

Trigger The instructor clicks Show Sections

Basic Path 1. The system prompts the instructor to input a Year and Semester
2. The instructor enters a Year and Semester
3. The instructor clicks Show Sections
4. The system queries the database for information about the
instructor’s sections for the given Year and Semester

Postcondition The system displays a table with the following information for all of the
instructor’s sections that match the specified Year and Semester
● Section Number
● Course ID
● Section ID
● Year
● Semester
● Building
● Room
● Times
● Enrollments (link to view enrollments)
● Assignments (link to view assignments)

Exception Path In step 3, if the Year / Semester field holds invalid data

Page 11 of 30 04/02/2024 f
Software Requirements Specifications Document

● The system displays a relevant error message


In step 4, if the database returns an error
● The system displays a relevant error message

3.2.9 Instructor - View Enrollments

Title Instructor - View Enrollments

Description The system shall allow instructors to view enrollments in their sections

Precondition The instructor has completed Use Case 3.2.8

Trigger The instructor clicks Enrollments for one of the displayed sections

Basic Path 1. The system queries the database for information about enrollments
in the corresponding section

Postcondition The system displays a table with the following information for all of the
enrollments in the corresponding section
● Enrollment ID
● Student ID
● Student Name
● Student Email
● Final Grade (editable)

Exception Path In step 1, if the database returns an error


● The system displays a relevant error message

3.2.10 Instructor - Enter Final Grades

Title Instructor - Enter Final Grades

Description The system shall allow instructors to enter final grades for enrollments in
their sections

Precondition The instructor has completed Use Case 3.2.9

Trigger The instructor modifies the Grade field for one or more of the displayed
enrollments

Basic Path 1. The instructor clicks Save Changes


2. The system updates the database with the new enrollment grades

Page 12 of 30 04/02/2024 f
Software Requirements Specifications Document

Postcondition The database is updated with the new enrollment grades

Exception Path In step 1, if a Grade field holds invalid data


● The system displays a relevant error message
● The database is not updated
In step 2, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.11 Instructor - View Assignments

Title Instructor - View Assignments

Description The system shall allow instructors to view all assignments in each of their
sections

Precondition The instructor has completed Use Case 3.2.8

Trigger The instructor clicks Assignments for one of the displayed sections

Basic Path 1. The system queries the database for information about assignments
in the corresponding section

Postcondition The system displays a table with the following information for all of the
assignments in the corresponding section
● Assignment ID
● Title
● Due Date
● Grade (link to view assignment grades)
● Edit (link to edit assignment)
● Delete (link to delete assignment)

Exception Path In step 1, if the database returns an error


● The system displays a relevant error message

3.2.12 Instructor - View Assignment Grades

Title Instructor - View Assignment Grades

Description The system shall allow instructors to view assignment grades for their
sections

Page 13 of 30 04/02/2024 f
Software Requirements Specifications Document

Precondition The instructor has completed Use Case 3.2.11

Trigger The instructor clicks Grade for one of the displayed assignments

Basic Path 1. The system queries the database for information about grades of
the corresponding assignment

Postcondition The system displays a table with the following information for all of the
grades of the corresponding assignment
● Grade ID
● Student Name
● Student Email
● Score (editable)

Exception Path In step 1, if the database returns an error


● The system displays a relevant error message

3.2.13 Instructor - Edit Assignment Grades

Title Instructor - Edit Assignment Grades

Description The system shall allow instructors to edit assignment grades for their
sections

Precondition The instructor has completed Use Case 3.2.12

Trigger The instructor modifies the Score field for one or more of the displayed
grades

Basic Path 1. The instructor clicks Save


2. The system updates the database with the new assignment grades

Alternate Path In step 1, if the user clicks Close


● The database is not updated

Postcondition The database is updated with the new assignment grades

Exception Path In step 2, if the database returns an error


● The system displays a relevant error message
● The database is not updated

3.2.14 Instructor - Edit Assignment

Title Instructor - Edit Assignment

Page 14 of 30 04/02/2024 f
Software Requirements Specifications Document

Description The system shall allow instructors to edit assignments from their sections

Precondition The instructor has completed Use Case 3.2.11

Trigger The instructor clicks Edit for one of the displayed assignments

Basic Path 1. The system displays a popup allowing the instructor to edit the
assignment’s Title and Due Date
2. The instructor makes the desired modifications
3. The instructor clicks Save
4. The system updates the database with the assignment’s new Title
and Due Date

Alternate Path In step 3, if the user clicks Close


● The system closes the popup
● Any unsaved changes are lost

Postcondition The system updates the assignment in the database

Exception Path In step 3, if the Title / Due Date field holds invalid data
● The system displays a relevant error message
● The database is not updated
In step 4, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.15 Instructor - Delete Assignment

Title Instructor - Delete Assignment

Description The system shall allow instructors to delete assignments from their
sections

Precondition The instructor has completed Use Case 3.2.11

Trigger The instructor clicks Delete for one of the displayed assignments

Basic Path 1. The system displays a popup confirming that the instructor wants
to delete the assignment
2. The instructor clicks Yes
3. The system deletes the corresponding assignment from the
database

Alternative Path In step 2, if the instructor clicks No

Page 15 of 30 04/02/2024 f
Software Requirements Specifications Document

● The database is not updated

Postcondition The assignment is deleted from the database

Exception Path In step 3, if the database returns an error, such as the assignment having
associated grades
● The system displays a relevant error message
● The database is not updated

3.2.16 Instructor - Add Assignment

Title Instructor - Add Assignment

Description The system shall allow instructors to add assignments to their sections

Precondition The instructor has completed Use Case 3.2.11

Trigger The instructor clicks Add Assignment

Basic Path 1. The system displays a popup that prompts the instructor to enter a
Title and Due Date
2. The administrator enters a Title and Due Date
3. The administrator clicks Save
4. The system adds the new assignment to the database

Alternate Path In step 3, if the user clicks Close


● The database is not updated

Postcondition The assignment is added to the database

Exception Path In step 3, if the Title / Due Date field holds an invalid value
● The system displays a relevant error message
● The database is not updated
In step 3, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.17 Administrator - View Users

Page 16 of 30 04/02/2024 f
Software Requirements Specifications Document

Title Administrator - View Users

Description The system shall allow administrators to view users

Precondition The administrator has completed Use Case 3.2.1

Trigger The administrator clicks Users

Basic Path 1. The system queries the database for information about existing
user accounts

Postcondition The system displays a table with the following information for all of the
users in the system
● User ID
● User Name
● User Email
● User Type
● Edit (link to edit user)
● Delete (link to delete user)

Exception Path In step 1, if the database returns an error


● The system displays a relevant error message

3.2.18 Administrator - Edit Users

Title Administrator - Edit Users

Description The system shall allow administrators to edit users

Precondition The administrator has completed Use Case 3.2.17

Trigger The administrator clicks Edit for one of the displayed users

Basic Path 1. The system displays a popup allowing the administrator to edit the
user’s Name, Email, and Type
2. The administrator makes the desired modifications
3. The administrator clicks Save
4. The system updates the database with the user’s new Name,
Email, and Type

Alternate Path In step 3, if the user clicks Close


● The system closes the popup
● Any unsaved changes are lost

Postcondition The system updates the user in the database

Page 17 of 30 04/02/2024 f
Software Requirements Specifications Document

Exception Path In step 3, if the Name / Email / Type field holds invalid data
● The system displays a relevant error message
● The database is not updated
In step 4, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.19 Administrator - Delete Users

Title Administrator - Delete Users

Description The system shall allow administrators to delete users

Precondition The administrator has completed Use Case 3.2.17

Trigger The administrator clicks Delete for one of the displayed users

Basic Path 1. The system displays a popup confirming that the administrator
wants to delete the user
2. The administrator clicks Yes
3. The system deletes the corresponding user from the database

Alternative Path In step 2, if the administrator clicks No


● The database is not updated

Postcondition The user is deleted from the database

Exception Path In step 3, if the database returns an error, such as the user having
associated courses
● The system displays a relevant error message
● The database is not updated

3.2.20 Administrator - Add Users

Title Administrator - Add Users

Description The system shall allow administrators to add users

Precondition The administrator has completed Use Case 3.2.17

Trigger The administrator clicks Add User

Basic Path 1. The system displays a popup that prompts the instructor to enter a

Page 18 of 30 04/02/2024 f
Software Requirements Specifications Document

Name, Email, and Type


2. The administrator enters a Name, Email, and Type
3. The administrator clicks Save
4. The system adds the new user to the database

Alternate Path In step 3, if the user clicks Close


● The database is not updated

Postcondition The user is added to the database

Exception Path In step 3, if the Name / Email / Type field holds an invalid value
● The system displays a relevant error message
● The database is not updated
In step 4, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.21 Administrator - View Courses

Title Administrator - View Courses

Description The system shall allow administrators to view courses

Precondition The administrator has completed Use Case 3.2.1

Trigger The administrator clicks Courses

Basic Path 1. The system queries the database for information about existing
courses

Postcondition The system displays a table with the following information for all of the
courses in the system
● Course ID
● Course Title
● Course Credits
● Edit (link to edit course)
● Delete (link to delete course)

Exception Path In step 1, if the database returns an error


● The system displays a relevant error message

3.2.22 Administrator - Edit Courses

Page 19 of 30 04/02/2024 f
Software Requirements Specifications Document

Title Administrator - Edit Courses

Description The system shall allow administrators to edit courses

Precondition The administrator has completed Use Case 3.2.21

Trigger The administrator clicks Edit for one of the displayed courses

Basic Path 1. The system displays a popup allowing the administrator to edit the
course’s Title and Credits
2. The administrator makes the desired modifications
3. The administrator clicks Save
4. The system updates the database with the course’s new Title and
Credits

Alternate Path In step 3, if the user clicks Close


● The system closes the popup
● Any unsaved changes are lost

Postcondition The system updates the course in the database

Exception Path In step 3, if the Title / Credits field holds invalid data
● The system displays a relevant error message
● The database is not updated
In step 4, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.23 Administrator - Delete Courses

Title Administrator - Delete Courses

Description The system shall allow administrators to delete courses

Precondition The administrator has completed Use Case 3.2.21

Trigger The administrator clicks Delete for one of the displayed courses

Basic Path 1. The system displays a popup confirming that the administrator
wants to delete the course
2. The administrator clicks Yes
3. The system deletes the corresponding course from the database

Alternative Path In step 2, if the administrator clicks No

Page 20 of 30 04/02/2024 f
Software Requirements Specifications Document

● The database is not updated

Postcondition The course is deleted from the database

Exception Path In step 3, if the database returns an error, such as the course having
associated sections
● The system displays a relevant error message
● The database is not updated

3.2.24 Administrator - Add Courses

Title Administrator - Add Courses

Description The system shall allow administrators to add courses

Precondition The administrator has completed Use Case 3.2.21

Trigger The administrator clicks Add Course

Basic Path 1. The system displays a popup that prompts the instructor to enter a
Course ID, Title, and Credits
2. The administrator enters a Course ID, Title, and Credits
3. The administrator clicks Save
4. The system adds the new course to the database

Alternate Path In step 3, if the user clicks Close


● The database is not updated

Postcondition The course is added to the database

Exception Path In step 3, if the Course ID / Title / Credits field holds an invalid value
● The system displays a relevant error message
● The database is not updated
In step 4, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.25 Administrator - View Sections

Page 21 of 30 04/02/2024 f
Software Requirements Specifications Document

Title Administrator - View Sections

Description The system shall allow administrators to view sections

Precondition The administrator has completed Use Case 3.2.1

Trigger The administrator clicks Sections

Basic Path 1. The system prompts the administrator to enter a Course Prefix,
Year, and Semester
2. The administrator enters a Course Prefix, Year, and Semester
3. The administrator clicks Search for Sections
4. The system queries the database for information about existing
sections that match the given Course Prefix, Year, and Semester

Postcondition The system displays a table with the following information for all the
sections that match the given Course Prefix, Year, and Semester
● Section Number
● Course ID
● Section ID
● Year
● Semester
● Building Number
● Room Number
● Times
● Edit (link to edit section)
● Delete (link to delete section)

Exception Path In step 3, if the Course Prefix / Year / Semester field holds an invalid
value
● The system displays a relevant error message
In step 4, if the database returns an error, such as there being no sections
that match the given Course Prefix, Year, and Semester
● The system displays a relevant error message

3.2.26 Administrator - Edit Sections

Title Administrator - Edit Sections

Description The system shall allow administrators to edit sections

Precondition The administrator has completed Use Case 3.2.25

Trigger The administrator clicks Edit for one of the displayed sections

Page 22 of 30 04/02/2024 f
Software Requirements Specifications Document

Basic Path 1. The system displays a popup allowing the administrator to edit the
section’s Section ID, Building Number, Room Number, Times,
and Instructor Email
2. The administrator makes the desired modifications
3. The administrator clicks Save
4. The system updates the database with the section’s new Section
ID, Building, Room, Times, and Instructor Email

Alternate Path In step 3, if the user clicks Close


● The system closes the popup
● Any unsaved changes are lost

Postcondition The system updates the section in the database

Exception Path In step 3, if the Section ID / Building Number / Room Number / Times /
Instructor Email field holds invalid data
● The system displays a relevant error message
● The database is not updated
In step 4, if the database returns an error
● The system displays a relevant error message
● The database is not updated

3.2.27 Administrator - Delete Sections

Title Administrator - Delete Sections

Description The system shall allow administrators to delete sections

Precondition The administrator has completed Use Case 3.2.25

Trigger The administrator clicks Delete for one of the displayed sections

Basic Path 1. The system displays a popup confirming that the administrator
wants to delete the section
2. The administrator clicks Yes
3. The system deletes the corresponding section from the database

Alternative Path In step 2, if the administrator clicks No


● The database is not updated

Postcondition The section is deleted from the database

Exception Path In step 3, if the database returns an error, such as the section having
associated enrollments

Page 23 of 30 04/02/2024 f
Software Requirements Specifications Document

● The system displays a relevant error message


● The database is not updated

3.2.28 Administrator - Add Sections

Title Administrator - Add Sections

Description The system shall allow administrators to add sections

Precondition The administrator has completed Use Case 3.2.25

Trigger The administrator clicks Add Section

Basic Path 1. The system displays a popup that prompts the instructor to enter a
Course ID, Section ID, Year, Semester, Building Number, Room
Number, Times, and Instructor Email
2. The administrator enters a Course ID, Section ID, Year, Semester,
Building Number, Room Number, Times, and Instructor Email
3. The administrator clicks Save
4. The system adds the new section to the database

Alternate Path In step 3, if the user clicks Close


● The database is not updated

Postcondition The section of a course is added to the database

Exception Path In step 3, if the Course ID / Section ID / Year / Semester / Building


Number / Room Number / Times / Instructor Email field holds an
invalid value
● The system displays a relevant error message
● The database is not updated
In step 3, if the database returns an error
● The system displays a relevant error message
● The database is not updated

Page 24 of 30 04/02/2024 f
Software Requirements Specifications Document

3.3 Non-Functional Requirements

Non-functional requirements are those that do not pertain to a single function of the
system, but that span its entirety. This includes many important attributes of the system,
such as:
● Performance – How quickly the system responds to input, and how the system
scales to increasing demand.
● Security – How secure the system is to external factors and malicious actors.
● Reliability – How precisely the system replicates the same behaviors.
● Usability – How easy the system is for the relevant actors to use.
● Maintainability – How feasible it is to keep the system operating over time.
● Portability – How viable it is for the system to run in different environments.

3.3.1 Performance
1. The system shall, on average, respond to user interactions that do not require a
database operation within 0.1 seconds.
2. The system shall, on average, respond to user interactions that require a
computationally inexpensive database operation within 1 second.
3. The system shall, on average, respond to user interactions that require a
computationally expensive database operation within 10 seconds.
3.3.2 Security
1. The system shall maintain the integrity of sensitive information by employing
secure communication protocols, such as HTTPS.
2. The system shall preserve the confidentiality of sensitive information, such as
transcripts, through role-based authentication.
3.3.3 Reliability
1. The system shall undergo strict unit / system test procedures before updates are
pushed to production. This ensures that unintended, and potentially disruptive
regressions are caught before they can influence the deployed system.
3.3.4 Usability
1. The system shall implement familiar UI schemas to ensure that the end-user
experience is predictable, pleasant to navigate, and functional.
3.3.5 Maintainability
1. The system shall include a robust set of documentation, so as to allow future
maintainers to better understand, and potentially update the system. Additionally,
best practices will be utilized to ensure that the system is built in a way that aids
in future maintenance tasks.
3.3.6 Portability

Page 25 of 30 04/02/2024 f
Software Requirements Specifications Document

1. The system shall use technologies known for their portability, such as Java and
Spring Boot, to facilitate its operation in a flexible set of environments.

Page 26 of 30 04/02/2024 f
Software Requirements Specifications Document

3.4 Logical Database Requirements

A relational database shall be used to store the various entities tracked by the system,
including assignments, courses, enrollments, grades, sections, terms, and users. Logical
details about the database can be found below.

3.4.1 Figure of Database Schema

3.4.2 Description of Database Schema

Page 27 of 30 04/02/2024 f
Software Requirements Specifications Document

3.4.2.1 Assignment Data Entity

Data Item Data Type Description


assignment_id integer Primary key
identifying the
assignment
title varchar(250) Required title of the
assignment
due_date date Due date for the
assignment
section_no integer Required foreign key
referencing the section

3.4.2.2 Course Data Entity

Data Item Data Type Description


course_id varchar(10) Primary key
identifying the course
title varchar(100) Required title of the
course
credits integer Required number of
credits for the course
(greater than or equal
to 0)

3.4.2.3 Enrollment Data Entity

Data Item Data Type Description


enrollment_id integer Primary key
identifying the
enrollment
grade varchar(5) Grade for the
enrollment
user_id integer Required foreign key
referencing the user
section_no integer Required foreign key
referencing the section

3.4.2.4 Grade Data Entity

Data Item Data Type Description

Page 28 of 30 04/02/2024 f
Software Requirements Specifications Document

grade_id integer Primary key


identifying the grade
score integer Score received for the
assignment (between
0 and 100)
assignment_id integer Required foreign key
referencing the
assignment
enrollment_id integer Required foreign key
referencing the
enrollment

3.4.2.5 Section Data Entity

Data Item Data Type Description


section_no integer Primary key
identifying the section
sec_id integer Required section ID
instructor_email varchar(50) Email address of the
instructor for the
section
building varchar(10) Building where the
section is located
room varchar(10) Room number where
the section is held
times varchar(25) Times of class
meetings
course_id varchar(45) Required foreign key
referencing the course
term_id integer Required foreign key
referencing the term

3.4.2.6 Term Data Entity

Data Item Data Type Description


term_id integer Primary key
identifying the term
tyear integer Required year of the
term (between 2000
and 2030)
semester varchar(10) Required semester of
the term (Spring or
Fall)

Page 29 of 30 04/02/2024 f
Software Requirements Specifications Document

add_date date Required date when


term is added to the
system
add_deadline date Required deadline for
adding courses to the
term
drop_deadline date Required deadline for
dropping courses from
the term
start_date date Required start date of
the term
end_date date Required end date of
the term

3.4.2.7 User Data Entity

Data Item Data Type Description


id integer Primary key
identifying the user
name varchar(50) Required name of the
user
email varchar(50) Required email
address of the user
(must be unique)
password varchar(100) Required password for
the user
type varchar(10) Required type of user
(STUDENT, ADMIN,
or INSTRUCTOR)

Page 30 of 30 04/02/2024 f

You might also like