Software Requirements Specification For Timesheet System Team Members Todd Klasik, Kalin Gochev Copyright (c) 2005, Gregory W. Hislop. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation. 1 Table of Contents 1 Introduction ................................................................................................................. 3 1.1 Purpose................................................................................................................ 3 1.2 Scope ................................................................................................................... 3 1.3 Definitions, Acronyms, and Abbreviations ........................................................ 3 1.4 References ........................................................................................................... 3 1.5 Overview ............................................................................................................. 3 2 Overall Description ..................................................................................................... 3 2.1 Product Perspective ............................................................................................. 3 2.2 Product Functions ............................................................................................... 3 2.3 User Characteristics ............................................................................................ 4 2.4 Constraints .......................................................................................................... 4 2.5 Assumptions and Dependencies ......................................................................... 4 2.6 Apportioning of Requirements ........................................................................... 4 3 Specific Requirements ................................................................................................ 5 3.1 External Interfaces .............................................................................................. 5 3.2 Functions ............................................................................................................. 5 3.3 Performance Requirements ................................................................................. 7 3.4 Logical Database Requirements ......................................................................... 7 3.5 Design Constraints .............................................................................................. 7 3.6 Standards Compliance ........................................................................................ 7 3.7 Software System Attributes ................................................................................ 7 2 1 Introduction The Timesheet System is a system designed to be able to manage the timesheets produced by the clock in and out card system used currently on campus. It will support functionality to approve timesheets, allow administrators to overwrite student hours, and provide a printable version of the hours worked by students during the week. 1.1 Purpose The purpose of this SRS document is to document the requirements of the Timesheet System. 1.2 Scope The system will allow for management of student timesheets working for Trinity College. Students will be able to log in and look at their own timesheets, while administrators will be able to override worked hour values. 1.3 Definitions, Acronyms, and Abbreviations Optim System – The current clock in/out system used by the Trinity College Help Desk. Timesheets – A timesheet is a listing of the day and the hours worked by a given employee. This can be either the final paper listing turned into Accounting or any list of hours worked vs. the day the work was done on. 1.4 References http://www.cs.trincoll.edu/sahana_proj/wiki/Software_Engineering_Guidelines 1.5 Overview Section 2 will cover an overall description of the product requirements. Section 3 contains the more specific requirements for the Timesheet System. 2 Overall Description 2.1 Product Perspective This system is as a web based system that will run on any Apache server running PHP and MySQL. 2.2 Product Functions Updates an online database of hours worked with the previous day’s time. Administrators can override the values that are in the database. Users can finalize their timesheets and get an overview of time worked. 3 Either user can print out a user’s timesheet for approval. 2.3 User Characteristics There are two user groups for the Timesheet System: Administrators can: -Override timesheet values -View timesheet values -Add/Remove Employees -Update database with values. -Can disable the clock in/out features. Employees can: -View timesheet values -Finalize time worked -Clock in and clock out. 2.4 Constraints The system must react within a reasonable amount of time. 2.5 Assumptions and Dependencies This project requires PHP 5.0+ and a MySQL database. 2.6 Apportioning of Requirements First cycle will include all requirements mentioned in this document, however product will be easily modifiable for further additional features in future software cycles. 4 3 Specific Requirements 3.1 External Interfaces The interface for the Timesheet System will be split among the user groups. Administrators will be able to log in and have a screen that allows them to: -Override timesheet values -View timesheet values -Add/Remove Employees -Update database with values. -Can disable the clock in/out features. Employees will be able to log in and view a screen that allows them to: -View timesheet values -Finalize time worked -Clock in and clock out. Each ability of the user group will have a separate page dedicated to providing that service. 3.2 Functions TS - Admin – 1.1 - Override timesheet values The admin selects an employee that they want to override the timesheet value Input for, then the admin selects a specific shift they wish to edit. The system will prompt the admin for new time values for this shift, and will Action update the database to reflect these new values. Output The system will return to the screen that shows the list of shifts worked by the selected employee. Notes Priority Essential TS - Admin – 1.2 - Add Employees The administrator is on the add user screen and inputs the employee’s basic Input user information (name, email student id etc) and selects the add option. The system will add the user to the user listing, adding the inputted values Action into the database. Output The system will return to the add user screen. Notes Priority Essential TS - Admin – 1.3 - Remove Employees The administrator will be on the remove employee’s screen and selects an Input 5 Action Output Notes Priority employee to remove, and selects the remove option. The system will remove the user from the database and all related shift information to that user. The system will return to the remove user screen. Essential TS - Admin – 1.4 – Update Database Values The admin selects to update the timesheet database. Input The system will access a file generated by the Optim System to populate the Action database with the most recent clock in/out information. Output The system will display a confirmation message upon successful update or an error message upon failed update. This function will be specifically tailored to interface with the Optim System Notes output. Priority Essential TS - Admin – 1.5 – Disable Clock In/Out Features The admin selects to disable the clock in/out features Input The system will no longer allow employees to use the web interface to clock Action in and out. Output The system will display a confirmation message upon successful update or an error message upon failed update. Notes Priority Essential TS - Admin – 1.6 – Enable Clock In/Out Features The admin selects to enable the clock in/out features Input The system will allow employees to use the web interface to clock in and out. Action Output The system will display a confirmation message upon successful update or an error message upon failed update. Notes Priority Essential TS - Employee – 2.1 – Finalize Timesheet The employee selects to finalize their time worked for the pay period. Input The system will prevent any additional working time to be added to the Action employee’s timesheet. Output The system will display the time worked in timesheet format. The user will then be able to print it off from the web browser. Notes Priority Essential TS - Employee – 2.2 – Clock In/Out The employee selects to clock in/out. Input 6 Action Output Notes Priority The system adds a database entry indicating the current user id and time. The system will display a confirmation message upon successful clocking in/out or an error message upon failed clocking in/out. Essential TS - Both – 3.1 – View Timesheet The user selects to view a timesheet Input The system will retrieve database values for the selected timesheet and will Action create a table representing the time worked. Output The system will display a table of time worked. Administrators will be able to select from all employees’ timesheets. Notes Employees will only be able to view their own timesheet. Priority Essential TS - Both – 3.2 – Log In The user inputs his/her username and password and selects to log in. Input The system will verify the user information with the database. Action Output The system will redirect the user to the appropriate menu page The user login information may or may not conform to Trinity Authentication Notes System. Priority Essential 3.3 Performance Requirements The system must respond within a reasonable amount of time. It must also be able to handle as much as 200 employees. 3.4 Logical Database Requirements No internal database requirements have been identified. 3.5 Design Constraints The only design constraint identified is interfacing output from the Optim System with MySQL and PHP. 3.6 Standards Compliance The system must conform to standards specified by the Trinity College Help Desk Administration. 3.7 Software System Attributes Database Server PHP enabled web host 7 Internet Access Basic Web Browser supporting Java Script. 8