Professional Documents
Culture Documents
Tallman September 23, 2005 Submitted in partial fulfillment of the requirements of CMPS 490 Computer Projects
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.
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.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
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
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.
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
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.
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.
JavaScript
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.
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.
10
11
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.
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.
13
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.
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.
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.
17
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.
Requirements Specification September 23, 2005 4. The deletion will be completed when a submit button is pressed.
19
20
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.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.
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.
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.
24
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
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.
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
28
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.
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
31
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.
Requirements Specification September 23, 2005 the Java Programming Language. JDBC will be used to interact with the PostgreSQL database server.
32
33
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
34
35
36
37
38
39
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
40
41
42
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.
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
44
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