Software Requirements Specification: Co-Op Evaluation System
Software Requirements Specification: Co-Op Evaluation System
Specification
1
Table of Contents
Table of Contents
Revision History
1 Introduction
1.1 Purpose
1.2 Problem
1.3 Document Conventions
1.4 Project Scope
1.5 Intended Audience
1.6 References
2 Overall Description
2.1 Product Perspective
2.2 User Classes and Characteristics
2.3 Evaluation Status States
2.4 Operating Environment
2.5 Design and Implementation Constraints
2.6 Assumptions and Dependencies
3 System Features
3.1 System Requirements
3.1.1 Form Administration
3.1.2 Evaluations
3.1.3 Submissions
3.1.4 Reports
3.1.5 Email Notifications
3.1.6 Users
3.2 User Requirements
3.2.1 Administrator
3.2.2 Evaluator
3.2.3 Student
3.2.4 Employer
4 Use Cases
4.1 Administrator
4.1.1 Use Case Context
4.1.2 View Student Work Report
4.1.3 View Employer Evaluation
4.1.4 Check Status of Emails
4.1.5 Resend All Failed Emails
4.1.6 Add OCSCE User
4.1.7 Remove OCSCE User 4.1.8
Add Academic Department User
4.1.9 Delete Academic Department User
2
4.1.10 Transfer Academic Department User
4.1.11 Add College
4.1.12 Remove College
4.1.13 Add Department
4.1.14 Remove Department
4.1.15 Create a New Employer Form
4.1.16 View Existing Employer Form
4.1.17 Delete Existing Employer Form
4.1.18 Edit Existing Employer Form
4.1.19 Create a New Student Form 4.1.20
View Existing Student Form 4.1.21
Delete Existing Student Form 4.1.22 Edit
Existing Student Form 4.1.23 Import
Evaluation
4.1.24 Set Default Evaluation Status
4.1.25 Update Evaluation Status 4.1.26
Initialize Next Term
4.2 Evaluator
4.2.1 Use Case Context
4.2.2 View Student Work Report
4.2.3 View Employer Evaluation
4.2.4 Reject Student Work Report
4.2.5 Accept Student Work Report
4.3 Employer
4.3.1 Use Case Context
4.3.2 Submit a Co•op Evaluation
4.3.2 Save a Co•op Evaluation
4.3.3 Edit & Submit a Co•op Evaluation
4.3.4 View a Submitted Co•op Evaluation
4.3.5 Authenticate Employer
4.4 Student
4.4.1 Use Case Context
4.4.2 Submit Work Report
4.4.3 Save Work Report
4.4.4 Update Work Report
4.4.5 View Work Report
4.4.6 View Employer Evaluation
5 External Interface Requirements
5.1 User Interfaces
5.2 Software Interfaces
5.3 Communications Interfaces
6 Non•functional Requirements
6.1 Performance Requirements
3
6.2 Security Requirements
6.3 Safety Requirements
6.4 Usability Requirements
6.5 Availability Requirements
6.6 Modifiability Requirements
6.7 Documentation Requirements
6.8 Environment Requirements
Appendix A: Glossary
4
Revision History
Description of
Version Primary Author(s) Date Completed
Version
Emma Nelson,
Maddison Hickson,
v1.0 Initial revision October 6, 2014
Casey Klimkowsky,
Tyler Geery
Updated VM
v1.4 Emma Nelson October 30, 2014
Specification
Update to match
v1.7 Emma Nelson changes going into February 18, 2015
development
Removed redundant
requirements and
v1.8 Emma Nelson March 15, 2015
updated the priority of
a few requirements
5
6
1 Introduction
1.1 Purpose
The purpose of the Co•op Evaluation System (CES) is to allow students to provide feedback on their most
recent co•op, and for employers to provide feedback on a student’s performance during their most recent
co•op. Additionally, the system is used by faculty to approve or fail a student’s co•op, and is also used by
OCSCE to gather data on students’ co•ops.
This SRS describes the entire scope of the new Co•op Evaluation System, which is elaborated upon in
1.3.
1.2 Problem
RIT’s current Co•op Evaluation System, an application used by OCSCE, has a number of performance,
reliability, usability, and maintainability issues. Among others, session timeouts and submission timeouts are
inherit problems of the current Co•op Evaluation System. A new version started from scratch with up•to•date
technologies needs to be developed.
Several features that exist in the current system, but need to be drastically improved, are report
generation, form generation, and error messages. Even though we are aiming for functional equivalence
for these features, we intend to greatly improve their usability. We plan to address other major pain
points, such as the ability to change a student’s supervisor at a later date, as well.
7
1.5 Intended Audience
This document is intended to help the development team to validate that they are building the right
application, and verify that the features they have built are built correctly. It is also intended for the
project sponsors to sign off on as a definitive list of requirements. Finally, the project coach can use this
document to validate the development team is meeting the agreed upon requirements during his evaluation
of the team’s efforts.
1.6 References
We were given the following materials to help us define the requirements of the system:
Reference Description
8
2 Overall Description
2.1 Product Perspective
The purpose of this project is to re•engineer the Co•op Evaluation System in order to leverage newer web
technologies while also improving performance and user interaction. The current system uses outdated,
under•documented technology, which makes it difficult to maintain.
Furthermore, the random errors that occur do not give users confidence that their information was
submitted properly. Significant improvements to the user interface will need to be made, but the existing
database structures can be used as a reference for modifications.
The above diagram outlines the major components of the overall system, subsystem interconnections, and
external interfaces, which are elaborated upon in Section 5.
9
The diagram above show a high•level view of the user interaction with the system as well as the interaction
between technologies involved.
As needed to generate
Uses application to gather
reports, create new forms,
Administrator statistical data from survey
and perform other
responses
administrative tasks
10
Three weeks from the end of the term, all evaluations will be changed from Pending to Open. An evaluation
in the Open state can be filled out by an Employer or Student that it is assigned to. An open evaluation can
be changed to Saved, Submitted, Manually Completed, or Archived state.
If the user saved the evaluation, it is changed to the Saved state. In this state, the user can open the
evaluation and continue filling out answers. They can continue saving the evaluation until they are
finished. The Saved sate will be referred to as “In Progress” in the user interface. The evaluation can be
changed to Submitted, Manually Completed, or Archived state from the Saved state.
The Submitted state is reached by submitting the form from either the Open state or the Saved state. In this
state, the evaluation cannot be changed by any class of user. At this point, the only change that can be
made to the evaluation is by an evaluation approval change. If the evaluation is approved, nothing else will
happen. If the evaluation is rejected, the evaluation will go back to the Saved state.
There are two other states that an evaluation can end up in: Manually Completed and Archived. If the
evaluation is completed in some way other than the normal process, an evaluation can be changed to the
Manually Completed state. If the evaluation will never be completed, and the user does not want to receive
messages telling them to fill out the evaluation, the evaluation can be marked as Archived. The Archived
state was known as the Past Pending state in the previous version of the CES.
11
2.4 Operating Environment
Since the product will be a web•based application, the software is required to be accessible by numerous
browsers, and different versions of each browser. The browser in which the application is accessed may
be from a desktop computer, or a mobile device.
The required browsers and versions of each in which the system must be accessible from are as follows:
The system itself shall be deployed and will operate on a VM provided by ITS. The system specifications of
this VM are as follows:
● The server is currently running Tomcat 7.0.55. The version will be upgraded to 7.0.56 in
January.
● The amount of memory will be adjusted to suit the needs of our application.
● The current configuration has both the minimum and maximum heap size is set to 512MB. If
more space is required, another Tomcat instance will be spun up to distribute the load across two
servers controlled by the same host.
● Hardware is shared between many applications and monitored by the ITS application support
team.
● Both TEST and PROD servers are within the RIT network and will require use of the RIT VPN
in order to conduct testing.
The system must also comply with the RIT Web standards document, which defines the standards for
RIT•related websites in regard to language, graphics, and navigational architecture.
JobZone may become a potential dependency. Right now employers can log in there without an RIT
computer account, and the hope is that the CES can get the authentication token from
12
JobZone to authenticate the user on the Co•op Evaluation System. However, this is still up in the air; there
may be some re•planning around finding an alternative solution for Employer Authentication.
SIS was another potential tie•in on the Evaluator side; however, this is out of scope for this project. The
sponsor was looking into finding out if the Evaluator role can be shifted to SIS for an easier interaction
experience for faculty and staff who use SIS on a daily basis. In this case, the system would need to
provide a portal for SIS to access information as needed, and to send messages of acceptance or rejection
for Student Evaluations.
3 System Features
3.1 System Requirements
3.1.1 Form Administration
Number Priority Requirement
3.1.2 Evaluations
Number Priority Requirement
13
3.1.3 Submissions
Number Priority Requirement
The system shall be able to search forms based on student last name,
student first name, student ID, company name, term, department,
S•02 High advisor’s RIT Computer Account user name, student progress status,
evaluation progress status, and employer evaluation status.
3.1.4 Reports
Number Priority Requirement
Out of The system shall produce statistics on all questions that have numeric
R•02
Scope answers.
Out of The system shall produce statistics on all questions that have qualitative
R•03
Scope answers (“Comments Only”).
Out of The system should provide an easy way to select items to be included or
R•06
Scope excluded from the report.
Out of The system should provide the ability to run reports across multiple
R•07
Scope year•levels (i.e. all undergraduate students).
Out of The system should be able to export the SQL view created for the
R•08
Scope report.
Out of The system shall be able to export the report data in CSV format for
R•09
Scope use in any spreadsheet application.
Out of
R•10 The system should be able to run reports on qualitative data.
Scope
14
Out of The system should display the qualitative questions on forms as
R•11
Scope selectable options when choosing the report settings.
Out of The system shall take no longer than 3 minutes to generate a report.
R•12
Scope
Out of
R•13 The system shall have the ability run a report by academic year.
Scope
Out of
R•14 The system should have the ability to run a report by form.
Scope
Out of The system shall be able to display notification statuses for Student and
N•05
Scope Employer notifications. (Use Case 4.1.4)
Out of The system shall be able to display failed emails and sent emails in
N•06
Scope the notifications statuses.
Out of The system shall send a notification email to Students when their
N•09
Scope work report was successfully persisted.
Out of The system shall send a notification email to Employers when their
N•10
Scope evaluation was successfully persisted.
15
The system shall send an email notification to Students and
Out of
N•11 Employers when an evaluation has been Saved, but not submitted for
Scope
a period of two weeks.
Out of The system shall send an email notification to Evaluators when their
N•12
Scope students submit a work report.
3.1.6 Users
Number Priority Requirement
The system shall use the user information captured from existing
U•01 High OCSCE database to provide authorization for employers.
The system shall be able to automatically initialize the next term for
U•02 Medium Students and Employers based on the RIT academic calendar.
16
An Administrator shall be able to archive Student/Employer forms.
AD•07 Low
Out of
AD•12 An Administrator shall be able to create and edit notifications.
Scope
Out of
AD•13 An Administrator shall be able to resend failed notifications.
Scope
Out of
AD•16 An Administrator shall be able to generate reports.
Scope
17
3.2.2 Evaluator
Number Priority Requirement
The Evaluator shall be able to view the status for all evaluations
EV•10 High
associated with their department.
Out of The Evaluator shall be able to create notifications for their department.
EV•11
Scope
3.2.3 Student
Number Priority Requirement
ST•01 High A Student shall be able to view their own work reports.
ST•03 High A Student shall be able to submit their own work reports.
18
ST•04 High A Student shall be able to view their own submissions.
A Student shall be able to view the status of their own work reports.
ST•06 High
3.2.4 Employer
Number Priority Requirement
4 Use Cases
Refer to the User Analysis and Workflows document for a complete description of the human actors
involved in the system.
19
4.1 Administrator
4.1.1 Use Case Context
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to view a Student’s submitted work report.
20
1. The Administrator has an Internet connection.
Pre•conditions
2. The Administrator is authenticated and signed into the system.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to view an Employer’s submitted evaluation.
21
Alternative Flows N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description System to check the status of the reminder emails sent out to students and
employers.
Administrator desires to look over the status of emails sent to students and
Trigger
employers.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description System to send out any email notifications that failed to send to students and
employers.
22
Administrator desires to send out any email notifications that failed to send to
Trigger
students and employers.
This use case describes how an administrator uses the Co•op Evaluation
Description
System to add an administrator to the system.
23
Alternative Flows N/A
This use case describes how an administrator uses the Co•op Evaluation
Description
System to remove an administrator from the system.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description System to add an Academic Department User to the system.
24
2. The Administrator is authenticated and signed into the system.
This use case describes how an Administrator uses the Co•op Evaluation
Description System to remove an Academic Department User from the system.
25
5. The Administrator clicks the “Remove” button in the row listing the
selected user.
6. The use case ends successfully.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description System to transfer an existing user’s privileges in the system to another user.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to add a new college to the system.
26
Trigger Administrator desires to add a new college to the system.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to remove a college from the system.
27
If in step 3 of the normal flow the college to be deleted has an existing form
submission associated with it, then
1. The system displays a message saying that college cannot be deleted
because there is an existing form submission under that college.
2. The use case ends with a failure condition.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to add a new department to the system.
Description This use case describes how an Administrator uses the Co•op
28
Evaluation System to remove a department from the system.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to create a new Employer form.
29
4. The Administrator types in the name for the new form.
5. The Administrator creates the new blank form.
6. The use case ends successfully.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to view an existing form for a given department.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to delete an existing form for a given department.
30
2. The Administrator is authenticated and signed into the system.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to edit an existing form for a given department.
Cancel Changes
Alternative Flows If in step 5 of the normal flow the Administrator desires to cancel their
changes, then
31
1. The Administrator scrolls to the bottom of the form, and clicks the
“Cancel” button.
2. The use case ends successfully.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to create a new Student form.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to view an existing form for a given department.
32
Post•conditions Administrator successfully viewed an existing student form.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to delete an existing form for a given department.
33
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to edit an existing form for a given department.
Cancel Changes
If in step 6 of the normal flow the Administrator desires to cancel their
changes, then
Alternative Flows
1. The Administrator scrolls to the bottom of the form, and clicks the
“Cancel” button.
2. The use case ends successfully.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to import evaluation information for students.
34
3. Under “Import Evaluations”, the Administrator chooses a file to
import.
4. The Administrator clicks the “Upload” button.
5. The use case ends successfully.
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to set a default evaluation status for a college.
Administrator desires needs to change the default status for a specific college.
Trigger
Exceptions N/A
35
4.1.25 Update Evaluation Status
Actors Administrator
This use case describes how an Administrator uses the Co•op Evaluation
Description
System to update the evaluation status for a college.
Exceptions N/A
This use case describes how an Administrator uses the Co•op Evaluation
Description System to initialize the next term in which students will be on co•op.
Administrator desires to initialize the next term that students will be on co•op.
Trigger
36
Post•conditions Administrator successfully initialized the next term.
Exceptions N/A
4.2 Evaluator
4.2.1 Use Case Context
This use case describes how an Evaluator uses the Co•op Evaluation System to
Description
view a Student’s submitted work report.
37
Evaluator has received a notification about the students completion and
Trigger
desires to look over a student’s co•op evaluation.
This use case describes how an Evaluator uses the Co•op Evaluation System to
Description
view an Employer’s submitted evaluation.
Evaluator has received a notification that the Employer has completed their
Trigger
evaluation and desires to look it over.
38
Alternative Flows N/A
This use case describes how an Evaluator uses the Co•op Evaluation System
Description to reject the student’s work report and have it sent back to the student to redo.
Evaluator is not satisfied with the student’s work report, and there is a desire
Trigger
for the student to re•do their submission.
Evaluator has changed the status of the work report from Pending Approval to
Post•conditions
Rejected.
39
This use case describes how an Evaluator uses the Co•op Evaluation System to
Description
accept the student’s work report.
Evaluator is satisfied with the student’s work report after reviewing it, and
Trigger
wants to accept it.
Evaluator has changed the status of the work report from Pending Approval to
Post•conditions
Approved.
40
4.3 Employer
4.3.1 Use Case Context
This use case describes how the Employer uses the Co•op Evaluation System
Description
to submit a new Co•op Evaluation.
Post•conditions The Co•op Evaluation has been submitted for the Co•op Student.
1. The Employer locates the panel for the student in question under
Normal Flow
“Current Co•op Students”.
41
2. The Employer selects the “Open” link next “Employer Eval” in the
given student co•op panel.
3. The Employer completes the Co•op Evaluation.
4. The Employer submits the Co•op Evaluation.
5. The system displays a message saying that the Co•op
Evaluation has been submitted successfully.
6. The use case ends successfully.
Invalid User
If the use case Authenticate Employer does not complete successfully, then
1. The use case ends with a failure condition.
This use case describes how the Employer uses the Co•op Evaluation System
Description
to save a Co•op Evaluation to be completed at a later date.
Post•conditions A Co•op Evaluation has been saved for the respective Co•op Student.
1. The Employer locates the panel for the student in question under
“Current Co•op Students”.
Normal Flow
2. The Employer selects the “Open” link next “Employer Eval” in the
given student co•op panel.
42
3. The Employer partially completes the Co•op Evaluation.
4. The Employer saves the Co•op Evaluation.
5. The system displays a message saying that the Co•op
Evaluation has been saved successfully.
6. The use case ends successfully.
Invalid User
If the use case Authenticate Employer does not complete successfully, then
1. The use case ends with a failure condition.
This use case describes how the Employer uses the Co•op Evaluation System
Description
to update a Co•op Evaluation that was previously saved.
Employer has a co•op for which a Co•op Evaluation has been started, and they
Trigger
wish to finish the Co•op Evaluation and submit it.
Post•conditions A Co•op Evaluation has been saved for the respective Co•op Student.
1. The Employer locates the panel for the student in question under
“Current Co•op Students”.
2. The Employer selects the “Open” link next “Employer Eval” in the
given student co•op panel.
Normal Flow 3. The Employer completes the Co•op Evaluation, if unfinished.
4. The Employer submits the Co•op Evaluation.
5. The system displays a message saying that the Co•op
Evaluation has been submitted successfully.
6. The use case ends successfully.
43
1. The Employer partially completes the Co•op Evaluation.
2. The Employer saves the Co•op Evaluation.
3. The system displays a message saying that the Co•op
Evaluation has been saved successfully.
4. The use case ends successfully.
Invalid User
If the use case Authenticate Employer does not complete successfully, then
1. The use case ends with a failure condition.
This use case describes how the Employer uses the Co•op Evaluation System
Description
to view a Co•op Evaluation that was previously submitted.
Employer has a Co•op Evaluation that has been submitted, and they want to
Trigger
view.
1. The Employer locates the panel for the student in question under
“Current Co•op Students”.
2. The Employer selects the “Open” link next “Employer Eval” in the
Normal Flow given student co•op panel.
3. The Employer selects a previously submitted Co•op Evaluation for
the student.
4. The system displays the Co•op Evaluation to the Employer.
44
5. The use case ends successfully.
Invalid User
If the use case Authenticate Employer does not complete successfully, then
1. The use case ends with a failure condition.
This use case describes how the Employer authenticates with the Co•op
Description
Evaluation System.
Invalid User
Exceptions If in step 7 of the normal flow does not complete successfully, then
1. The use case ends with a failure condition.
45
4.4 Student
4.4.1 Use Case Context
This use case describes how the Student uses the Co•op Evaluation System to
Description
submit a new Work Report.
Trigger Student has a co•op for which a Work Report needs to be submitted.
Post•conditions A Work Report has been submitted for the respective Student’s co•op.
Normal Flow 1. The Student locates the panel for the co•op in question.
46
2. The Student selects the “Open” link next “Work Report” in the
given co•op panel.
3. The Student completes the Work Report.
4. The Student submits the Work Report.
5. The system displays a message saying that the Work Report has
been submitted successfully.
6. The use case ends successfully.
This use case describes how the Student uses the Co•op Evaluation System to
Description
save a Work Report to be completed at a later date.
Student has a co•op for which a Work Report needs to be submitted, and they
Trigger
wish to finish the Work Report at a later date.
Post•conditions A Work Report has been saved for the respective Student’s co•op.
47
Error Saving Work Report
If in step 4 of the normal flow there was an error with the saving of the Work
Exceptions Report, then
1. The system shall display an error message, saying there was a
problem with saving the Work Report.
2. The use case ends with a failure condition.
This use case describes how the Student uses the Co•op Evaluation System to
Description
update a Work Report that was previously saved.
Student has a co•op for which a Work Report has been started, and they wish
Trigger
to finish the Work Report and submit it.
Post•conditions A Work Report has been saved for the respective Student’s co•op.
48
2. The use case resumes at step 3.
This use case describes how the Student uses the Co•op Evaluation System to
Description
view a Work Report that was previously submitted.
Student has a Work Report that has been submitted, and they want to view.
Trigger
This use case describes how the Student uses the Co•op Evaluation System
Description to view an Employer Evaluation that was previously submitted.
49
Student has an Employer Evaluation that has been submitted, and they want
Trigger
to view.
Since the system is a web application, the user interface must be consistent across all modern desktop
browsers, specifically Chrome, Firefox, Safari, and Internet Explorer 9+. Additionally, the system will take
advantage of Twitter Bootstrap to create a responsive user interface, thus allowing users to access the
system on a variety of devices. This in•turn requires that the system be accessible and usable on mobile
platforms (e.g. smart phones and tablets). If a feature is not accessible from a mobile device the user
interface must display an error message that clearly explains what cannot be done and why.
50
5.3 Communications Interfaces
Submission of form data must persist to the database. The website must inform the the user that their data
was not properly stored in the database, and allow for resubmission. Hibernate and JPA will be used for
database access from our system.
The system must interface with ITS mail servers in order to send out notification emails to students and
employers.
The system will communicate over the standard protocols of HTTP and TCP/IDP. For accessing secure
sections of the system, HTTPS will be used. Shibboleth will be used to authenticate users.
51
6 Non-functional Requirements
6.1 Performance Requirements
Number Priority Requirement
PR•02 Medium The system shall be able to handle up to 6,000 users at a time.
The system shall load all web pages in less than 30 seconds, with the
PR•03 Medium
exception of reports.
The system shall not allow employers to view evaluations for a student
SE•02 High
that is not currently working for him/her.
The system shall ensure integrity of its data upon database failure.
SA•01 High
The system shall be usable from all major up•to•date web browsers
UR•01 Medium (latest version of Chrome, latest version of Firefox, latest version of
Safari, and IE 9+).
52
The system shall not time out during the evaluation submission more
AR•02 High
than 5% of the time.
MR•02 High The system shall allow new colleges to be added to the system.
The system shall include a user manual that describes to users how to
DR•02 High
use the system.
EN•01 High The system shall run on the ITS•provided VM at final release.
53
Appendix A: Glossary
Term Definition
Submission A form that has been completed and submitted to the evaluator
54