With good inventory control system. to be able to balance production and sale. . This allows for later expansion while still supporting the targeted small businesses. will not produce beyond company warehouse capacity. J. D chemicals limited. J.D Chemicals Limited are able to maintain a balance of their stock level and. The core concept is to track the sale of items from the cash registers with additional features for interpreting the data and to determine the state/level of stock – paints in warehouse. a ‘paint’ manufacturing company is being used as reference study.ABSTRACT This paper describes the Inventory Management System sufficiently to determine the feasibility and usability of a finished system. It uses a client-server model with a connected database to allow multiple stores and warehouses to be connected.

this kind of system is generally engineered with barcode technology. facial image.An Overview We often wonder how warehouse operators track the list of manufactured products and the shipment process. This process is carried out by Inventory Control System . Inventory control system is highly used by industries which deal with manufacturing chain of products. Capturing of data can be done in various ways. thereby making easy encoding of products for the inventory applications. Automatic identification and data capture: Automatic identification and data capture (AIDC) system refers to the methods of automatically identifying objects. AIDC also refers to the methods of recognizing objects. collecting data about them. In order to record the stock of objects. the best method depends on application. sounds or videos. palm image. magnetic stripes. it may have to come across certain rules and regulation of tax and financial accountancy. OCR. bokodes. On the other hand. RFID. Radio Frequency Identification (RFID). In biometric security systems. Physical inventory counting provides easy tracking of the entire inventory. Optical Character Recognition (OCR). and voice recognition. The file is then stored and at a later time it can be analyzed by a computer.” “Auto-ID. books. smart cards and biometrics (like iris and facial recognition system).an automated system used for managing and locating materials on a large scale. In order to provide exact value of the inventory. particularly through analysis of images.” and "Automatic Data Capture.e. without human involvement). or compared with other files in a database to verify identity or to provide authorization to enter a secured system. smart cards. biometrics. iris print or voice print which involves audio data and the rest all involves video data." AIDC is the process or means of obtaining external data. food items or any quantifiable products. The barcodes in inventory control system has the ability to encode the alphabetic and numeric symbols. These electronic devices are capable to automatically identify the object and collect information from the warehouse operators via computer terminal or mobile devices. Most of this system is available with the features like physical inventory counting and cycle counting. the system uses a barcode scanner or RFID reader. Now-a-days. capture is the acquisition of or the process of acquiring and identifying characteristics such as finger image. AIDC is also commonly referred to as “Automatic Identification. the major benefit of using inventory control system is that it supports wireless technology and can transmit information quickly to the central computer system as soon as the transactions take place. cycle counting is a . and entering that data directly into computer systems (i. This system provides lists of orders of the products that need to be selected as per requirement along with the information for packaging and shipping.1. Technologies typically considered as part of AIDC include Bar codes. a transducer is employed which converts the actual image or a sound into a digital file. getting information about them and entering that data or feeding it directly into computer systems without any human involvement. An inventory control system can track any kind of physical objects including equipment. magnetic stripes. Besides these. To capture data. Automatic identification and data capture technologies include barcodes.0 Inventory Control System .

update. Further features may include the ability to generate reports of sales. the system provides solutions for confirming the store inventory and for correcting stock quantities. The virtual office. However. RFID has found its importance in a wide range of markets including livestock identification and Automated Vehicle Identification (AVI) systems because of its capability to track moving objects. It provides easy and accurate measurement of the inventory and hence helps operators to select those items which can benefit the business. Since there are so many different types of businesses with inventory. However. but again the interpretation is left to the management. The Inventory Management System is a real-time inventory database capable of connecting multiple stores – sales outlet of the company. Though latest ‘automated identification controls’ such as RFID are better compared to Barcode because of space. there are many possible scanners and tags that are available. ensuring that there is always. This can be used to track the inventory of a single store. the equipment must be able to operate in high foot traffic areas and in the presence of heavy machinery in some cases. . In this case. sales etc and know when and to restock. issues that can be negated using other technology. The Internet: The internet has made information sharing and transfer very easy and possible. The internet enables the head office and the remote offices and franchise office to synchronize stock level. barcode technology will be used as the data capture device in this write-up.0 Technological Framework Barcode technology is the leader in inventory control at the present time. there are many flaws in the technology that limit its effectiveness. the system merely records sales and restocking data and provides notification of low stock at any location through email at a specified interval. The technology acts as a base in automated data collection. These basic technologies allow extracting information from paper documents for further processing it in the enterprise information systems such as ERP. Radio frequency identification (RFID) is relatively a new AIDC technology which was first developed in 1980’s. identification and analysis systems worldwide. since theft does occasionally occur. This makes the company to informed decision on the trend of the market. The use of RFID can greatly enhance the effectiveness of inventory control. In all cases.management process. an ability to remotely carry out ones official duties without being physically present. The amount of data that can be stored in a barcode and the need for human intervention are two. In addition. 2. of many. product at any outlet at any time. The operating environment for RFID scanners and tags is really endless. The goal is to reduce the strain of tracking rather than to handle all store maintenance. These automated wireless AIDC systems are effective in manufacturing environments where barcode labels could not survive. CRM and others. Production managers can plan well on how to produce. or to manage the distribution of stock between several branches of a larger franchise such that each gets products according to sales capacity. where small division of stocked products can be calculated on any specified date or time according to the requirement.

Since the software and hardware resources of cash registers are not available due to the variation in software and cost. etc. See Figure 2. JavaPOS will be used as a reference for emulating cash registers. along with the capabilities of searching and sorting the products. A bandwidth of at least 10 Mbps is recommended (small commercial deployment). The Cash Register client will emulate purchases by having a simple graphical interface with fields for a barcode number and quantity and a button to make a purchase. The database to store the inventory data will use a MySQL database. and security settings. A JSP (JavaServer Pages) servlet will be hosted by an Apache Tomcat web server (on top of any choice of operating system. monthly. whether it is a private network for an isolated customer deployment or an Internet connection for a multi-site customer deployment. The third feature of the Stock Manager Client web interface will allow the user to update the inventory during the restocking process. frequency of inventory scans (daily at a particular hour. Stock Manager Client: Current Stock Sort By Stock Manager Client: Settings Security Email Address Frequency Threshold Product Stock Stock Manager Client: Update Restock Synchronize . The first feature of the Stock Manager Client web interface component allows the Stock Manager Client to view the current stock of products.1. such as the threshold for email notifications. and could potentially be used to create the actual implementation of the future release. the actual implementation for specific cash register models will be considered for future releases of the Inventory Management System. although a flavor of Unix is recommend). The bandwidth of the network depends on the frequency of transactions. weekly.). Since a web interface will be used. As these resources become available. The product will use of open-source software primarily due to cost of implementation. a network that supports the HTTP/HTTPS protocol must exist. See Figure 1. we will be developing an emulated Cash Register client to interface with actual cash registers. The second feature of the Stock Manager Client web interface will allow the user to modify application settings. System Requirements The Inventory Management System uses a web-based interface to display inventory data to the stock manager client.

then the programming language for the application will be Microsoft C# with a Microsoft SQL Server database. The three features of the Stock Manager Client web interface.NET Framework Remoting (analogous to skeleton and stub).NET framework includes built-ins for easy database interfacing and . Cash Register Client UPC Quantity Purchase Figure 2. The application will use a client-server model.NET framework is used. The Cash Register clients will maintain local log files in the event of communication downtime between Cash Register clients and the server. security will be upheld by HTTPS in both a private network and a network connected to the Internet. Upon re-establishing communication. The Microsoft . Alternatively. 2 Systems and Software Architecture The programming language for the Inventory Management System application will be in Java since the JSP/Tomcat architecture will be used. The emulated Cash Register Client interface. . the server will issue transactions to the MySQL database with ACID properties. Both types of clients will communicate with the server using Java Remote Method Invocation (RMI) with Secure Socket Layer (SSL). Furthermore. See Figure 3. Thus. if the Microsoft ASP.Figure 1. Upon receiving requests from the clients. the Cash Register clients will re-synchronize with the server by issuing the requests that occurred during downtime. the Java Database Connectivity (JDBC) will use the MySQL Connector/J driver for the server to communicate to the inventory database. which has the ability to also use HTTPS.

.0 System design Development and Design of Relational Database: Development of the J. These needs will be defined using the Entity Relationship Diagram (ERD) which models the relationship among the different entities involved in the process by employing Enterprise Resource Planning (ERP). These are attempts to get the logical framework (called schema and subschema) of the data relationships on which to base the physical design of the database and application programs to support it. 3.Database (MySQL) JDBC Connector/J Web Server (Tomcat) RMI / HTTPS RMI / HTTPS Cash Register Client Cash Register Client RMI / HTTPS RMI / HTTPS Cash Register Client Stock Manager Client Figure 3. The enterprise model will define the basic business process of the company – paint manufacturing and information needs of the end users. the entire sales/cash points community. Client-server architecture model of the Inventory Management System application.D Chemicals limited enterprise database model will start with a topdown data planning process.

Fig. Enterprise models. leading to a loss of data integrity3. namely data anomalies. 1. 3. For example. Physical design. expressed relationships 4. because its structure reflects the basic assumptions for when multiple instances of the same information should be represented by a single instance only. determines the structure Database Normalization Database normalization is a technique for designing relational database tables to minimize duplication of information and. A table that is sufficiently normalized is less vulnerable to problems of this kind. in so doing.4 The database development stages. to safeguard the database against certain types of logical or structural problems. when multiple instances of a given piece of information occur in a table. Conceptual design. storage and documentations 2. the possibility exists that these instances will not be kept consistent when the data within the table is updated. Logical Design of data model of DBMS e. Data Planning. Requirement Specifications etc. .g relational database 5.

update database.5 Logical and Physical view of the database and the software interface. A file is an ordered arrangement of records in which each record is stored in a unique identifiable location. • Insertion anomaly and. sales report. • An update anomaly. manufacture planning etc. the DBMS provides access to J. viewing stock level. Relational database theory uses a different set of mathematical-based terms. which are equivalent. stock update.D Limited databases. Sub schemas. data elements and relationships needed to support cash/sales point. or roughly equivalent. to SQL database terminology. User community.Fig. Database Management System Software Interface. plan manufacture. view sales. etc. am not going to into details on terminologies of Relational database but will just introduce certain key terminologies. Data Model Data Model The schema. Terminology In this design and development. File. The sequence of the record is then the means by which the record will . • A deletion anomaly. needed to update. FUTO Databases Physical data views: organization and location on storage media The database design normalizations address problems such as.

the first names. Keys A unique key is a kind of constraint that ensures that an object. In implementations these are called "views" or "queries". they act as a single relation. in the FUTO database each student will have a unique registration/matriculation number. The unique keys are also called “primary keys”. No two distinct rows in a table can have the same value (or combination of values) in those columns. in turn. For example. project to identify attributes. These relations are sometimes called "derived relations". derived relations can be used as an abstraction layer. A tuple usually represents an object and information about that object. Derived relations are convenient in that though they may grab information from several relations. The relational model specifies that the tuples of a relation have no specific order and that the tuples. Relations or Tables A relation is defined as a set of tuples that have the same attributes.be located. For example. which is organized into rows and columns. or address or phone numbers of people listed in address book. Base and Derived Relations In a relational database. A relation is usually described as a table. queries identify tuples for updating or deleting. impose no order on the attributes. Table 1 S/N BARCODE BRAND 1 AAXC002W EMULSION COLOR WHITE QTY 36 STORE Mr Okoye Stores Field A field is a property or a characteristic that holds some piece of information about an entity. Also. For example. Foreign Keys . it is a category of information within a set of records. Applications access data by specifying queries.5. Relations can be modified using the insert. and in implementations are called "tables". All the data referenced by an attribute are in the same domain and conform to the same constraints. Therefore. In other words. and join to combine relations. occurs in at most one tuple in a given relation. delete. In most computer systems. Also. New tuples can supply explicit values or be derived from a query. the Table 1 below shows a set of related fields. Objects are typically physical objects or concepts3. and update operators. but are computed by applying relational operations to other relations. which use operations such as select to identify tuples. Records A record or tuple is a complete set of related fields. Other relations do not store data. A unique key or primary key comprises a single column or set of columns2. if this were to be a part of a table then we would call it a row of data. which is a record. all data are stored and accessed via relations. Similarly. the sequence of records is either alphabetic or numeric based on field common to all records such as name or number. or critical information about the object. a row of data is also a record. Relations that store data are called "base relations".

Create the logical connection to my database server.A foreign key is a reference to a key in another relation. A foreign key could be described formally as: "For all tuples in the referencing relation projected over the referencing attributes. Simulation . lots of DBMS file management software for implementing the system exist. there must exist a tuple in the referenced relation projected over those same attributes such that the values in each of the referencing attributes match the corresponding values in the referenced attributes. The one used for a particular system is determined by the DBMS designer. Create username and password (optional but needed) and. Examples include. the web interface is optional and only applicable in situation where the company has multiple stores or franchise scattered by geographical distances. In this work. Set the directory. Foreign keys need not have unique values in the referencing relation1. Foreign keys effectively use the values of attributes in the referenced relation to restrict the domain of one or more attributes in the referencing relation. invoke the Active Server Page (ASP) page option and attached the database by defining the DSN data source. Create and configure the Open Database Connectivity driver (ODBC) driver Define Data Source Name (DSN). as one of its attributes. With dream-weaver cs4 as my editor. Depending. Web interface implementation After designing the database with Microsoft access. Also the term “table” will be used in place of “relation”." 4. meaning that the referencing tuple has. the values of a key in the referenced tuple. am going to use Microsoft Access. Oracle DB2 Sybase Adaptive Server Enterprise FileMaker Firebird Ingres Informix Microsoft Access Microsoft SQL Server Microsoft Visual FoxPro MySQL PostgreSQL Progress SQLite Teradata CSQL OpenLink Virtuoso etc.0 IMPLEMENTATION OF THE FUTO RELATIONAL DBMS.

in which data is stored. The simulation would be included with the report as a demonstration of how the technology would be used in a made-up example. Maintenance features of the RDBMS include. Other miscellaneous changes must also be made to ensure accuracy of the data in the database. End users and information specialists can also employ various utilities provided by a DBMS for database maintenance e. etc3. In addition to this. it ensures that several users can concurrently access the data in the database without affecting the speed of the data access. Also a variety of front-end tools should be able to use the database as a back-end. ‘User level security’. Data Abstraction This would imply that the RDBMS hides the actual way. is implemented wherein the various users of the database are assigned usernames and passwords. Restricting Unauthorized Access An RDBMS provides a security mechanism that ensures that data in the database is protected from unauthorized access and malicious use. while providing the user with a conceptual representation of the data.5. This maintenance process is accomplished by transaction processing programs and other end-user application packages within the support of the database management system. A third user could have right s to change the structure of some table itself.g interactive website interface. in addition to the rights that the other two have. When security is implemented properly. It would include a company inventory system using BARCODE technology and show how the system can be linked to inventory software to collect all sorts of data from the products Maintenance of the Database System The databases system. That is. like any other organizations need to be updated continually to reflect new business transactions and other events like new products. model and store/location allocated to. repetition or redundancy is reduced. data is secure and cannot be tampered with. some particular users (client) could be restricted to only view the data (not update). color. For example data stored in Microsoft Access can be displayed and manipulated using forms created in software such as Visual Basic or Front Page 2000. Multiple Ways of Interfering to the System This requires the database to be able to be accessible through different query languages as well as programming languages.4. Control Data Redundancy.A software simulation of a made-up system.. Enforcing Integrity Constraints . Since data in an RDBMS is spread across several tables. only when the user enters the correct username/client ID and password is he able to access the data in the database. while another could have the rights to modify the data2. Redundant data can be extracted and stored in another table. along with a field that is common to both the tables. Data can then be extracted from the two tables by using the common field. Support for Multiple Users A true RDBMS allows effective sharing of data.

as the interface does not interfere with the data collected. There are several large competitors in this field including a solution from Microsoft.0 Lifecycle Plan Objectives The main goal of Inventory Management System is to ensure consistent availability of supplies for consumers and or at supply points. 6. giving a choice to the user to set the minimum level of SSL used by not violating the policy should convince them the trustworthiness of the application. and are enforced by the RDBMS. The information could be generated by the data stored in this application. Risks One of the major risks covered by this application is theft breaks synchronization between the inventory and the database. As of the reliability of the SSL encryption. Inventory Management System is directed toward owners of small to large stores and stock managers who are responsible of maintaining sufficient goods on hand in a retail or manufacturing business. However. the RDBMSs is designed to have inbuilt backup and recovery techniques that ensure that the database is protected from these kinds of fatalities. 5. They could happen due to some hardware problems or system crash. Therefore. all of these tend to be . there is always a danger that the data in the database could get lost. however. It could therefore result in a loss of all data3.RDBMS provide a set of rules that ensure that data entered into a table is valid. A more realistic design of cash register interface can be done to suit the integration. we are emulating a cash registers interface to work with our software by simulating barcode inputs. Thus. we are facing a risk of reckless stock manager who could detriment the accuracy of the data. These rules must remain true for a database to preserve integrity. To guard the database from this. In addition. We expect that the cash registers clients are able to update their data to the current point of sale in case of loss of connection to the server. The confidence level of trusting data generated depends on the accuracy of the restocking procedure. a resolution for this could be by developing SSL and digital certificate policy and configuration guidelines.0 Feasibility Rationale Assumptions The above design should works for the Inventory Management System application. It can scale from a single computer running both client and server software up to multiple stores and warehouses. Backup and Recovery In spite of ensuring that the database is secure from unauthorized access/user as well as invalid entries. ‘Integrity constraints’ are specified at the time of creating the database. The particular restocking procedure adopted by each store does interfere with the feasibility and accuracy of the application as it does not remind the stock manager to update the data each time they had done any restocking. Another risk is the competition from other Point of Service software. We also trust that that the Secure Socket Layer (SSL) is reliable in creating a secure connection between a client and a server.

Depending on the exact application. . situations needing the technology can be easily implemented with many options present. the tags may also need to be small enough to not affect the client’s product’s performance when installed. The design will eliminate the use of any other security devices in terms of theft for the client’s products. but this is one of the major decisions that will need to be made after sufficient research has been obtained.expensive. Conclusion As Automatic Identification and Data Capture technology becomes advanced and more and cheaper to implement. Constraints Considerations As far as the teams projected product is concerned. as space constraints will more than likely keep the tags from containing batteries. Because of the cost implications. The barcode technology that will end up being used will have to be cost effective enough to be used with every product within the client’s store/warehouse. this paper assumed to have used and implemented the barcode as data capture of all the products manufactured by the reference company. and also be used in their customer’s ID cards. one of the main constraints will be the cost over effectiveness of our inventory system. Inventory Management System will be a low cost solution mainly targeted at smaller businesses while including the possibility of later expansion. this paper used the barcode technology to attempt to build an inventory system from the ground up using the barcode as a form of identification/data capture. In addition to research on this particular topic. The barcode tags will probably have to be passive.

Open Source Database Software Comparison (Mar/2005)."An Overview of Query Optimization in Relational Systems”.edu. 2006. McGrw-Hill. (11th Edition).edu April 4. Bruce Chhay chhayb@cs. Implementation. INVENTORY MANAGEMENT SYSTEM: Arina Ramlee arina@cs. Blackwell Encyclopedia of Management Information System. III. David Henry davidvh@cs.washington.275492 .References 1. doi: 10. Proceedings of the ACM Symposium on Principles of Database Systems: pages 34–43.washington. Edited by Gordon B. Fifth Edition. 5. Vol. O’Brien A. 6. Database Systems: Design. Surajit (1998).washington. Introduction to Information Systems. James.1145/275487. Rob and Coronel. Chaudhuri. 3.edu. and Management. (2003). Davis. CSE 403 2. 4.