You are on page 1of 45

Dry Cleaning Inventory and Order Control System Requirements Specification Eric S.

Tallman September 23, 2005 Submitted in partial fulfillment of the requirements of CMPS 490 Computer Projects

Requirements Specification September 23, 2005 Abstract

This document is referred to as the Requirements Specification document. As it is intended for the customer/user, the language will be kept simple and user-oriented. The description of the proposed system will be presented in this document. Following in this document, the justification and usefulness of this project will be demonstrated. Also included will be an overview of the functions that will be provided for the inventory and order control system that this document describes. These functions will be used to explain how the project fits into an overall business strategy, namely being implemented at the place of business. These specifications will also be used in showing how the user and system components interact in their relationships, as well as the system and the environment. The overall look and feel of the system will be described in this documentation. Any constraints on the system will be presented as well. Finally the requirements specification describes any assumptions that have been made in the design of the system. Stemming from these assumptions, anticipated maintenance for the system will be described.

Requirements Specification September 23, 2005 Table of Contents

ii

CHAPTER 1: INTRODUCTION.................................................................................................................4 1.1. PURPOSE................................................................................................................................................4 1.2. SCOPE OF PROJECT................................................................................................................................4 1.3. GLOSSARY.............................................................................................................................................7 1.4. REFERENCES..........................................................................................................................................7 1.5. OVERVIEW OF DOCUMENT....................................................................................................................8 CHAPTER 2: OVERALL DESCRIPTION.................................................................................................9 2.1. SYSTEM ENVIRONMENT.........................................................................................................................9 2.2. FUNCTIONAL REQUIREMENTS DEFINITION..........................................................................................10 2.2.1 Manager Use Cases.....................................................................................................................10
2.2.1.1 User Use Case #1: Login.....................................................................................................................11 2.2.1.2 User Use Case #2: Logout...................................................................................................................11 2.2.1.3 User Use Case #3: Add Account Customer.....................................................................................11 2.2.1.4 User Use Case #4: Delete Account Customer..................................................................................12 2.2.1.5 User Use Case #5: Update Account Customer.................................................................................13 2.2.1.6 User Use Case #6: Add Employee......................................................................................................13 2.2.1.7 User Use Case #7: Delete Employee...................................................................................................14 2.2.1.8 User Use Case #8: Update Employee..................................................................................................14 2.2.1.9 User Use Case #9: Place Customer Order...........................................................................................15 2.2.1.10 User Use Case #10: View Customer Order.......................................................................................16 2.2.1.11 User Use Case #11: Edit Customer Order.........................................................................................17 2.2.1.12 User Use Case #12: Checkout Customer Order.................................................................................17 2.2.1.13 User Use Case #13: Add Inventory Item...........................................................................................18 2.2.1.14 User Use Case #14: Delete Inventory Item........................................................................................18 2.2.1.15 User Use Case #15: Update Inventory Item......................................................................................19 2.2.1.16 User Use Case #16: Generate Income Reports..................................................................................19 2.2.1.17 User Use Case #17: Add Branch.......................................................................................................20 2.2.1.18 User Use Case #18: Delete Branch....................................................................................................20 2.2.1.19 User Use Case #19: Update Branch...................................................................................................21 2.2.1.20 User Use Case #20: Add Clothing Item and Prices...........................................................................21 2.2.1.21 User Use Case #21: Delete Clothing Item and Prices........................................................................22 2.2.1.22 User Use Case #22: Update Clothing Item and Prices.......................................................................22 2.2.1.23 User Use Case #23: Add Customer...................................................................................................23 2.2.1.24 User Use Case #24: Print Invoice......................................................................................................24

2.2.2 Employee Use Cases....................................................................................................................24


2.2.2.1 User Use Case #25: Login...................................................................................................................24 2.2.2.2 User Use Case #26: Logout.................................................................................................................25 2.2.2.3 User Use Case #27: Place Customer Order.........................................................................................25 2.2.2.4 User Use Case #28: View Customer Order.........................................................................................26 2.2.2.5 User Use Case #29: Edit Customer Order...........................................................................................26 2.2.2.6 User Use Case #30: Checkout Customer Order...................................................................................27 2.2.2.7 User Use Case #31: Add Inventory Item.............................................................................................28 2.2.2.8 User Use Case #32: Delete Inventory Item..........................................................................................28 2.2.2.9 User Use Case #33: Update Inventory Item........................................................................................28 2.2.2.10 User Use Case #34: Add Customer...................................................................................................29 2.2.2.11 User Use Case #35: Print Invoice......................................................................................................29

2.2.3 Customer Use Cases....................................................................................................................30


2.2.3.1 User Use Case #36: View Orders........................................................................................................30

2.3. USER INTERFACE SPECIFICATION........................................................................................................31 2.4. NON-FUNCTIONAL REQUIREMENTS.....................................................................................................31 2.4.1. Product Non-functional Requirements.......................................................................................31 2.4.2. Process Non-functional Requirements.......................................................................................31 2.5. SYSTEM EVOLUTION...........................................................................................................................32 CHAPTER 3: REQUIREMENTS SPECIFICATION..............................................................................33

Requirements Specification September 23, 2005

iii

3.1. EXTERNAL INTERFACE REQUIREMENTS..............................................................................................33 3.2. FUNCTIONAL REQUIREMENTS.............................................................................................................33 3.2.1 Managers Functional Requirements..........................................................................................33
3.2.1.1 Login...................................................................................................................................................33 3.2.1.2 Logout.................................................................................................................................................33 3.2.1.3 Add Account Customer...................................................................................................................33 3.2.1.4 Delete Account Customer................................................................................................................34 3.2.1.5 Update Account Customer...............................................................................................................34 3.2.1.6 Add Employee....................................................................................................................................34 3.2.1.7 Delete Employee.................................................................................................................................34 3.2.1.8 Update Employee................................................................................................................................35 3.2.1.9 Place Customer Order.........................................................................................................................35 3.2.1.10 View Customer Order.......................................................................................................................35 3.2.1.11 Edit Customer Order.........................................................................................................................35 3.2.1.12 Checkout Customer Order.................................................................................................................36 3.2.1.13 Add Inventory Item...........................................................................................................................36 3.2.1.14 Delete Inventory Item........................................................................................................................36 3.2.1.15 Update Inventory Item......................................................................................................................36 3.2.1.16 Generate Income Reports..................................................................................................................37 3.2.1.17 Add Branch.......................................................................................................................................37 3.2.1.18 Delete Branch....................................................................................................................................37 3.2.1.19 Update Branch...................................................................................................................................37 3.2.1.20 Add Clothing Item and Prices...........................................................................................................38 3.2.1.21 Delete Clothing Item and Prices........................................................................................................38 3.2.1.22 Update Clothing Item and Prices.......................................................................................................38 3.2.1.23 Add Customer...................................................................................................................................38 3.2.1.24 Print Invoice......................................................................................................................................39

3.2.2 Employees Functional Requirements.........................................................................................39


3.2.2.1 Login...................................................................................................................................................39 3.2.2.2 Logout.................................................................................................................................................39 3.2.2.3 Place Customer Order.........................................................................................................................39 3.2.2.4 View Customer Order.........................................................................................................................40 3.2.2.5 Edit Customer Order...........................................................................................................................40 3.2.2.6 Checkout Customer Order...................................................................................................................40 3.2.2.7 Add Inventory Item.............................................................................................................................40 3.2.2.8 Delete Inventory Item.........................................................................................................................41 3.2.2.9 Update Inventory Item........................................................................................................................41 3.2.2.10 Add Customer...................................................................................................................................41 3.2.2.11 Print Invoice......................................................................................................................................41

3.2.3 Customers Functional Requirements.........................................................................................42


3.2.2.9 View Orders........................................................................................................................................42

3.3. DETAILED NON-FUNCTIONAL REQUIREMENTS....................................................................................42 GANTT CHART...........................................................................................................................................43

Requirements Specification September 23, 2005

Chapter 1: Introduction
1.1. Purpose
The purpose of this document is to provide an overall description of the functionality that will be provided in the system, Dry Cleaning Inventory and Order Control System. The systems environment and scope will also be included in the document. The user will be able to also use this document to find use case descriptions contained herein. The goal of this document is to help the user understand in simple terms the functionality that will be offered by the proposed system. This document will also provide the layout of functional and non-functional requirements of the system. It will provide future developers and users to learn about the system in case any changes or modifications need to be made in the future. The document is intended as a reference to the end-users of this system, namely system administrators, managers, and employees. The document will also direct developers in any modifications that may arise at a later time.

1.2. Scope of Project


The product to be produced in this project is referred to as the Dry Cleaning Inventory and Order Control System. Many dry cleaning businesses have very primitive inventory and order control. Order invoices are written by hand and are not easily modified if such a situation may be required. Managers and employees must also keep inventory counts on little more than paper. This leads to endless shuffling and is not an efficient way to run any business. Customers of such businesses can only verify that an order is still at the place of business by phone or a visit to the business. This system will allow for electronic inventory and order control. Invoices and orders will be produced

Requirements Specification September 23, 2005

automatically through use of the system. Customers will also gain online access to check if they forgot to pick up an order that is still listed in the system. Clearly this system is needed to enhance business operations of the dry cleaning business in question. As mentioned, there is currently no system in place. All bookkeeping issues are handled through paper sources: invoices, inventory counts, etc. The desired final system will be a user-friendly system that is usable by a dry cleaning business manager, employees, and customers of that business. Employees/managers will be able to create and modify orders and inventory of the business. They will be able to add orders and modify non-privileged inventory stocks. I will also create functionality for customers with orders to login to a system via web interface to check for a possible order. The employees and managers will also use web interfaces as the system may support branches of the dry cleaning establishment. This system may be integrated into the business environment in one of two ways. The first option requires additional upfront work by the business employees. The system can be initialized immediately by entering each previously existing order into the system. The second, more viable option would call for a gradual integration. Eventually, all orders and inventory control functions would be within the proposed system. Old paperonly functioning will be a thing of the past after this integration. Inputs for this system can be looked at from two users in general. The first is the customer and the second is the employee/manager entity. The primary input of the system from the customers perspective will be an order identification number and their name as it appears on the order invoice. From the employee and manager perspective the primary inputs will include a username and password to access the system. From there

Requirements Specification September 23, 2005

the input will consist of various data including order and inventory details/counts, as well as queries to the system/database. In summary, the system will include web interfaces for customers, employees, and managers of dry cleaning businesses. Customers will have access to the description of their orders. Employees and managers will have access to an inventory control interface to view current inventory and update it as necessary. The system will include an order control subsystem as well. Relying on only paper invoices will be a thing of the past. The inventory and order control system requires a desktop computer running any system that has a web browser that may access the system remotely. The web application will interact with a database management system to retrieve the information that is requested by the end-user. The setup of the database will be transparent to the end user and will not affect his/her use of the system. The system will be built with a web front end using HTML, JavaScript, JSP, and PostgreSQL. If time permits, the system may also be extended to include support for customer pickup and drop-off sites. The satellite sites to a business would process orders as allowed by the main branch. Simple help files will be included to explain to the user how to interact with the system.

Requirements Specification September 23, 2005

1.3. Glossary
Apache Tomcat A web server that handles requests from clients. The web server then forwards requests to the database management system (here, PostgreSQL). This server has built in Java Support that is needed to run the JSP files An organized collection of data. Also known as a DBMS. This is a program/suite used to manage a database and run operations on this database as indicated by the end user of the system. HyperText Markup Language This is a markup language used in the creation of web pages to display various information. An object-oriented scripting programming language used in web pages to create dynamic content, check input values for validity, and to change images displayed when the mouse floats over the image. There are many more functionalities of JavaScript then listed in this definition. JavaServer Pages - The technology allows Java code and pre-defined actions to be placed within and along side of static content. Such pages are given the extension *.jsp A Database Management System that is free open source. The system makes use of SQL to query the database and returns the results to the server as requested. Structured Query Language A widely used computer language to create, edit, and retrieve data from a database. A simple and straight-forward user interface used to interact with the system and underlying database. This is made of a set of interrelated pages that communicate with each other and the web server.

Database Database Management System HTML

JavaScript

JSP PostgreSQL SQL Web-interface

1.4. References
Tallman, Eric. Dry Cleaning Inventory and Order Control System Extended Abstract. University of Scranton. 2 September 2005. Tallman, Eric. Dry Cleaning Inventory and Order Control System Justification and Feasibility. University of Scranton. 9 September 2005.

Requirements Specification September 23, 2005

1.5. Overview of Document


Chapter 2 is titled Overall Description and will document the overall description of the project, including the system environment, the functional requirements by the user, the user interface specification, the non-functional requirements, and the system evolution. Chapter 3 is titled Requirements Specifications. This will document all constraints on the system and all the functions provided in this project. These chapters will be used by later developers and users to understand the operation of this system.

Requirements Specification September 23, 2005

Chapter 2: Overall Description


2.1. System Environment

Figure 1 - System Environment

The users of this system are dry cleaning managers, employees, and customers of such businesses. The environment will be developed to support multiple users working concurrently on the system. The possible uses for these three user types are listed in the section that follows. The users will interact with the system in the same way. Webinterfaces will be utilized for access to the system. The interfaces will communicate with the Apache Tomcat server. From the server, requests will be sent to access the database system. Data will flow from all three users in this manner.

Requirements Specification September 23, 2005

10

2.2. Functional Requirements Definition


Functional requirements are services that are going to be provided to the user. The three diagrams below illustrate the services, also known as use cases, which will be supported. There are three main groups of users: managers, employees, and customers. Each use case will have a description in the following sections.

2.2.1 Manager Use Cases

Figure 2 - Manager Use Cases

Requirements Specification September 23, 2005

11

2.2.1.1 User Use Case #1: Login


Brief Description: An employee with administrative or managerial status will be able to login to the administrative view of the system.

Step-by-step description: 1. Manager goes to the employee login page. 2. The manager enters SSN and pin into form boxes. 3. The manager will then submit the info and be redirected to an administrative page.

2.2.1.2 User Use Case #2: Logout


Brief Description: The manager will be able to securely log out of the system. Step-by-step description: 1. A logged in manager will click on a logout button on appropriate pages to leave the system.

2.2.1.3 User Use Case #3: Add Account Customer


Brief Description: The manager will create a monthly account for an approved customer. Step-by-step description: 1. After logging in to an administrative view of the system, the administrator will click on an Add Account link placed on the aforementioned page.

Requirements Specification September 23, 2005

12

2. The manager will then enter all of the appropriate account information needed in the database (Account Name, address, etc). 3. When all of the required information is entered, the manager will click a submit button in the form. 4. The system will then perform necessary data checks on the entered information and add the account to the database if the checks are passed. 5. If the checks fail, the manager will be alerted to this and asked to modify the erroneous fields. Then the manager would loop to step 2 and repeat as necessary.

2.2.1.4 User Use Case #4: Delete Account Customer


Brief description: A manager logged into the system will be able to delete a monthly account if this deletion is allowed in the system. Step-by-step description: 1. The manager will click on a Delete Account link from the administrative page they are logged into. 2. Then the manager will be prompted to enter the account number and account name. 3. Then he/she will click a submit button on this form to access this account information. 4. Once the information is displayed, the manager can continue the deletion by hitting a submit button on this account information page. 5. The system will then attempt the deletion if necessary conditions are met (no balance, no current orders, etc).

Requirements Specification September 23, 2005

13

2.2.1.5 User Use Case #5: Update Account Customer


Brief Description: The manager will be able to access and update monthly accounts as needed. Step-by-step description: 1. The manager will click on an Update Account link from the administrative page they are logged into. 2. Then the user will be prompted to enter the name and number of the account he/she wishes to edit. 3. The manager will click a submit button on the form that will bring up the account information from the database. 4. The fields will be displayed in a form that the manager may update not all fields can be updated (customer identification number). 5. The manager will then submit any changes by clicking a submit button tied with this form.

2.2.1.6 User Use Case #6: Add Employee


Brief Description: The manager will create any new employees to the business to grant them access. Step-by-step description: 1. After logging in to an administrative view of the system, the administrator will click on an Add Employee link placed on the aforementioned page. 2. The manager will then enter all of the appropriate account information needed in the database (Employee Name, Branch, Job Title, etc.). 3. When all of the required information is entered, the manager will click a submit button in the form.

Requirements Specification September 23, 2005 4. The system will then perform necessary data checks on the entered information and add the employee to the database if the checks are passed. 5. If the checks fail, the manager will be alerted to this and asked to modify the

14

erroneous fields. Then the manager would loop to step 2 and repeat as necessary.

2.2.1.7 User Use Case #7: Delete Employee


Brief description: A manager logged into the system will be able to delete an employee that is no longer with the business. Step-by-step description: 1. The manager will click on a Delete Employee link from the administrative page they are logged into. 2. Then the manager will be prompted to enter the SSN of the employee to be deleted. 3. Then he/she will click a submit button on this form to access this employees information. 4. Once the information is displayed, the manager can continue the deletion by hitting a submit button on this employee information page. 5. The system will then attempt the deletion.

2.2.1.8 User Use Case #8: Update Employee


Brief description: The manager will be able to access and update monthly accounts as needed. Step-by-step description:

Requirements Specification September 23, 2005 1. The manager will click on an Update Employee link from the administrative page they are logged into.

15

2. Then the user will be prompted to enter the SSN of the employee he/she wishes to make changes in employee information. 3. The manager will click a submit button on the form that will bring up the employees information from the database. 4. The fields will be displayed in a form that the manager may update not all fields can be updated. 5. The manager will then submit any changes by clicking a submit button tied with this form.

2.2.1.9 User Use Case #9: Place Customer Order


Brief description: The manager like an employee will be able to wait on a customer and check a clothing order into the system. Step-by-step description: 1. The manager will click on a Take Order link from his/her home page in the system. 2. The customers information will be pulled from the database using name. If the customer is new, then the order will display a form to add customer information as well as line items. 3. Then there will be an input form displayed for managers to add line items into the order. 4. Each line item will consist of a quantity, name, note, price, and possible discount.

Requirements Specification September 23, 2005

16

5. The manager will be able to then submit the line item and add it to the order. The system will then loop to step 2 and the manager may enter line items until the order is completed. 6. Once completed, the manager will then click a Finish Order button on the displayed page. This will add the order into the system assigning it an order number from within. An invoice can be printed. Any errors in the order will be relayed to the manager for correction. 7. Once an order is successfully added or cancelled, the manager will be returned to his system home page.

2.2.1.10 User Use Case #10: View Customer Order


Brief description: The manager will be able to view an existing order Step-by-step description: 1. The manager will click on a View Order link on his/her home page in the system. 2. The manager will then enter an order invoice identification number to view an order. 3. The order will be displayed when they submit this order identification to the system. 4. The manager will then be able to leave this page by clicking a link to return to his/her home page in the system.

Requirements Specification September 23, 2005

17

2.2.1.11 User Use Case #11: Edit Customer Order


Brief description: The manager will be able to edit an existing order Step-by-step description: 1. The manager will click on an Edit Order link on his/her home page in the system. 2. The manager will then enter an order invoice identification number to view an order. 3. The order will be displayed when they submit this order identification to the system. 4. The manager will then be able to edit the order as necessary. Clicking on a submit button will make the appropriate changes in the database. 5. The manager will be returned to his/her system home page.

2.2.1.12 User Use Case #12: Checkout Customer Order


Brief description: The manager will be able to view an existing order Step-by-step description: 1. The manager will click on a Checkout Order link on his/her home page in the system. 2. The manager will then enter an order invoice identification number to view an order. 3. The order will be displayed when they submit this order identification to the system.

Requirements Specification September 23, 2005

18

4. The manager will then be able to checkout the order from the system by clicking on the appropriate link. The order will be removed from the database and its price total will be utilized as needed.

2.2.1.13 User Use Case #13: Add Inventory Item


Brief description: The manager will be able to add an inventory item to the database. Step-by-step description: 1. The manager will click on an Add Inventory link on his/her home page in the system. 2. The manager will then enter an Inventory Item name in a displayed form. A description may be added if desired. 3. The item will be added to the database if it does not already exist. If it exists, the system will go back to step 2 and ask for different information. 4. The manager will then be able to leave this page by clicking a link to return to his/her home page in the system.

2.2.1.14 User Use Case #14: Delete Inventory Item


Brief description: The manager will be able to delete an item (hangers, clothing bags, etc) from inventory. Step-by-step description: 1. The manager will click on a Delete Inventory link on his/her home page in the system. 2. The manager will then see a page displaying all inventory items. 3. He/she will select which item at his/her branch that is to be deleted.

Requirements Specification September 23, 2005 4. The deletion will be completed when a submit button is pressed.

19

2.2.1.15 User Use Case #15: Update Inventory Item


Brief description: The manager will be able to update an item (hangers, clothing bags, etc) in inventory. Step-by-step description: 1. The manager will click on an Update Inventory link on his/her home page in the system. 2. The manager will then see a page displaying all inventory items. 3. He/she will select which item that is to be updated. 4. The inventory items information will be displayed in fields that may be updated. 5. The update will be completed when a submit button is pressed.

2.2.1.16 User Use Case #16: Generate Income Reports


Brief description: The manager will be able to generate income reports during selected periods of time in the business by branch. Step-by-step description: 1. The manager will click on an Income Reports link on his/her system home page. 2. Then the manager will use drop down fields to select date ranges he/she wishes to see income totals for the managers branch. 3. The reports will be displayed when the manager clicks on an appropriate form submission button.

Requirements Specification September 23, 2005

20

2.2.1.17 User Use Case #17: Add Branch


Brief Description: The manager will add a branch to the system. Step-by-step description: 1. After logging in to an administrative view of the system, the administrator will click on an Add Branch link placed on the aforementioned page. Only a manager from the head branch will be able to perform this function. 2. The manager will then enter all of the appropriate branch information needed in the database. 3. When all of the required information is entered, the manager will click a submit button in the form. 4. The system will then perform necessary data checks on the entered information and add the branch information to the database if the checks are passed.

2.2.1.18 User Use Case #18: Delete Branch


Brief Description: The manager will delete a branch from the system. Step-by-step description: 1. After logging in to an administrative view of the system, the administrator will click on a Delete Branch link placed on the aforementioned page. Only a manager from the head branch will be able to perform this function. 2. The manager will then enter the branch identification number he/she wishes to delete from the system. The deletion will proceed only if appropriate checks are passed.

Requirements Specification September 23, 2005

21

3. The deletion will fail if any employees still work for this branch. The employees will have to be reassigned to other branches or deleted before a branch can be deleted.

2.2.1.19 User Use Case #19: Update Branch


Brief Description: The manager will update branch information in the system. Step-by-step description: 1. After logging in to an administrative view of the system, the administrator will click on an Update Branch link placed on the aforementioned page. Only a manager from the head branch will be able to perform this function. 2. The manager will then enter the branch identification number he/she wishes to edit in the system. The information will be displayed upon pressing a submit button. 3. The branch information will then be displayed in fields that may be edited. The edited information will be committed to the database when all checks are passed in the system. A manager will be informed of an update failure and will be asked to edit erroneous/unacceptable information.

2.2.1.20 User Use Case #20: Add Clothing Item and Prices
Brief Description: The manager will add clothing items and their charges in the system. Step-by-step description: 1. After logging in to an administrative view of the system, the administrator will click on an Add Clothing Item link placed on the aforementioned page.

Requirements Specification September 23, 2005

22

2. The manager will then enter all of the appropriate clothing information needed in the database (Clothing name, price, up-charge, etc.). 3. When all of the required information is entered, the manager will click a submit button in the form. 4. The system will then perform necessary data checks on the entered information and add the clothing item to the database if the checks are passed. 5. If the checks fail, the manager will be alerted to this and asked to modify the erroneous fields. Then the manager would loop to step 2 and repeat as necessary.

2.2.1.21 User Use Case #21: Delete Clothing Item and Prices
Brief description: The manager will be able to delete an item (shirt, tie, etc.) from the clothing items list in the system. . Step-by-step description: 1. The manager will click on a Delete Clothing Item link on his/her home page in the system. 2. The manager will then see a page displaying all clothing items at his/her branch. 3. He/she will select which item at his/her branch that is to be deleted. 4. The deletion will be completed when a submit button is pressed and the system confirms no orders refer to that clothing item by way of line item.

2.2.1.22 User Use Case #22: Update Clothing Item and Prices
Brief Description: The manager will be able to access and update clothing item information as needed.

Requirements Specification September 23, 2005 Step-by-step description:

23

1. The manager will click on an Update Clothing Item link from the administrative page they are logged into. 2. The manager will then see a page displaying all clothing items at his/her branch. 3. He/she will select which item at his/her branch that is to have information updated. 4. The selected items information will be displayed in fields that may be edited. 5. The changes will be saved in the system when the manager clicks on a submit button in the form.

2.2.1.23 User Use Case #23: Add Customer


Brief Description: The manager will be able to add a pay per visit customer as needed. Step-by-step description: 1. The manager will click on a Take Order link from his/her home page in the system. 2. If the customer is new, then the order will display a form to add pay per visit customer information. 3. The manager will click a submit button to add the customer. 4. The manager will then be forwarded to the take order form to continue with the new customer information.

Requirements Specification September 23, 2005

24

2.2.1.24 User Use Case #24: Print Invoice


Brief Description: The manager will be able to print an invoice for an order. Step-by-step description: 1. The manager will be able to click on a Print Invoice button to print the invoice. 2. The manager will then be sent to a confirmation page for successful order adding. 3. The manager can then return to his/her system home page.

2.2.2 Employee Use Cases

Figure 3 - Employee Use Cases

2.2.2.1 User Use Case #25: Login


Brief Description: An employee with will be able to login to the employee view of the system. Step-by-step description: 1. Employee goes to the employee login page.

Requirements Specification September 23, 2005 2. The employee enters SSN and pin into form boxes. 3. The employee will then submit the info and be redirected to an employee page.

25

2.2.2.2 User Use Case #26: Logout


Brief Description: The employee will be able to securely log out of the system. Step-by-step description: 1. A logged in employee will click on a logout button on appropriate pages to leave the system.

2.2.2.3 User Use Case #27: Place Customer Order


Brief description: The employee will be able to wait on a customer and check a clothing order into the system. Step-by-step description: 1. The employee will click on a Take Order link from his/her home page in the system. 2. Then there will be an input form displayed for employees to add line items into the order. 3. Each line item will consist of a quantity, name, note, price, and possible discount. 4. The employee will be able to then submit the line item and add it to the order. The system will then loop to step 2 and the employee may enter line items until the order is completed.

Requirements Specification September 23, 2005 5. Once completed, the employee will then click a Finish Order button on the displayed page. This will add the order into the system assigning it an order

26

number from within. An invoice will be printed. Any errors in the order will be relayed to the employee for correction. 6. Once an order is successfully added or cancelled, the employee will be returned to his system home page.

2.2.2.4 User Use Case #28: View Customer Order


Brief description: The employee will be able to view an existing order Step-by-step description: 1. The employee will click on a View Order link on his/her home page in the system. 2. The employee will then enter an order invoice identification number to view an order. 3. The order will be displayed when they submit this order identification to the system. 4. The employee will then be able to leave this page by clicking a link to return to his/her home page in the system.

2.2.2.5 User Use Case #29: Edit Customer Order


Brief description: The employee will be able to edit an existing order Step-by-step description:

Requirements Specification September 23, 2005 1. The employee will click on an Edit Order link on his/her home page in the system. 2. The employee will then enter an order invoice identification number to view an order. 3. The order will be displayed when they submit this order identification to the system. 4. The employee will then be able to edit the order as necessary. Clicking on a submit button will make the appropriate changes in the database. 5. The employee will be returned to his/her system home page.

27

2.2.2.6 User Use Case #30: Checkout Customer Order


Brief description: The employee will be able to view an existing order Step-by-step description: 1. The employee will click on a Checkout Order link on his/her home page in the system. 2. The employee will then enter an order invoice identification number to view an order. 3. The order will be displayed when they submit this order identification to the system. 4. The employee will then be able to checkout the order from the system by clicking on the appropriate link. The order will be removed from the database and its price total will be utilized as needed.

Requirements Specification September 23, 2005

28

2.2.2.7 User Use Case #31: Add Inventory Item


Brief description: The employee will be able to add an inventory item to the database. Step-by-step description: 1. The employee will click on an Add Inventory link on his/her home page in the system. 2. The employee will then enter an Inventory Item name in a displayed form. A description may be added if desired. 3. The item will be added to the database if it does not already exist. If it exists, the system will go back to step 2 and ask for different information. 4. The employee will then be able to leave this page by clicking a link to return to his/her home page in the system.

2.2.2.8 User Use Case #32: Delete Inventory Item


Brief description: The employee will be able to delete an item (hangers, clothing bags, etc) from inventory. Step-by-step description: 1. The employee will click on a Delete Inventory link on his/her home page in the system. 2. The employee will then see a page displaying all inventory items. 3. He/she will select which item at his/her branch that is to be deleted. 4. The deletion will be completed when a submit button is pressed.

2.2.2.9 User Use Case #33: Update Inventory Item


Brief description: The employee will be able to update an item (hangers, clothing bags, etc) in inventory.

Requirements Specification September 23, 2005 Step-by-step description: 1. The employee will click on an Update Inventory link on his/her home page in the system. 2. The employee will then see a page displaying all inventory items. 3. He/she will select which item that is to be updated.

29

4. The inventory items information will be displayed in fields that may be updated. 5. The update will be completed when a submit button is pressed.

2.2.2.10 User Use Case #34: Add Customer


Brief Description: The employee will be able to add a pay per visit customer as needed. Step-by-step description: 5. The employee will click on a Take Order link from his/her home page in the system. 6. If the customer is new, then the order will display a form to add pay per visit customer information. 7. The employee will click a submit button to add the customer. 8. The employee will then be forwarded to the take order form to continue with the new customer information.

2.2.2.11 User Use Case #35: Print Invoice


Brief Description: The employee will be able to print an invoice for an order. Step-by-step description: 1. The employee will be able to click on a Print Invoice button to print the invoice.

Requirements Specification September 23, 2005 2. The employee will then be sent to a confirmation page for successful order adding. 3. The employee can then return to his/her system home page.

30

2.2.3 Customer Use Cases

Figure 4 - Customer Use Case

2.2.3.1 User Use Case #36: View Orders


Brief Description: A customer will be able to login to the system to check for the presence of an order at the place of business. Step-by-step description: 1. The customer will go to the customer login page. 2. The customer will enter order invoice number and their name as it appears on the invoice. 3. The customer will then submit this form and will be told of the presence of an order. 4. If the order is at the business, the order will be displayed on the page. 5. The customer may then click on a button to logout of the page.

Requirements Specification September 23, 2005

31

2.3. User Interface Specification


The users who will be using this system are not computer savvy. The interface will be kept simple to accommodate these users. The systems interface will consist of many forms to fill out along with accompanying submit buttons. Hyperlinks will be utilized for simple system navigation where possible. This interface will be presented through a web-browser. This web-browser presentation will keep simplicity while maintaining high system functionality which is not seen.

2.4. Non-functional Requirements


This section of the document will cover those requirements that are not the functional requirements of the system. Such requirements are the constraints of the system as it pertains to performance relative to a given system.

2.4.1. Product Non-functional Requirements


The performance of the web-interface will rely heavily on the system on which the system is accessed. Older computers may load the pages more slowly and may not have the proper software, etc. to run the web pages comprising the system. . The hardware involved includes a database server, CS Dept Server 8

PostgreSQL DBMS. This server has been reliable in the past and I do not foresee this becoming an issue in the development of this project. The database may become full over time if proper procedures are not taken to maintain it. Record space must be reclaimed in order to avoid any memory leaks that could occur.

2.4.2. Process Non-functional Requirements


Currently, the system is being developed using the Eclipse IDE and run on the Apache Tomcat 5.5.9 web server. This server has built in Java support as it is built on

Requirements Specification September 23, 2005 the Java Programming Language. JDBC will be used to interact with the PostgreSQL database server.

32

2.5. System Evolution


Over time, the database may become filled with data that is outdated if orders are abandoned. The database can be modified at a later date to add additional tables and attributes as the dry cleaning business requires. This is costly but is achievable without a problem, excluding space considerations. The use of Java Beans will allow for the business logic of the system to be separated from the saving of the form information that is required to run the system. Changing this system will be accommodated by code that will be structured in some accepted practices in software engineering.

Requirements Specification September 23, 2005

33

Chapter 3: Requirements Specification


3.1. External Interface Requirements
None.

3.2. Functional Requirements


3.2.1 Managers Functional Requirements

3.2.1.1 Login
Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Login Essential None The manager is at the login page Type web address to server in browser None The manager will be logged in to the system None

3.2.1.2 Logout
Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Logout Essential None The manager is logged into the system Click Logout button None The manager will be logged out of the system None

3.2.1.3 Add Account Customer


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Account Customer Essential None The manager is logged into the system Click Add Account link None The manager will be able to add an account to the system None

Requirements Specification September 23, 2005

34

3.2.1.4 Delete Account Customer


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Delete Account Customer Essential None The manager is logged into the system Click Delete Account link None The manager will be able to remove an account from the system None

3.2.1.5 Update Account Customer


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Update Account Customer Essential None The manager is logged into the system Click Update Account link None The manager will be able to update account information None

3.2.1.6 Add Employee


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Employee Essential None The manager is logged into the system Click Add Employee link None The manager will be able to add an employee to the system None

3.2.1.7 Delete Employee


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Delete Employee Essential None The manager is logged into the system Click Delete Employee link None The manager will be able to delete an employee to the system None

Requirements Specification September 23, 2005

35

3.2.1.8 Update Employee


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Update Employee Essential None The manager is logged into the system Click Update Employee link None The manager will be able to update employee information None

3.2.1.9 Place Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Place Customer Order Essential None The manager is logged into the system Click Take Order link None The manager will be able check a customers order into the system None

3.2.1.10 View Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths View Customer Order Essential None The manager is logged into the system Click View Order link None The manager will view the indicated customer order None

3.2.1.11 Edit Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Edit Customer Order Essential None The manager is logged into the system Click Edit Order link None The manager will view and modify the indicated customer order None

Requirements Specification September 23, 2005

36

3.2.1.12 Checkout Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Checkout Customer Order Essential None The manager is logged into the system Click Checkout Order link None The order will be removed from the system and income total will be updated as necessary None

3.2.1.13 Add Inventory Item


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Inventory Item Essential None The manager is logged into the system Click Add Inventory link None The manager will be able to add an inventory item to the system None

3.2.1.14 Delete Inventory Item


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Delete Inventory Item Essential None The manager is logged into the system Click Delete Inventory link None The manager will be able to delete inventory items from the system None

3.2.1.15 Update Inventory Item


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Update Inventory Item Essential None The manager is logged into the system Click Update Inventory link None The manager will be able to modify inventory items in the system None

Requirements Specification September 23, 2005

37

3.2.1.16 Generate Income Reports


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Generate Income Reports Essential None The manager is logged into the system Click Income Reports link None The manager will be able to view income reports for his/her branch within a provided date range None

3.2.1.17 Add Branch


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Branch Optional None The manager is logged into the system Click Add Branch link None The manager will add a branch to the system None

3.2.1.18 Delete Branch


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Delete Branch Optional None The manager is logged into the system Click Delete Branch link None The manager will delete a branch from the system None

3.2.1.19 Update Branch


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Update Branch Optional None The manager is logged into the system Click Update Branch link None The manager will update branch information in the system None

Requirements Specification September 23, 2005

38

3.2.1.20 Add Clothing Item and Prices


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Clothing Item Essential None The manager is logged into the system Click Add Clothing Item link None The manager will add an item of clothing and attributes to the system None

3.2.1.21 Delete Clothing Item and Prices


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Delete Clothing Item Essential None The manager is logged into the system Click Delete Clothing Item link None The manager will delete allowable items from the system None

3.2.1.22 Update Clothing Item and Prices


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Update Clothing Item Essential None The manager is logged into the system Click Update Clothing Item link None The manager will update clothing item information in the system None

3.2.1.23 Add Customer


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Customer Essential None The manager is logged into the system Click Take Order link and the customer info does not exist None The manager will add customer information to the system None

Requirements Specification September 23, 2005

39

3.2.1.24 Print Invoice


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Print Invoice Essential None The manager is logged into the system A finalized order is displayed, Print Invoice is clicked None The manager will print an invoice of the new order None

3.2.2 Employees Functional Requirements

3.2.2.1 Login
Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Login Essential None The employee is at the login page Type web address to server in browser None The employee will be logged in to the system None

3.2.2.2 Logout
Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Logout Essential None The employee is logged into the system Click Logout button None The employee will be logged out of the system None

3.2.2.3 Place Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Place Customer Order Essential None The employee is logged into the system Click Take Order link None The employee will be able check a customers order into the system

Requirements Specification September 23, 2005 Exception Paths None

40

3.2.2.4 View Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths View Customer Order Essential None The employee is logged into the system Click View Order link None The employee will view the indicated customer order None

3.2.2.5 Edit Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Edit Customer Order Essential None The employee is logged into the system Click Edit Order link None The employee will view and modify the indicated customer order None

3.2.2.6 Checkout Customer Order


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Checkout Customer Order Essential None The employee is logged into the system Click Checkout Order link None The order will be removed from the system and income total will be updated as necessary None

3.2.2.7 Add Inventory Item


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Inventory Item Essential None The employee is logged into the system Click Add Inventory link None The employee will be able to add an inventory item to the system None

Requirements Specification September 23, 2005

41

3.2.2.8 Delete Inventory Item


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Delete Inventory Item Essential None The employee is logged into the system Click Delete Inventory link None The employee will be able to delete inventory items from the system None

3.2.2.9 Update Inventory Item


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Update Inventory Item Essential None The employee is logged into the system Click Update Inventory link None The employee will be able to modify inventory items in the system None

3.2.2.10 Add Customer


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Add Customer Essential None The employee is logged into the system Click Take Order and customer info is not found in the system None The employee will add customer info to the system None

3.2.2.11 Print Invoice


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths Print Invoice Essential None The employee is logged into the system A finalized order is displayed, Print Invoice is clicked None The employee will print an invoice of the order None

Requirements Specification September 23, 2005

42

3.2.3 Customers Functional Requirements

3.2.2.9 View Orders


Use Case Name Priority Trigger Precondition Basic Path Alternative Path Postcondition Exception Paths View Orders - Customer Essential None The customer will be at the customer login page Fill out the identification form and click a submit button None The customer will see their order displayed if present in the system None

3.3. Detailed Non-functional Requirements


Hardware: Client computers that have access to the web-interface via the Internet/Network

Software: The request server is Apache Tomcat 5.5.9 and has built in Java support. This must be run to handle incoming requests. PostgreSQL database must be running and currently is on CS Departments Server 8. Any web browser that can properly display the forms needed may be used. The interface will not be programmed with a specific browser in mind. Software Standard: Apache Tomcat has support for the JSP 2.0 and Servlet 2.4 specifications

Network interface: Internet/Network connectivity will be needed to access the PostgreSQL DBMS through the Apache Tomcat web server.

Requirements Specification September 23, 2005

43

Gantt Chart
Activity Proposal Analysis Specification High-level Design System Design Implementation Module Testing Integration Testing Complete Status 9/2 9/9 100% A SSSSS 95% S SSS SSSSS 95% 10% 10% 0% 0% 0% S S S S S S 9/23 9/30 10/21 11/5 11/28 12/9

BSSSS SSSSS SSSSSSSS SSS SS SSSSS SSSSS SS SSSSS SSSSS SSSSS SSSSS SS SSSSS SSSSS SSSSS SSSS SSSSSSSS SSSSS SSSSS SS

Project Status Symbols S Scheduled A Satisfactory C Caution F Critical Planning/Progress Symbols B Work Before Scheduled Time S Scheduled Activity Time A Work After Scheduled Time

Requirements Specification September 23, 2005 A

44

Apache Tomcat.................................................................................................................................................7, 9, 31, 42

C
Clothing Item....................................................................................................................................21, 22, 23, 38, 39, 41 Customer..........................................................................11, 12, 13, 15, 16, 17, 25, 26, 27, 30, 33, 34, 35, 36, 39, 40, 42 Customer Use Cases.......................................................................................................................................................30

E
employee........................................................................................5, 11, 14, 15, 24, 25, 26, 27, 28, 29, 34, 35, 39, 40, 41 Employee Use Cases......................................................................................................................................................24

J
Java................................................................................................................................................................. 7, 31, 32, 42 JSP.......................................................................................................................................................................... 6, 7, 42

M
manager...........................................5, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 29, 33, 34, 35, 36, 37, 38, 39, 41 Manager Use Cases........................................................................................................................................................10

O
Order..................................................................................................1, 4, 7, 15, 16, 17, 23, 25, 26, 27, 29, 35, 36, 39, 40

P
PostgreSQL.................................................................................................................................................6, 7, 31, 32, 42

S
System Environment........................................................................................................................................................9

You might also like