anwar bayali report

82
1 Athens Information Technology Thesis: Implementation of Warehouse Management System Student: Anwar Al Bayali Supervisor: Prof. John Soldatos Co-supervisor: Nikolaos Kefalakis

Upload: adeel-farooq

Post on 19-Jul-2015

43 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Anwar bayali   report

1

Athens Information Technology

Thesis: Implementation of Warehouse

Management System

Student: Anwar Al Bayali

Supervisor: Prof. John Soldatos

Co-supervisor: Nikolaos Kefalakis

Page 2: Anwar bayali   report

2

Index

1. Introduction

1.1. Warehouse Management System…………………………………… 4

1.2. Warehouse’s Processes……………………………………………... 5

1.3. Importance of Warehouse Management System………………….... 6

1.4. Objective of Thesis……………………………………………......... 9

2. State of the Art

2.1. WarehouseNet……………………………………………………..... 9

2.2. Sales & Inventory Control System...………………………………. 10

2.3. Enterprise 21 ERP…………………………………………………. 11

2.4. EasyWMS…………………………………………………………. 12

2.5. KIMATRA WMS…………………………………………………. 13

3. System Design

3.1. Database Design

3.1.1. WareHouse Manager – ERR Diagram……………………… 15

3.1.2. WareHouse Manager’s Tables………………………………. 16

3.2. Classes Design…………………………………………………….. 17

4. Implementation

4.1. Technology

4.1.1. MSQL Workbench…………………………………………... 22

4.1.2. Adobe Dreamweaver………………………………………... 23

4.1.3. JavaServer Pages (JSP)……………………………………… 25

4.2. SQL Scripts………………………………………………………... 26

4.3. Deploying WareHouse Application……………………………...... 30

4.4. WareHouse Manager – System’s GUI

4.4.1. Login………………………………………………………… 31

Page 3: Anwar bayali   report

3

4.4.2. Crud Users…………………………………………………... 32

4.4.3. Crud Warehouses……………………………………………. 35

4.4.4. Crud Items Category………………………………………… 40

4.4.5. Crud Units…………………………………………………… 45

4.4.6. Crud Items…………………………………………………... 50

4.4.7. Crud Suppliers………………………………………………. 55

4.4.8. Crud Customers……………………………………………... 60

4.4.9. Crud Receivables……………………………………………. 65

4.4.10. Crud Deliverables………………………………………….. 70

4.4.11. Crud Movables……………………………………………... 75

4.4.12. Crud Shipments…………………………………………….. 76

5. Evaluation of WareHouse Manager………………………………… 80

6. Conclusion…………………………………………………………….. 81

7. References…………………………………………………………….. 82

Page 4: Anwar bayali   report

4

1. Introduction

1.1. Warehouse Management System:

A warehouse management system (WMS) is a software application that

supports the day-to-day operations in a warehouse. WMS programs

enable centralized management of tasks such as tracking inventory levels

and stock locations. WMS systems may be standalone applications or

part of an Enterprise Resource Planning (ERP) system.

Early warehouse management systems could only provide simple storage

location functionality. Current WMS applications can be so complex and

data intensive that they require a dedicated staff to run them. High-end

systems may include tracking and routing technologies such as Radio

Frequency Identification (RFID) and voice recognition.

No matter how simple or complex the application is, the goal of a

warehouse management system remains the same -- to provide

management with the information it needs to efficiently control the

movement of materials within a warehouse.

The main activities in any warehouse management system need to be

able to do the following:

• Record receipt of inventory

• Record shipment of inventory

• Stock locator (inbound: where can a piece of inventory be stored

and outbound: where can I go to pick an inventory item a customer

ordered)

• Main Features:

� Receiving

� Cycle Count

� Put Away

� Location Tracking

� Picking

� Packing

� Consolidation

� Space Capacity

Page 5: Anwar bayali   report

5

� Shipping

� Replenishment (replenish prime bins from safety stock and

replenish safety stock from supplier)

� Vendor and Carrier quality compliance

� Trailer Manifesting

� Returns

� Labor Management

� Advanced Slotting

1.2. Warehouse’s Processes

• Receiving: at the receiving operation, it allows the warehouse to

schedule receipt and unloading within the warehouse. Product will

be inspected and any noted exceptions, such as damage, incorrect

counts, wrong description, and so on.

• Put-away: The put-away operation physically moves the items

from receiving location to the storage area of the warehouse. When

product is put-away, the storage location should also be scanned to

record where the product has been placed. This information will

subsequently be used to construct efficient pick-lists to guide the

order-pickers in retrieving the product for customers.

• Order-picking: This process requires warehouse personnel to

select the items ordered by the customer or manufacturing

operation in the storage area. The order information is given to the

warehouse personnel on a pick slip. The AS/R process is

automated storage while retrieval materials –handling system

would run the picking process, when the order arrives at the

shipping preparation area, the items would be placed in an exterior

(shipping) package or on pallet. Then, a shipping label indicating

the ship-to person/firm and address is attached to the package.

Finally, the complete customer order is staged for loading into

transport vehicle.

• Shipping: The final movement process occurs at the shipping

operation. Product is likely to be staged if it must be loaded in

Page 6: Anwar bayali   report

6

reverse order of delivery or if shipping long distances. When one

must work due to the staged freight it must be double handled. The

trailer is likely to be scanned her to register its departure from the

warehouse.

1.3. Importance of Warehouse Management System:

WMS is an invaluable tool for improving your organization's

productivity and customer focus. Here is a list of some of the benefits

that you can expect to get.

Customer Service:

Improved Customer Relationship - WMS aids in providing a

comprehensive database of customers and their preferences in

terms of product demand. This information can be effectively

utilized by Customer Care and Business Development departments

for Customer Relationship Management.

Accurate Shipping of Material - The system keeps an intensive

check of the goods or stock units meant for different customers and

flash an alarm/warning if the goods meant for one customer are

mistakenly placed in cartons meant for other.

Productivity:

• Optimum Utilization of Resources - Automation and

streamlining of processes ensures that operational bottlenecks are

eliminated and productivity increases. As a result all resources -

man, machine, and money are utilized to their optimum level.

Apart from the system no additional manpower or special

machinery is required in order to automate the process for an

efficient and proper handling of the goods.

• Better Efficiencies - Intensive checks are kept at each and every

stage which safeguards against possibilities of errors in inventory

records. As the items are systematically stored and retrieved, no

time is wasted in searching for items not in stock and more than

Page 7: Anwar bayali   report

7

one order can be processed at any given time. This results in the

increase of efficiencies, eliminating wastage of time due to errors.

• Better Productivity Monitoring - By keeping track of the

operator's and staffs' activities, their productivity can be monitored.

This aspect is of particular importance in case of productivity

based remuneration schemes.

• Multiple Order Processing - More than one order can be

processed at any given time helping in better resource utilization.

Costs:

• Low inventory carrying Cost - The main goal of WMS is

controlling and streamlining the flow of inventory in a profitable

and productive manner thus optimizing all resources.

• Short Payback Period - Payback period of WMS project will be

very short because we are addressing the warehousing area where

at-least 60% of organization's working capital is tied. The results

of such savings are immediate and apparent.

• Optimal Level of Inventory - In an average business around 60%

of the working capital is tied down in the inventory; the percentage

is even higher in trading business. In an ideal situation warehouse

should maintain optimal level of inventory at any given time

avoiding both under and over stocking. If the Warehouses are

overstocked that means excess working capital is tied in inventory

which is dead money. Under stocking leads to delay in customer

orders and even cancellation of orders at times. Thus actual picture

about the inventory status in the Warehouse have valuable

financial and strategic implications. WMS not only streamlines the

flow of inventory but also tracks the inventory at various levels of

processing thereby enabling decision makers to view actual picture

of inventory at any given time and take appropriate steps.

• No Extra Skills Required - When deciding for automation, one of

the major concern of management is that they have to hire

Page 8: Anwar bayali   report

8

technical people at all levels and retrain the existing workforce.

But in WMS the programs are so designed that no special skills are

required to operate the system even at lower level. Programs for

shop floor are specifically designed to run on hand held radio

frequency terminals and emphasis is on scanner based data

inputs. Therefore same workforce can very effectively be used for

implementing WMS.

• Better Revenue Realization - Companies often loose considerable

amount of revenue due to:

� excessive / under stocking as explained above

� incorrect tendering due to inaccurate knowledge of available

stock

� Over / under shipping to customers.

� Wrong consignments.

� Inaccurate billing.

� Delay in order processing leading to order cancellation.

WMS helps in controlling these losses to a large extent.

Transparency & Security:

Improved Transparency - WMS provides diversified all-embracing

reports for almost any plausible aspects of activities and substantiates the

fact that working of Warehouse is made 100% transparent. Each and

every activity can be tracked, reported, monitored and consequently

controlled. These reports are web based and are platform independent

applications. Therefore reports are visible to any one who is willing and

authorized to see. This feature is especially beneficial for multi location

Warehouses and sales offices.

Higher Security - WMS incorporates distinct features for functions to be

performed by Manager or Operators thereby eliminating the chances of

wrong data entry. WMS makes information readily available to only

those who have permission to see it. For example the operators are not

entitled to view the important MIS reports.

Page 9: Anwar bayali   report

9

1.4. Objective of Thesis:

The main objectives of thesis are:

• Create a simple WMS (e.g. constructions tools etc.)

• Create a reliable and secure system.

• Develop a user friendly Graphical User Interface (GUI).

2. State of the Art

This section covers state of the art in the filed of Warehouse

Management Systems.

2.1. WarehouseNet:

WarehouseNet is a inventory software for inventory, logistic and

distribution operation. It is extremely suitable for warehouse operation,

distribution center, MRP for manufacturer, logistic services and storage

operation.

WarehouseNet delivers leftover reports with different grouping, by

article no, item, brand name, description, supplier and specification,

FIFO, storage breakdown, storage charges calculation, low level alert and

stock checking by location.

WarehouseNet provide export closing stock report for accounting audit

at the year end to save manpower and time to re-type by excel, expiry

date alert avoid expires and waste of day limited items. The storage days

report is reduced the storage day and hence minimizes depreciation

percent.

Reports on all stock-in and stock-out movement grouping by item,

customer, brand name, supplier, delivery order, recipient and job order.

This is used to act as an audit checking against supplier deliveries and

customer invoice amount or quantity.

Page 10: Anwar bayali   report

10

Figure 1 - WarehouseNet

2.2. Sales & Inventory Control System:

Inventory Control System is personal WMS software designed by Mr.

Mohammad Turkey which is suitable for small warehousing businesses,

this system has three main transactions editing items, receiving and

selling items.

Figure 1 - Sales & Inventory Control System

Page 11: Anwar bayali   report

11

2.3. Enterprise 21 ERP:

Enterprise 21 includes complete, state-of-the-art warehouse management

functionality that supports standard processes such as receiving, putaway,

picking, replenishment, and shipping. The warehouse management

functionality manages both single and multi-warehouse operations with

transactions being performed both by keyboard and handheld and

forklift-mounted RF-enabled barcode scanning devices. The warehouse

management functionality is fully-integrated with the complete

Enterprise 21 ERP suite, including purchasing, manufacturing, inventory,

and financial management to provide a complete end-to-end solution for

manufacturing and distribution organizations.

While optimized picking can be performed with traditional paper-based

processes, greater productivity can be derived through Enterprise 21’s

directed picking and paperless task-interleaving processes. Enterprise 21

manages and tracks the complete flow of material through the entire

organization, from receipt and putaway of material, through production

and kitting, and eventual picking, packing, and shipping to customers

with complete lot traceability and serialization tracking. Enterprise 21

also automates the management of other warehouse operations such as

physical and cycle counts, vendor returns, license plating, and labor

allocation and optimization.

Enterprise 21 ERP software provides the tools necessary for efficient and

productive manufacturing and distribution operations. With Enterprise

21, organizations can improve their inventory accuracy, inventory turns,

and customer service.

Figure 1 – Enterprise 21 ERP Logo

Page 12: Anwar bayali   report

12

2.4. EasyWMS

A key part of the supply chain, Easy WMS is warehouse management

software designed to provide control of the movement and storage of

goods in a warehouse. With the ability to process transactions including

shipping, receiving, stocking and picking, Easy WMS is a real solution

for any company, large or small.

Figure 1 – EasyWMS Logo

Improve ROI, increase productivity and save on expenses by

implementing the warehouse management software that has the

demonstrated ability to provide total location management. Complete

control over order preparation and operator productivity saves time,

improves the quality of service provided and reduces shipping errors.

Advantages

• Increased Technical support and remote assistance available 24

hours a day, 7 days a week, 365 days a year.

• Full Drastic reduction in costs incurred due to expiration or

unknown losses.

• Real time warehouse status provided through graphic imaging.

The Interlake Mecalux Easy WMS has different levels of functionality

which allows the software to adapt to the specific needs of each

installation depending on the degree of complexity and automation of the

warehouse. Due to this flexibility, it can also adapt easily to business

growth or new processes and volumes.

Page 13: Anwar bayali   report

13

2.5. KIMATRA WMS

KIMATRA WMS is a powerful, easy-to-use, web-based Warehouse

Management System designed to increase the productivity and inventory

accuracy of warehouses and distribution centers. It supports real-time

data collection and validation ensuring invetory information is always

accurate and up-to-date. It operates well as a stand-alone system or it can

work in conjunction with existing enterprise systems.

Figure 1 – KIMATRA Technologies

The KIMATRA WMS enables you to see where inventory is or will be

available, optimize fulfillment and distribution processes to ensure that

products are delivered on time and in full, consistently. The result:

improved supply chain management with end-to-end fulfillment from

order inception to delivery.

It gives managers robust planning, execution and measurement tools and

brings operational discipline to complex operations. By leveraging the

SOA architecture it enables a multi-enterprise collaboration strategy, and

provides improved visibility and communications between business

partners.

KIMATRA WMS is cost-effective software solutions that helps automate

the entire warehousing process and offers a systematic approach of

receive, put away, storage and shipping processes.

• Reduce inventory 5 to 20%

• Increase labor productivity 15 to 40%

• Improve shipping accuracy 2 to 5%

• Increase inventory accuracy 99+% at location level

• Boost perfect order rates

Page 14: Anwar bayali   report

14

• Reduce direct operating costs and increase overall revenue

Designed specifically to serve the changing needs of today’s

business,KIMATRA WMS provides the same benefits as much larger

and more expensive software systems but remains much easier to

use,faster to deploy and a easy to maintain.

KIMATRA WMS possesses the tools, the technology and the

functionality to help you streamline your operational processes, control

inventory, reduce paperwork while complying with audit regulations. It is

an advanced WMS software solution for manufacturing, distribution, and

retail enterprises and third-party logistics providers (3PLs) that can be

used by enterprising organizations of all sizes. It helps companies

maximize product placement strategies, prioritize tasks, implement fair

productivity standards, and increase logistics efficiency.

KIMATRA WMS also provides capability to cater to an integrated multi-

site operating environment; the system offers support of multi-warehouse

stock management through simplified processes and allows the various

operations to be viewed as a single consolidated operating entity to

external entities.

Page 15: Anwar bayali   report

15

3. System Design

3.1. Database Design:

This section covers the design of the database including EER Diagram & a brief description about the Tables that used in the system.

3.1.1. Warehouse Manager – EER Diagram:

Page 16: Anwar bayali   report

16

Figure 1 – EER Diagram of WareHouse Manager

3.1.2. Tables:

• Users:

Users table is responsible for storing the information about

Administrators and Users of the system.

• Warehouses:

Warehouses table is responsible for storing the information about

Warehouses.

• Items:

Items table is responsible for storing the information about Items.

• Items Category:

Items Category table is responsible for storing the information

about the Categories that classifies Items (e.g. TV, Computer etc)

• Units:

Units table is responsible for storing the measurement units of

Items.

• Receivables:

Receivables table is responsible for storing the information about

Receiving Invoices.

• Deliverables:

Deliverables table is responsible for storing the information about

Selling Invoices.

• Suppliers:

Suppliers table is responsible for the storing the information about

Suppliers.

• Customers:

Customers table is responsible for the storing the information

about Customers.

Page 17: Anwar bayali   report

17

• Transactions:

Transactions table is responsible for storing all transactions of

Receiving, Selling and Moving Items.

• Shipments:

Shipments table is responsible for storing the information about

Shipments Orders.

3.2. Classes Design:

This section covers the design of system’s Classes that used in

programming the system; all the Classes are stored in Package

(warehouse).

Classes are the communication link between business logic & database.

• Class dbcon: establishes database connection.

• Class loginUser: checks of a user have privilege to access the

system.

• Class validation_manager: checks for valid numeric values & email

addresses.

• Class CryptoUtil: encrypts & decrypts user’s password.

• Class user: returns a user object.

• Class user_manager: this class has the following methods:

InserUser ( ): creates a new user.

� GetAllUsers ( ): returns arraylist of user object.

� GetUser ( ): returns a specific user according to a given ID.

� UpdateUser ( ): updates the information about existing user.

� DeleteUser ( ): deletes the information of existing user.

• Class warehouse: returns a warehouse object.

• Class warehouse_manager: this class has the following methods:

� InserWarehosue ( ): creates a new warehouse.

� GetAllWarehouses ( ): returns arraylist of warehouse object.

Page 18: Anwar bayali   report

18

� GetAllWarehousesByName ( ): returns arraylist of warehouse

object according to a given name.

� GetWarehouse ( ): returns a specific warehouse according to a

given ID.

� GetWarehouseName ( ): returns the name of specific warehouse

according to a given ID.

� UpdateWarehouse ( ): updates the information about existing

warehouse.

� DeleteWarehouse ( ): deletes the information of existing

warehouse.

• Class item_category: returns an item category object.

• Class item_category_manager: this class has the following

methods:

� InserItemCategory ( ): creates a new item category.

� GetAllItemsCategory ( ): returns arraylist of items category

object.

� GetAllItemsCategoryByName ( ): returns arraylist of items

category object according to a given name.

� GetItemCategory ( ): returns a specific item category according

to a given ID.

� GetItemCategoryName ( ): returns the name of specific item

category according to a given ID.

� UpdateItemCategory ( ): updates the information about existing

item category.

� DeleteItemCategory ( ): deletes the information of existing item

category.

• Class unit: returns a unit object.

• Class unit_manager: this class has the following methods:

� InserUnit ( ): creates a new unit.

� GetAllUnits ( ): returns arraylist of unit object.

� GetAllUnitsByName ( ): returns arraylist of unit object according

to a given name.

� GetUnit ( ): returns a specific unit according to a given ID.

� GetUnitName ( ): returns the name of specific unit according to a

given ID.

� UpdateUnit ( ): updates the information about existing unit.

Page 19: Anwar bayali   report

19

� DeleteUnit ( ): deletes the information of existing unit.

• Class item: returns an item object.

• Class item_manager: this class has the following methods:

� inserItem ( ): creates a new item.

� GetAllItems ( ): returns arraylist of item object.

� GetAllItemsByName ( ): returns arraylist of item object

according to a given name.

� GetItem ( ): returns a specific item according to a given ID.

� GetItemName ( ): returns the name of specific item according to

a given ID.

� UpdateItem ( ): updates the information about existing item.

� DeleteItem ( ): deletes the information of existing item.

• Class supplier: this class has the following methods:

• Class supplier_manager: this class has the following methods:

� InsertSupplier ( ): creates a new supplier.

� GetAllSuppliers ( ): returns arraylist of supplier object.

� GetAllSuppliersByName ( ): returns arraylist of supplier object

according to a given name.

� GetSupplier ( ): returns a specific supplier according to a given

ID.

� GetSupplierName ( ): returns the name of specific supplier

according to a given ID.

� UpdateSupplier ( ): updates the information about existing

supplier.

� DeleteSupplier ( ): deletes the information of existing supplier.

• Class customer: returns a customer object.

• Class customer_manager: this class has the following methods:

� InsertCustomer ( ): creates a new customer.

� GetAllCustomers ( ): returns arraylist of customer object.

� GetAllCustomersByName ( ): returns arraylist of customer

object according to a given name.

� GetCustomer ( ): returns a specific customer according to a given

ID.

Page 20: Anwar bayali   report

20

� GetCustomerName ( ): returns the name of specific customer

according to a given ID.

� UpdateCustomer ( ): updates the information about existing

customer.

� DeleteCustomer ( ): deletes the information of existing customer.

• Class receivable: returns a receivable invoice object.

• Class receivable_manager: this class has the following methods:

� InsertReceivableInvoice ( ): creates a new receivable invoice.

� GetAllReceivableInvoices ( ): returns arraylist of receivable

invoice object.

� GetReceivableInvoice ( ): returns a specific receivable invoice

according to a given invoice no.

� UpdateReceivableInvoice ( ): updates the information about

existing receivable invoice.

� DeleteReceivableInvoice ( ): deletes the information of existing

receivable invoice.

• Class deliverable: returns a deliverable invoice object.

• Class deliverable_manager: this class has the following methods:

InsertDeliverableInvoice ( ): creates a new deliverable invoice.

GetAllDeliverableInvoices ( ): returns arraylist of deliverable

invoice object.

GetDeliverableInvoice ( ): returns a specific deliverable invoice

according to a given invoice no.

UpdateDeliverableInvoice ( ): updates the information about

existing deliverable invoice.

DeleteDeliverableInvoice ( ): deletes the information of existing

deliverable invoice.

• Class transaction: returns a transaction object.

• Class transaction_manager: this class has the following methods:

� InsertTransaction ( ): adds items on a specific receivable

invoice.

� GetAllTransactions ( ): returns the items that belong to a specific

receivable invoice according to a given invoice no.

Page 21: Anwar bayali   report

21

� CheckBeforeDeleteTransaction (): checks if the selected item

belongs to a deliverable invoice or not.

� DeleteTransaction ( ): deletes the selected item from a specific

receivable invoice.

� CheckBeforeDelTransaction ( ): checks if the number of

required items is available in a specific warehouse.

� CheckBeforeMoveTransaction ( ): checks if the number of

required items is available in a specific warehouse.

� UpdateDelTransaction ( ): adds items on a specific deliverable

invoice.

� UpdateMoveTransaction ( ): moves number of items from one

warehouse to another.

� GetAllDelTransactions ( ): returns the items that belong to a

specific deliverable invoice according to a given invoice no.

� DeleteDelTransaction ( ): deletes the selected item from a

specific deliverable invoice.

� GetAllAviItem ( ): returns all the available items in the

warehouses.

� GetAllAviItemByItem ( ): returns all the available items in the

warehouses according to a given item.

� GetAllAviItemByWarehouse ( ): returns all the available items

according to a given warehouse.

• Class shipment: returns a shipment object.

• Class shipment_manager: this class has the following methods:

� InsertShipment ( ): creates a new shipment order.

� GetAllShipments ( ): returns arraylist of shipment object.

� IsExist ( ): checks if a delivering invoice is valid or not.

� GetShipmentDetails ( ): returns the details of a specific shipment

order.

� GetShipment ( ): returns the information about existing shipment

order according to a given shipment no.

� UpdateShipment ( ): updates the information about existing

shipment order.

� DeleteShipment ( ): deletes the information of existing shipment

order.

Page 22: Anwar bayali   report

22

4. Implementation

4.1. Technology

4.1.1. MySQL Workbench

MySQL Workbench is a visual database design tool that integrates

SQL development, administration, database design, creation and

maintenance into a single, seamless environment for the MySQL

database system.

Figure 1 – MySQL Workbench Logo

Features

Prominent features of MySQL Workbench 5.2 are:

• General

� Database Connection & Instance Management

� Wizard driven action items

� Fully scriptable with Python and Lua

� Support for custom plugins

• SQL Editor

� Schema Object browsing

� SQL Syntax Highlighter and Statement Parser

� Multiple-, editable Result Sets

� SQL Snippets Collections

� SSH Connection Tunneling

Page 23: Anwar bayali   report

23

� Unicode Support

• Data Modeling

� ER Diagramming

� Drag'n'Drop visual modeling

� Reverse Engineering from SQL Scripts and Live Database

� Forward Engineering to SQL Scripts and Live Database

� Schema Synchronization

� Printing of Models

� Import from fabFORCE.net DBDesigner4

• Database Administration

1. Start & Stop of Database Instances

2. Instance Configuration

3. Database Account Management

4. Instance Variables Browsing

5. Log File Browsing

6. Data Dump Export/Import

4.1.2. Adobe Dreamweaver

Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a web

development application originally created by Macromedia, and is

now developed by Adobe Systems, which acquired Macromedia in

2005.

Dreamweaver is available for both Mac and Windows operating

systems. Recent versions have incorporated support for web

technologies such as CSS, JavaScript, and various server-side

scripting languages and frameworks including ASP, ColdFusion, and

PHP.

Page 24: Anwar bayali   report

24

Figure 1 – Dreamweaver Logo

Features

Dreamweaver allows users to preview websites in locally installed

web browsers. It provides transfer and synchronization features, the

ability to find and replace lines of text or code by search terms and

regular expressions across the entire site, and a templating feature that

allows single-source update of shared code and layout across entire

sites without server-side includes or scripting. The behaviours panel

also enables use of basic JavaScript without any coding knowledge,

and integration with Adobe's Spry AJAX framework offers easy

access to dynamically-generated content and interfaces.

Dreamweaver can use third-party "Extensions" to extend core

functionality of the application, which any web developer can write

(largely in HTML and JavaScript). Dreamweaver is supported by a

large community of extension developers who make extensions

available (both commercial and free) for most web development tasks

from simple rollover effects to full-featured shopping carts.

Dreamweaver, like other HTML editors, edits files locally then

uploads them to the remote web server using FTP, SFTP, or

WebDAV.

Page 25: Anwar bayali   report

25

4.1.3. JavaServer Pages (JSP)

JavaServer Pages (JSP) technology provides a simplified, fast way to

create web pages that display dynamically-generated content. The JSP

specification, developed through an industry-wide initiative led by

Sun Microsystems, defines the interaction between the server and the

JSP page, and describes the format and syntax of the page.

Figure 1 – Microsystems Sun Logo

JSP pages use XML tags and scriptlets written in the Java

programming language to encapsulate the logic that generates the

content for the page. It passes any formatting (HTML or XML) tags

directly back to the response page. In this way, JSP pages separate the

page logic from its design and display.

JSP technology is part of the Java technology family. JSP pages are

compiled into servlets and may call JavaBeans components (beans) or

Enterprise JavaBeans components (enterprise beans) to perform

processing on the server. As such, JSP technology is a key component

in a highly scalable architecture for web-based applications.

Figure 2 – JSP Mechanism

Page 26: Anwar bayali   report

26

JSP pages are not restricted to any specific platform or web server. The JSP

specification represents a broad spectrum of industry input.

4.2. SQL Scripts

• Database Schema:

CREATE DATABASE `warehouse_management_system`

Notification:

To be able to use WareHouse Manager System the Username & Password of

the Database must be the following:

� Database Username: root

� Database Password: root

• Database Tables:

Users Table :

Notification:

WareHouse Manager has a default Admin when you run runme.sql script with

the following Username & Password:

� Username: admin

� Password: 123

CREATE TABLE `users` (

`user_id` int(11) NOT NULL AUTO_INCREMENT,

`user_firstname` varchar(45) DEFAULT NULL,

`user_lastname` varchar(45) DEFAULT NULL,

`user_username` varchar(45) DEFAULT NULL,

`user_password` varchar(200) DEFAULT NULL,

`user_email` varchar(60) DEFAULT NULL,

`user_type` int(1) DEFAULT NULL,

PRIMARY KEY (`user_id`)

)

Page 27: Anwar bayali   report

27

Warehouses Table :

CREATE TABLE `warehouses` (

`warehouse_id` int(11) NOT NULL AUTO_INCREMENT,

`warehouse_name` varchar(100) DEFAULT NULL,

`warehouse_location` text,

`warehouse_owner` varchar(100) DEFAULT NULL,

`warehouse_description` text,

PRIMARY KEY (`warehouse_id`)

)

Items Table :

CREATE TABLE `items` (

`item_id` int(11) NOT NULL AUTO_INCREMENT,

`item_name` varchar(100) DEFAULT NULL,

`item_unit` int(11) DEFAULT NULL,

`item_unit_price` int(11) DEFAULT NULL,

`item_category_id` int(11) DEFAULT NULL,

`item_brand` varchar(100) DEFAULT NULL,

`item_description` text,

`item_barcode` int(11) unsigned NOT NULL,

PRIMARY KEY (`item_id`),

KEY `Item_Category_ID_FK` (`item_category_id`),

KEY `Item_Unit_ID_FK` (`item_unit`),

CONSTRAINT `Item_Category_ID_FK` FOREIGN KEY

(`Item_Category_ID`) REFERENCES `items_category`

(`Item_Category_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `Item_Unit_ID_FK` FOREIGN KEY (`item_unit`)

REFERENCES `units` (`unit_id`) ON DELETE NO ACTION ON UPDATE NO

ACTION

)

Items Category Table :

CREATE TABLE `items_category` (

`item_category_id` int(11) NOT NULL AUTO_INCREMENT,

`item_category_name` varchar(100) DEFAULT NULL,

PRIMARY KEY (`item_category_id`)

)

Units Table :

CREATE TABLE `units` (

`unit_id` int(11) NOT NULL AUTO_INCREMENT,

`unit_name` varchar(100) DEFAULT NULL,

PRIMARY KEY (`unit_id`)

)

Page 28: Anwar bayali   report

28

Suppliers Table :

CREATE TABLE `suppliers` (

`supplier_id` int(11) NOT NULL AUTO_INCREMENT,

`supplier_name` varchar(100) DEFAULT NULL,

`supplier_contact_name` varchar(100) DEFAULT NULL,

`supplier_address` text,

`supplier_phone` decimal(15,0) DEFAULT NULL,

`supplier_fax` decimal(15,0) DEFAULT NULL,

`supplier_email` varchar(60) DEFAULT NULL,

PRIMARY KEY (`supplier_id`)

)

Customers Table :

CREATE TABLE `customers` (

`customer_id` int(11) NOT NULL AUTO_INCREMENT,

`customer_name` varchar(100) DEFAULT NULL,

`customer_contact_name` varchar(100) DEFAULT NULL,

`customer_address` text,

`customer_phone` decimal(15,0) DEFAULT NULL,

`customer_fax` decimal(15,0) DEFAULT NULL,

`customer_email` varchar(60) DEFAULT NULL,

PRIMARY KEY (`customer_id`)

)

Receivables Table :

CREATE TABLE `receivables` (

`re_invoice` int(11) NOT NULL AUTO_INCREMENT,

`re_date` varchar(75) DEFAULT NULL,

`re_supplier` int(11) DEFAULT NULL,

`re_payment` varchar(75) DEFAULT NULL,

`re_kind_of_trans` varchar(75) DEFAULT NULL,

`re_remarke` text,

PRIMARY KEY (`re_invoice`),

KEY `Re_Supplier_FK` (`re_supplier`),

CONSTRAINT `Re_Supplier_FK` FOREIGN KEY (`re_supplier`)

REFERENCES `suppliers` (`supplier_id`) ON DELETE NO ACTION ON

UPDATE NO ACTION

)

Deliverables Table :

CREATE TABLE `deliverables` (

`de_invoice` int(11) NOT NULL AUTO_INCREMENT,

`de_date` varchar(75) DEFAULT NULL,

`de_customer` int(11) DEFAULT NULL,

`de_payment` varchar(75) DEFAULT NULL,

`de_kind_of_trans` varchar(75) DEFAULT NULL,

Page 29: Anwar bayali   report

29

`de_remarke` text,

PRIMARY KEY (`de_invoice`),

KEY `De_Customer_FK` (`de_customer`),

CONSTRAINT `De_Customer_FK` FOREIGN KEY (`de_customer`)

REFERENCES `customers` (`customer_id`) ON DELETE NO ACTION ON

UPDATE NO ACTION

)

Transactions Table :

CREATE TABLE `transactions` (

`trans_item_barcode` int(11) NOT NULL,

`trans_item_serial` int(11) NOT NULL AUTO_INCREMENT,

`trans_item_exist` int(11) DEFAULT NULL,

`trans_warehouse_id` int(11) DEFAULT NULL,

`trans_item_id` int(11) DEFAULT NULL,

`trans_re_invoice` int(11) DEFAULT NULL,

`trans_item_info` text,

`trans_re_item_price` int(11) DEFAULT NULL,

`trans_re_item_discount` int(11) DEFAULT NULL,

`trans_de_invoice` int(11) DEFAULT NULL,

`trans_de_item_price` int(11) DEFAULT NULL,

`trans_de_item_discount` int(11) DEFAULT NULL,

PRIMARY KEY (`trans_item_serial`,`trans_item_barcode`),

KEY `Trans_Item_ID_FK` (`trans_item_id`),

KEY `Trans_Re_Invoice_FK` (`trans_re_invoice`),

KEY `Trans_Warehouse_ID_FK` (`trans_warehouse_id`),

KEY `Trans_De_Invoice_FK` (`trans_de_invoice`),

CONSTRAINT `Trans_De_Invoice_FK` FOREIGN KEY

(`trans_de_invoice`) REFERENCES `deliverables` (`de_invoice`) ON

DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `Trans_Item_ID_FK` FOREIGN KEY (`trans_item_id`)

REFERENCES `items` (`item_id`) ON DELETE NO ACTION ON UPDATE NO

ACTION,

CONSTRAINT `Trans_Re_Invoice_FK` FOREIGN KEY

(`trans_re_invoice`) REFERENCES `receivables` (`re_invoice`) ON

DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `Trans_Warehouse_ID_FK` FOREIGN KEY

(`trans_warehouse_id`) REFERENCES `warehouses` (`warehouse_id`)

ON DELETE NO ACTION ON UPDATE NO ACTION

)

Shipments Table :

CREATE TABLE `shipments` (

`shi_id` int(11) NOT NULL AUTO_INCREMENT,

`shi_de_invoice` int(11) DEFAULT NULL,

PRIMARY KEY (`shi_id`),

KEY `Ship_De_Invoice_FK` (`shi_de_invoice`),

CONSTRAINT `Ship_De_Invoice_FK` FOREIGN KEY (`shi_de_invoice`)

REFERENCES `deliverables` (`de_invoice`) ON DELETE NO ACTION ON

UPDATE NO ACTION

Page 30: Anwar bayali   report

30

)

4.3. Deploying WareHouse Manager Application

To deploy WareHouse Manager Application you have first to install

GlassFish Enterprise Server 2.1 on your system and do the following

steps:

1. Run SQL Script "runme.sql"

2. Copy the war file "WareHouseManager.war" to "server

path\domains\domain name\autodeploy" folder.

3. Start your web server.

4. Open "http://localhost:8081/WareHouseManager/" in your browser

(port number according to the server's configuration).

Figure 1 – URL of WareHouse Manager

Page 31: Anwar bayali   report

31

4.4. WareHouse Manager – System’s GUI

4.4.1. Login

� Pre-Condition:

o System on.

o User must have an account (Administrator or User) to be able to access the

system.

� Post-Condition:

o User is logged in and redirected to the Main Page.

� Exceptions:

o If a user enters a not valid Username or Password he/she will get an error

message.

Page 32: Anwar bayali   report

32

4.4.2. Crud Users

� Create Admin/User:

� Pre-Condition:

o System on.

o User is logged in as Administrator.

� Post-Condition:

o A new Administrator or User will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a not valid Email Address he/she will get an error message.

Page 33: Anwar bayali   report

33

� Delete Admin/User:

� Pre-Condition:

o System on.

o User is logged in as Administrator.

o The system must have at least one Administrator or one User.

� Post-Condition:

o The selected Administrator or User will be deleted.

� Update Admin/User:

� Pre-Condition:

o System on.

o User is logged in as Administrator.

o The system must have at least one Administrator or one User.

Page 34: Anwar bayali   report

34

� Post-Condition:

o The selected Administrator or User will be updated.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a not valid Email Address he/she will get an error message.

� Search Admin/User:

� Pre-Condition:

System on.

User is logged in as Administrator.

The system must have at least one Administrator or one User.

� Post-Condition:

The required Administrator or User will be retrieved from the database.

� Exceptions:

o If a user does not enter the ID filed he/she will get an error message.

Page 35: Anwar bayali   report

35

o If a user enters a non numeric value in the ID field he/she will get an error

message.

o If a user enters a not valid ID he/she will get an error message.

4.4.3. Crud Warehouses

� Create Warehouse:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

� Post-Condition:

o A new Warehouse will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

Page 36: Anwar bayali   report

36

� Update Warehouse:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Warehouse.

� Post-Condition:

o The selected Warehouse will be updated.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

Page 37: Anwar bayali   report

37

� Delete Warehouse:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Warehouse.

� Post-Condition:

o The selected Warehouse will be deleted.

� Exceptions:

o If the selected Warehouse has Foreign Key Dependency in another table

the user will get an error message.

Page 38: Anwar bayali   report

38

� Search for a Warehouse by ID:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Warehouse.

� Post-Condition:

o The required Warehouse will be retrieved from the database.

� Exceptions:

o If a user does not enter the ID filed he/she will get an error message.

o If a user enters a non numeric value in the ID field he/she will get an

error message.

o If a user enters a not valid ID he/she will get an error message.

Page 39: Anwar bayali   report

39

� Search for a Warehouse by Name:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Warehouse.

� Post-Condition:

o The required Warehouse will be retrieved from the database.

� Exceptions:

o If a user does not enter the Name filed he/she will get an error message.

o If a user enters a not valid Warehouse he/she will get an error message.

Page 40: Anwar bayali   report

40

4.4.4. Crud Items Category

� Create Item Category:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

� Post-Condition:

o A new Item Category will be created.

� Exceptions:

o If a user leaves the Name field empty he/she will get an error message.

Page 41: Anwar bayali   report

41

� Update Item Category:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item Category.

� Post-Condition:

o The selected Item Category will be updated.

� Exceptions:

o If a user leaves the Name field empty he/she will get an error message.

Page 42: Anwar bayali   report

42

� Delete Item Category:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item Category.

� Post-Condition:

o The selected Item Category will be deleted.

� Exceptions:

o If the selected Item Category has Foreign Key Dependency in another

table the user will get an error message.

Page 43: Anwar bayali   report

43

� Search for an Item Category by ID:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item Category.

� Post-Condition:

o The required Item Category will be retrieved from the database.

� Exceptions:

o If a user does not enter the ID filed he/she will get an error message.

o If a user enters a non numeric value in the ID field he/she will get an

error message.

o If a user enters a not valid ID he/she will get an error message.

Page 44: Anwar bayali   report

44

� Search for an Item Category by Name:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item Category.

� Post-Condition:

o The required Item Category will be retrieved from the database.

� Exceptions:

o If a user does not enter the Name filed he/she will get an error message.

o If a user enters a not valid Item Category he/she will get an error

message.

Page 45: Anwar bayali   report

45

4.4.5. Crud Units

� Create Unit:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

� Post-Condition:

o A new Unit will be created.

� Exceptions:

o If a user leaves the Name field empty he/she will get an error message.

Page 46: Anwar bayali   report

46

� Update Unit:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Unit.

� Post-Condition:

o The selected Unit will be updated.

� Exceptions:

o If a user leaves the Name field empty he/she will get an error message.

Page 47: Anwar bayali   report

47

� Delete Unit:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Unit.

� Post-Condition:

o The selected Unit will be deleted.

� Exceptions:

o If the selected Unit has Foreign Key Dependency in another table the

user will get an error message.

Page 48: Anwar bayali   report

48

� Search for a Unit by ID:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Unit.

� Post-Condition:

o The required Unit will be retrieved from the database.

� Exceptions:

o If a user does not enter the ID filed he/she will get an error message.

o If a user enters a non numeric value in the ID field he/she will get an

error message.

o If a user enters a not valid ID he/she will get an error message.

Page 49: Anwar bayali   report

49

� Search for a Unit by Name:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Unit.

� Post-Condition:

o The required Unit will be retrieved from the database.

� Exceptions:

o If a user does not enter the Name filed he/she will get an error message.

o If a user enters a not valid Unit he/she will get an error message.

Page 50: Anwar bayali   report

50

4.4.6. Crud Items

� Create Item:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item Category.

o The system must have at least one Unit.

� Post-Condition:

o A new Item will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Barcode & Price fields he/she

will get an error message.

Page 51: Anwar bayali   report

51

� Update Item:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item.

o The system must have at least one Item Category.

o The system must have at least one Unit.

� Post-Condition:

o The selected Item will be updated.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Barcode & Price fields he/she

will get an error message.

Page 52: Anwar bayali   report

52

� Delete Item:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item.

� Post-Condition:

o The selected Item will be deleted.

� Exceptions:

o If the selected Item has Foreign Key Dependency in another table the

user will get an error message.

Page 53: Anwar bayali   report

53

� Search for an Item by ID:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item.

� Post-Condition:

o The required Item will be retrieved from the database.

� Exceptions:

o If a user does not enter the ID filed he/she will get an error message.

o If a user enters a non numeric value in the ID field he/she will get an

error message.

o If a user enters a not valid ID he/she will get an error message.

Page 54: Anwar bayali   report

54

� Search for an Item by Name:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Item.

� Post-Condition:

o The required Item will be retrieved from the database.

� Exceptions:

o If a user does not enter the Name filed he/she will get an error message.

o If a user enters a not valid Item he/she will get an error message.

Page 55: Anwar bayali   report

55

4.4.7. Crud Suppliers

� Create Supplier:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

� Post-Condition:

o A new Supplier will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Phone or Fax fields he/she

will get an error message.

o If a user enters a not valid Email Address he/she will get an error

message.

Page 56: Anwar bayali   report

56

� Update Supplier:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Supplier.

� Post-Condition:

o The selected Supplier will be updated.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Phone or Fax fields he/she

will get an error message.

o If a user enters a not valid Email Address he/she will get an error

message.

Page 57: Anwar bayali   report

57

� Delete Supplier:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Supplier.

� Post-Condition:

o The selected Supplier will be deleted.

� Exceptions:

o If the selected Supplier has Foreign Key Dependency in another table

the user will get an error message.

Page 58: Anwar bayali   report

58

� Search for a Supplier by ID:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Supplier.

� Post-Condition:

o The required Supplier will be retrieved from the database.

� Exceptions:

o If a user does not enter the ID filed he/she will get an error message.

o If a user enters a non numeric value in the ID field he/she will get an

error message.

o If a user enters a not valid ID he/she will get an error message.

Page 59: Anwar bayali   report

59

� Search for a Supplier by Name:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Supplier.

� Post-Condition:

o The required Supplier will be retrieved from the database.

� Exceptions:

o If a user does not enter the Name filed he/she will get an error message.

o If a user enters a not valid Supplier he/she will get an error message.

Page 60: Anwar bayali   report

60

4.4.8. Crud Customers

� Create Customer:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

� Post-Condition:

o A new Customer will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Phone or Fax fields he/she

will get an error message.

o If a user enters a not valid Email Address he/she will get an error

message.

Page 61: Anwar bayali   report

61

� Update Customer:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Customer.

� Post-Condition:

o The selected Customer will be updated.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Phone or Fax fields he/she

will get an error message.

o If a user enters a not valid Email Address he/she will get an error

message.

Page 62: Anwar bayali   report

62

� Delete Customer:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Customer.

� Post-Condition:

o The selected Customer will be deleted.

� Exceptions:

o If the selected Customer has Foreign Key Dependency in another table

the user will get an error message.

Page 63: Anwar bayali   report

63

� Search for a Customer by ID:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Customer.

� Post-Condition:

o The required Customer will be retrieved from the database.

� Exceptions:

o If a user does not enter the ID filed he/she will get an error message.

o If a user enters a non numeric value in the ID field he/she will get an

error message.

o If a user enters a not valid ID he/she will get an error message.

Page 64: Anwar bayali   report

64

� Search for a Customer by Name:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Customer.

� Post-Condition:

o The required Customer will be retrieved from the database.

� Exceptions:

o If a user does not enter the Name filed he/she will get an error message.

o If a user enters a not valid Customer he/she will get an error message.

Page 65: Anwar bayali   report

65

4.4.9. Crud Receivables

� Create a Receivable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Supplier.

� Post-Condition:

o A new Receivable Invoice will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

Page 66: Anwar bayali   report

66

� Adding Items on Receivable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Receivable Invoice.

o The system must have at least one Warehouse.

o The system must have at least one Item defined in the database.

� Post-Condition:

o Items will be added on the Receivable Invoice (Buying from Supplier).

o Items will be removed from the Receivable Invoice (Cancel buying from

Supplier).

Page 67: Anwar bayali   report

67

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Price, Quantity or Discount

fields he/she will get an error message.

o If a user tries to remove Items that have been sold to a specific

Customer, then he/she will get an error message.

� Update a Receivable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Receivable Invoice.

o The system must have at least one Supplier.

� Post-Condition:

o The selected Receivable Invoice will be updated.

Page 68: Anwar bayali   report

68

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

� Delete a Receivable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Receivable Invoice.

� Post-Condition:

o The selected Receivable Invoice will be deleted.

� Exceptions:

o If the selected Receivable Invoice has Foreign Key Dependency in

another table the user will get an error message.

Page 69: Anwar bayali   report

69

� Search for a Receivable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Receivable Invoice.

� Post-Condition:

o The required Receivable Invoice will be retrieved from the database.

� Exceptions:

o If a user does not enter the Receivable Invoice No he/she will get an error

message.

o If a user enters a non numeric value in the Receivable Invoice No field

he/she will get an error message.

o If a user enters a not valid Receivable Invoice No he/she will get an error

message.

Page 70: Anwar bayali   report

70

4.4.10. Crud Deliverables

� Create a Deliverable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Customer.

� Post-Condition:

o A new Deliverable Invoice will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

Page 71: Anwar bayali   report

71

� Adding Items on Deliverable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Deliverable Invoice.

o The system must have at least one available Item stored in a Warehouse.

� Post-Condition:

o Items will be added on the Deliverable Invoice (Selling to Customer).

o Items will be removed from the Deliverable Invoice (Cancel selling to

Customer).

� Exceptions:

Page 72: Anwar bayali   report

72

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Price, Quantity or Discount

fields he/she will get an error message.

o If a user tries to add number of Items that are not available in a

Warehouse he/she will get an error message.

� Update a Deliverable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Deliverable Invoice.

o The system must have at least one Customer.

� Post-Condition:

o The selected Deliverable Invoice will be updated.

� Exceptions:

Page 73: Anwar bayali   report

73

o If a user leaves any blank field he/she will get an error message.

� Delete a Deliverable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Deliverable Invoice.

� Post-Condition:

o The selected Deliverable Invoice will be deleted.

� Exceptions:

o If the selected Deliverable Invoice has Foreign Key Dependency in

another table the user will get an error message.

Page 74: Anwar bayali   report

74

� Search for a Deliverable Invoice:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Deceivable Invoice.

� Post-Condition:

o The required Deliverable Invoice will be retrieved from the database.

� Exceptions:

o If a user does not enter the Deliverable Invoice No he/she will get an

error message.

o If a user enters a non numeric value in the Deliverable Invoice No field

he/she will get an error message.

o If a user enters a not valid Deliverable Invoice No he/she will get an error

message.

Page 75: Anwar bayali   report

75

4.4.11. Crud Movables

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one available Item stored in a Warehouse

beside to another Warehouse.

� Post-Condition:

o Items will be moved from one Warehouse to another one.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Quantity fields he/she will get

an error message.

o If a user tries to move number of Items that are not available in a

Warehouse he/she will get an error message.

Page 76: Anwar bayali   report

76

4.4.12. Crud Shipments

� Create Shipment Order:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Deliverable Invoice.

� Post-Condition:

o A new Shipment Order will be created.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Deliverable Invoice No fields

he/she will get an error message.

o If a user enters a not valid Deliverable Invoice No he/she will get an error

message.

Page 77: Anwar bayali   report

77

� Update Shipment Order:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Shipment Order.

o The system must have at least one Deliverable Invoice.

� Post-Condition:

o The selected Shipment Order will be updated.

� Exceptions:

o If a user leaves any blank field he/she will get an error message.

o If a user enters a non numeric value in the Deliverable Invoice No fields

he/she will get an error message.

o If a user enters a not valid Deliverable Invoice No he/she will get an error

message.

Page 78: Anwar bayali   report

78

� Delete Shipment Order:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Shipment Order.

� Post-Condition:

o The selected Shipment Order will be deleted.

Page 79: Anwar bayali   report

79

� Search for a Shipment Order:

� Pre-Condition:

o System on.

o User is logged in as Administrator or User.

o The system must have at least one Shipment Order.

� Post-Condition:

o The required Shipment Order will be retrieved from the database.

� Exceptions:

o If a user does not enter the Shipment No he/she will get an error message.

o If a user enters a non numeric value in the Shipment No field he/she will

get an error message.

o If a user enters a not valid Shipment No he/she will get an error message.

Page 80: Anwar bayali   report

80

� Shipment Order - Details:

This Page gives details about a specific Shipment Order.

5. Evaluation of WareHouse Manager

This section covers the strength points of WareHouse Manager.

• WareHouse Manager is a simple WMS that has strong capabilities.

• Warehouse Manager is most user friendly WMS.

• Controls various kind of transactions:

� Managing Warehouses

� Managing Items

� Managing Items Category

� Managing Units

� Managing Suppliers

� Managing Customers

� Managing Receiving Items

Page 81: Anwar bayali   report

81

� Managing Delivering Items

� Managing Shipping Items

� Managing Moving Items

� Managing Administrators & Users of the system

• Warehouse Manager is very secure & reliable system.

6. Conclusion

WareHouse Manager can be used in small warehousing businesses, it has

eleven different transactions like receiving, selling, moving and shipping

items, and it uses different technologies MySQL Workbench, Adobe

Dreamweaver and Java Serever Pages (JSP).

WareHouse Manager can be extended in the future to support Radio -

Frequency Identification (RFID) technology that can be used for purpose

of identification and tracking materials within a warehouse.

Page 82: Anwar bayali   report

82

7. References

Warehouse management system

http://en.wikipedia.org/wiki/Warehouse_management_system

What is a Warehouse Management System?

http://www.shmula.com/5487/what-is-a-warehouse-management-system

WarehouseNet

http://www.ibuyer.hk/ProductsWhnt.html

Enterprise 21 ERP

http://www.tgiltd.com/erp-software/warehouse-management-systems-

software.html

EasyWMS

http://www.interlakemecalux.com/

KIMARTA WMS

http://www.thewarehousemanagementsystems.com/

MySQL Workbench

http://en.wikipedia.org/wiki/MySQL_Workbench

Adobe Dreamweaver

http://en.wikipedia.org/wiki/Adobe_Dreamweaver

JavaServer Pages – Technology

http://java.sun.com/products/jsp/faq.html#2

How the JSP page works

http://www.java-tips.org/java-ee-tips/javaserver-pages/how-the-jsp-page-

works.html