Software Requirements Specification for Online Scheduler for Tutoring Center Version 1.0 approved Prepared by Shehan Rajapakse, Thomas Baird & Sepehr Sobhani University of Mary Washington February 4, 2015
Software Requirements Specification for Online Tutoring Scheduler Page ii Table of Contents Table of Contents... ii Revision History... iv 1. Introduction...1 1.1 Purpose... 1 1.2 Product Scope... 1 1.3 Intended Audience and Reading Suggestions... 1 1.4 Document Overview... 1 2. Overall Description... 2 2.1 Product Perspective... 2 2.2 Product Functions... 2 2.3 User Classes and Characteristics... 2 2.4 Operating Environment... 2 2.5 Design and Implementation Constraints... 2 2.6 User Documentation... 3 3. External Interface Requirements... 3 3.1 User Interfaces... 3 3.2 Hardware Interfaces... 3 3.3 Software Interfaces... 3 3.4 Communications Interfaces... 3 4. System Features... 3 4.1 General Requirements... 3 4.1.1 User Management... 3 4.1.2 Schedule Management... 3
Software Requirements Specification for Online Tutoring Scheduler Page iii 4.2 User Interface Requirements... 4 4.2.1 Input Forms..... 4 4.2.2 Toolbar..... 4 4.3 Security Requirements...... 4 4.3.1 Front End Security..... 4 4.3.2 Back End Security... 4 4.4 Network Requirements...... 5 4.4.1 Web Server..... 5 4.4.2 Database... 5 4.4.3 Web Framework...... 5 4.5 Non Requirements. 5 5. Other Nonfunctional Requirements... 5 5.1 Safety Requirements... 5 5.2 Security Requirements... 5 5.3 Software Quality Attributes... 5 5.4 Business Rules... 6 Appendix A: Glossary... 7 Appendix B: Document Contributions... 7
Software Requirements Specification for Online Tutoring Scheduler Page iv Revision History Name Date Reason for Changes Version
Software Requirements Specification for Online Tutoring Scheduler Page 1 1. Introduction 1.1 Purpose The purpose of this document is to outline the specific requirements that are entailed in creating a scheduling application for the tutoring center at the University of Mary Washington. This document is for intended for stakeholders of proposed project, as well as individuals who will work on the project in the future. This will be first scheduling application used by the tutoring center. 1.2 Product Scope The necessary requirements were developed through a communication between the stakeholders and the production/development team. The overall objective is to create a functioning scheduler that will yield an efficient way for the UMW tutoring center to manage tutor appointments. The goals of the system should be to allow students to sign up for tutoring sessions, tutors to accept requested tutoring sessions, and allow administrators to manage the tutoring schedule. This system is designed in the hopes it will help students get the sessions they need and and alleviate complications with scheduling near the end of the semester. 1.3 Intended Audience and Reading Suggestions The intended audience is proposed to be every group associated with the project. This includes the stakeholders, developers, project managers, marketing staff, users, testers, as well as the documentation team. The various audience groups will focus greatly on different sections of the document. Groups such as the stakeholders and marketing staff will generally focus upon the overall requirements associated with the project and desired usability of the system. In retrospect, the development team, project managers, and testers will focus more intensely on the specifics requirements within the project. These will generally include the interfaces and implementation strategies. 1.4 Document Overview This document is organized in a way that yields the highest level of comprehension. It will begin with overviews and descriptions of the proposed system. This includes everything from functions, classes, characteristics, operating environment, and implementation constraints. From here, this document will transition into the specific requirements within our desired, multiple interfaces. The remaining essential topics that will conclude will be additional, specific system features followed by the nonfunctional requirements of the proposed system.
Software Requirements Specification for Online Tutoring Scheduler Page 2 2. Overall Description 2.1 Product Perspective The online scheduler for the tutoring center will replace the existing system of scheduling where students request and are assigned a tutor, who they then correspond with to determine tutoring times. The online scheduler allows students to book appointments with tutors in real time, alleviating some responsibility from the tutoring coordinator, and allowing students and tutors to view their upcoming tutoring appointments. The tutoring scheduler will be a brand new, self contained product for the tutoring center, replacing an archaic, non formal system. 2.2 Product Functions Major functions of online scheduler: Collect Student Information Allow Tutors to input available times Allow Student to select tutor in desired subject Send reminder emails to students and tutees Allow students and tutors to contact members of the tutoring center 2.3 User Classes and Characteristics There are three types of users that have access to the online scheduler; this includes students (non tutors), tutors, and administrators, which are part of the university s tutoring center staff. Their abilities in the scheduler are as follows: Administrator: Full Access to create, read, update, and delete all information on the system Student: Ability to request tutor(s) in specified subjects and input schedule Ability to contact tutoring center administrators to schedule infrequent appointments Tutor: Ability to input schedule and view/respond to tutor requests 2.4 Operating Environment As the scheduler is hosted online, it is platform independent and hardware independent. The scheduler largely cooperates with the a specific user s internet browser; thus the user must have internet connectivity. The specifications of the internet browsers that cooperate with the online scheduler are dependent on the tools used to create the scheduler. 2.5 Design and Implementation Constraints The software needs to be inexpensive to develop and maintain. The client has expressed that a budget is possible to acquire, but will be minimal. Although the system is not storing any sensitive information, the system must still be secure to prevent malicious users from modifying information.
Software Requirements Specification for Online Tutoring Scheduler Page 3 2.6 User Documentation As the tutoring scheduler is a new product, it will take some time for student, tutors, and administrators alike to become accustomed to regularly using it. To make it easier for users to interact with the system, a user manual should be created so users can be assisted with their specific problems as they arise. 3. External Interface Requirements 3.1 User Interfaces The online scheduler contains a form for students, tutors, and administrators to log in. Tutoring appointment times can be viewed by each type of user. The scheduler will also have a calendar to view available/taken times as well as notifications for upcoming appointments. See section 4.2 for full list of user interface requirements. 3.2 Hardware Interfaces The tutoring scheduler uses hardware interfaces similar to most online web applications including a monitor, keyboard, and mouse/trackpad. The mouse/trackpad is used to control navigation, a keyboard to control user input, and a monitor for display purposes. 3.3 Software Interfaces The system will include a database to store the User information login information, account credentials, availabilities, reserved appointments, and other miscellaneous information specific to the account type. The system will be separate from the native operating system as it functions entirely as a web application displayed within a web browser (i.e. Chrome, Firefox, Internet Explorer). 3.4 Communications Interfaces The system is a web application, so it needs to communicate with all web browsers available. The system also needs to communicate with an e mail service to send e mail reminders to users. The system will HTTP communication standards and will support secure logins to protect users. 4. System Features 4.1 General Requirements 4.1.1 User Management 4.1.1.1: The software allows students to make accounts. 4.1.1.2: The software allows tutors to make accounts. 4.1.1.3: The software allows admins to make accounts 4.1.1.4: The software allows users to log in. 4.1.1.5: The software allows users to change their password. 4.1.1.6: The software allows users to change the email address associated with their account.
Software Requirements Specification for Online Tutoring Scheduler Page 4 4.1.1.6: The software allows admins to delete tutor and student accounts. 4.1.1.7 : The system allows users to log out. 4.1.1.8: The system records student name. 4.1.1.9: The system records student year. 4.1.1.10: The system records tutor name. 4.1.1.11: The system records tutor subject(s). 4.1.2 Schedule Management 4.1.2.1: The software allows tutors to input their schedule. 4.1.2.2: The software allows students to select the subject they want to be tutored in. 4.1.2.3: The software allows students to select the time they would like to be tutored in. 4.1.2.4: The software sends alerts to students when they accept a time. 4.1.2.5: The software sends alerts to tutors when their time has been selected. 4.1.2.6: The software allows students to make special requests for non repeat tutoring appointments. 4.2 User Interface Requirements 4.2.1: Input Forms 4.2.1.1 The software has an input form for registration. 4.2.1.2 The software has an input form for available dates and times. 4.2.1.3 The software hs an input form of selecting subjects for tutoring. 4.2.2: Toolbar 4.2.2.1 The toolbar has a home button with the tutoring logo. 4.2.2.2 The toolbar has a settings button. 4.2.2.3 The toolbar has a view tutors button. 4.2.2.4 The toolbar has a view tutees button. 4.2.2.5 The toolbar has a help button. 4.3 Security Requirements 4.3.1 Front End Security 4.3.1.1 The system uses client side validation. 4.3.2 Back End Security 4.3.2.1 The system hashes user passwords 4.2.2.2 The system uses Secure Socket Layer connection 4.3.2.3 The system stores data in a secure database
Software Requirements Specification for Online Tutoring Scheduler Page 5 4.4 Network Requirements 4.4.1 Web Server 4.4.1.1 The website runs on a web server. 4.4.2 Database 4.4.2.1 The website runs a server. 4.4.3 Web Framework 4.4.3.1 The website shall use a web framework. 4.5 Non Requirements The following are characteristics the system will not have: 4.5.1 The past records of previously had tutoring appointments do not need to be saved. 4.5.2 A revision history of value updates to the scheduler database does not need to be kept. 4.5.3 The scheduler will not allow users to make appointments outside of the current college term. 4.5.4 The application will handle payments for tutors employed by the University of Mary Washington 5. Other Nonfunctional Requirements 5.1 Safety Requirements In the event of a system crash, it is possible that all previously saved appointment times could be lost, creating a break in communication and reliability of the system. This should be prevented by backing up our data in secured places. The most important safety requirement to be aware of is loss of personal information, such as usernames and passwords, due to system crashes. This can be avoided by creating a stable, secure database to store this data, along with encrypting the data so that if an intruder receives this information they will be unable to retrieve the contents of it. 5.2 Security Requirements The system for this project should be secure in such a way that each actor within this system is only given differing, specific permissions. Meaning a student user will only be able to request a tutor session, a tutor user will only be able to accept a tutor session and change their availability, and an admin user will have complete control over the system. Each user will also have pre generated usernames, created from their given University of Mary Washington email address, and created passwords. All usernames and passwords should be encrypted and stored in a database, to prevent the loss of important information.
Software Requirements Specification for Online Tutoring Scheduler Page 6 5.3 Software Quality Attributes The software will be easily usable for users, with accessibility available at all times. It is also essential that the system is maintainable and has a high level of correctness. These two qualities are so important because they are necessary to make a reliable system that has no gaps of information that could potentially lead to negative effects for users. 5.4 Business Rules The system has three different levels of users. Those being, Student users, Tutor users, and Administrator users. Student users have the ability to search for tutors, based upon class subject, and sign up for tutor sessions based upon those searches. Tutor users have the ability to change their availability times and confirm their given tutor sessions. Administrator users have complete control of the system. They can approve and deny tutoring sessions, change availability dates, and any other specifics that are required.
Software Requirements Specification for Online Tutoring Scheduler Page 7 Appendix A: Glossary database A set of data in a structure of tables organized by rows and columns. encryption Transforming data in order to keep it secret from others. Requires decryption to read. framework The basic structure for a software or system. hashing Scrambling plain text to produce a unique message; usually cannot be reversed if the data is stolen. HTTP (HyperText Transfer Protocol) The base of communication for the World Wide Web input form An area where data can be entered on a web page. Similar to a space on Facebook where you type your email and password. Secure Socket Layer The standard security form between a browser and a web server. server A computer that manages memory and documents of a central source. web browser Application for receiving and presenting information from the World Wide Web Appendix B: Document Contributions Thomas Baird Introduction 1.1 Purpose 1.2 Private Scope 1.3 Intended Audience and Reading Suggestions 1.4 Document Overview External Interface Requirements 3.2 Hardware Interfaces 3.3 Software Interfaces 3.4 Communication Interfaces Other Nonfunctional Requirements Sepehr Sohbani System Features 4.1 General Requirements 4.2 User Interface Requirements 4.3 Security Requirements 4.4 Network Requirements 4.5 Non Requirements Shehan Rajapakse Overall Description 2.1 Product Perspective
Software Requirements Specification for Online Tutoring Scheduler Page 8 2.2 Product Functions 2.3 User Classes and Characteristics 2.4 Operating Environment 2.5 Design and Implementation Constraints 2.6 User Documentation External Interface Requirements 3.1 User Interfaces Document Formatting