Sei sulla pagina 1di 15

FEDERAL UNIVERSITY OF TECHNOLOGY OWERRI (FUTO)

DEPARTMENT OF INFORMATION MANAGEMENT TECHNOLOGY (IMT)

ASSIGNMENT ON

"INVENTORY CONTROL AND MANAGEMENT SYSTEM IN J.D CHEMICALS AND PAINT MANUFACTURING COMPANY LTD"

WRITTEN BY: NAME: REG. NO: COURSE TITLE: COURSE CODE: DEGREE: AGU LIVINUS N 20104774308 SYSTEM ANALYSIS AND MODELING IMT 645 M.Sc I.T

TO LECTURER: DR. (MRS.) EZE

ABSTRACT This paper describes the Inventory Management System sufficiently to determine the feasibility and usability of a finished system. J. D chemicals limited, a paint manufacturing company is being used as reference study. 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, to be able to balance production and sale. With good inventory control system, J.D Chemicals Limited are able to maintain a balance of their stock level and, will not produce beyond company warehouse capacity. It uses a client-server model with a connected database to allow multiple stores and warehouses to be connected. This allows for later expansion while still supporting the targeted small businesses.

1.0

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

management process, where small division of stocked products can be calculated on any specified date or time according to the requirement. It provides easy and accurate measurement of the inventory and hence helps operators to select those items which can benefit the business. The Inventory Management System is a real-time inventory database capable of connecting multiple stores sales outlet of the company. This can be used to track the inventory of a single store, or to manage the distribution of stock between several branches of a larger franchise such that each gets products according to sales capacity. However, the system merely records sales and restocking data and provides notification of low stock at any location through email at a specified interval. In this case, ensuring that there is always, product at any outlet at any time. The goal is to reduce the strain of tracking rather than to handle all store maintenance. Further features may include the ability to generate reports of sales, but again the interpretation is left to the management. In addition, since theft does occasionally occur, the system provides solutions for confirming the store inventory and for correcting stock quantities.

2.0

Technological Framework

Barcode technology is the leader in inventory control at the present time. However, there are many flaws in the technology that limit its effectiveness. The amount of data that can be stored in a barcode and the need for human intervention are two, of many, issues that can be negated using other technology. The use of RFID can greatly enhance the effectiveness of inventory control. The operating environment for RFID scanners and tags is really endless. Since there are so many different types of businesses with inventory, there are many possible scanners and tags that are available. In all cases, the equipment must be able to operate in high foot traffic areas and in the presence of heavy machinery in some cases. Radio frequency identification (RFID) is relatively a new AIDC technology which was first developed in 1980s. The technology acts as a base in automated data collection, identification and analysis systems worldwide. 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. These automated wireless AIDC systems are effective in manufacturing environments where barcode labels could not survive. These basic technologies allow extracting information from paper documents for further processing it in the enterprise information systems such as ERP, CRM and others. Though latest automated identification controls such as RFID are better compared to Barcode because of space, barcode technology will be used as the data capture device in this write-up. The Internet: The internet has made information sharing and transfer very easy and possible. The virtual office, an ability to remotely carry out ones official duties without being physically present. The internet enables the head office and the remote offices and franchise office to synchronize stock level, update, sales etc and know when and to restock. Production managers can plan well on how to produce. This makes the company to informed decision on the trend of the market.

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

Stock Manager Client: Settings Security Email Address Frequency Threshold

Product

Stock

Stock Manager Client: Update

Restock

Synchronize

Figure 1. The three features of the Stock Manager Client web interface.

Cash Register Client

UPC

Quantity

Purchase Figure 2. The emulated Cash Register Client interface.

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. Both types of clients will communicate with the server using Java Remote Method Invocation (RMI) with Secure Socket Layer (SSL). Thus, security will be upheld by HTTPS in both a private network and a network connected to the Internet. The application will use a client-server model. See Figure 3. Furthermore, the Java Database Connectivity (JDBC) will use the MySQL Connector/J driver for the server to communicate to the inventory database. Upon receiving requests from the clients, the server will issue transactions to the MySQL database with ACID properties. The Cash Register clients will maintain local log files in the event of communication downtime between Cash Register clients and the server. Upon re-establishing communication, the Cash Register clients will re-synchronize with the server by issuing the requests that occurred during downtime. Alternatively, if the Microsoft ASP.NET framework is used, then the programming language for the application will be Microsoft C# with a Microsoft SQL Server database. The Microsoft .NET framework includes built-ins for easy database interfacing and .NET Framework Remoting (analogous to skeleton and stub), which has the ability to also use HTTPS.

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. Client-server architecture model of the Inventory Management System application.

3.0

System design

Development and Design of Relational Database: Development of the J.D Chemicals limited enterprise database model will start with a topdown data planning process. 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. 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.

Fig.4 The database development stages.


1. Data Planning, Enterprise models, storage and documentations

2. Requirement Specifications etc.

3. Conceptual design, expressed relationships

4. Logical Design of data model of DBMS e.g relational database

5. Physical design, determines the structure

Database Normalization Database normalization is a technique for designing relational database tables to minimize duplication of information and, in so doing, to safeguard the database against certain types of logical or structural problems, namely data anomalies. For example, when multiple instances of a given piece of information occur in a table, the possibility exists that these instances will not be kept consistent when the data within the table is updated, leading to a loss of data integrity3. A table that is sufficiently normalized is less vulnerable to problems of this kind, because its structure reflects the basic assumptions for when multiple instances of the same information should be represented by a single instance only.

Fig.5 Logical and Physical view of the database and the software interface. User community; viewing stock level, sales report, stock update, manufacture planning etc.
Sub schemas; needed to update, view sales, update database, plan manufacture, etc.

Data Model

Data Model

The schema; data elements and relationships needed to support cash/sales point.

Database Management System

Software Interface; the DBMS provides access to J.D Limited databases.

FUTO Databases

Physical data views: organization and location on storage media

The database design normalizations address problems such as; An update anomaly. Insertion anomaly and, A deletion anomaly. Terminology In this design and development, am not going to into details on terminologies of Relational database but will just introduce certain key terminologies. Relational database theory uses a different set of mathematical-based terms, which are equivalent, or roughly equivalent, to SQL database terminology. File. A file is an ordered arrangement of records in which each record is stored in a unique identifiable location. The sequence of the record is then the means by which the record will

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

A foreign key is a reference to a key in another relation, meaning that the referencing tuple has, as one of its attributes, the values of a key in the referenced tuple. 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. A foreign key could be described formally as: "For all tuples in the referencing relation projected over the referencing attributes, 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."

4.0

IMPLEMENTATION OF THE FUTO RELATIONAL DBMS.

lots of DBMS file management software for implementing the system exist. The one used for a particular system is determined by the DBMS designer. Examples include; 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. In this work, am going to use Microsoft Access. Also the term table will be used in place of relation. Web interface implementation After designing the database with Microsoft access; Create and configure the Open Database Connectivity driver (ODBC) driver Define Data Source Name (DSN). Create username and password (optional but needed) and, Set the directory. With dream-weaver cs4 as my editor, invoke the Active Server Page (ASP) page option and attached the database by defining the DSN data source. Create the logical connection to my database server. Depending, the web interface is optional and only applicable in situation where the company has multiple stores or franchise scattered by geographical distances. Simulation

A software simulation of a made-up system. The simulation would be included with the report as a demonstration of how the technology would be used in a made-up example. 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, like any other organizations need to be updated continually to reflect new business transactions and other events like new products, color, model and store/location allocated to, etc3,4. Other miscellaneous changes must also be made to ensure accuracy of the data in the database. This maintenance process is accomplished by transaction processing programs and other end-user application packages within the support of the database management system. End users and information specialists can also employ various utilities provided by a DBMS for database maintenance e.g interactive website interface. Maintenance features of the RDBMS include; Control Data Redundancy. Since data in an RDBMS is spread across several tables, repetition or redundancy is reduced. 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. Data Abstraction This would imply that the RDBMS hides the actual way, in which data is stored, while providing the user with a conceptual representation of the data. Support for Multiple Users A true RDBMS allows effective sharing of data. That is, it ensures that several users can concurrently access the data in the database without affecting the speed of the data access. 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. Also a variety of front-end tools should be able to use the database as a back-end. 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. Restricting Unauthorized Access An RDBMS provides a security mechanism that ensures that data in the database is protected from unauthorized access and malicious use. User level security, is implemented wherein the various users of the database are assigned usernames and passwords., only when the user enters the correct username/client ID and password is he able to access the data in the database. In addition to this, some particular users (client) could be restricted to only view the data (not update), while another could have the rights to modify the data2,5. A third user could have right s to change the structure of some table itself, in addition to the rights that the other two have. When security is implemented properly, data is secure and cannot be tampered with. Enforcing Integrity Constraints

RDBMS provide a set of rules that ensure that data entered into a table is valid. These rules must remain true for a database to preserve integrity. Integrity constraints are specified at the time of creating the database, and are enforced by the RDBMS. Backup and Recovery In spite of ensuring that the database is secure from unauthorized access/user as well as invalid entries, there is always a danger that the data in the database could get lost. They could happen due to some hardware problems or system crash. It could therefore result in a loss of all data3. To guard the database from this, the RDBMSs is designed to have inbuilt backup and recovery techniques that ensure that the database is protected from these kinds of fatalities.

5.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. Thus, 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. It can scale from a single computer running both client and server software up to multiple stores and warehouses.

6.0

Feasibility Rationale

Assumptions The above design should works for the Inventory Management System application. However, we are emulating a cash registers interface to work with our software by simulating barcode inputs. A more realistic design of cash register interface can be done to suit the integration, as the interface does not interfere with the data collected. 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 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. We also trust that that the Secure Socket Layer (SSL) is reliable in creating a secure connection between a client and a server. Risks One of the major risks covered by this application is theft breaks synchronization between the inventory and the database. The information could be generated by the data stored in this application. The confidence level of trusting data generated depends on the accuracy of the restocking procedure. Therefore, we are facing a risk of reckless stock manager who could detriment the accuracy of the data. As of the reliability of the SSL encryption, a resolution for this could be by developing SSL and digital certificate policy and configuration guidelines. In addition, 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. Another risk is the competition from other Point of Service software. There are several large competitors in this field including a solution from Microsoft; however, all of these tend to be

expensive. Inventory Management System will be a low cost solution mainly targeted at smaller businesses while including the possibility of later expansion.

Constraints Considerations As far as the teams projected product is concerned, one of the main constraints will be the cost over effectiveness of our inventory system. The design will eliminate the use of any other security devices in terms of theft for the clients products. The barcode technology that will end up being used will have to be cost effective enough to be used with every product within the clients store/warehouse, and also be used in their customers ID cards. The barcode tags will probably have to be passive, as space constraints will more than likely keep the tags from containing batteries, but this is one of the major decisions that will need to be made after sufficient research has been obtained. Depending on the exact application, the tags may also need to be small enough to not affect the clients products performance when installed. Conclusion As Automatic Identification and Data Capture technology becomes advanced and more and cheaper to implement, situations needing the technology can be easily implemented with many options present. In addition to research on this particular topic, 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. Because of the cost implications, this paper assumed to have used and implemented the barcode as data capture of all the products manufactured by the reference company.

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

Potrebbero piacerti anche