Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM                                                 Sebastian Albert         ...
Lead-Time demand = Demand / Day x Lead-Time                             The project was aimed at building a mobile        ...
4. Design of the Application                                   4.2 Technical Design                                       ...
5. Implementation                                              the Java MIDP preferences if Palm emulator is used         ...
Product Added                                                 Display on selectionOn selecting the product from the list, ...
Graph showing the re-order point:                              8.1 Applied Technologies Learned                           ...
pick the best deal. A separate module could be                                                <xs:elementdeveloped for the...
<xs:elementname="prod_cost" type="xs:string" />                        </xs:sequence>                </xs:complexType>    ...
Upcoming SlideShare
Loading in …5

Warehouse inventory system


Published on

Published in: Business
  • Be the first to comment

  • Be the first to like this

Warehouse inventory system

  1. 1. PDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology sebastianpremraj@yahoo.comAbstract In times of economic slow-down, cutting costs is inventory personnel who updates the system and thethe major strategy used by the companies. There is a planner who determines an inventory policy andneed to track the performance of each product in displays the results. The Economic Order Quantity canterms of demand to determine how much to order determine the minimum quantity that needs to beand when to order. The parameters that are required ordered every re-order point. “EOQ is essentially anto answer these questions are economic order accounting formula that determines the point at whichquantity (EOQ) and the re-order point. The annual the combination of order costs and inventory carryingcost of each product is obtained to determine the best costs are the least.” [2]. Forecasted annual usage,deal for the invoices received for the product. This order cost and carrying cost are used to determine theproject implemented a mobile inventory management Economic Order Quantity. “Order cost is the sum ofsystem in PDA and tracks the performance of each the fixed costs that are incurred each time an item isproduct using a web application. This will help the ordered” [2]. “Carrying cost is primarily made up ofdecision makers to initiate accurate re-order and the costs associated with the inventory investment andmake forecast and demand of the product at any storage cost.” [2]. There is a need to comparepoint of time. different vendor invoices; the annual cost of each product needs to be calculated to determine the best1. Introduction deal. The Annual cost is determined by annual usage, order quantity, order cost, carrying cost and safety Stock items to be delivered exactly when needed stock. [2]. Safety stock is the minimum inventoryare impractical. Therefore it is necessary to establish required to be kept in the warehouse. The simplifiedinventory policies concerning when to replenish and method to find the safety stock is half the lead- much to replenish. The costs that are relevant are Lead-time is the time taken from when the productprocurement cost, cost of the item, carrying cost and was ordered to the time it required to reach theorder cost. There is no need to keep buffer stock when warehouse. The Reorder point is the sum of lead-timedemand and lead times are known. This helps in demand and the safety stock. Lead-time demand isminimizing the cost of the inventory [1]. “forecasted demand during the lead-time period” The major objective of the project is to implement [3].These parameters were used to answer how mucha mobile inventory system in a PDA, update the and when to order the product. The next sectionproduct and invoice details obtained from the PDA discuss about the sample calculation used to determineinto server database, set and calculate parameters these parameters discussed above.required to determine economic order quantity of theproduct, re-order point and the annual cost of the 2.1 Parameters and Formulaeproduct. The parameter that needs to be calculated is The following sections discuss about the problem economic order quantity, annual inventory cost and re-at hand, requirements of the project, design of the order point of the productsystem, the methodology used to implement thesystem, validation and conclusion. a. Economic Order Quantity (EOQ): Economic Order Quantity is minimum cost order2. Problem Statement quantity. The inventory management requires to answers EOQ = Sqrt( (2xDemandx Order Cost ) / Carry Cost)two basic questions: how much and when to order tobe cost effective. The agents of the system identified Lead-Time is the time required for the orderedare the sourcing manager who places the order, the products to reach the inventory.vendor who provides the invoice for the product, the 1
  2. 2. Lead-Time demand = Demand / Day x Lead-Time The project was aimed at building a mobile inventory management system. The customers of theSafety Stock is the minimum stock required to be in software could be a company that produces a productthe inventory. and requires product parts to be bought from a vendor. The manager is required to place an order to theSafety Stock = ½(Lead Time Demand) vendor and provide product details like the name of the product, product id, description of the product, theb. Total Annual Cost: name of the manufacturer and quantity of the product.Total Annual Cost incurred for the product: The vendor provided an invoice, which would then be approved by the manager. The invoice would containDemand / Order Quantity + ½ (EOQ) + Safety Stock the cost of the product, the transportation cost and thex Order Cost x Annual Carrying Cost lead-time that will be taken for the product to reach the inventory. The inventory personal needs to updatec. Re-order Point the quantity present in the inventory at all times. The following section deals with use case specification forRe-order Point is the point at which the product has to each of these agents. These use cases specified in thebe ordered in-order for it to reach the inventory before figure 1 define the acceptance criteria for the system.the minimum number product remaining is equal to 3.1 Use Case 1the number of safety stock. This use case was proposed for the sourcing manager. It requires the system to provide interfaceRe-order Point = Lead-time Demand + Safety Stock for adding product details and placing the order to the vendor using a PDA. The functions required are3. Project Requirement ability to update and delete the product, store in a local database and be able to upload the data to the server. 3.2 Use Case 2 This use case was proposed for the inventory manager. It requires providing the functionality of order quantity and order date update for each product. The system requires storing the changes to the local database in the PDA and upload to the details to the server. 3.3 Use Case 3 This use case was proposed for the vendor. It requires providing functionalities to download the ordered products and be able to upload invoice details to the server. 3.4 Use Case 4 This use case was proposed for the inventory policy planner. It requires functionalities to set parameters namely, annual demand, order cost and carrying cost. Based on these set parameters economic order quantity, re-order point and annual cost needs to be determined. The results need to project product details stored from the updates from the sourcing manager, inventory manager and vendor in the form of a table and a graph showing the updates of the order quantity and order dates from the inventory manager indicating the safety stock and re-order point.Figure 1: Use case Specification 2
  3. 3. 4. Design of the Application 4.2 Technical Design The technologies used for the implementation4.1 System Design of the project were J2ME for the PDA clients, Java The system design comprises of two PDA Server programming for the Web application. Apacheconnecting to the Server and having a back-end WebServer Tomcat is used for hosting the webdatabase as shown in the figure 2. The system was application. The data was transferred in XML format.designed to meet the use case specification. It was Record management System is used to store data inseparated into modules. Use case 1 and Use case 2 the PDA. The data is transferred using an HTTPwere merged i.e. sourcing manager and the inventory connection established between the PDA and a Servletmanager were merged into one module. The module in the Tomcat. PostgreSQL is the back-end RDMSfor manager would add, delete, update and upload database used. It requires a UNIX environment andproduct details to the server. The database comprises was installed in Cygwin, a windows based unixof an inventory table to insert and update the product environment. The persistent data about the product isdetails and another table would be created for every stored in PostgreSQL. kXML is used to render thenew product to update order quantity and order date to product in XML format in the PDA for manager andrecord a history of product updates. This would be the kXML parser would be used to parse and obtainhelpful in projecting graphs and forecasting demand the data from the server in the PDA for the vendor.of the product over a period of time. Vendor module Document Object Model parser is used by the Servletwould download the product detail from the server to insert the new product detail and update the olderand update the invoice details into the server using the product details. Sirius Jpowered library package isPDA. The planner would use the third module; the used to display the graph.web application would be used to log into the system Technologies used are summarized below.and be able to see the list of product being ordered. MIDP Mobile InformationThe module will help the planner update the Device Profile definesparameters required by the system to determine the API’s to writeeconomic order quantity, annual cost and the re-order application for smallpoint. The system would calculate the annual cost, re- devicesorder point and display the results in a table and POSE Emulator of PDA toproject re-order point in a graph. test and debug before loading into the actual device RMS Record Management Store to store data locally in the MIDP client kXML Pull parser for MIDP clients to write and parse XML DOM Model parser used in servlet to parse XML for product detail PostgreSQL Back-end database management system Servlets Server side processing of clients requests JPowered Provides libraries to project Graph Figure 2: System Diagram 3
  4. 4. 5. Implementation the Java MIDP preferences if Palm emulator is used for development. Implementation was divided into four phase andwere implement in a two week mile stone basis. The 5.3 Vendor interface/ functionality developmentfollowing sections discuss implementations, tests and This phase comprises of building the PDAissues faced in each of these phases. interface for the vendor with upload and download functionality for providing the invoice detail. A PDA5.1 Manager PDA interface / functionality application was created to request the product listdevelopment ordered by the sourcing manager. The XML file was Phase one comprises developing the PDA read by the servlet and then sent to the client PDA as ainterface for the manager. A PDA application for the string. The kXML parser in the vendor PDA thenmanager of inventory was created with the ability to parsed the string and product details extracted wereadd, delete and update the product detail. The Canvas stored into the record management store. Each timeclass was used instead of the Form class to enhance the product list is downloaded, the old record storesthe graphical appearance and Textboxes were drawn containing all the records are deleted and a new recordto obtain the values for the various fields like product store was created and the product lists were, product ID, manufacturer name, number of The data was then displayed. The vendor wasorder quantity, and date of order placement. The data provided with functionality to update the data for thewas written into records in the form of byte arrays. product and upload updated details when connected toRecords are stored as memory chunks in the PDA and the wireless network.the record enumeration is not in sequence. Use of therebuild function to update the enumeration to reflect 5.4 Web Application for the Inventory Policythe current record set and reset function to return the Plannerenumeration index to the same state as right after the Phase four comprises the developing of a webenumeration was first created helps in implementing application required for the inventory policy manipulation functions. The products were listed from the result set obtained from the servlet from the database and on selecting5.2 Data Communication and Database update of each product the planner would be provided with aProduct details web page to enter details required to calculate the This phase comprises of establishing a HTTP annual cost and re-order point of the selected product.connection and transferring the product details in The table was projected for the product with theXML format. A HTTP connection was established current product details, and a graph would bebetween a servlet and tested with passing a string. displayed with the order quantity in the y axis andUsing kXML, the record was enumerated and all the order date on the x axis and showing safety stock andproduct details were written in XML format into a re-order point.string. This string was then sent to the server. Theservlet was used to read the string and create an XML 5.5 Implementation with wireless connectionfile in the server. The XML file was then parsed using Handspring visor was used to run the software.a DOM parser and the data was stored into an array. Xircom WLAN was used to connect the PDA to ASUThe major issue dealt here is to separate the products wireless network. The network setting was set tothat were newly created and those that were updated. dynamically obtain an IP address using DHCP. TheThis can be done by checking the database for the PDA was used to transfer product details wireless tocurrent number of products stored in the database with the server.that of the product list obtained from the XML file.The product list from the database can be obtained 6. Sequence of Eventswith a simple SELECT query into a result set. Thosethat were in the database were updated using The inventory manager places order through theUPDATE query and those that were added new where PDA and the details are stored into the local database.inserted using INSERT query. kXML parser is large The screen shot shows adding a product by selectingin memory usage and therefore classes that were not with the stylus into the textboxes and updating theneeded were removed. kXML package needs to be in product detail.the zipped format if java wireless toolkit was used indevelopment. HTTP connection needs to be enabled in 4
  5. 5. Product Added Display on selectionOn selecting the product from the list, product name is Product cost, transport cost and lead-time can beupdated to kycero3 updated and uploaded. After setting parameters like demand, order cost and carrying cost, the table and graphs are projected for each product. Table showing Product details:Deleting the product shows a sample productDownload the product in Vendor PDA 5
  6. 6. Graph showing the re-order point: 8.1 Applied Technologies Learned ‘The Database Management System’ and ‘Software for PDA’ courses taken helped in learning the technologies required to implement the software. The project helped in enhancing the knowledge in J2ME programming, Java Server Programming, Database connectivity, SQL queries, XML parsing using DOM, XML manipulation using kXML. 8.2 Issues Dealt With Records are stored as memory chunks in the PDA and the record enumeration is not in sequence. Use of the rebuild function to update the enumeration to reflect the current record set and reset function to return the enumeration index to the same state as right after the enumeration was first created helps in implementing data manipulation functions. The complicated design of the system consisting of many parameters and agents were simplified. The role of a sourcing manager and the inventory personnel was merged. The Vendor was assumed to provide the invoice for any product ordered.7. Results and Validation 8.3 Advantages of the Software The use cases were considered to be the The inventory management software applicationacceptance criteria for the project to be successful. in mobile devices will be highly useful. The inventoryThe use cases were validated and the results are personals require moving around the inventory to getdiscussed in this section. updates about the quantity of the product. TheUse case 1 & 2 results: The software application application can run offline and therefore does notloaded into the PDA has the ability to add, delete, require wireless access in the inventory and can laterupdate and upload the product details from the local transfer the data to the server at a convenient time.database into the server database. The advantage of using XML was that the dataUse case 3 results: Software application for the was self-describing and the client and the server arevendor has capabilities to download product details, loosely coupled. kXML is a pull parser and theupdate invoice details and upload data to the server. application can process the data as it is beingUse case 4 results: A web application has a login page downloaded from the server.[4]and list the list of products updated. Parameters can be Planners of the inventory policy can haveset for each product and results were calculated and updates straight from the inventory and therefore canprojected for every product detail in a table and graph. track the productivity of the product instantly. TheA sample table can be seen in the Appendix. The planner could project the annual cost that would begraph projects a history of order quantity and date incurred by the product in the long run by getting theupdates in y and x axis correspondingly. Sample graph invoice from the vendor providing the product. Thisresult is projected below. helps in making better choices in terms of placing orders with the vendor providing the best deal and8. Conclusions determining the products that are more productive. The project was successful in implementing 8.4 Future Workthe use cases identified in the inventory management The functionalities in the project can bescenario and the application was able to track the improved by having many vendors able to access theperformance of each product. The major advantage of product detail and be able to give invoice details. Thethe project is that the client can run applications system needs to have functions to identify each vendoroffline and can periodically update the server. and be able to compare the annual cost projected and 6
  7. 7. pick the best deal. A separate module could be <xs:elementdeveloped for the sourcing manager and the inventory name="manf" type="xs:string" />update. Callback functionalities to sourcing manager <xs:elementto place order on re-order points and vendor to name="order-qty" type="xs:string" />provide invoice on orders placed can be provided. The </xs:sequence>inventory management parameter calculation can be </xs:complexType>converted to accessible Webservices. The project can </xs:element>also be extended to forecast demand as the history of </xs:schema>order updates is being tracked. Sample XML for the schema above:References ?xml version=1.0 encoding=utf-8?> <products xmlns=product:prodDetailSchema>[1] Adam, Everett E., Jr.; Ebert, Ronald J, <productlist>Production and Operation Management Concepts, <prod>Models and Behavior. Paramus, NJ, U.S.A. Prentice <name>spanner</name>Hall PTR [1988]. <id>1234</id>[2] “Optimizing Economic Order Quantity <manf>Lowes</manf>(EOQ)”, Dave Piasecki, Available Http: <description>product to screw</description> <order_qty>76</order_qty>ty.htm <arrival_date>1079481600000</order_date>[3] “Optimizing Safety Stock”, Dave Piasecki, </prod>Available Http: </productlist> </products>[4] “Parsing XML in J2ME”, Available Http: Vendor Invoice XML Schematicles/parsingxml/ <?xml version="1.0" encoding="utf-8" ?>APPENDIX 1 <xs:schema xmlns:xs=""Product Detail Schema xmlns="vendor:InvoiceSchema" elementFormDefault="qualified" targetNamespace="vendor:InvoiceSchema"><?xml version="1.0" encoding="utf-8" ?><xs:schemaxmlns:xs="" <xs:element name="invoice">xmlns="vendor:orderlistSchema" <xs:complexType>elementFormDefault="qualified" <xs:sequence> targetNamespace="vendor:orderlistSchema"> <xs:element name="product" <xs:element name="prodlist"> type="producttype" /> </xs:sequence> <xs:complexType> <xs:sequence> </xs:complexType> <xs:element </xs:element>name="product" type="prodtype" /> </xs:sequence> <xs:element name="product"> <xs:complexType> </xs:complexType> </xs:element> <xs:sequence> <xs:element name="product"> <xs:element <xs:complexType> name="prodname" type="xs:string" /> <xs:sequence> <xs:element <xs:element name="lead_time" type="xs:string" />name="prodname" type="xs:string" /> <xs:element <xs:element name="transport_cost" type="xs:string" />name="id" type="xs:string" /> 7
  8. 8. <xs:elementname="prod_cost" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element></xs:schema>Sample XML based on the above schema:<?xml version=1.0 encoding=utf-8?><!-- Vendor Invoice corresponds to vendor schema --><invoice xmlns="vendor:InvoiceSchema"><prodlist> <product> <prodname>SPANNER</prodname> <lead_time>4</lead_time> <transport_cost>12</transport_cost><product_cost>65</product_cost> </product> </prodlist></invoice>APPENDIX 2SOFTWARE REQUIREMENT SPECIFICATION The System requires two personal digitalassistants, a tomcat Web Server with a PostgreSQLRDBMS as backend database. Palm OS emulator wasused for testing and debugging. PostgreSQL is run inCygwin environment. Programming language wasJava.Ant was the build tool used. MIDP Profile andConfiguration APIs required for the client.Development Environment and Required PackagesProgramming Lg Java: j2sdk1.4.1Build Tool- Ant: jakarta-ant-1.5.1Server- TOMCAT:jakarta-tomcat-4.1.24RDBMS- PostgreSql: postgresql-7.2.2-1IDE- J2ME Wireless ToolKit 2.1Pull parser for client PDA - Kxml2.1.7API used for MIDP client-Profile: midp4palm1.0, midp2.0fcsConfiguration: j2me_cldc1.0.4PDA Emulator- Palm OS Emulator: POSE 3.0a8Platform- Cygwin: version Graphs 8