DESIGN AND IMPLEMENTATION OF AN AUTOMATED INVENTORY MANAGEMENT SYSTEM Case Study: Segofer Technical...
-
Upload
independent -
Category
Documents
-
view
2 -
download
0
Transcript of DESIGN AND IMPLEMENTATION OF AN AUTOMATED INVENTORY MANAGEMENT SYSTEM Case Study: Segofer Technical...
DESIGN AND IMPLEMENTATION OF AN AUTOMATED
INVENTORY MANAGEMENT SYSTEM
Case Study: Segofer Technical Services
A Postgraduate project report submitted to the Faculty of Science
in partial fulfillment of the requirements for the award of a degree
of
Master of Science Information Systems
Uganda Martyrs University
NAKAYENGA IRENE
2009-M132-20014
September, 2011
ii
UGANDA MARTYRS UNIVERSITY
SCHOOL OF POST GRADUATE STUDIES
Master’s Dissertation
Declaration
I have read the rules of Uganda Martyrs University on plagiarism and hereby state that this
work is my own.
It has not been submitted to any other Institution for another degree or qualification, either in
full or in part.
Throughout the work I have acknowledged all sources used in its completion.
Name of Researcher: …………………………………………………….
Researcher’s Signature: ………………………………………………….
This work has been produced under my guidance and supervision
Name of Supervisor: ……………………………………………………..
Signature of Supervisor: ………………………………………………….
Date of Submission: ………………………………………………………
Submitted to: ……………………………………………………………..
iii
DEDICATION
� I dedicate this book to the Almighty God for everything He has made possible throughout this
study. It’s been a long journey.
� I also dedicate this book to my children Patience, Phillip, Paul and Patrice; mummy’s
achievement can be an inspiration in your education careers.
iv
ACKNOWLEDGEMENTS
I would like to thank the Almighty God who has enabled me complete this course, for the
courage, finances, and wisdom, your name be Exalted on high.
I owe deep indebtedness to all who have combined efforts with me in order to complete this
project especially my supervisor, Mr. Sanya Rahman, my classmates Christine, Albert,
Justine, Sarah, and colleague Lugajju Oswald for the support given to me during this project.
I acknowledge the contribution of Uganda Martyrs University as an Institution and my work
place, for its academic discipline that has enabled me progress through academics and work
successfully, University staff especially Lecturers and Library staff without whose
contribution this work would not have been a success.
The staff of Segofer Technical Services thanks for supporting me and for willingly
participating in the study. Without your information, the research would be impossible.
I also acknowledge my parents the Late Nakibinge Charles, you laid a good foundation for
my education career, my mother Mrs. Nakibinge Gertrude for the prayers, encouragement and
phone calls just to say how are you, and to my sisters Vivian, Suzan and Roy.
Lastly I acknowledge my family especially dear Husband Mr. Sserunjogi Godfrey for the
support, encouragement, advice, and tolerance. To my sweet little angels Patience, Phillip,
Paul and Patrice, thank you for bearing with my tight schedules and for those beautiful
innocent smiles, they have kept me going.
I thank you all.
Nakayenga Irene.
v
ABSTRACT
In principle, inventory management is crucial to a company in order for it to realize its goals
and objectives. At Segofer Technical Services, there are challenges the company is
experiencing such as uncoordinated business processes that lead to duplication of records and
data redundancy, delays in serving customers, too much paper work that consumes a lot of
space, poor decision making on restocking products, and inability to track available stock.
The goal of this study was to address the above problems by designing and implementing a
prototype inventory management system capable of product registration, sales and profits
maximization, and stock control. The study was qualitative using the SDLC, interviews and
document reviews were effectively used to gather data and the system was designed using the
prototypying methodology.
The need to computerize the business processes in order to maximize sales and profits, realize
customer satisfaction, control and monitor stock, keep track of customers and their contacts,
and compete favourably in the competitive market were identified and recommended.
The research achieved almost all the objectives set and the prototype designed could further
be developed into a full working system that could be used by the company or any other
business in their information management. The strengths, weaknesses, opportunities and
threats identified in this study could also be used to build on the company’s competence,
boost its presence in the market, attract more customers, and thus realize the company goals
and objectives.
vi
Table of Contents
Declaration ...............................................................................................................................................ii
DEDICATION ............................................................................................................................................ iii
ACKNOWLEDGEMENTS ........................................................................................................................... iv
ABSTRACT ................................................................................................................................................. v
List of Abbreviations ................................................................................................................................ xi
LIST OF FIGURES ..................................................................................................................................... xii
LIST OF TABLES ...................................................................................................................................... xiv
CHAPTER ONE .......................................................................................................................................... 1
BACKGROUND ......................................................................................................................................... 1
1.1 INTRODUCTION ............................................................................................................................. 1
1.1.1 Background to case study ....................................................................................................... 3
1.2 STATEMENT OF THE PROBLEM ..................................................................................................... 4
1.3 RESEARCH OBJECTIVES .................................................................................................................. 5
1.3.1 General Objective ................................................................................................................... 5
1.3.2 Specific Objectives .................................................................................................................. 5
1.3.3 Research Questions ................................................................................................................ 5
1.5 Scope of the study ......................................................................................................................... 6
1.5.1 Geographical scope ................................................................................................................ 6
1.5.2 Technical and/or System scope .............................................................................................. 6
1.6 Significance / Justification of the study ......................................................................................... 7
1.8 Conclusion ..................................................................................................................................... 8
CHAPTER TWO ......................................................................................................................................... 9
LITERATURE REVIEW ............................................................................................................................... 9
2.1 INTRODUCTION ............................................................................................................................. 9
2.2 Inventory Management Overview .............................................................................................. 11
2.3 History of Inventory Management Systems ................................................................................ 11
vii
2.4 Modern Inventory Management Systems................................................................................... 12
2.4.1 Purpose of Inventory Management Systems ....................................................................... 12
2.5 Review of Methodology ............................................................................................................. 14
2.6 Requirements Gathering ............................................................................................................. 15
2.6.1 Research Techniques ............................................................................................................ 16
2.7 Design Methodology .................................................................................................................. 17
2.7.1 Review of Unified Modelling Language Technique .............................................................. 18
2.7.2 Review of Programming Languauges ................................................................................... 18
2.8 Conclusion ................................................................................................................................... 19
CHAPTER THREE .................................................................................................................................... 20
METHODOLOGY ..................................................................................................................................... 20
3.1 INTRODUCTION ........................................................................................................................... 20
3.2 Research Design .......................................................................................................................... 20
3.2.1 Research Approach ............................................................................................................... 20
3.2.2 Study Population .................................................................................................................. 20
3.2.3 Sample size ........................................................................................................................... 21
3.2.4 Sample selection technique ................................................................................................. 21
3.2.5 Data sources ......................................................................................................................... 21
3.2.6 Gathering Requirements ...................................................................................................... 21
3.2.6.1 Non-functional requirements ............................................................................................ 22
3.2.7 Data collection techniques ................................................................................................... 22
3.2.7.1 Interviews .......................................................................................................................... 22
3.2.7.2 Document reviews/ Analysis ............................................................................................. 23
3.2.7.3 Observation ....................................................................................................................... 23
3.3 System Development .................................................................................................................. 24
3.3.1 System Development Life Cycle ........................................................................................... 24
3.3.2 Design and modeling tools ................................................................................................... 26
viii
3.3.2.1 Unified Modeling Language (UML) .................................................................................... 26
3.3.3 Development platforms ....................................................................................................... 26
3.3.3.1 Operating system .............................................................................................................. 26
3.3.3.2 Programming languages .................................................................................................... 26
3.3.3.4 Database Management Systems ....................................................................................... 26
3.3.3.5 Hardware ........................................................................................................................... 27
3.4 DEVELOPMENT PROCESS ............................................................................................................. 27
3.4.1 Systems Planning .................................................................................................................. 27
3.4.2 Systems Analysis ................................................................................................................... 27
3.4.3 Systems Design ..................................................................................................................... 27
3.4.4 Systems Implementation ...................................................................................................... 28
3.4.5 Architectural Design ............................................................................................................. 28
3.5 CONCLUSION ............................................................................................................................... 29
CHAPTER FOUR ........................................................................................................................................ 1
SYSTEM ANALYSIS .................................................................................................................................... 1
4.1 INTRODUCTION ............................................................................................................................. 1
4.2 Business Goals/Objectives of the Company .................................................................................. 1
4.3 Analysis of Current System ............................................................................................................ 2
4.4 SCOPE OF THE INVENTORY MANAGEMENT SYSTEM .................................................................... 3
4.4.1 Procedures/ or Transactions .................................................................................................. 3
4.4.2 Actors ...................................................................................................................................... 3
4.4.3 Hardware ................................................................................................................................ 4
4.4.4 Software ................................................................................................................................. 4
4.4.5 Network .................................................................................................................................. 5
4.4.6 Data ........................................................................................................................................ 5
4.5 Data Analysis ................................................................................................................................. 5
4.5 Business Process Model for the Segofer Automated Inventory Management System .............. 17
ix
4.6 Security Requirements ................................................................................................................ 20
4.7 UML Use-case Diagrams for the SAIMS ....................................................................................... 21
4.8 User Requirements ...................................................................................................................... 32
4.8.1 Functional Requirements ..................................................................................................... 33
4.8.2 Non-Functional Requirements ............................................................................................. 33
4.8.3 Data requirements ............................................................................................................... 35
4.9 CONCLUSION ............................................................................................................................... 36
CHAPTER FIVE ........................................................................................................................................ 37
SYSTEM DESIGN ..................................................................................................................................... 37
5.1 INTRODUCTION ........................................................................................................................... 37
5.2 Requirements Design .................................................................................................................. 37
5.2.1 Functional Design ................................................................................................................. 37
5.2.2 Non-Functional Design ......................................................................................................... 38
5.2.3 Data Design ........................................................................................................................... 39
5.3 Database Design .......................................................................................................................... 39
5.3.1 Logical Database Design ....................................................................................................... 39
5.3.2 Entity Relationship Diagram ................................................................................................. 39
5.3.3 Physical Database Design ..................................................................................................... 40
5.3.4 Data Dictionary for the SAIMS .............................................................................................. 43
5.4 User Interface Design .................................................................................................................. 45
5.5 Reports Designs ........................................................................................................................... 49
5.6 Operating System ........................................................................................................................ 51
5.7 Program Design ........................................................................................................................... 52
5.8 Security Design ............................................................................................................................ 53
5.9 Conclusion ................................................................................................................................... 54
CHAPTER SIX .......................................................................................................................................... 55
SYSTEM IMPLEMENTATION ................................................................................................................... 55
x
6.1 INTRODUCTION ........................................................................................................................... 55
6.2 Implementation Plan ................................................................................................................... 55
6.3 Coding .......................................................................................................................................... 56
6.3.1 User Interfaces ..................................................................................................................... 56
6.3.2 Report Interface ....................................................................................................................... 61
6.4 System Installation ...................................................................................................................... 63
6.5 User Guide ................................................................................................................................... 63
6.6 System Evaluation ...................................................................................................................... 64
6.7 CONCLUSION ............................................................................................................................... 66
CHAPTER SEVEN .................................................................................................................................... 67
CONCLUSIONS AND RECOMMENDATIONS ........................................................................................... 67
7.1 INTRODUCTION ........................................................................................................................... 67
7.2 CONCLUSIONS ............................................................................................................................. 67
7.3 Future Research........................................................................................................................... 68
7.4 RECOMMENDATIONS .................................................................................................................. 68
7.5 Conclusion ................................................................................................................................... 69
REFERENCES ............................................................................................................................................ 1
APPENDICES ............................................................................................................................................. 3
Appendix One: Interview Schedule ..................................................................................................... 3
Appendix Two: Training Plan ............................................................................................................... 7
Appendix Three: Support Plan ............................................................................................................ 8
Appendix Four: Major/Sample PHP files and codes used in designing the system ............................ 9
xi
List of Abbreviations
RFID: ……………………Radio-Frequency Identification
IMS: ……………………..Inventory Management Systems
PHP: …………………….Hypertext Pre-processor
LAN: ……………………Local Area Network
PERT: ……………………Project Evaluation and Review Technique
UML: ……………………Unified Modeling Language
OOP: …………………….Object Oriented Programming
UPC: ……………………..Universal Product Code
ICT: ………………………Information Communications Technology
HTML: ………………….Hypertext Markup Language
MySQL: …………………My Structured Query Language
CSS: …………………….Cascading Style Sheets
VARCHAR: …………....Variable Character
SAIMS: …………………Segofer Automated Inventory Management System
UPS: …………………….Universal Power Supply
xii
LIST OF FIGURES
Figure 2.1 Functions of Inventory Management Systems.......................................................11
Figure 3.1 The prototyping process for SAIMS.......................................................................20
Figure 4.1 Showing current IT infrastructure at Segofer Technical Services company...........33
Figure 4.2 Showing the Proposed Organizational Structure.....................................................34
Figure 4.3 showing the Coordination Model............................................................................38
Figure 4.3.1 Business Process Models......................................................................................39
Figure 4.4 Process Flow of the SAIMS....................................................................................41
Figure 4.5 Showing the Network Diagram for Segofer Technical Services Company............43
Figure 4.6.1 Use-case Diagram for the Executive Director......................................................44
Figure 4.6.2 Use-case Diagram for the General Manger..........................................................45
Figure 4.7.3 Use-Case diagram for the Company Secretary.....................................................46
Figure 4.7.4 Use-Case diagram for Salesperson.......................................................................47
Figure 4.7.5 Use-Case diagram for the Purchasing Officer......................................................48
Figure 4.7.6 Use-Case diagram for Information Technology Supervisor.................................49
Figure 4.7.7 Use-Case diagram for Database Administrator....................................................50
Figure 4.8 Use Case Diagram of Segofer Automated Inventory Management System............52
Figure 4.9 Showing the Conceptual Class Diagram for SAIMS..............................................53
Figure 4.10 Showing the Specification Diagram for SAIMS...................................................54
Figure 4.11 Showing the Activity Diagram for SAIMS...........................................................56
Figure 4.12 showing the Conceptual Data Model for SAIMS..................................................57
Figure 5.1 showing the Entity Relationship Diagram...............................................................64
Figure 5.2 Showing the Log on Interface.................................................................................70
Figure 5.3 Showing the Administrator Interface......................................................................70
Figure 5.4 Showing the Salesperson Interface..........................................................................71
Figure 5.5 Showing the registration of Item categories............................................................71
Figure 5.6 Showing the Interface for User Registration...........................................................72
Figure 5.7 Showing the Item/Product Registration Interface...................................................72
Figure 5.8 Showing the Customer Registration Interface.........................................................73
Figure 5.9 Showing a report of the available stock...................................................................73
Figure 5.9 Showing sales report...............................................................................................74
Figure 5.11 Showing Items/Products registered in the company database...............................74
Figure 5.12 Showing the report for the Customer List.............................................................75
xiii
Figure 5.13 Showing the products available for shopping........................................................75
Figure 5.14 Showing the Proposed Network Sub-Diagram for SAIMS...................................77
Figure 6.1 showing the index.php page....................................................................................83
xiv
LIST OF TABLES
Table 4.1 Requirements gathered on product data, Product , and Sales Order forms..............28
Table 4.2 Requirements gathered on Supplier/ Vendor Information Management..................28
Table 4.3 Requirements gathered on Customer Information Management..............................29
Table 4.4 Information gathered on current system used...........................................................29
Table 4.5 Requirements gathered for the new system..............................................................30
Table 4.6 showing the current roles at the company.................................................................31
Table 4.7 Showing new roles at Segofer Company..................................................................35
Table 4.8 showing the Business Transactions List...................................................................37
Table 5.1 Showing data for the Cartz_category........................................................................67
Table 5.2 Showing data for the Cartz_items.............................................................................67
Table 5.3 Showing data for the Cartz_user...............................................................................68
Table 5.4 Showing data for the customers................................................................................68
Table 5.5 Showing data for the cartz_order..............................................................................68
Table 6.1 Shows the Implementation Plan of the SAIMS........................................................81
Table 6.2 Training Schedule for SAIMS users.........................................................................88
1
CHAPTER ONE
BACKGROUND
1.1 INTRODUCTION
Inventories are part of the strengths of any business and can be applied as the firm’s own
strategy in building its competencies. Through their application of the traditional counting,
weighing, and recording systems, the inventory has never been the same in the intervention of
technologies that can provide additional competency. However, it should be noted that
inventory management is hardly a modern innovation. According to (Zipkin, 2000), the
earliest humans kept caches of food and stone tools. Readers familiar with the bible will recall
that Joseph was, among other things, a remarkably proficient inventory manager.
Returning to here and now, the person who runs a business that involves selling products has
a different viewpoint on inventories. This operation may serve about 70 busy, demanding
people, and provides several dozen types, colors, and sizes of products, as well as hundreds of
other kinds of supplies. It takes a serious, conscious effort to monitor all these items, to
estimate their usages, to order new supplies from wholesalers at appropriate times, to decide
when to discontinue rarely bought items and when to add attractive new ones, and so forth.
These are the typical concerns of inventory management at the retail level; the operators of
most retail businesses face basically the same set of problems (Zipkin, 2000).
The basic, essential function of inventory management system is the ability to perform the
main business transactions. Such transactions include product registration, customer and
vendor tracking, tracking payment processes, purchase and order processing, and the ultimate
goal of maximising sales and profits. An example; the order processing is used to provide
2
management information on stock, sales, delivery notes, invoices, and so on. Such data or
information is used for decision making at management levels (Whiteley, 2004).
In order for businesses to have relevant and adequate information for proper management and
decision making, it is common practice for businesses to invest in inventory management
systems. These systems perform many activities among which is processing data into
information that involve activities such as calculating, comparing, sorting, classifying, and
summarizing data. These activities organize, analyze, and manipulate data, thus converting
them into information for end users including managers who need it for decision making
(O’brien, 2003).
There are basically three fundamental reasons for all businesses to acquire or implement the
use of inventory management systems. According to (O’brien, 2003) these are found in the
three vital roles that these systems can perform for a business enterprise. These roles include
support for its business processes and operations, support for decision making by its
employees and managers, and support of its strategies for competitive advantage.
In Uganda, the business sector is flourishing and many companies are dealing in the sale of
various goods and products including electronics, electricals, and their accessories. Such
companies include Appliance World Limited, New Master Electronics Ltd, Cellular Service
Logistics, Anisuma Traders Ltd, Segofer Technical Services which is the case study, and so
on (Uganda Business Directory 2008-2010). All the above companies have or need to invest
in inventory management systems in order to be able to gain competitive advantage, satisfy
customer needs, and maximize pofits which is the ultimate goal of every business/company.
3
1.1.1 Background to case study
Segofer Technical Services is a company that was established in 2007 as a business enterprise
that deals in the sale of electrical, electronics, and hardware materials. Located at Plot 57
Hoima road Namungoona, it has since progressed and registered as a private limited liability
company incorporated in Uganda on 21st May 2007. According to the Company profile, “the
mission statement is to supply the company’s customers with quality products and services
which meet their expectations; ensure safety, quality, and schedule in all projects for clients’
works; and to conduct businesses with integrity and responsibility” (Segofer Company
Profile, 2007).
According to research carried out, the company just like most businesses in Uganda operating
on small scale basis, is facing challenges especially those related to controlling stock,
identifying unpopular products and those that are essential or those that should not miss from
the stock so that appropriate decisions are made while purchasing, etc. All these are inventory
management related and basing on this, this study believed that the development of such a
system would help the company solve half if not all of its problems related to inventory.
The company currently has no automated inventory management system it is using. Rather
products are registered with reference to the purchasing receipts that the Purchasing Officer
delivers with the products. Sales are recorded on a daily basis in a specially designed black
book with columns designed to capture relevant data such as product name, selling price,
profits, total sales, and so on. Other information such as customers’ and vendors’ payments
and contacts are also recorded in company receipts and box files respectively.
Company incomes, costs, daily and general expenses are recorded on specially designed
forms which are then filed for reference purposes for the business managers. In general, the
4
current system being used at the company is purely manual and paper based and this is prone
to challenges such as natural disasters like fires, floods, molds, and mishandling by the
employees. Still there are no reports that can be automatically generated for all the business
transactions that go on in the company and this is posing a big challenge and set back to the
company as expressed by the company managers. All the above mentioned business processes
and procedures are practically manual and according to results from the interview conducted,
documents reviewed, and observations made, people expressed difficulty in tracing required
information to help in decision making.
1.2 STATEMENT OF THE PROBLEM
For any one company that wishes to stay for long in business, one has to implement / use
management information systems that support business processes and transactions ( ).
Unfortunately at Segofer Technical Services, the system being used is not automated. The
company is faced with challenges including delays in serving customers as more time is spent
on one customer in recording items that are being bought which records later consume alot of
storage space; poor decision making especially on restocking products as there are no
statistics to show the most/or least demanded products and also when duplicate or double
entry of records occur; uncordinated business processes that lead to duplication and data
redudancy, alot of paper that needs storage space, miscalculations especially on sales and
profits; and the inability to track available stock as there is no physical record of what is in
and out of stock at specified times and also wrong projections as a result of using wrong
records (General Manager’s interview responses, 2011). In addition the current system being
used is more less a manual system as all their data are stored in paper files and in case of need
for generating reports, the end users have no means of manipulating the system to have the
5
reports generated automatically. Furthermore, the system being used is more vulnerable to
natural disasters like fires and floods for paper files, and even consumes a lot of storage space.
1.3 RESEARCH OBJECTIVES
1.3.1 General Objective
The main objective of the research was to develop a working prototype of an automated
inventory management system that is capable of performing the main functions of registering
products and materials purchased, maximizing sales and profits, ensuring customer
satisfaction, and controlling stock.
1.3.2 Specific Objectives
i. To analyze the current system being used by the business in question in order to understand
its strengths and weaknesses and identify opportunities for strategic automated inventory
management interventions.
ii. To determine the requirements that would enable the design of an appropriate inventory
management system.
iii. To design and implement a prototype of an automated inventory management system.
iv. To test and evaluate the prototype inventory management system.
1.3.3 Research Questions
This study was able to attempt answer the following research questions:
i. What are the strengths and weaknesses of the current inventory management system used by
Segofer Technical Services Company? What opportunities exist for strategic automated
inventory management interventions?
6
ii. What are the requirements for designing an appropriate inventory management system for
Segofer Technical Services company?
iii. What are the design features of a reliable and secure automated inventory management
system? How can such a system be designed effectively?
iv. To what extent does the prototype inventory management system meet the inventory
management requirements for Segofer Technical services company?
1.5 Scope of the study
1.5.1 Geographical scope
The project was confined to a business enterprise Segofer Technical Services that has three
sections that is electronics, electricals and hardware. It also dealt with one other branch
affiliated to the main branch. The processes that were emphasized while implementing the
automated inventory management system included registering products, customers, and
purchases, tracking sales and available stock, and registering staff. Departments which were
involved or whose staff contributed in data collection were sales, marketing, human resources,
and accounts departments.
1.5.2 Technical and/or System scope
The research intended to cover the inventory management system and through analysing the
gathered data, the Information system had three (3) main modules developed which had
functionalities grouped under each. The developed modules would inter-relate to support the
business achieve its objectives and these included:
Inventory/stock Management:
Under inventory management, the following functionalities were developed and implemented;
7
• Register product categories, products within the categories, and system users while
assigning them login details.
• Record sales per salesperson registered in the system.
• Calculate profits after the sale of products and also provide the projected profits for the
entire available stock.
• Control stock by automatically deducting items at the time of selling and showing the
remaining stock.
• Enable the sale of products to customers within the shortest time possible.
• Generate reports such as sales per salesperson, available stock, loyal customers,
estimated profits in stock, etc.
System Account Management:
Under this module, the following functionalities were developed and implemented;
• Registration of system users and assigning usernames and passwords.
• Assigning the users priviledges according to the different roles they would perform
within the system.
Customer Management:
In the customer management module, functionalities such as the ones described below were
developed and implemented;
• Registration of customers assigning them unique customer Ids.
• Completing a purchase order with assistance of a salesperson.
1.6 Significance / Justification of the study
The automated inventory management system will enable the company view various reports
containing vital data such as the estimated profits to be accrued from the available stock. The system
can also easily give details such the name of the product, quantities sold and the quantities in store.
8
Such information is needed when making decisions on what items are reducing in stock and thus need
to be purchased.
The automated inventory management system will improve the process of selling products to
customers that is quantities for sale will be identified against that customer and the system will
automatically calculate the total costs for each thus saving on time spent while serving a customer.
The system will enable the managers track transactions and total sales made by specific salesperson
per day and also view reports of the loyal customers which information would later be useful for
decision making.
1.8 Conclusion
With regard to the introduction given above, incorporating an inventory management system in any
business, would help it succeed especially in planning, executing, and controlling the supply chain
network. In addition there would be increased business value, customer satisfaction, and full
maximization of sales and profits. Therefore this research intends to analyze, develop, and design a
working prototype of an automated inventory managament system that would perform the mentioned
functions above and also recommend it to Segofer Technical Services the case study.
9
CHAPTER TWO
LITERATURE REVIEW
2.1 INTRODUCTION
An inventory is the stock of goods that a business has on hand; in an electronics and electrical
sales company, it is the stock of electronics and electrical materials that the company has.
Each style, size, color, shape, of material that the company stocks, is called an item in the
company’s inventory. According to (Nickerson, 2001) an inventory management system
keeps track of information about the items that the business stocks. The quantity of each item
that the business has on hand is an example of the information it tracks. Nickerson goes on to
explain that the inventory management system provides information for the daily operations
of the business. For example, a salesperson can check the system to see if an item of a
particular style is available in stock. The system also provides information to help in the
management of the business. For example, periodically the system reports on the quantity on
hand of each style of item. This information helps the business managers decide whether to
increase inventory by ordering more items / goods (if stock is low) or to reduce inventory,
perhaps by having a sale (if stock is high). Thus, the inventory management system helps in
both the operations and management of the business.
According to (O’Brien, 2003), inventory management systems process data reflecting changes
to items in the inventory. Once data about a customer orders are received for an order
processing system, a computer-based inventory management system records changes to
inventory levels and prepares appropriate delivery documents. Then it may notify managers
about items that need re-ordering and provide them with a variety of inventory status reports.
10
Inventory management systems thus help a business provide high-quality service to customers
while minimizing investment in inventory and inventory carrying costs.
From the two writers above, it is clearly explained that keeping track of a business’ inventory
is important so that customer demand is met and inventory can be reordered when it is low.
Therefore, inventory management systems provide and support information needs and
processing in businesses. These systems control the flow of information in business
operations. They make information readily available to help in decision making thus enabling
managers make informed decisions. Still, the inventory management systems improve the
efficiency and effectiveness of information processing activities, and are used in all functions
of all types and sizes of businesses and organizations. So, in order to survive in this
competitive business environment, companies need to invest in reliable inventory systems to
satisfy the growing needs of customers and also establish a fair ground for competition. This
requires automation of key functions in the company like product registration and thus stock
control.
Therefore, this chapter attempts to present an understanding of the significance of inventory
management systems in businesses, the purpose of inventory management systems, a review
of some of the available inventory management systems monitoring tools, and will
recommend plausible implementation mechanisms for the system designed. Lastly, this
chapter will look at or review the methodology that was used in the research like the research
methods, and techniques used.
11
2.2 Inventory Management Overview
Good inventory management is essential to the successful operation of most organizations.
This is basically due to the amount of money inventory represents and the impact that
inventories have on the daily operations of a business. A number of businesses have
unsatisfactory inventory management because there is lack of understanding of what needs to
be done and how to do it (Steven, 1986).
2.3 History of Inventory Management Systems
According to (Kroeber, 1987), a transaction processing system is a computer-based system
that captures, classifies, stores, maintains, updates, and retrieves transaction data for record
keeping and for input to other information systems. These other systems being talked about
include the management information system whose main task is to provide information to
managers to support the operations and decision making within an organization. With the
above definition, synthesized from the works of Kroeber, inventory management systems are
as a result of or a combination of both the transaction processing systems and the management
information systems.
Although managers have had and used inventory / business management systems for
centuries, there has been a marked increase in interest in inventory management systems in
recent years. The primary reason for this increased interest is the introduction of computer
technology into information systems; the complexity of modern organizations, the demands of
the legal and social environment, other advances in technology, and the expanding role of
management (Kroeber, 1987).
12
2.4 Modern Inventory Management Systems
According to (O’Brien, 2003) computer-based inventory management systems are highly
being used in businesses to provide high quality service. In the recent years, other promising
technologies have emerged for tracking inventory. For example the Radio Frequency
Identification or RFID, which uses a microchip to transmit product information- such as
manufacturer, type, and serial number to a scanner or other data collection device. This new
technology is superior to bar codes in several ways. For instance, a scanner reads the
information from an RFID from several yards away, making it ideal for tracking items stacked
on high shelves in warehouses.
It is therefore relevant that in a business, some of the vital resources needed for its smooth
operation is the presence and use of inventory management systems. This is because they are
relevant for providing information vital for maintaining appropriate stock, decision making,
customer satisfaction, and for the ultimate goal of every business; maximizing sales and
profits.
2.4.1 Purpose of Inventory Management Systems
According to (Nickerson 2001), the purpose of an Inventory management system is to keep
track of the business’s inventory, to indicate when inventory should be reordered, and to
compute the value of the inventory. The figure below summarises the functions of this
system. The inputs to the system are the sales order data and the recieving notice data giving
the quantity of items recieved from suppliers. The outputs from the system are the inventory
reorder report, which lists the items that should be reordered, and the inventory value report,
which gives the value of the items in stock.
13
Nickerson goes on to say that the stored data needed in this system is the inventory master
data, which is also used in the order entry and billing systems. For the inventory management
system, the fields needed in each record of this data are the item number, item description,
unit cost, quantity on hand, reorder point, and reorder quantity. These fields are used to
produce the output in the reports, The unit cost, which is the cost per item, and the quantity on
hand are multiplied to compute the inventory value for the inventory value report. The reorder
point is the quantity below which the business does not want the inventory to fall. If the
quantity on hand is less than or equal to the reorder point, the item should be reordered, and
this fact is printed in the inventory reorder report. The reorder quantity for the item is also
printed in the report and indicates the quantity of the item that should be ordered.
From the discussion above, processing in the inventory management system first involves
updating the quantity on hand in the inventory master data from data in the sales orders and
recieving notices. The quantity delivered of an item from each sales order is subtracted from
the item’s quantity on hand, and the quantity recieved for the item from each recieving notice
is added to determine the new quantity on hand. Depending on the procedures of the business,
once or twice a month, or perphaps more often, the inventory reorder report is prepared from
the inventory master data, listing all items which should be reordered. Also once a month, the
inventory value report is prepared.
14
Figure 2.1 Functions of Inventory Management Systems
2.5 Review of Methodology
A research method is a strategy of inquiry which moves from the underlying philosophical
assumptions to research design and data collection (Myers, 2002). It is believed that the
choice of research method influences the way in which the researcher collects data.
Researchers also believe that specific research methods also imply different skills,
assumptions, and research practices. However, of the four research methods available, this
research study used the qualitative research approach which according to (Baker, 1999)
involves the fact that the findings of such a study are presented not in numbers but solely in
words. Qualitative research methods often form the basis of different types of social research
including interviewing, participant observation, interpretive analysis, case studies, etc and
since this research is using a case study, the qualitative approach was certainly the most
Input Function:
• Accept Sales order
data
• Accept receiving
notice data
Storage function:
• Update inventory
master data
• Access inventory
master date
Processing function:
• Compute new
quantity on hand
• Check for low
quantity on hand
• Compute inventory
value
Output function:
• Produce inventory
reorder report
• Produce inventory
value report
15
appropriate. According to (Baker, 1999), case study is a research strategy which focuses on a
single organization, institution, event, decision, policy, or group (or possibly a multiple set). A
case study often seeks an explanation, as an experiment might. They may be largely
exploratory, or they may be descriptive. But often the main reason to study a particular case is
to try to figure out why a certain situation prevails or how an organization or group has
succeeded in a particular scenario.
2.6 Requirements Gathering
Defining system requirements is considered one of the most important steps in developing an
information system. According to O’Brien ( 2002) this step is one of the most difficult. You
may need to work as a team with information systems analysts and other end users to
determine your specific business information needs. For example, first you need to determine
what type of information each business activity requires; what its format, volume, and
frequency should be; and what responce times are necessary. Second, you must try to
determine the information processing capabilities required for each system activity (input,
processing, output, storage, control) to meet these information needs.
Finally, O’Brien (2002) specifies that you should try to develop functional requirements
which are end user information requirements that are not tied to the hardware, software,
network, data, and the people resources that end users presently use or might use in the new
system. In conclusion, literature reviewed indicates that for an information system project to
be successful, a clear set of stakeholders’ requirements are necessary to determine the purpose
and characteristics of the proposed system.
16
2.6.1 Research Techniques
Interviews: An interview is literally an interchange of views between two persons conversing
about a theme of common interest (Kvale, 2007). This author goes on to say that systematic
literature on research interviewing is a new phenomenon of the last few decades. According to
(Babbie, 2007), a qualitative interview is an interaction between an interviewer and a
respondent in which the interviewer has a general plan of inquiry, including the topic to be
covered. The qualitative interviewer, Babbie goes on to say that, must be familiar with the
questions to be asked. In this research, qualitative interviews were conducted where the
researcher with the assistance of some research assistants and an interview schedule, was able
to collect data on the various aspects of interest for the topic in question. Basing on these data
collected, the research was able to design a prototype of an automated inventory management
information system for the company.
Document Analysis: Document analysis according to (May, 2001), is one of the modern
techniques used in research but emphazises that there are four indispensable points that
always have to be considered in assessing the quality of the documentary sources. They are
authenticity, credibility, representativeness, and meaning. The analysis of documents like the
other research techniques required the flexibility of the researcher for instance to verify the
validity and reliability of those documents. Documents analyzised included the company
profile, sales books, purchasing order books, files for reciepts, company bronchures, and
minutes. The information obtained from the documents analysed was used to supplement
information obtained by other methods. (Bell, 2005) says that information obtained from the
documents reviewed can be particularly useful when access to the subjects of research is
difficult or impossible.
17
Observation: Bell (2005) points out that observation can be useful in discovering whether
people do what they say they do, or behave in the way they claim to behave. It also depends
on the way people percieve what is being said or done. However Bell emphasizes that once
observation as a technique is mastered, it can reveal characteristics of groups or individuals
which would have been impossible to discover by other means. But the greatest care has to be
taken to ensure that you get the most out of the periods of observation. Bell emphasises that
one has to be clear about the purpose of the observation and why you are observing that
particular group or individual. If one’s main interest is a process, then methods of recording
the process have to be found. As methods are selected, Bell points out that some questions
have to be kept in mind such as: ‘what do I need to know?’, ‘why do I need to know it?’ and
‘what shall I do with this information when I have it?’ Some of the processes that were
observed included recording the sale of items/ products in the sales book, registration of
customers for instance MTN Mobile Money customers because the company has those
services offered, and the process of recording of items/products that have just been purchased.
2.7 Design Methodology
Most organizatrions are deploying one of the world’s most popular open source database
software; MySQL for developing systems. This is because it is consistent, fast in
performance, platform independent, reliable, easy to use, considered to be more stable, takes
little storage space on disk, and is highly secure (Welling and Thompson, 2003). The system
was designed using UML a modelling language technique and programming languages such
as PHP an HTML-embedded script language which easily intergrate with MySQL. These are
further explained below.
18
2.7.1 Review of Unified Modelling Language Technique
UML is an effective standard diagramming notation for all object-oriented developments. It is
a technique used in the analysis and design stages of systems development by both
information systems professionals and software developers for modeling software systems of
varying complexities, Dennis (2002). This research used it in designing the SAIMS. It was
supplemented by CRC cards, which are a simple means of identifying and organizing classes.
Other UML models included the Use Case, which is the primary modeling tool for defining
the behavior of the system (Dennis, 2002). It describes how the user interacts with the system
to perform some activity, such as placing an order, registering products, etc. Class diagrams
were also used to model class structures at the conceptual and specification levels. Class
diagrams according to (Lunn, 2003), are the internal wiring diagrams for a system. They are
sometimes called static models, as they define the static and unchanging structure of the
system. A Class Responsibility Collaborator (CRC) model, which is a collection of index
cards that represent classes, was used as a means of identifying and organizing classes (Rubin,
1998). It was used to extract candidate classes, identify attributes and methods, and define a
class hierarchy for the SAIMS (Oldfield, 2002). Classes and objects are extracted from Use
Case narratives by doing grammatical parse for nouns. Activity diagrams as their name
suggests were modeled to describe activities and the flow between the activities of the
intended automated inventory management system (Lunn, 2003). The entity-relationship
diagram which is very similar to a class diagram, was viewed as a subset of a class diagram.
These diagrams aid in model definition, and can produce a database schema for
implementation of the data (Pigott, 2011).
2.7.2 Review of Programming Languauges
PHP is an increasingly popular server-side HTML-embedded scripting language (Gardner and
Pinfield, 2001). According to Gardner and Pinfield, PHP is available as an Apache module,
19
and is therefore very efficient, and works well with MySQL (as well as a variety of other
databases). It is very easy to integrate with HTML. Blocks of PHP code can simply be
inserted in a standard HTML document as required. (Gardner and Pinfield, 2001) go on to say
that one of the most useful features of PHP is the way it handles HTML forms. Any form
element automatically results in a variable with the same name being created on the target
page. PHP can perform mathematical calculations, manipulate strings of data and query the
database.
2.8 Conclusion
In this chapter, various aspects including inventory management systems, the history, the
modern inventory systems, their functions, and the methodology; SDLC (that is planning,
requirements, design, and implementation) have been reviewed. Thus preliminary evidence
suggests that businesses need to invest in and implement inventory management systems. The
selected methodologies, techniques and tools have been reviewed and deemed relevant for use
in designing the Segofer Automated Inventory Management System.
20
CHAPTER THREE
METHODOLOGY
3.1 INTRODUCTION
In this chapter the study described the methodology both research and development
methodologies used basing on the research objectives. The research methodology included the
data collection tools used while the development methodologies included the system
development techniques and tools used in gathering requirements. Also included in this
chapter is a finalized detailed project schedule with deliverables to be achieved at the end of
the entire project.
3.2 Research Design
3.2.1 Research Approach
Within the qualitative research, there are different research approaches that can be used; in
this case, the approach used was case study research. A case study is a research strategy
which focuses on a single organization, institution, event, decision, policy, etc. This is
because a case study provides the research an opportunity for one aspect of a problem to be
studied in some depth. It also identifies organizational features which identify the processes at
work and these show how such features affect the implementation of systems and how they
influence the way an organization functions.
3.2.2 Study Population
The study population involved the management and staff of the company, and also seven
customers who offered to provide information at the time data was being collected. These
included staff such as the Executive Director, General Manager, Salespersons, Company
Secretary, and Customers. Thus, this research used a census study because data was collected
or gathered from every staff member of the company.
21
3.2.3 Sample size
The research had a projected number of people to gather information from of about 30 people
and was able to interview 25 people.
3.2.4 Sample selection technique
The study used purposive technique. Purposive sampling is a form of non-probability
sampling in which the subjects selected seem to meet the study’s needs. It was used because
the company under study had a small population and was well conversant with the current
system and provided data required for the design of a new system.
3.2.5 Data sources
Primary data included; interviews, brochures, diaries, posters, minutes of company meetings,
memoirs, emails, company profile, organizational structure, etc.
Other sources of data included; sales invoices, sales orders, financial data like expenditures,
sales books, company invoices and receipts, purchase order books, etc.
3.2.6 Gathering Requirements
Requirements gathering was done using the Systems Development Life Cycle, extensive
research, and analysis of current business processes. Interviews were conducted with key
stakeholders including management and staff of the company, and were geared towards
understanding the business processes in the current system. Using an interview schedule
(Appendix One), the questions were administered to all the potential SAIMS users,
documents were reviewed, and observation was used as a mechanism to establish the daily
activities/ processes, to see what systems were being used and how they used them for the
different processes at the company. The interviews were conducted in such a way that would
help gather data not only about what is already captured but also to include what the intended
system users would want incorporated in the new system. These were divided into functional
and non-functional requirements.
22
3.2.6.1 Non-functional requirements
Scalability: this will be implemented through designing the system using softwares that
accept upgrades for new and better versions.
Reliability: this will be implemented by designing the back-end database using MySQL
which is a database management system that is considered to design reliable databases.
Security: this non-functional requirement will be implemented by installing Linux operating
software which is virus free, and also the network will be required to be protected from
external access by unauthorised persons.
Flexibility: this requirement will be implemented by using PHP an HTML-embedded
programming language that is very easy to integrate with HTML. Still blocks of PHP code
can simply be inserted in a standard HTML document as required thus encouraging
flexibility.
Manageability: this will be implemented by organizing user training in both use and
operation of the SAIMS, user and system manuals prepared for training and guidance.
Usability: this requirement will be implemented by designing the system using PHP
programming language and the database created using MySQL.
3.2.7 Data collection techniques
3.2.7.1 Interviews
Interviews were held with the staff of Segofer Company and these involved the researcher
with the assistance of one research assistant having a one-on-one appointment. Using the
interview schedule, the interviewees were asked questions and answers were filled in by the
interviewer herself. The study used structured interviews because; with the structured
interviews, the interviewer asked questions as written on the form and recorded answers as
given, it reduced the bias that would have resulted when the interviewer has license to ask
questions as they choose, the answers from the structured interviews were also much easily
23
compared, measured and summarized, and questions were ordered and the respondent were
easily engaged in the interview with interest maintained throughout.
The Tool
An interview schedule was the tool used to collect data. It was a set of structured questions
that were ordered and with instructions on how to conduct the interview, worded questions
were read out by the interviewer, and the respondents gave answers as the interviewer
recorded them down. The respondents were easily engaged in the interview and often asked
for clarifications were they did not understand the questions.
3.2.7.2 Document reviews/ Analysis
This research used document review as another method of collecting data. Documents for the
company/business such as company profiles, policies and procedures, brochures, financial
statements, sales books, purchase order books, sales receipts, etc were used to supplement
information obtained by other methods that is interviews and observation. The document
reviews provided a broad coverage and helped collect all the necessary information available
and which information was required for the designing of a new system. It also provided actual
records that had data that was required or would be referred to in designing the new system.
This technique also provided information that would not easily be availed by staff for instance
the company mission and objectives.
3.2.7.3 Observation
Observation was carried out at the company especially the processes to determine how the
products, customers, etc were received, registered, stored, and how the records were managed.
Four observation visits were made before the final conclusion was made and this helped
provide first hand information about the procedures, processes, and events that occur at the
company, and to remove any biases in the daily work that would have been caused due to the
researcher’s presence. This method was used to help in verifying statements that were made
24
during the interviews, to determine if processes and procedures mentioned were followed as
specified in the documents and interviews. The observation also helped obtain unbiased data
that greatly supplemented the interviews conducted. It was also greatly useful in gathering
information especially on how the current system inputs and outputs data.
3.3 System Development
3.3.1 System Development Life Cycle
The study used the System Development Life Cycle (SDLC) for the development of the new
system. This methodology helped improve the management and control of the system
development process, simplifying, and structuring the process, standardizing the development
process by specifying activities to be done and techniques to be used. This method involved
major activities such as Planning, Analysis, Design, testing, and Implementation. Within these
activities were specific activities under each and all these were fully followed in the
development process as will be seen in the project schedule attached. However, the System
Development Life Cycle (SDLC) model was used together with the prototyping approach and
this was because SDLC follows a sequential flow of activities and so may not be practical to
be used alone as some requirements would not be completely specified. Prototyping is always
necessary when some requirements cannot easily be specified, or when some functionality is
not known or fully understood.
Prototyping
A prototype-based methodology according to Dennis (2002), performs the analysis, design,
and implementation phases concurrently, and all three phases are performed repeatedly in a
cycle until the system is completed. He goes on to say that with these methodologies, the
basics of analysis and design are performed, and work begins immediately on a system
prototype, a “quick-and-dirty” program that provides a minimal amount of features. In this
25
research, the first prototype was the first part of the system that the user utilized. This was
shown to the users and project sponsor who provided comments, which were used to re-
analyze, re-design, and re-implement a second prototype that provided a few more features.
The process continued in a cylce until the users, sponsor, and analysts agreed that the
prototype provided enough functionality to be installed and used in the company. The
diagram below is an illustration of the cycle or process of prototyping that the research
underwent.
Figure 3.1 The prototyping process for SAIMS
The research used this prototyping-based methodology because it very quickly provided a
system for the users to interact with, even if it was not ready for wide-spread organizational
use at first. It also reassured the users that the project team was working on the system, and it
helped to more quickly refine real system requirements. Rather than attempting to understand
a system specification on paper, the users were able to interact with the prototype and got a
better understanding of what it could and could not do.The methodology also helped in
minimizing development costs, and exposed the developer to future system enhancements.
Planning
Analysis
Design
Implementation
System
26
3.3.2 Design and modeling tools
3.3.2.1 Unified Modeling Language (UML)
It is a language for specifying, visualizing, constructing, and documenting the artifacts of
software systems, as well as for business modeling and other non-software systems (Larman
2002). The UML was used in modeling most if not all of the diagrams needed in the system
development process. These included; use-case diagrams, class diagrams, activity diagrams,
entity-relationship diagrams, and the conceptual data model. All these diagrams were
designed using the Microsoft Visio 2003 version tool.
3.3.3 Development platforms
3.3.3.1 Operating system
The study used the Windows operating system with Microsoft Office packages such as Ms
Word and Ms Visio. Ms Word was used to type out all the documentation including the
report, interview schedule, and the Ms Visio was used to design the UML diagrams.
3.3.3.2 Programming languages
The study used languages such as;
PHP; this is an HTML-embedded script language that assisted in the development of dynamic
pages. It was used to connect the interfaces to the database, creating forms, user interfaces,
sessions to store user information, etc.
Dreamweaver: This research intends to use Dreamweaver because it is easy and efficient in
use, has the ability to create consistent looking web pages, and is available for use on
Windows operating systems
3.3.3.4 Database Management Systems
This research used MySQL and this is because of the following reasons; It is free open source
software, and can run on many operating systems. It is also easy to use, fast, and is scalable
27
and hence accommodates large amounts of data thus providing high level security for the
stored information.
3.3.3.5 Hardware
These included; windows vista, 2.0+ GHzs processor, 2 GB system RAM, and 3 GB free hard
drive space.
3.4 DEVELOPMENT PROCESS
3.4.1 Systems Planning
This phase provided an over view of the intended SAIMS, evaluated the feasibility study and
risks that would be associated with the project. At this phase, the study identified the need and
determined the scope of the entire project. Also a detailed work plan was drawn and time
schedule, and system justification and scope specification determined.
3.4.2 Systems Analysis
At the systems analysis phase, requirements were gathered, analyzed, and used to build the
models which models would be used at the design phase and these included the business
transaction lists, the cordination model, Business Process Model (BPM), the process flows at
Segofer Company, sequence diagrams that, inturn, were used to produce collaboration
diagrams and class diagrams, activity diagrams, conceptual data model, and functional and
non-functional requirements.
3.4.3 Systems Design
This phase involved the actual designing of the system using inputs from the analysis phase.
This included selecting the preferred database software and building the design using the
software. This provided inputs for the implementation phase of the system and included;
functional design, logical design of the database, Entity Relationship Diagram, physical
28
design of the database, User interface designs, report templates, systems architecture, network
model and the program design.
3.4.4 Systems Implementation
This is the final phase in the project life cycle. Here the system design was converted into the
actual system. The interfaces were developed and programmed using software selected and
linked to the database. The system was then tested, planned for the installation of the system,
and organized for training users on how to use the system. Another activity that was
considered important was the documentation which is useful throughout the implementation
phase. Documents such as installation, training, user, and entire system manuals were all
compiled at this stage and would be needed for the system designed to work as desired.
3.4.5 Architectural Design
Architecture defines the broad structure of the system to be developed. At the gross level,
architecture considers the computers, and networks that are used to construct the overall
system. According to Lunn (2003) architecture involves the software tools that are used to
construct the system, such as compilers, modelling tools, databases, and packages. He goes on
to say that decisions need to be made earlier on in a project and these are often determined by
the environment that an organization already has and is commonly known as the technical
architecture. Within the technical architecture, the software can be broken down into major
components that cover items such as the user interface (computer screens), detailed
processing, and storage.
The architectural design in this study involved the gross details of architecture and the fine
detail of how individual components of a system were constructed. This research followed an
object-oriented approach to design and used the different notations in the Unified Modelling
Language to produce detailed designs.
29
3.5 CONCLUSION
The research methodology chapter was basically explaining the methods both research and
development and the development process that the research adopted in the designing and
implementation of an automated inventory management system for Segofer Technical
Services. It also gave an overview of the next phases, the deliverables and a detailed schedule
for the SAIMS development.
1
CHAPTER FOUR
SYSTEM ANALYSIS
4.1 INTRODUCTION
The systems analysis sometimes called the requirements analysis is the process of gathering
information about the current system (called the As-Is system), which may or may not be
computerized, identifying its strengths and problems, and analyzing them to produce a
concept for the new system (called the To-Be system). According to (Dennis, 2002), the goal
of the analysis phase is to truly understand the requirements for the new system and develop a
system concept that addresses them-or decide that a new system is needed or not. Therefore
the major objective of this chapter is to define/refine analysis models that were looked at in
the previous chapter, into design models by empharsizing the problem statement and
including system details such as systems architectural design, user interfaces, the database
logical and physical designs, and data management.
MISSION STATEMENT
The company mission is to ensure customer satisfaction at the same time maximise sales and
control stock using the available resources. The automated inventory management system we
hope will enable the management of the company realize the above mentioned mission.
4.2 Business Goals/Objectives of the Company
According to the Company profile and information gathered from the interviews conducted,
the following are the business goals that the company would want to achieve;
1. To maximise sales by reducing on the time that is taken to serve a customer and make
certain that products on high demand are always available in stock.
2
2. To ensure stock control that is at any one time the management should be able to know
the stock in and stock out.
3. Generate reports that would be used in decision making especially in acquisition of
stock, identifying loyal customers, and reports for daily/ or monthly sales.
4.3 Analysis of Current System
Before you design a new system, it is important to study the system that will be improved or
replaced (if there is one). You need to analyse how this system uses hardware, software,
network, and people resources to convert data resources, such as transactions data, into
information products, such as reports and displays (O’Brien, 2002). However, from the
information gathered from this study it was realized that there was almost no business process
involving use of information technology and its euipment. All would-be information system
activities of input, processing, output, storage, and control are done manually. Below are
some of the problems identifed with the existing system.
The current system is experiencing problems in executing the business processes such as;
• There is too much paper work that takes ernomous time on the side of the salesperson
as each and everything that has to be documented, is written down on paper.
• There is a challenge in information retrieval because the records are many and not well
labeled.
• There is a lot of data redudancy as every time products are purchased, a new record is
created even for the products already in stock.
• There is a challenge of having wrong information stored for example miscalculations
of profits acrued from the sale of products, recording of prices, total sales, etc.
• Some vital information may be missing from the company records such as customer
information including contacts, addresses, etc which at certain times may urgently be
required.
3
• There is a challenge of generating report since the processes are purely manual.
• The other challenge is poor control of stock that is the management of the company
can not easily project what is in and out of stock at a given time.
4.4 SCOPE OF THE INVENTORY MANAGEMENT SYSTEM
The scope was composed of the different components that make up a system and these
included the following;
4.4.1 Procedures/ or Transactions
The Segofer Automated Inventory Management System (SAIMS) was intended to improve
the daily operations of Segofer company and this would involve procedures/ or transactions
such as
o Registration of products, customers, and vendors.
o Recording daily and weekly sales, and compiling regulated reports from such sales for
decision making by top management.
o Recording purchases
o Calculating profits
o Stock control for this is the main cause for the inventory management system that is
enabling managers know what is in and out at a given time.
4.4.2 Actors
The above mentioned transactions were involving different roles/actors such as
o The Executive Director, General Manager, Company Secretary, Salespersons, and
Purchasing Officer.
o Database Administrator, Information Systems Supervisor, and Programmer these were
the new actors introduced in the system to ensure its smooth operation and availability
all the time.
4
o Customers and Vendors who are specifically concerned with making purchase orders
and sales orders respectively.
4.4.3 Hardware
In addition to the existing computers, more microcomputers since there is computerization,
are required for the users of the SAIMS system to accomplish the day-to-day operations.
Servers are also required to provide storage and back end services for the different business
processes at the company. Below are some of the hardware requirements needed:
o File server for hosting file folders for all the actors and for the file sharing services.
o Database server for hosting the database.
o Networked printers for all print jobs that may be located at different points.
o Scanners for scanning hard copy documents.
o Back-up hard disks for backing up data on regulated intervals.
o Uninterruptible Power Supply (UPS) units for ensuring un interrupted power supply.
4.4.4 Software
The system must have softwares installed on PCs that will enable the complete operation of
the system and these will include softwares such as;
o Operating system that is Microsoft Windows preferably Microsoft Office 2007.
o Application software tools such as Ms Word for report writing, data storage and
manipulation, and general office purposes.
o Database Management System software that is MySQL for running the company
database.
o Programming languages that is PHP, Java scripts, etc for enabling the design of
interfaces, data entry and report forms, and back end operations.
5
4.4.5 Network
The Network requirements included the following;
o Local Area network: this was needed so that the system can be housed on the different
computers so that system users are able to use it concurrently. Also all users can share
resources e.g printers, reports, etc
o Firewall system for blocking viruses, spam, and unwanted websites.
4.4.6 Data
These included data on various aspects such as data on products that the company deals in,
purchase order data, sales order data, customer details, vendor details, company data, etc.
4.5 Data Analysis
The requirements gathered were critically categorized and analyzed to provide the
specifications for the new system and data obtained was categorized and analyzed in the
tables below.
Table 4.1 Requirements gathered on product data, Product registration, and Sales
Order forms
Questions Requirements / Present situation Conclusions
Kind of data recorded/
captured when products are
purchased
- Unit cost and unit selling prices
- Quantity of products
- Total amount
- Total profits for a particular item
- Product type and manufacturer
- Need standardized calculation of
prices.
Kind of data to be captured for
products in new system
- Branding and Packaging information
- Changes in unit cost and selling prices
- Product size, type, durability, and expiry
date
- In addition to data captured in
current system, there is more data
to be included in the new system.
Use of sales order forms and
data captured on them
- Types of item
- Quantity of items
- Prices of items
- Total amount of items to purchase
- Incorporate sales order form in
new system.
Use of Sales order forms at the
time of purchasing
- Is needed for comparison in prices
- Is good in identifying cost prices
- Incorporate sales order form in
new system
6
Table 4.2 Requirements gathered on Supplier/ Vendor Information Management
Questions Requirements / Present situation Conclusions
Data captured on partner
/specific suppliers to the
company
- Supplier names
- Telephone contact
- Business / or physical location
- List of products available
- Payment terms
- Cost price of products
- To be captured in new system.
Challenges faced in capturing
supplier’s data
- Provision for changes in locations and
telephone contacts
- Suppliers not well established and can fall
any time
- To include provision for updating of
contacts.
- Need to deal with well established
suppliers
Incidences where Products are
supplied without immediate
payments
- Need to capture data on payment invoices
- Need to create fields for tracking
payments made on receipts paid in
installments.
- In addition to payment receipts,
need to include recording of
purchase days so that suppliers are
paid in time.
Company debtors from supply
of goods/products and tracking
their payments.
- Use of financial controller with help of
invoices and receipts
- Physicall visiting the suppliers
- Use of banking cheques and recording
payment dates, amounts paid, and
balances to clear.
- Need to incorporate such details
like records of bank cheques, in the
new system.
Information to be captured in
the new system about
suppliers
- Telephone contacts and physical
addresses.
- Tpes of products they deal in and mode
of payment.
- Updates in case of new products, Prices
and discounts to offer.
To capture all the mentioned
requirements in new system.
Table 4.3 Requirements gathered on Customer Information Management
Questions Requirements / Present situation Conclusions
Kind of data captured on
daily/royal customers
- Customer names
- Telephone contact
- Physical location
- Payment terms
- Customer identities
- To be captured in new system.
Any challenges faced in
capturing such information?
- Some customers give wrong information.
- Delays in payment by customers
- Some are reluctant to give their details
- Some change physical location without
communicating to the company.
- Need to verify customer
information before recording it
done.
- Only give debits to registered
customers or those with permanent
addresses.
Supplying to customers
without cash payments
- Prefer cash payments
- Only supply goods without cash to trusted
customers, and those known to the
company.
- Need to identify loyal customers
and those with permanent physical
addresses to supply without cash
payments.
Any procedures to track
customers who owe the
company?
- Visit their premises physically
- Make phone calls to remind customers of
their debts.
- Send text messages giving reminders.
- Negotiate dates for making payments
- Some customers sign agreements with the
- Would encourage cash payments
and only give credits to well known
customers.
7
company and specify when payments are
to be made.
In the new system, what
information would be
captured?
- Customer names
- Telephone contact
- Physical location
- Payment terms
- Customer identities
- Products they prefer, specifications, sizes,
colors, and makes e.g. England, China, or
Local items
- Compliments and complaints if any about
the products and services
To incorporate the mentioned
requirements in the new system.
Table 4.4 Information gathered on current system used
Questions Requirements / Present situation Conclusions
What activities/tasks are
performed by the staff in the
company?
- Purchasing items and organising for
selling prices
- Preparing and compiling reports
- Banking money e.g. profits
- Recording items sold, quantities, and their
prices
- Recording daily and weekly sales
-
Need to include tasks such as:
- Registering customers,
- Need to enter all data of company
stock into the database
- Need to record all reciepts
including invoices, checks’
transactions,
-All the above can be entered in the
new system on top of the activities
carried out in the old system.
Methods and tools used to
perform the daily tasks.
- Pens, pancils, rulers, record books, paper,
steppler, etc
- Computers with programs like;MsExcel,
Ms Word
- To introduce a computerized
information system that will
automate all these mentioned
methods and tools
Advantages/ strengths of
current methods used to
record daily tasks.
- Is used to calculate profits and losses
- It keeps company’s records
- Cheap method to use due to materials
used.
- There is always a hard copy of records - Is
used to show incomes and expenditures
- Need to introduce computerised
system to back up the current paper
based system.
Any challenges/weaknesses in
performing tasks using the
current system?
- Its time consuming and slow
- Uses so many papers and pens
- Not easy to track data for the old
customers
- Can easily have double counting of same
items
- System is prone to errors as staff do
calculates manually
- One easily runs out of paper, pen and no
nearby shop to buy such essentials
- Computer failures to print reports due to
viruses
- Water can easily destroy the paper work
and so means lossing everything
- Need to automate system so that
all the mentioned challenges are
minimised and safety of records
ensured.
Would you recommend a new
system for the company?
- Strongly recommend a new system
- Recommend a computerised system
- A new system that can store detailed
information
- Recommend a new system that is
fast, reliable, maintainable,
userfriendly, etc
8
Table 4.5 Requirements gathered for the new system
Questions Requirements / Present situation Conclusions
What functions would they
want to be seen in the new
system?
- One that is able to auto- calculate profits.
- One that can do stock taking/ stock
balancing
- Fast and efficient system that records
daily, weekly, and monthly records
- A system that is able to produce various
reports on request.
- To incorporate all the specified
requirements in the new system.
Information or data about the
items that would be captured
in the new system.
-Quantities purchased, lists of product
categories,
- Purchase orders and sales orders.
-Capture cost of purchases and sale.
-Printing of receipts.
-Recording customers and suppliers.
-All these will be incorporated into
the new system.
Anything not mentioned
above which the interviewees
would wish to add.
-Improved method of tracking the daily,
weekly, and monthly expenses of the
company.
-Request for user identification and
aunthetication before using the system.
-Request that a reliable system be
implemented so that they reduce on paper
work.
-Company staff are having great
expectat ions and look forward to
using the system.
Current roles at Segofer Technical Services Company
Table 4.6 showing the current roles at the company
Title of Personnel Roles performed
General Manager • Oversees all activities at the company that include; customer satisfaction,
products’ availability, supervision of staff, etc
• Looks for new clients
Company Secretary • Organizes meetings
• Prepares reports
• Does banking for the company
• Is concerned with staff welfare and renumerations
Salespersons • Is concerned with selling products/ items at the company
• Writes down items requested for by customers
• Fixes prices for purchased products/items
• Compiles daily and weekly reports of sales made
• Calculates profits accrued on the sale of products
• Carries out stocktaking
Purchasing Officer • Compile a list of products/ items to be purchased and doing the purchasing
• Prepare selling prices for the products
• Does selling of products when available at the company
• Assists in the stocktaking exercise
9
Description of current business processes at Segofer company
There were many different processes that were being carried out at Segofer company such as
the ones described below:
Recording purchases
When products come in, they are recorded in the acquisitions register with such details as; the
item name and type, quantity, cost price, selling price, and the projected profits for that item.
These records are later referred to when selling the item in case the salesperson is doubtful of
the selling prices. The same register would be useful when doing the stocktaking exercise
because it would give the quantities per item bought and what is remaining in the stock.
However, there is alot of duplication and data redudancy associated with it.
Registration of products, customers, and vendors
In this process, new products that have just been bought are recorded in a specially designed
register book, customers, and vendors are also registered especially their contacts both
telephone and physical, resulting in the fact that a certain product, customer, and vendor is
now recorded in the company books. However, this is prone to misplacement of such relevant
records, alot of paper is involved meaning wastage of storage space, and also retrieval of
records is time consuming.
Recording sales
After sales have been made, these are recorded on both a daily and weekly basis, they record
the item, quantity, cost and selling prices, and the profits accrued from the sales. The resulting
fact is that the selling transaction has been completed and the product is out of the stock
inventory. However, there is alot of writing involved thus time consuming and also storage
space for all such records could be a challenge.
10
Calculating profits
When products are sold, they are recorded in the sales book with details including the profits
accrued on each item sold. Later at the end of the day, the total profits are calculated and then
summed up at the end of the week or even end of the month. This transaction leads to a
resulting fact that total profits are recorded per item sold. Although this usually poses a
challenge of miscalculations of the profits thus giving wrong projections.
Stock control
For every business to realise its goals and objectives especially of making profits, there has to
be stock control otherwise it will either make losses or cheat customer into making abnormal
profits. In this process, the stock is calculated to balance the existing stock against the sales
records available. This process results in a fact that the company is able to know what is out
of stock or over stocked so that important decisions can be made while purchasing other
products. However, this process can easily mislead decision makers when double entries were
made at registering the products or when duplicate records occur.
Current Information Technology infrastructure
Currently the IT infrastrusture at Segofer is inadequate with only three computers which are
not networked and are being used for general typing that is Ms Word and Ms Excel. These
packages are used for typing out documents and compiling daily sales and reports
respectively. However, one computer is connected to the Internet using a Modem and files
can only be shared if they were saved on the mail service. There is also a printer that is
connected to one computer which is used to print reports, minutes, Ms Excel templates, and
so on. However, the existing network does not serve current needs of the company because
there is no simultaneous sharing of data, auto generation of profits and/or reports, no existing
database of products, and thus offering no control of company stock.
13
New Roles at Segofer Technical Services Company
Table 4.7 Showing new roles at Segofer Company
Title Description of Roles
IT/IS Supervisor • Oversee implementation, maintenance and use of SAIMS and its IT infrastructures. • Overall supervision of IT personnel and enhancing new technology. • Make recommendations, develop and maintain policies and procedures concerning
the IT infrastructure. • Ensure annual disaster recovery, testing, and backing up of the company database.
•
Database Administrator
• Develop and design the database. • Assigning user access levels to the staff of the company. • Monitoring and improving database performance and capacity. • Install security features to safeguard the database. • Ensure database accessibility.
• Design the graphical user interfaces and links of SAIMS to the database • Design the database schema and create any necessary database • Backup and recovery of database • Install and configure software
New Business Processes
Creating product categories
The new process of creating categories of products at the time of registration is the first step
in recording products and involves the creation of these categories. Steps include; filling in a
category, the system autogenerated the category ID, specifying the name of the item, and
including some comments on that item. These categories will later be used in the process of
registering new products and also when updating the stock that is only the quantities will be
changed to reflect the new products purchased and may be the Manufacturers if they differ.
Registration of products
The new process of registering products will involve; having major categories of products
listed and then different types, specifications, etc of that category being registered under it so
that when new products come in, the product is already in the database and details such as
quantity, will be updated and if there is any new changes to the product, this will be the same
page to be used to update the information.
14
Registering system users
In this new business process, system users are categorised into three groups that is
administrators, salespersons, and the company customers. These will have separate roles with
the system that is the Administrators will have the right to register the salespersons who will
later be responsible for registering customers. The Administrators will view various reports
that is available stock, sales made, and the loyal customers for the company. They will add,
update, and search items, categories, and the Salespersons. On the other hand the customers
will view their details, and access a link that will enable them with the assistance of
Salespersons fill in the purchase order forms so that the company can purchase products that
they desire and could be currently out of stock.
Recording sales
In the new business processes, sales are recorded as the selling business goes on that is once
the item is bought, the details of the item are recorded such as the purchase and selling price,
quantity bought, total cost of items, etc. At the end of the day, the system should be able to
show a full list of items sold and the total sales and profits for the day. The system then
generates a report upon request from authorised users.
Calculating profits
This business process involves filling in the purchase and selling prices, the quantities, and
using this basic information and instructions picked from code written by the programmer, the
system is able to auto-calculate the profits accrued after the sale of items and the projected
profits for the available stock.
Stock control
The ultimate reason for stock controlling is to enable the company hold just enough to meet
the customer’s demand, while avoiding over costly overstocking. At Segofer Technical
Services company, with the new automated inventory system, after feeding in items and their
15
quantities, at the time of selling, the system will automatically deduct the item from the main
stock and show the remaining stock. If the users want to look at the available stock, the
system is able to provide a report of items, the original stock and the available stock.
Shopping (Selling Products)
In this new business process, the Salesperson identifies the customer and selects the shopping
option which takes them to the products available for shopping. Here the Salesperson feeds in
the quantities to be sold per item/product while adding them on to the cart. After identifying
all that is to be sold to a particular customer, the system should have calculated the total cost
to be paid. The customer is given the receipt with the bill to be paid .
Business Transactions List
Analysizing the business system begun with identifying the main business transactions and
their resulting facts from the business processes. There were seven (7) major transactions
identified from the processes and these are summarised in the table below:
Table 4.8 showing the Business Transactions List
Transaction Type Resulting Facts
T1 Creating Category Category C(ID P, Category C, Category Name O, Comments) created
T2 Product registration Product X(ID P, Salesperson S, Quantity Q, Registration date D)
registered
T3 Creating purchase order Product X(ID P, Salesperson S, Details T) created
T4 Customer registration Customer C(Customer name N, Administrator A, Details T,
registration date D) customer registered
T5 Selling products Salesperson S(Customer name N, Product X, Salesperson S, Quantity
Q) Product sold
T6 Sales recording Product X (Sales E, Quantity Q, Selling price R, Sales date D, Total
cost L) is recorded
T7 Calculating profits Product X (Purchasing price U, Selling price R, Quantity Q, Sales date
D) is calculated
16
T8 Stock control Product X (ID P, Details T, Quantity In Q, Quantity Out O, Salesperson
S, ) stock is controlled
Coordination Model of the Company
Figure 4.3 showing the Coordination Model
17
4.5 Business Process Model for the Segofer Automated Inventory
Management System
Figure 4.3.1 Business Process Models
Business Process 1
T1: Category creation
O E R
T2: Product registration
O E R
T3: Order creation
O E R
T4: Order processing
O E R
Business Process 2
T5: Customer registration
O E R
T6: Order processing
O R
19
New Process Flow for Segofer Automated Inventory Management System
Figure 4.4 Process Flow of the SAIMS
20
4.6 Security Requirements
The network was designed to ensure installation of a number of security features such as;
� Provide both user and administrative secure computer services to Segofer company
and was also specifically designed to be physically and functionally inaccessible by
outsiders to reduce on the risk of unauthorised access.
� A firewall was installed to minimise unauthorised access.
� All system users were assigned usernames and passwords that would give limited
access.
� All system users will be classified and given priority levels that is some will be given
top priority (have access to all data), medium priority (for administrators), and low
priority (view records but cannot alter anything).
Figure 4.5 Showing the Proposed high-level Network Diagram for Segofer Technical
Services Company
21
4.7 UML Use-case Diagrams for the SAIMS
The Use-Case diagrams are the system views describing the behavior as described by the
users. The Use-Cases are divided into two categories; the detailed roles of each user and the
general outlook of the entire SAIMS.
Figure 4.6.1 Use-case Diagram for the Executive Director
Actor: Executive Director
Description:
� Use-case begins when data is uploaded into the system.
� The system allows for the Executive Director to view and edit reports.
� The Executive Director after reviewing reports, sends them back to Company secretary for
correction.
� Makes important decisions on behalf of the company.
� The Executive Director submits the final reports to the company stakeholders for decision-
making.
22
Figure 4.6.2 Use-case Diagram for the General Manger
Actor: General Manager
Description:
� He generates and reviews reports.
� Identifies products that are reducing in stock so as to make arrangements for new purchases.
� The General Manager registers new customers into the system.
23
Figure 4.7.3 Use-Case diagram for the Company Secretary
Actor: Company Secretary
Description:
� The Company secretary prepares and compiles sales reports on a weekly and monthly basis.
� Communicates meetings, and writes minutes.
� The Company secretary prepares reports, does editing, and submits them to the Executive
Director and General Manager.
� Ensures customers are registered and given access rights.
24
Figure 4.7.4 Use-Case diagram for Salesperson
Actor: Salesperson
Description:
� The Salesperson registers products/items into the database.
� Recording daily and weekly sales in the database.
� Registering customers giving them access rights.
� Recording purchase orders, and corresponding receipts.
� Compiling sales order items for payments.
� Liaises with purchasing officer to ensure prices are determined for the products to be sold.
� Carries out and verifies available stock at regulated intervals.
25
Figure 4.7.5 Use-Case diagram for the Inventory Manager
Actor: Inventory Manager
Description
� Monitor stoci in and stock out and ensures products on high demand are available.
� Determines the selling prices of products/ items.
� Purchases products for the company.
� Views reports especially stock and sales reports and compares with the actual inventory.
� Assists in the stocktaking and verification exercise whenever necessary.
� Can view purchase orders made and make follow-ups of the same.
26
Figure 4.7.6 Use-Case diagram for Information Technology Supervisor
Actor: IT/IS Supervisor
Description
� Oversee the maintenance of the new system..
� Trains staff in the use of the new system.
� Backs up company database.
27
Figure 4.7.7 Use-Case diagram for Database Administrator
Actor: Database Administrator
Description
• Develop and design the database.
• Assign user access levels to the staff.
• Monitor and improve database performance and capacity.
• Install security features to safeguard the database.
• Ensure database accessibility
29
Class Diagram for Segofer Automated Inventory Management System
Class diagrams were used to describe the static nature/ structure of the SAIMS. These
diagrams included the conceptual and specification class diagrams.
Conceptual and specification Class Diagrams
The conceptual diagrams depicts the core business entities and the relationships between them
that are of interest to the company (Figure 4.9). This conceptual class diagram was further
used to come up with the specification class diagram (Figure 4.10) which had entities and
their attributes.
Figure 4.9 Showing the Conceptual Class Diagram for SAIMS
Administrator
- Add Users ()- View Sales ()- View Stock ()- View Reports ()- Analyze Reports ()
Category
- Enter Category ()- Generate Category Id ()- Enter Comments ()
Products
- Register Products ()- Make purchase order ()- Edit Products ()
Purchase orders
- Request order ()- Fill details ()- Follow requests ()
1..11..1 1..*
Customer
- Register customer ()- Shop items ()- Request purchase order ()
1..*
1..*
1..1
1..1
0..*
1..11..*
31
Activity Diagram for the SAIMS
The activity diagram was used to describe the business and its operational step-by-step
workflows of components in the SAIMS. It was also used to show the overall flow of control
of the SAIMS.
Figure 4.11 Showing the Activity Diagram for SAIMS
32
Conceptual Data Model
The conceptual data model (Figure 4.12) was used to show the relationships between the
proposed entities in the SAIMS. This would later provide a sketch of what would be used in
the design phase to come up with the actual Entity Relationship Diagram.
Figure 4.12 showing the Conceptual Data Model for SAIMS
4.8 User Requirements
The process of planning, analyzing, designing and implemening the SAIMS consisted of steps
that included: gathering requirements that described the functional, non-functional, and data
33
requirements obtained from the information collected using the data collection instruments.
Below are the requirements identified for the system.
4.8.1 Functional Requirements
The system was designed to provide and carry out the following functions to its users:
� The system should be able to register all products in the company.
� The system should be able to list products/items being purchased by a customer and
compute their total costs.
� The system should have login functionality that will allow users authorized access.
� The system should be able to allow the authorized users to update, search, insert,
delete, and manipulate records in the database.
� The system should be able to record sales and purchases made per day and also avail
such information on regulated time intervals.
� The system should be able to auto-calculate profits accrued from the sale of products.
� The system should be able to show the current/available stock when such information
is required from it.
� The system should be able to auto-generate all Identity numbers on registering the
different entities for example the category ID, product ID, user ID, customer ID, etc.
4.8.2 Non-Functional Requirements
While many of these requirements were not among the core functionality to emphasize, these
requirements were nonetheless included in designing the system. The non-functional
requirements have a significant effect on the capability of the system in terms of scalability,
reliability, security, flexibility, manageable, and usability. This can be further explained
below:
34
Scalability
The system should allow or accomadate concurrent usage. That is the system should have the
potential to accomodate atleast ten (10) users and the technology should be able to advance to
newer versions or upgrade to modified versions that may be new on the market.
Reliability
The system should be able to store large amounts of data and it should have minimal
breakdown and if at all it occurs, the system users should be able to put it right without calling
for external support. This has been achieved by designing a MySQL database which is able to
hold large amounts of data.
Security
The security functionality that is emphasis to login using assigned details has been achieved
in that the system is able to validate the username and password and if such information is
wrong, them the system denies further access and requests for another login attempt.
Flexibility
The system has been designed to be platform independent. Using PHP an HTML-embedded
script programming language, enabled the research achieve this functionality because this
programming language is used on various operating systems including the most common;
Linux and Windows.
Manageable
The system will not require many IT/IS specialists to maintain it rather it has been designed
and its users trained on the basic maintenance that it may require. Such basic information
included a well documented manual on system installation and maintenance that has been
written, and one user was identified and taken through the system design and maintenance
such that when need arises, there is a first hand contact.
35
Usability
The system was designed using PHP with HTML embedded within which is good in
designing user-friendly interfaces that are easy to understand and use.
4.8.3 Data requirements
These were defined for purposes such as organizing, storage, and protection of company data,
ensuring quality of data, and data being used for important business decision-making, and
reporting. These are further explained below:
Data storage
The system should be able to handle large volumes of company data and also accomodate a
big number of users while maintaining the normal operating speed.
Data Security
The system should be secure from unauthorised access and also ensure security of its data.
Data Quality
The system should ensure that data quality is maintained.
Data Transfer
The system should allow for easy transfer of data or movement of data between its different
users.
Data Accurancy and Usage
The system should ensure data is accurate, available and refered to when making important
company decisions.
Key Assumptions
• Availability of support from the designer and the training team.
• Availability of at least an IT administrator and one database designer spending alot of
time (80%) during the implementation, setup, configuration and training.
• Availability of trusted servers and a LAN for development, testing and deployment.
36
• The company will work closely with the implementation team to ensure proper
functionality of the system.
• Ensure that the right business processes are properly defined and understood.
• The system functionality mentioned but not completed will be defined, contained, and
managed.
Risk Assessment
1. Lack of resources especially for the required IT infrastructure.
2. Inability of the company to employ on full time the IT personnel needed to implement the
SAIMS system.
4.9 CONCLUSION
This chapter described the scope of the new automated inventory management system, the
process of determining and analyzing the gathered requirements, the business process
reengineering using DEMO, designing models that would be used, the suggested/proposed
Network diagram, determining the actors using use-cases, restructuring the organization’s
organogram, and business processes, Information System’s modeling using UML, functional,
non- functional and data requirements all as inputs for the next phase which is the systems
design.
37
CHAPTER FIVE
SYSTEM DESIGN
5.1 INTRODUCTION
This chapter is basically providing the solutions to the problems identified during the previous
phase and provides detailed system specifications and the acquisition plan for the proposed
technology to be used. The models designed in the analysis phase are used to build the
different designs that is the functional design, logical design, physical design, software
specification, network model, user interface, and report templates that were used in the
implementation of the SAIMS.
5.2 Requirements Design
5.2.1 Functional Design
� There should be a process that enables the registration of all products in the company.
� There should be a process that enables the generation of a list of products/items being
purchased by a customer and compute their total costs.
� There should be a process to ensure proper functioning of the login functionality that
will allow users authorized access.
� There should be a process that enables the authorized users to update records in the
database.
� There should be a process that enables the authorised users to perform other functions
such as search, insert, delete, and manipulate records in the database.
� There should be a process that enables the recording of sales and purchases made per
day and also a process to enable the display of such information on regulated time
intervals.
38
� There should be a process that enables the auto-calculation of profits accrued from the
sale of products.
� There should be a process that allows the display of the current/available stock when
such information is required from it.
� There should be a process to allow users to track the most sold products/items so that
decision can be made accordingly when purchasing.
� There should a process that enables the system to auto-generate all Identity numbers
on registering the different entities for example the category ID, product ID, user ID,
customer ID, etc.
� There should be a process to store and retrieve all reports in the system.
� There should be a process to report results in a format that best suits the users.
� There should be a process that supports searching and editing of system users.
5.2.2 Non-Functional Design
� There should be a process that allows a total number of ten users to use the system at
the same time.
� There should be a process that allows the system to upgrade from old to new/updated
software versions.
� There should be a process that enables the system to run with minimal breakdown and
failures.
� There should be a process that protects the system from virus attacks and unauthorised
access.
� There should be a process that enables the system to run on different operating
systems.
39
� There should be a process that enables the system to be user-friendly and easy to learn.
5.2.3 Data Design
� There should be a process that allows the system to handle large volumes of data.
� There should be a process that ensures maintenance of data quality and integrity.
� There should be a process that allows east transfer and movement of data between
different users.
� There should be a process that ensures data accurancy and availability for reference
purposes.
5.3 Database Design
5.3.1 Logical Database Design
In the lists below, the entities and thier attributes are defined together with the primary key
fully underlined and the foreign key with a dotted underlining.
Category (category ID, date, category name, comment)
Administrator/Users (date, fname, lname, gender, date of birth, email, physical address, telephone
address, username, password)
Products (date, category name, item ID, item name, quantity, purchase price, sales price,
manufacturer, physical address, telephone address)
Customer(date, customer_ID, fname, lname, gender, email, physical address, telephone address, )
Purchase Order (id, order ID, order name, quantity, order date, due date, manufacturer, salesperson,
customer, status)
5.3.2 Entity Relationship Diagram
The entity relationship diagram was used to graphically illustrate the relationships between
entities in the database. The entities were picked from the conceptual data model described in
40
the previous chapter. The Entity Relationship Diagram as shown in Figure 12 below was also
used to model what was later used to create the database.
Figure 5.1 showing the Entity Relationship Diagram
5.3.3 Physical Database Design
As earlier specified in the previous chapters, in this Inventory Management System the research used
MySQL for data storage. MySQL is a Relational Database Management System (RDBMS) that uses
SQL statements to send requests between a client and the server. Below is the query that was used to
build the database and the tables for the SAIMS and the data dictionary.
Creating the Database
CREATE DATABASE cartz
USE cartz
41
Table structure for table ‘cartz_category’
CREATE TABLE `cartz_category` (
`cat_id` int(11) NOT NULL auto_increment,
`cat_name` varchar(25) default NULL,
`cat_comment` text,
`cat_date` date default NULL,
PRIMARY KEY (`cat_id`));
Table structure for table ‘cartz_items’
CREATE TABLE `cartz_items` (
`id` int(11) NOT NULL auto_increment,
`id_item` varchar(25) default NULL,
`itname` varchar(25) default NULL,
`cat_id` varchar(25) default NULL,
`qty` int(11) default NULL,
`sold_qty` double default NULL,
`cost` double default NULL,
`itdate` date default NULL,
`manufacturer` varchar(25) default NULL,
`sales_per` varchar(50) default NULL,
`address` varchar(50) default NULL,
`telephone` varchar(50) default NULL,
`itsale` double default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
42
Table structure for table ‘cartz_user’
CREATE TABLE `cartz_user` (
`id` int(11) NOT NULL auto_increment,
`fname` varchar(25) default NULL,
`lname` varchar(25) default NULL,
`Attname` varchar(25) default NULL,
`dob` date default NULL,
`gender` varchar(7) default NULL,
`email` varchar(50) default NULL,
`tel` varchar(25) default NULL,
`address` varchar(30) default NULL,
`user_level` varchar(25) default NULL,
`password` varchar(25) default NULL,
`udate` date default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Table structure for table ‘customers’
CREATE TABLE `customers` (
`id` int(11) NOT NULL auto_increment,
`cus_id` int(11) default NULL,
`fname` varchar(25) default NULL,
`lname` varchar(25) default NULL,
`gender` varchar(7) default NULL,
`email` varchar(50) default NULL,
`tel` varchar(25) default NULL,
`address` varchar(30) default NULL,
43
`cdate` date default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Table structure for table ‘cartz_order’
CREATE TABLE `cartz_orders` (
`id` int(11) NOT NULL auto_increment,
`ord_id` varchar(25) default NULL,
`ordname` varchar(25) default NULL,
`qty` int(11) default NULL,
`orddate` date default NULL,
`manufacturer` varchar(25) default NULL,
`sales_per` varchar(50) default NULL,
`customer` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
5.3.4 Data Dictionary for the SAIMS
Table 5.1 Showing data for the Cartz_category
Field Data Type Description NULL Key Default Extra
Cat_id int(11) Category ID NO PRI NULL auto_increment
Cat_name varchar(25) Category Name YES NULL
Cat_comment text Category comment YES NULL
Cat_date date Category date YES NULL
Table 5.2 Showing data for the Cartz_items
Field Data Type Description NULL Key Default Extra
id int(11) Item NO PRI NULL auto_increment
id_item varchar(25) Item ID YES NULL
itname varchar(25) Item Name YES NULL
cat_id varchar(25) Category ID YES NULL
qty int(11) Quantity YES NULL
sold_qty double Quantity sold YES NULL
cost double Cost YES NULL
44
itdate date Item date YES NULL
manufacturer varchar(25) Manufacturer YES NULL
sales_per varchar(50) Sales person YES NULL
address varchar(50) Address YES NULL
telephone varchar(50) Telephone Address YES NULL
itsale double Item YES NULL
Table 5.3 showing data for the Cartz_user
Field Data Type Description NULL Key Default Extra id int(11) User ID NO PRI NULL auto_increment fname varchar(25) First Name YES NULL lname varchar(25) Last Name YES NULL Attname varchar(25) Attention Name YES NULL dob date Date of Birth YES NULL gender varchar(7) Gender YES NULL Email varchar(50) Email Address YES NULL tel varchar(25) Telephone YES NULL address varchar(30) Address YES NULL user_level varchar(25) User_level YES NULL Password varchar(25) Password YES NULL udate date Registration Date YES NULL
Table 5.4 Showing data for the customers
Field Data Type Description NULL Key Default Extra
Id int(11) Customer ID NO PRI NULL auto_increment
cus_id int(11) Customer ID YES NULL
fname varchar(25) First Name YES NULL
lname varchar(25) Last Name YES NULL
gender varchar(7) Gender YES NULL
email varchar(50) Email Address YES NULL
tel varchar(25) Telephone YES NULL
address varchar(30) Address YES NULL
cdate date Registration Date YES NULL
Table 5.5 Showing data for the cartz_order
Field Data Type Description NULL Key Default Extra
id int(11) ID NO PRI NULL auto_increment
ord_id varchar(25) Purchase order ID YES NULL
ordname varchar(25) Order Name YES NULL
qty int(11) Quantity YES NULL
orddate date Order date YES NULL
duedate date Due date YES NULL
manufacturer varchar(25) Manufacturer YES NULL
sales_per varchar(50) Sales person YES NULL
customer varchar(50) Customer Name YES NULL
status varchar(20) Status YES NULL
45
Data access methods
The script below has the function that connects to the database.
<?php
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'cartz';
$connection = mysql_connect($server, $username, $password, $database) or
die('Cannot connect to the database');
?>
5.4 User Interface Design
The user interfaces were developed through successive iterations of the prototyping model.
The screens were designed using Microsoft Office Visio 2003 to come up with prototypes
based on the requirements collected from the potential SAIMS users (figures ). Once the user
interface was agreed upon, the system was developed using PHP as the web development tool
and MYSQL as the Relational Database Management System.
Log on Interfaces
This will be the initial interface that the users will use to log into the SAIMS. The prototype
shows the interface for the Administrator log in and the other users (sales persons) log in.
These are distinguished using the access levels that were assigned by the system designer.
46
Figure 5.2 Showing the Log on Interface
Administrator Interface
The Administrator interface has various links including system user registration, viewing of
various reports, adding categories of products, and adding items/products to the various
categories. The Administrator alone has the right to add salespersons who also have other
specified rights. The figure below shows the Administrator’s interface and what he/she is able
to do with the system.
Figure 5.3 Showing the Administrator Interface
47
The System User Interface
This interface shows the rights the salespersons have with the system. They basically add categories,
customers, add and view items/products, and view loyal customers.
Figure 5.4 Showing the Salesperson Interface
Category Registration Interface
The category registration interface is part of the registration process. The form template below
(figure 5.5) shows the required information for registering categories of the items/products
sold by the company.
Figiure 5.5 Showing the Registration of Item Categories
48
User Registration Interface
The user registration interface should only be accessible to specified users who will be
responsible for registering users that is the salesperson. The form template below (Figure 5.6)
shows the required entry fields.
Figure 5.6 Showing the Interface for User Registration
Item/Product Registration Interface
The item/product registration interface should be accessible to both the Administrator and
other specified users who will be responsible for registering items/products in the database.
The form template below (Figure 5.7) shows the required entry fields.
Figure 5.7 Showing the Item/Product Registration Interface
49
Customer Registration Interface
The customer registration interface should be accessible to the specified users (Salesperson)
who will be responsible for registering customers in the database. The form template below
(Figure 5.8) shows the required entry fields.
Figure 5.8 Showing the Customer Registration Interface
5.5 Reports Designs
Various report templates were designed to determine the report formats the SAIMS is
expected to generate and below are some of the reports.
Available Stock Report
This report will be accessible to specified system users that is the Administrators. This report
is generated by the Administrator to show the available stock, total costs and the projected
profits . Below (Figure 5.9) is a sample of the report for available.
50
Figure 5.9 Showing a report of the available stock
Segofer Automated Inventory Management System
Estimated Profits in stock in store as at 2011-09-05
Sales Report
This report is also only accessible to the Administrator and it shows the sales that have been
made and the total costs and accrued profits from the sales.
Figure 5.10 Showing the Sales Report
Segofer Automated Inventory Management System
Estimated Profits in Sales as at 2011-09-05
ID Name QTY Rate Total
Switches-7230 One-Way Gang 35 3500 122500
Switches-8908 Two-way Gang 50 4000 200000
Extensions-2111 Many 10 25000 250000
Bulbs-6679 200 Watts 40 4000 160000
Bulbs-1518 Ordinary bulbs 81 1200 97200
Cables-1854 2.5mm 70 2200 154000
Total 1499700
Total Costs 1001300
Estimated Profits 498400
Home
ID Name QTY Rate Total
Switches-7230 One-Way Gang 10 3500 35000
Switches-8908 Two-way Gang 0 4000 0
Extensions-2111 Many 5 25000 125000
Bulbs-6679 200 Watts 10 4000 40000
Cables-1854 2.5mm 10 2200 22000
Cables-5070 1.5mm 5 2000 10000
Total Sales 228000
Total Costs 1001300
Estimated Profits 498400
Home
LOGO
Greeting!
Name, You are logged in as as
Administrator
Date: 05-09-2011
Logout
LOGO
Greeting!
Name, You are logged in as as
Administrator
Date: 05-09-2011
Logout
51
5.6 Operating System
The SAIMS uses established and non-proprietary computer operating systems for both clients
and servers. The operating system recommended for SAIMS as the client personal computers
were the recent versions of Microsoft Windows for PCs.
Network Model
Hardware
In addition to the hardware already in place, additional computers that will be used for the
smooth operation of SAIMS, and networked printers will be required. For the efficient
operation of the SAIMS and running of the company, Universal Power Supply units for each
of the equipment, backup hard disks and CDs, high-speed internet connectivity, Firewall
System to block spam, computer viruses and unwanted websites, and Servers for providing
storage and back-end services will be at the Company. An upgraded LAN (Figure 5.14)
should also be in place to support the entire IT infrastructure. Servers required include:
• Email Server: For hosting email server software for local email hosting.
• Web Server: For hosting web services.
• File Server: For hosting home folders for all actors and file sharing services.
• Application and Database server: For hosting the database and server end applications.
52
Figure 5.14 Showing the Proposed Network Sub-Diagram for SAIMS
5.7 Program Design
Pseudocode
The pseudocode was used to represent the instructions of some sections in the SAIMS. The
pseudocode algorithms provided the blueprint for programming of the entire system. The
pseudocode below shows the Log in process and restriction to the SAIMS based on user roles
or access levels as assigned by the system programmer.
Pseudo Code for accessing the SAIMS
<?php
make connection to database
53
if form submitted then
check if form entries are not empty
if form entries are empty
re-direct user to login form and show failure message
else
query database for these entries
while recordset is not empty
link user_level, first name, last name to session variables
re-direct the user to the required page
if recordset is empty
re-direct user to login form and show failure message
?>
5.8 Security Design
This section involved an overview and discussion of the security features that were embedded
into the system when implementing it. The following security features were considered while
implementing the system:
User Authentication: Every user registered into the system was assigned a username and
password to protect the system against non-authenticated users from accessing it.
User Authorization: Different system users were granted different priviledges, and would
perform differing functionalities with the system. They will have different interfaces with
differing features.
Network configuration: A firewall was installed to protect the server from unwanted spam,
and websites that would attack the system from the internet.
54
Virus Protection: Antivirus software was installed on all computers to provide regulated
scanning of the system.
5.9 Conclusion
This chapter described the detailed specifications of the system elements of the SAIMS, based
on the functional, logical, physical, network and program designs. An Entity Relationship
Diagram was drawn; data dictionary established from the physical design, as well as the User
interface design and report templates. The designs provided inputs for the actual
implementation, which was the last phase of the project.
55
CHAPTER SIX
SYSTEM IMPLEMENTATION
6.1 INTRODUCTION
This chapter describes how the SAIMS will be deployed, tested, installed, and ensure its
transition into an operational system using the models described in the previous chapters. By
converting the physical system specifications into a working and reliable system and
documenting the work that has been implemented, help was provided to the current and future
system users. The system designs were translated into code and the physical realization of the
database and the application designs to interface the user with the database was completed.
Other things included in this chapter are the overall implementation plan, the code used, the
user guide, training plan, and the maintenance plan of the system. The deliverables or outputs
included a user’s manual, training plan, implementation plan, and the actual working system
(SAIMS).
6.2 Implementation Plan
The implementation plan involved a plan of the major activities required to install both the
hardware and software of the system. It should however be noted that the training,
deployment, support and maintenance of the SAIMS was beyond the scope of this project. So,
the above have not been included in this project.
56
Table 6.1 Shows the Implementation Plan of the SAIMS
Activity Deliverables Tools Coding - Implement components of system design
- Connect the user interfaces to the database PHP, MySQL, Macromedia Dreamweaver 8
Testing Implement the test plan - Review of code for error correction - System review - Security testing, authentication
PHP, MySQL, Macromedia Dreamweaver 8, Ms Word
Installation plan Hardware installation - Installing new hardware & upgrading others - Backup and Recovery plan Software installation - Installation of Dreamweaver version - Installation of PHP and MySQL - Installation of WampServer 2.0 - Installation documentation (Procedures)
Network Servers, Installation CDs, Ms Word, PHP scripts for migration, Hard drives
Documentation - System documentation -
Ms Word, NotePad
Training plan - User training manuals - Technical reference guide
Ms Word, Ms PowerPoint, CDs
Support plan - Online Help - Help Desk and use of Emails
Emails, Phones
Security plan - Authentication and Authorization - Firewall - Router
Security Gateway
Maintenance plan - Gathering requests - Implementing changes - Documenting changes
Email, Help Desk, Hardware upgrades
Project Evaluation plan
- New features to be added to the system - Documentation of system successes and failures - Final report
Ms Word
6.3 Coding
In this activity, the physical design specifications and models designed in the previous chapter are
converted into working computer code.
6.3.1 User Interfaces
PHP was the main programming language used in developing the user interfaces and connecting to
the interfaces to the database. The PHP was embedded in HTML to enhance desirable interfaces.
Macromedia Dreamweaver version 8.0 was the web page program editor used for coding and de-
bugging the PHP functions. The front end was built using PHP and also used to connect the interfaces
57
to the backend. Java script was used for validating all data to be fed into the different forms.
Database Implementation
The database management system was designed using MySQL and a script was run to build the database,
the necessary tables, the relationships between those tables, and their constraints as depicted in the
systems’ design phase. The primary keys were identified in all tables, the relationship between the
primary keys and foreign keys of the different tables which were useful in linking the related tables. The
database system was built basing on the Entity Relationship Diagram created in the system design phase.
In order to test the database integrity, the database was populated with data by the developer to ensure that
whenever certain queries were run, the results produced matched those expected. Attempts were also
made to enter erroneous data into the database to ensure that the correct data types were recognized.
PHP files
The PHP files are all located in the default folder C:\wamp\www\arc while the SAIMS program files are
located in the C:\wamp\www\arc\Admin. Sample code of the various files is in the appendix.
Index.php
This script is the home or welcome page of the SAIMS and PHP by default looks at this filename as the
home. Running the index.php (http://localhost/arc/admin/index.php) automatically starts up the home
page as shown below.
58
Figure 6.1 showing the index.php page
admin.php
This script is used for the log in of the administrator, it queries the database and authenticates the log in
request. While at the index.php page, the administrator signs in using the assigned details and the figure
below shows the admin.php page (http://localhost/arc/admin/admin.php)
Figure 6.2 showing the admin.php page
59
admin2.php
This script is used to query the database and authenticate the log in of the salesperson. It is also used to
display the different functions that the salesperson is able to do with the system. Running the admin2.php
link will display the page shown below.
Figure 6.3 showing the login page for the salesperson
cat.php
This script is used to query the database and authenticate the salesperson to register categories of products
into the database. The link (http://localhost/arc/admin/cat.php) will open the page displayed below
Figure 6.6 showing the category registration interface
60
usr.php
This script is used to query the database and allow the administrator to register system users
(salespersons) and assign them login details. The figure below shows the user registration interface.
Figure 6.4 showing the interface for user registration
item.php
This script is used to query the database and allow the administrator add items to the categories described
in the database. The figure below shows the interface for registration of items/products.
Figure 6.5 showing the product registration interface
61
usr.php
This is a script that is used to query the database and authenticate it to display a page to register customers
into the system. The link (http://localhost/arc/sales/usr.php) displays the interface for customer
registration.
Figure 6.7 showing the customer registration interface
6.3.2 Report Interface
report.php
This script is used to query the database and allow the administrator view a report of available stock and
the projected profits expected from the sales of that stock.
62
Figure 6.8 showing the report interface for dispalying the available stock
report2.php
This script is used to query the database and allow the administrator to view reports of the
transactions made by a particular salesperson and the total amounts they have sold.
Figure 6.9 Showing the report interface for sales
63
6.4 System Installation
This activity will involve the transition from the old system (manual system) to the new system
(SAIMS). It is however advisable to have both systems running at the same time until management of
the company decides the old system can be completely stut down. The advantage for having both
systems running at the same time is that in case the new system runs into problems, there is a back up
to fall back to so that data is not lost.
However, the challenge of running both systems is that there will be need for double work for those
users involved in both systems. This is because the same data will be fed into both systems and both
systems will need support services.
6.5 User Guide
Installing the SAIMS
One is required to follow the instruction/or procedures as shown in the installation above for
Macromedia Dreamweaver and Wamp5 Server. The installation of the above enables the system to
have PHP and MyQSL installed in the directory; C:\Wamp directory and all other program files.
Running the SAIMS Project
1. Copy the folder containing the project and paste it in the folder named www directory found
in WampServer. This is the default publishing folder i.e. C:\Wamp\www for all systems
installed using WampServer 2.0.
2. Once the project files are pasted into the www directory, open the folder that is in there which
contains the project files.
3. Go to the WampServer start icon and select the MySQL Console folder, this will take you to a
page C:\wamp\bin\mysql\mysql5.0.45\bin\mysql.exe. This is where you will use the database
named “cartz”.
4. After identifying the database, go back to the WampServer start icon, click on localhost which
64
will take you to http://localhost, scroll down under Your Projects and click on a folder arc.
5. Clicking this folder will take you to the systems Homepage with a url: http://localhost/arc/
The default access details of the system administrator are:
Username: i.nakayenga
Password: yahoo
This System Administrator can then create other system users and assign them access details.
6.6 System Evaluation
The evaluation design looked at thcvxcv xe strengths and weaknesses of the system in terms of the
functional, non-functional and seurity requirements that it was and was not able to achieve. These are
further discussed below;
Strengths
o The system is able to inform/ highlight the user about items that are out of stock. Here at the
page where the salesperson picks items for sale, if the item is out of stock, it indicates ‘out of
stock’.
o The system allows users especially the salespersons to track the status of purchase orders
made; that is what purchase order came in first and if it has been followed or is still pending.
o The system is able to deny access if the user logs in using wrong information in the form of
usernames and passwords. This is good because it helps protect the system’s information
from unauthorized persons.
o The system was designed with user-friendly interfaces and is easy to understand, use, and the
research was able to come up with user training manuals that make the system even much
more easier to use.
65
o The system was designed to run on platform independent PCs that is it can run on both
Windows and Linux operating systems.
Weaknesses
o When deleting a record, the system does not ask for confirmation or whether you are sure you
want to delete the record. Sometimes when asked to confirm, one is able to think twice about
the action he/or she is about to make. This is necessary to avoid unforecasted actions.
o The auto-generated Identity Numbers for products, customers, purchase orders, and categories
are not sequential or are not following each other and so are not easy to track in case there is
need to do so.
o The system does not have pre-entered data for example data having selections to pick from
drop-down menus which if available makes data entry and manipulation more easy,
convinient, and less time consuming.
o When displaying information concerning the customer, some vital information is left out such
as the contact information yet it would be proper to have such information retrieved easily
from the database.
SAIMS Functionalities
Category Registration; - Register category names for products/items and comments into the system
to create groupings of the products based on types, specifications, manufacturer, etc of the same
products such as Single , double sockets etc.
Product/item Registration; - Register products as they come in after purchses by recording their
details such as Item ID (autogenerated), Item Name, Quantity, Purchase price, Sales price,
Manufacturer, Physical Address, and Telephone Address.
66
User Registration; - The Administrator has the responsibility of adding new users that is
salespersons into the system and assign them usernames and passwords. These Salespersons later
register the customers and assist them fill in purchase orders.
Reports; - Reports such as sales reports, sales per Salesperson reports, purchase order reports, loyal
customers, stock brief, etc are generated for statistics, analysis, and decision-making.
6.7 CONCLUSION
In this chapter, the detailed implementation plan was clearly laid out which included designing a user
manual for new and old SAIMS users. Also included in this chapter were system coding, system
testing, the installation plan, training plan, documentations, support plan, security plan, maintenance
plan, and the Project management plan. All these were cleared laid down and the research believes if
properly followed, it can be a good guide to using the system.
67
CHAPTER SEVEN
CONCLUSIONS AND RECOMMENDATIONS
7.1 INTRODUCTION
This chapter gives us a conclusion of what the project has achieved, what is has not been able
to achieve, it gives the recommendations, future plans, and challenges faced for the entire
project. It also discusses issues experienced and addressed during the planning, designing and
developing the SAIMS project at the company.
7.2 CONCLUSIONS
The research was able to develop a working prototype of an automated inventory management
system that would perform business functions such as registration of products, customers, and
system users; generating various reports; and maximising sales through ensuring product
availability.
The study analyzed the current system being used by the company and was able to identify
the strengths, weaknesses, and opportunities for strategic automated inventory management
interventions. These were later used to identify features and functionalities that would be
recommended at the time of designing the system. The system design requirements were
determined and using these a prototype of an automated inventory management system was
developed. The designed system was tested, evaluated and recommended to the management
of the company.
The installation of SAIMS will generally improve overall business processes at the company,
provide customer satisfaction through spending less time serving the customer and ensuring
that all products are available, it will also improve stock control, reporting mechanisms,
tracking of transactions made per day, and the different activities done by specific system
users. So, to remain competitive in the business world and the ever-changing information
68
technologies, Segofer Technical Services Company needs to embrace the inventory system
that has been designed so that it can compete favourably in the business world.
7.3 Future Research
This being a system prototype, the company would like the developer to further develop the
system into a fully working system so that it can be installed and used in their day-to-day
business processes. According to the responses received from the top Managers, in regard to
this prototype, the company is very much interested in having other core functions
incorporated into the system. So this will help have it taken to another level so that it can be a
complete system and able to serve the company.
Payments Functionality
The system should have the functionality of monitoring the payment processes incorporated
into it for the next subsequent version. This will help the company and its management have
controls over the payment processes which as expressed in the interview was a challenge in
tracking who made full payments and those that were still owing the company some monies.
Other Functionalities
There are other functionalities that the researcher recommended earlier as part of the system
but were not implemented such as receipting sales, vendor registration, and sales order
processing. All these will be included in the next version which will be developed into a
complete system for the company.
7.4 RECOMMENDATIONS
To ensure a smooth implementation of the SAIMS at the company, all stakeholders must be
committed to seeing that this system operates as the intentions were set initially by the
company management. It should however be noted that there is need for training to the staff
especially those that have to use it on a daily basis for example the salespersons. This is
69
because the system involves aspects of new technology that may not be familiar to every
body.
According to the interviews that conducted with the Executive Director, the company and its
management have always wanted to automate the business processes so that there is minimal
supervision required form the management. So the design and implementation of the SAIMS
was a welcome idea to the top management. A thorough needs assessment in the early stages
of planning and analysis of the systems specifications to prioritize automation enhancements,
provide automation recommendations and allow all stackholders inolved to have an input, will
uncover any potential project implementation risks and provide a strong foundation for the
successful implementation of the system.
This research and its findings can be a good source of information to future research in the
field of inventory management systems and information management systems in general. In
this era, information systems are the way to go and every business or enterprise that wishes to
compete favourably in the business world can not afford to undermine the great importance
that is attached to information technology and information systems.
7.5 Conclusion
In conclusion, the importance of information management in all aspects of life including the
business enterprise is becoming inevitable. Whether it is an efficiency issue, profit
maximization, improvement in data quality, availability, and management, the development
and implementation of automated inventory management systems enables businesses to gain
competitive advantage and massive improvements in all areas. Business processes without
information technology support are becoming more and more unpopular and the products and
services are increasingly becoming more influenced by the presence of information
70
technology and its infrastructure. Therefore, it is becoming an obligation that all businesses
including Segofer Technical Services acquire automated inventory management systems.
1
REFERENCES
Uganda Businesss Directory 2008-2010. Retrieved January 17th, 2011, from http://www.yellowpages-
uganda.com/
O’brien, James A. (2003). Introduction to Information Systems: essentials for the e-business
enterprise, 11th ed. Boston: McGraw-Hill.
Kroeber, Donald W. and Watson, Hugh J. (1987). Computer-based Information Systems: a
management approach, 2nd ed. New York: Macmillan Publishing Company.
Zipkin, Paul H. (2000). Foundations of Inventory Management, Boston: McGraw-Hill.
Welling L. and Thompson L. (2003). PHP and MYSQL Web Development, 2nd ed. Sams Publishing.
Steven, William J. (1986). Production Operations Management 2nd ed. Rochester: Rochester Instituto
of Technology.
O’Neill, Peter and Sohal, Amrik S. (1998). Business Process Reengineering: application and success –
an Australian study, International Journal of Operations and Production Management Vol. 18 No.
9/10, Pages 832 – 864. ISSN 0144-3577.
Myers, Michael D. & Avison D.E. (eds.) (2002). Qualitative research in Information Systems: a
reader, Sage Publications, London
Kaye, Morris. (2010). How to Implement Inventory Management Systems: a journal article in the
eHow Contributor, Bellevue Washington D.C.: eHow,Inc.
Hammer, Michael and Champy, James (1993). Reengineering the Corporation: A Manifesto for
Business Revolution, Harper Business.
Lunn, Ken. (2003). Software Development with UML, New York: Palgrave Macmillan.
Dennis, Alan ET...al (2002). Systems Analysis and design: an object-oriented approach with UML,
New York: John Wiley & Sons, Inc.
2
Holsti, Ole R. (1969). Content Analysis for the Social Sciences and the Humanities Manchester:
Addison-Wesley, Reading.
Gardner, Mike and Pinfield, Stephen (2001). Program: electronic library and information
systems. Vol. 35, Issue 1 Pages 33-42.
Crosby, Tim. (2007). How Inventory Management Systems Work. HowStuffWorks.com.
<http://communication.howstuffworks.com/how-inventory-management-systems-work.html>
Retrieved on November, 07th, 2010
Oldfield P. (2002). Domain Modelling. Appropriate Process Movement. Mentors of Cally Ltd.
http://www.aptprocess.com (Accessed on 24th May, 2011).
Pigott, Diarmuid J. & Hobbs, Valarie J. (2011). VINE: The Journal of Information Knowledge
Management Systems Vol.41, No.2 Pages 193-195.
Baker, Therese L. (1999). Doing Social Research 3rd ed. Boston: McGraw-Hill.
Kvale, Steinar. (2009). InterViews: Learning the Craft of Qualitative Research Interviewing, 2nd ed.
Los Angels: Sage.
Bell, Judith. (2005). doing your Research Project: a guide for first-time researchers in education,
health and social science, 4th Ed. New York: Open University Press.
Larman, Craig. (2002). Applying UML and patterns: an introduction to Object-Oriented Analysis and
Design and the Unified Process, 2nd Ed. New Jersey: Prentice Hall PTR.
George, Joey, Jeffrey A. Hoffer, and Joseph Valacich. (2007). Modern Systems Analysis and Design,
5th ed. Alexandria, VA: Prentice Hall.
Whiteley, Michael. (2004). Introduction to Information Systems: organizations, applications,
technology and design, New York: Palgrave Macmillan.
Mimbe Derrick. (2010). Laboratory Information Management System for the Accessing, Tracking,
and Storage of Specimens in an Influenza Research Laboratory: case study: Makerere University
Walter Reed Project, Influenza Research Laboratory, Nkozi: Uganda Martyrs University.
3
APPENDICES
Appendix One: Interview Schedule
UGANDA MARTYRS UNIVERSITY
Faculty of Science
Dear Respondent,
I am a student of Master of Science Information Systems, in the Faculty of Science at Uganda
Martyrs University-Nkozi. I am required to carry out research in partial fulfillment of the
requirements for the award of Master of Science in Information Systems of Uganda Martyrs
University. My research topic is: “DESIGN AND IMPLEMENTATION OF AN
AUTOMATED INVENTORY MANAGEMENT SYSTEM: A CASE STUDY OF
SEGOFER TECHNICAL SERVICES ”. All the information provided to me will be treated with
utmost confidentiality and only be used for the purposes of this study.
General Information:
I. What is your job title?
II. For how long have you been working for the company?
Product Registration:
I. What are some of the products/ or services being sold/ or offered at the company?
II. What kind of data is being recorded/ captured when the products have just been
purchased?
III. If a new system is designed, what information would you like to be captured for the
product registration?
IV. Do you ever use a sales order form? If yes, what kind of data do you capture on such a
form?
4
V. Do you ever refer to or use the sales order form especially when it is time for the
Purchasing of goods for the company?
Supplier/Vendor Information Management:
I. Does the company have partners or specific suppliers who supply it on a regular basis?
II. If yes, what data do you capture about the Suppliers/Vendors?
III. Are there any challenges faced in capturing such data about the Suppliers?
IV. Do you keep a detailed record or information about those suppliers and their contacts / or
physical addresses?
V. Is there any incidence where products are supplied and payment is made later on?
VI. If yes, are there any procedures being followed to monitor the payment processes?
VII. Does the company have any debtors from supply of goods and offering of services and if
any, how does it track their payments?
VIII. If a new system is designed, what information would you like to be captured about the
suppliers of the company?
Customer Information Management:
I. Usually companies have their royal/ daily customers and they keep a record of their
names, companies, contacts/addresses, etc, what is the case with your company?
II. Any challenges faced as you record such data about your customers?
III. With registered or daily customers, some companies have a tendency to supply them with
products without cash payments. What is the case with you?
IV. Any procedures in place to track customers who owe the company money?
5
V. Are there any measures followed to recover such debts?
VI. If a new system is designed, what information would you like to be captured about the
customers of the company?
Current system used:
I. As Executive Director/Finance Director/General Manager/Company
Secretary/Saleslady/Purchasing Officer/ /Salesman/Glass Operator/Attendant, what
activities or tasks do you perform on a daily, weekly or monthly basis?
II. What methods and tools do you use to perform your daily tasks?
III. What are the strengths/ advantages/benefits of the current methods that you use to record
your daily tasks?
IV. Do you face any challenges/weaknesses in performing your tasks using those methods?
V. Is there any other information as regards the methods being used?
VI. If current method is paper-based, do you think using the computer would speed up the
performance of existing tasks?
VII. If given the opportunity, would you recommend a new system for the company that would
probably ease your tasks and at the same time serve to achieve the company’s goals and
mission statement?
Systems Requirements
I. In case a new computerized information management system is designed for the company,
what are some of the functions you would want the system to be able to provide?
II. Identify some of the information or data about the items that you would want captured in
the new system to be developed.
6
III. Are there any more things you would want to say before we end the interview?
Thank you very much for your cooperation.
7
Appendix Two: Training Plan
Training Plan
After the installation of the system and necessary documentation put in place, training will be
implemented for the system users. The management and staff of Segofer together with the
development team will come up with the training plan which will include training
requirements and schedules. This will enable the staff and other users to use and maintain the
SAIMS after implementation. The training schedule below was identified and recommended
for use to enable the management achieve the goals that were initially set that is the
automation of the company inventory system.
Training Schedule for SAIMS users
ACTIVITY DELIVERABLE TOOL
TRAINING - Basic computer concepts
Projector, MS Power Point,
CD’s
- Use of the SAIMS Projector, MS Power Point
- Information system concepts CD’s
- System log in details CD’s
- System operation and management CD’s
- System installation and Trouble shooting CD’s, DVD’s, Hard drives
Training methods
- Tutorials, training manuals CD’s, Online
8
Appendix Three: Support Plan
Support Plan
Being a newly introduced technology that is a computerized system, support would be
inevitable to the users because it is assumed that they would need it to feel more comfortable
in using the system and would also contribute to user satisfaction. On-going support would be
the responsibility of both the developer and the IT team where they will be responsible for
providing continued system support, maintenance and upgrades, and also the day-to-day
running of the system respectively. The support will be provided in the following ways;
• Online support for example use of email, phones
• Help desk
• System user manuals
• Recorded tutorials
9
Appendix Four: Major/Sample PHP files and codes used in designing the
system
Index.php code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>SEGOFER AUTOMATED </title>
<link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
</head>
<body>
<div id="wrapper">
<h2>SEGOFER AUTOMATED INVENTORY MANAGEMENT SYSTEM</h2>
<div id="nav">
<!--
<a href="#">About Us</a>
<a href="#">Services</a>
<a href="#">Solutions</a>
<a href="#">Projects</a>
<a href="#">Contact Us</a>
-->
</div>
<div id="body">
<div id="body-top">
<div id="body-top-2"></div>
<div id="body-bot">
<div id="welcome">
<img src="../images/pic_1.jpg" width="231" height="301"
alt="Pic 1" />
10
<h2>Login</h2>
<p>
<form enctype="multipart/form-data" method="post"
action="../chk.php">
<table width="100%" border="0" cellpadding="2"
cellspacing="4" class="border">
<tr>
<td width="36%"
class="body1">UserName:</td>
<td width="64%" colspan="2"><input
type="text" name="username" style="width:130px; height:13px;" /></td>
</tr>
<tr>
<td class="body">Password:</td>
<td colspan="2"><input type="password"
name="password" style="width:130px; height:13px;" /></td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="reset" name="reset" />
<input type="submit" name="submit" Value="Submit" />
</td>
</tr>
</table>
</form>
</p>
<p>
<?php
$code = $_GET['code'];
if($code == 0)
{
echo ' ';
11
}
else if($code == 1)
{
echo '<font color="red">Check your Username & Password
field(s).</font><br/><br/>';
}
else if($code == 2)
{
echo '<font color="red"><BLINK>Login Failed.</BLINK><br />Make sure
all fields are filled and try again.</font><br/><br/>';
}
else if($code == 3)
{
echo '<font color="red"><BLINK>Login Failed.</BLINK><br />You are not
registered.</font><br/><br/>';
}
else
{
echo '<font color="red">Please contact the Administrator. Thank
you.</font><br/><br/>';
}
?>
</p>
</div>
<div id="content">
<h2>What drives SEGOFER..</h2>
<p>We believe that the customer is KING. And our main objective is to deliver Services to the
customer's expectation, which makes us the leading Electrical vendors.</p>
<div class="fineline"></div>
<br /><br /><!--<br /><br />
<h2>Important Notes</h2>
-->
12
<div class="fineline-flat"></div>
<div class="fineline-flat"></div>
<div id="planer">
<h2>Purchase Orders</h2>
<div class="fineborder"><img src="../images/pic_7.jpg"
width="186" height="79" alt="Pic 7" /></div>
<p>
Purchase Orders are derived from the customers and
recorded into the system with the help of the staff or system administrator.<br />
No other purchase orders will be accepted without
following the right procedure.
</p>
</div>
<div id="stories">
<h2>Duration & Follow-up</h2>
<div class="fineborder"><img src="../images/pic_6.jpg"
width="186" height="79" alt="Pic 6" /></div>
<p>The purchase order will mature after 5 (five working days).
<br /> And the registered customers can follow up on their purchase order with the unique number given
to the on registering</p>
</div>
<div class="clear-flat"></div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
<div id="footer">
<p>©. IRENE N. All rights reserved</p>
</div>
</div>
</body>
</html>
13
Admin.php code
<?php
session_start();
require_once('../greetings.php');
function check_auth_admin()
{
global $_SESSION;
if (isset($_SESSION["admin"]))
{
return true;
}
else
{
return false;
}
}
if(!check_auth_admin())//do a security check
{
include_once('index.php');
}
else
{
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'cartz';
$connection = mysql_connect($server, $username, $password, $database) or die('Cannot
connect to the database');
mysql_select_db($database, $connection) or die('Cannot select the database');
14
//picking customer and sales details
$sql ="select * from cartz_category where cat_name is not null and cat_name is not
null";
$result = @mysql_query($sql,$connection) or die(mysql_error());
$num = @mysql_num_rows($result);
if ($num < 1)
{
//if there are no results,display message
$display_block = "<P><em>Sorry! No Categories to add items to.</em></p>";
}
else
{//if results are found,loop through them
//and make a form selection block
while ($row =mysql_fetch_array($result))
{
$cat_id = $row['cat_id'];
$cat_name = $row['cat_name'];
$option_block .="<option value=\"$cat_id\">$cat_id, $cat_name
</option>";
}
//create the entire form block
$display_block ="<FORM METHOD=\"POST\" ACTION=\"item.php\">
<P><strong>Add item to this category:</strong>
<select name='cat_id'>
$option_block
</select>
<INPUT TYPE=submit NAME=itemz VALUE=Select></P><br />
<a href=\"vitem.php\">View</a> Items
<!--<a href=\"../ask/product.php\">Shopping Cart</a>..--><br /><br />
15
</form>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Admin-Home</title>
<link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
</head>
<body>
<div id="wrapper">
<h2>SEGOFER AUTOMATED INVENTORY MANAGEMENT SYSTEM</h2>
<div id="nav">
<!--
<a href="#">About Us</a>
<a href="#">Services</a>
<a href="#">Solutions</a>
<a href="#">Projects</a>
<a href="#">Contact Us</a>
-->
</div>
<div id="body">
<div id="body-top">
<div id="body-top-2"></div>
<div id="body-bot">
<div id="welcome">
<img src="../images/pic_1.jpg" width="231" height="301"
alt="Pic 1" />
16
<?php
echo '<h3>';
timegreeting();
echo"</h3><br/>";
?>
<STRONG><?php echo $_SESSION['admin'].' ';?></STRONG>, you are logged in as
Adminisrator.
<br/><br/>Date: <?php echo date("d-m-20y");?>
<br /><br/>
<p class="more"><a href="../logout.php">Logout</a></p>
<br />
<br /><br />
</div>
<div id="content">
<h2>Note..</h2>
<p>
Make sure before you add an item, its category type is existant.
Otherwise proceed to Add Item_type.
</p>
<p>
<?php
$code = $_GET['code'];
if($code == 3)
{
echo '<font color="Blue">A new category has been added. </font><br
/>';
}
else
{
echo '<font>Please contact the Administrator if you have problems using the
system . Thank you.</font><br/><br/>';
}
17
?>
</p>
<div class="fineline-flat"></div>
<div id="planer">
<h2>Category</h2>
<div class="fineborder"></div>
<p>
<a href="cat.php">Add new</a> Category. <br />
<a href="vcat.php">View</a> Category.
</p>
</div>
<div id="stories">
<h2>Add Item Type</h2>
<div class="fineborder"></div>
<p>
<!--<a href="item.php">Add new</a> Item. <br /></p>-->
<?php echo "$display_block"; ?>
</div>
<div class="clear-flat"></div>
<div class="clear"></div>
<div class="clear"></div><!--new div for users-->
<div class="fineline-flat"></div>
<div id="planer">
<h2>Users</h2>
<div class="fineborder"></div>
<p>
<a href="usr.php">Add new</a> User. <br />
<a href="vusr.php">View</a> User.
</p>
</div>
18
<div id="stories">
<h2>Reports</h2>
<p>
<ul>
<!--<li> <a href="item.php">Sales </a> Persons.
<li> <a href="item.php">Customer</a> Registered.-->
<li> <a href="rpt.php">Stock brief</a>
<li> Est. amount of Profits in<a
href="report.php?rpt=11">Stock</a>.
<li> Est. amount of Profits in<a
href="report2.php?rpt=11">Sales</a>.
<li> <a href="report3.php">Loyal customers</a>
<li> <a href="report4.php">Sales Per Sales Person</a>
<li> <a href="vpdt.php">Purchase</a> orders.
</ul>
</p>
</div>
<div class="clear-flat"></div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
<div id="footer">
<p>©. IRENE N. All rights reserved</p>
</div>
</div>
</body>
</html>
<?php
}
19
?>
Admin2.php code
<?php
session_start();
require_once('../greetings.php');
function check_auth_admin()
{
global $_SESSION;
if (isset($_SESSION["sales"]))
{
return true;
}
else
{
return false;
}
}
if(!check_auth_admin())//do a security check
{
include_once('index.php');
}
else
{
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'cartz';
$connection = mysql_connect($server, $username, $password, $database) or die('Cannot
connect to the database');
20
mysql_select_db($database, $connection) or die('Cannot select the database');
$sql ="select * from cartz_category where cat_name is not null and cat_name is not
null";
$result = @mysql_query($sql,$connection) or die(mysql_error());
$num = @mysql_num_rows($result);
if ($num < 1)
{
//if there are no results,display message
$display_block = "<P><em>Sorry! No Categories to add items to.</em></p>";
}
else
{//if results are found,loop through them
//and make a form selection block
while ($row =mysql_fetch_array($result))
{
$cat_id = $row['cat_id'];
$cat_name = $row['cat_name'];
$option_block .="<option value=\"$cat_id\">$cat_id, $cat_name
</option>";
}
//create the entire form block
$display_block ="<FORM METHOD=\"POST\" ACTION=\"item.php\">
<P><strong>Add item to this category:</strong>
<select name='cat_id'>
$option_block
</select>
<INPUT TYPE=submit NAME=itemz VALUE=Select></P><br />
<a href=\"vitem.php\">View</a> Items
<!--<a href=\"../ask/product.php\">Shopping Cart</a>..--><br /><br />
21
</form>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Admin-Home</title>
<link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
</head>
<body>
<div id="wrapper">
<h2>SEGOFER AUTOMATED INVENTORY MANAGEMENT SYSTEM</h2>
<div id="nav">
<!--
<a href="#">About Us</a>
<a href="#">Services</a>
<a href="#">Solutions</a>
<a href="#">Projects</a>
<a href="#">Contact Us</a>
-->
</div>
<div id="body">
<div id="body-top">
<div id="body-top-2"></div>
<div id="body-bot">
<div id="welcome">
<img src="../images/pic_1.jpg" width="231" height="301"
alt="Pic 1" />
<?php
22
echo '<h3>';
timegreeting();
echo"</h3><br/>"
?>
<STRONG><?php echo $_SESSION['sales'].' ';?></STRONG>, you are logged in as a Sales Person.
<br/><br/>Date: <?php echo date("d-m-20y");?>
<br /><br/>
<p class="more"><a href="../logout.php">Logout</a></p>
<br />
<br /><br />
</div>
<div id="content">
<h2>Note..</h2>
<p>
Make sure before you add an item, its category type is existant. Otherwise proceed to
Add Item_type.
</p>
<p>
<?php
$code = $_GET['code'];
if($code == 3)
{
echo '<font color="Blue">A new category has been added.
</font><br />';
}
else
{
echo '<font>Please contact the Administrator if you have
problems using the system . Thank you.</font><br/><br/>';
}
?>
23
</p>
<div class="fineline-flat"></div>
<div id="planer">
<h2>Category</h2>
<div class="fineborder"><img src="images/pic_7.jpg" width="186"
height="79" alt="Pic 7" /></div>
<p>
<a href="cat.php">Add new</a> Category. <br />
<a href="vcat.php">View</a> Category.
</p>
</div>
<div id="stories">
<h2>Add Item Type</h2>
<div class="fineborder"><img src="images/pic_6.jpg"
width="186" height="79" alt="Pic 6" /></div>
<p>
<!--<a href="item.php">Add new</a> Item. <br /></p>-->
<?php echo "$display_block"; ?>
</div>
<div class="clear-flat"></div>
<div class="clear"></div>
<div class="clear"></div><!--new div for users-->
<div class="fineline-flat"></div>
<div id="planer">
<h2>Customers & Shop</h2>
<p>
<a href="usr.php">Add new</a> Customer. <br />
<a href="vusr.php">View</a> Customer.
</p>
</div>
<div id="stories">
24
<h2>Loyal Customers as at <?php echo date("Y-m-d")?></h2>
<table width="100%">
<tr bgcolor="#ffffff">
<th style="width:80px;">NAME</th>
<th style="width:auto;">TRANSACTIONS</th>
</tr>
<?php
$sql9 ="select distinct customer from cats where customer is not null and att_person is not null";
$result9 = @mysql_query($sql9,$connection) or die(mysql_error());
$num9 = @mysql_num_rows($result9);
if ($num9 < 1)
{
echo "<P><em>Sorry! No Categories to add items to.</em></p>";
}
else
{
while ($row9 =mysql_fetch_array($result9))
{
$sql91 ="select distinct customer as cas from cats";
$result91 = mysql_query($sql91,$connection) or die(mysql_error());
$num91 = mysql_num_rows($result91);
while ($r = mysql_fetch_array($result91))
{
$rr=$r['cas'];
//echo "$rr <br />";
$sql19 ="select count(customer) from cats where customer='$rr'";
$result19 = mysql_query($sql19,$connection) or die(mysql_error());
while ($p =mysql_fetch_array($result19))
{
25
$t=$p['count(customer)'];
echo $p['count(customer)'];
$u=count($t);
for($l=0; $l<$u; $l++)
}
}
$cus_id = $row9['customer'];
$sql10 ="select fname,lname from customers where cus_id = '$cus_id'";
$result10 = @mysql_query($sql10,$connection) or die(mysql_error());
while ($row10 = mysql_fetch_array($result10))
{
$fname10 = $row10['fname'];
$lname10 = $row10['lname'];
//echo "$fname10 $lname10 ($num9) $t";
if($i%2){
$color = "#FFFFFF";
}
else {
$color = "#f9f6da";
}
$i++;
ECHO '
<tr bgcolor = "'.$color.'">
<td valign = "top" align = "center">
'.$row10['fname'].' '.$row10['lname'].'
</td>';
echo '
<td valign = "top" align = "center">
26
';
echo $t;
echo'
</td>
';
}
}
}
?></tr></table>
</div>
<div class="clear-flat"></div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
<div id="footer">
<p>©. IREAN N. All rights reserved</p>
</div>
</div>
</body>
</html>
<?php
}
?>
Add Category.php code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
27
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>SEGOFER AUTOMATED </title>
<script type = "text/javascript" src = "checkFieldsc.js"></script>
<link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
</head>
<body>
<div id="wrapper">
<h2>SEGOFER AUTOMATED INVENTORY MANAGEMENT SYSTEM</h2>
<div id="body">
<div id="body-top">
<div id="body-top-2"></div>
<div id="body-bot">
<div id="welcome">
<img src="../images/pic_1.jpg" width="231" height="301"
alt="Pic 1" />
<?php
echo '<h3>';
timegreeting();
echo"</h3><br/>"
?>
<STRONG><?php echo $_SESSION['sales'].' ';?></STRONG>, you are logged in as a
Sales Person.
<br/><br/>Date: <?php echo date("Y-m-d");?>
<br /><br/>
<p class="more"><a href="../logout.php">Logout</a></p>
<br />
28
<br /><br />
</div>
<div id="content">
<h2>Note..</h2>
<p>
<?php
$code = $_GET['code'];
if($code == 3)
{
echo 'A new category has been added. Add another?';
}
else if($code == 1)
{
echo '<font color="red">Fill in all the fields.<br/>Make
sure all fields are filled and try again.</font><br/>';
}
else if($code == 2)
{
echo '<font color="red"><BLINK>Database Failure.
Entry was not added</BLINK></font><br/><br/>';
}
else
{
echo '<font color="red">Please fill all the fields with
correct enties. Thank you.</font><br/><br/>';
}
?>
</p>
29
<div class="fineline-flat"></div>
<form action="#" Method="POST" onsubmit="return checkFields(this);">
<table width="100%" border="0" align="center" bgcolor="#efefef">
<tr>
<td align="center" colspan="2">
<font color="778bc3">
<b>
<u>
Category Registration
</u>
</b>
</font>
</td>
</tr>
<tr>
<td>
Date
</td>
<td>
<input type ="hidden"
name="cat_date" value= "<?php echo date("Y-m-d")?>" >
<?php echo date("d-M-Y")?>
</td>
</tr>
<tr>
<td>
Category Name
</td>
30
<td>
<input type = "text" name = "cat_name" maxlength =
"25" size ="25">
</td>
</tr>
<tr>
<td valign="top">
Comment
</td>
<td>
<textarea cols="19" rows="6"
name="cat_comment"></textarea>
</tr>
<tr>
<td colspan="2" align="center"><input type =
"reset" name = "reset" value="Reset" ><input type = "submit" name = "submit" value="Submit" ></td>
</tr>
<tr>
<td colspan="2" align="center"><a
href="admin.php">Back</a></td>
</tr>
</table>
</form>
<div class="clear-flat"></div>
</div>
<div class="clear"></div>
</div>
</div>
31
</div>
<div id="footer">
<p>©. IRENE N. All rights reserved</p>
</div>
</div>
</body>
</html>
<?php
}
?>
Report.php code for Stock brief
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>SEGOFER AUTOMATED </title>
<link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
<script type = "text/javascript" src = "../print.js"></script>
</head>
<body>
<div id="wrapper">
<h2>SEGOFER AUTOMATED INVENTORY MANAGEMENT SYSTEM</h2>
<div id="body">
<div id="body-top">
<div id="body-top-2"></div>
<div id="body-bot">
32
<div id="welcome">
<img src="../images/pic_1.jpg" width="231" height="301"
alt="Pic 1" />
<?php
echo '<h3>';
timegreeting();
echo"</h3><br/>"
?>
<STRONG><?php echo $_SESSION['admin'].' ';?></STRONG>, you are logged in as
Adminisrator.
<br/><br/>Date: <?php echo date("d-m-20y");?>
<br /><br/>
<p class="more"><a href="../logout.php">Logout</a></p>
<br />
<br /><br />
</div>
<div id="content">
<h2>
&nb
sp; &
nbsp;
&nbs
p;
<?php
echo'
<script language = "javascript">
var NS = (navigator.appName == "Netscape");
var VERSION = parseInt(navigator.appVersion);
if (VERSION > 3)
{
33
document.write(\'<a href = "#" onClick
= "printit()"><image border = "0" src = "../images/print.gif"></image></a>\');
}
</script>';
?>
Estimated profits in stock in store as at <?php echo date("Y-m-
d")?>
</h2>
<p>
</p>
<div class="fineline-flat"></div>
<table width="100%">
<tr bgcolor="#ffffff">
<th style="width:20px;">ID</th>
<th style="width:80px;">NAME</th>
<th style="width:auto;">QTY in Sold</th>
<th style="width:auto;">QTY in Store</th>
<th style="width:auto;">NOTE</th>
<!--<th style="width:auto;"></th>
<th style="width:auto;">DEL</th>-->
</tr>
<?php
while ($row = mysql_fetch_array($result))
{
if ($row['qty']<=0)
{
$st="<font color=red> Place an order.</font>";
}
else
34
{
$st = "<font color=blue>Avialable</font>";
}
if($row != 0)
{
if($i%2){
$color = "#FFFFFF";
}
else {
$color = "#f9f6da";
}
$i++;
echo '
<tr bgcolor = "'.$color.'">
<td valign = "top" align = "left">
<a href ="v_item.php?id='.$row['id'].'">'.$row['id_item'].'</a>
</td>
<td valign = "top" align = "center">
'.$row['itname'] .' '.'
</td>
<td valign = "top" align = "center">
'.$row['sold_qty'].'
</td>
<td valign = "top" align = "center">
'.$row['qty'].'
</td>
<td valign = "top" align = "center">
'.$st.'
35
</td>
</tr>
';
}
else if($row == 0)
{
echo '<table><tr><td valign = "top" align = "center">There are no Items
</td>
</tr>';
}
else
{
echo '<table><tr><td valign = "top" align = "center">There are no Items
</td>
</tr>';
}
}
?>
<div class="clear-flat"></div><div class="clear"></div>
<tr>
<td colspan="6" align="center"><a href="admin.php">Home</a></td>
</tr>
</table>
<div class="clear-flat"></div>
</div>
<div class="clear"></div>
</div>
</div>