You are on page 1of 61

A BAKERY MANAGEMENT INFORMATION SYSTEM

(BMIS)
CASE STUDY :( HOT LOAF BAKERY MBARARA BRANCH)

BY

KYANKAAGA NICKSON
BIT/19021/72/DU

Ni.xo.ky@hotmail. fm
Tel no +256718-155927

A PROJECT REPORT SUBMITTED TO THE SCHOOL OF COMPUTER STUDIES


FOR THE STUDY LEADING TO A PARTIAL FULFILLMENT OF THE
REQUIREMENTS FOR THE AWARD OF A DEGREE OF BACHELORS OF
INFORMATION TECHNOLOGY AT KAMPALA INTERNATIONAL UNIVERSITY

SEMPTEMBER, 2009
C?

DECLARATION
I, KYANKAAGA NICKSON hereby declare that this dissertation is my original work and
has never been submitted to any other institute of higher learning for any academic award to
the best of my knowledge.

Date

SUPERVISOR

Signature

Date )
DEDICATION
This dissertation is dedicated to my father Mr. Nathan Muganga and my Mother Busingye
Topista. Thank you for producing me, shaping me and the effort you inserted to educate me.

Secondly my uncles Martin, Isreal, Azor, Francis, Innocent and Deogratious for their
support financially, physically and encouragement so that I can attain my education and
reach where I have reached. Thank you.

My aunties Dorah, Ronah, Keneema and carol for their support financially, physically and
encouragement which has made me who am now.

My brothers and sisters Emma,Norman,Norbert,Keith,Albertpesh anolyne cola lyne,


annabella,faith and ruth for your comforts and giving some words of encouragement and
wisdom.

Also special thanks to my mother-in1aw Mrs. Kate Muganga for her patience and
willingness to stay with me.

111
AC~OWLEDGEMENTS
I extend my wholehearted appreciations to everyone who in one way or the other gave me
spiritual, moral and financial support. However small or big it meant a lot to my side.

I am. The Sales Manager in collaboration with the Production manager of Hot Loaf Bakery
(Mbarara branch) for their assistance in getting the requirement of the project , thank you
for welcoming me any time to the bakery and answering questions. My lecturers Mr Balirwa,
Mr.Akampororo and Mr.Mutasa
My friends Edward, Amon, dan, frio, aggrey and many others I enjoyed Your Company.
.

All who I have not mentioned but helped me in one way or the other “big thanks to you”

iv
Table of Contents
LIST OF TABLES ix

LIST OF FORMS x

LIST OF FIGURES xi

LIST OF ABBREVIATIONS XII

ABSTRACT XIII

CHAPTER ONE 1

1.1 INTRODUCTION 1
1.2 BACKGROUND 2
1.3 PROBLEM STATEMENT 3
1.4 OBJEcTIvE OF THE STUDY 3
1.4.1 General objectives 3
1.4.2 Specific objective 3
1.5 PROJEcT SCOPE 4
1.5.1 The system also caters for Data processing and Outputting like; 4
1.6 SIGNIFICANCE OF THE SYSTEM 4
1.7 THE ORGANIZATIONAL STRUCTURE OF HOT LOAF BAKERY 5

CHAPTER TWO 6

2.1 LITERATURE REVIEW 6


1.1.1 Definition of the key words 6
1.1.2 Information System: 6
1.1.3 Management; 6
1.1.4 Management Information Systems (MIS) 7
1.2 Ex~IPLES OF BAKERIES 7
1.2.1 Bakery barilla group 7
1.2.2 Homebaking 7
1;2.3 Bakery Management Corporation 8

V
1.3 ADVANTAGES OF THE INFORMATION SYSTEM: -8
1.4 CHALLENGES/DISADVANTAGES OF THE SYSTE~f: 9

2 CHAPTER THREE io
3.1 METHODOLOGy 10
3.2 ANALYzING THE LITERATURE OF THE SYSTEM 10
3.2.1 Interview 10
3.2.2Observation 10
3.3 SPEcw~I~ USER REQUIREMENTS 11
3.3.1 User requirements 11
3,3.2 System requirements 11
3.3.3DataAnalysis 11
3.3.4 Assumptions made by the researcher. 12
3.3.5 Physical design. 12
3.3.6 Programming languages. 12

3 CHAPTER FOUR 13

4.1 DESCRIPTIoN OF THE SYSTEM. 13


4.2 HARDwARE AND SOFTwARE SPECIFICATIoN 13
4.2.1 Hardware specifications. 13
4.2.2 Software specifications 14
4.2.3 Systems architecture 14
4.3 PSEUDO CODES. 14
4.3.1 How to login into the system 14
4.3.2 Inserting or entering new records into the system 15
4.4 SYSTEM INPUTS AND OUTPUTS. 15
4.4.1 Logical database design 15
4.4.2 The system flow chart 17

4.5THEHIPOCHAR’rFoRBMIS. 18
4.6 SYSTEMS INPUTS 19
4.6.1 Sales details in the database 19

vi
4.6.3 Finished products - 20
4.6.5 Products details in the database 21
4.6.6 Delivery table details in the database. 21
4.6.7 Agent Details in the database. 21
4.7 THE INPUT FoRMs FOR BMIS 22
4.7.1 The login form for BMIS 22
4.7.2 The administrator page 22
4.7.3 Sales manager page 23
4.7.4 Production manager page 23
4.7.SSales 24
4.7.6Returns 25
4.7.7 Finished products 25
4.7.8Stock.taking 26
4.7.9Deivery 26
4.7.10 Agents 27
4.7.11 Products 27
4.8 SYsTEM OuTPuTs 28
4.8.1 Data Search 28
4.8.2Reports 30
4.8.2.1 Report on products 30
4.8.2.2 Report on Sales made 30
4:8.2.3 Report on Stock available 30
4.8.2.4 Returns reports. 31
4.8.2.7 Shows the validation part of the system 33

4 CHAPTER FIVE 34

5.IEvALuATIoN5 34
5.2 LIMITATIoNs OF THE SYSTEM 34
5.3 PRoBLi~rs ENcouNmIu~D 35
5.4 FuTuRE RESEARCH AREAs 35
5.6 RECOMMENDATIONS 35

vii
5.7CoNcLusIoN~ 36

5 APPENDICES 37

5.1 INTERVIEW GUIDE/QUESTIONNAIRE 39


5.2SysTEi~jcoDEs

viii
List of tables
Table 1: Add sales 19
Table 2: Add returns 19
Table 3: Finished products 20
Table 4: stocking 20
Table 5: Add products 21
Table 6: Add delivery 21
Table 7: Add agents 21

ix
List of Forms
Form 1: Login Page 22
Form 2: Administrator page 23
Form 3: Sales manager page 23
Form 4:Production Manager 24
Form 5:Sales Form 24
Form 6: Add returns 25
Form 7:Finished products 25
Form 8: Stocking 26
Form 9: Delivery 26
Form 10: Add agents 27
Form 11: Add products 27
Form 12: Search finished products 28
Form 13: Search Deliveries 28
Form 14: Search Returns 29
Form 15: Search Stock 29
Form 16:Reports on products 30
Form 17: Sales Report 30
Form 18:Stock Available 31
Form 19: Return reports 31
Form 20: Finished products Reports 32
Form 21:Deivery Reports 32
Form 22: validated form 33

x
List of figures
Figure 1: Organizational Structure 5
figure 2:ERD 16
Figure 3: Flow Chart 17
Figure 4: Hipo chart 18

xi
List of Abbreviations
BMIS Bakery Management Information System
DFD Date Flow Diagram
ERD Entity Relationship Diagram
FK Foreign Key
GIGO Garbage In Garbage Out
GUI Graphic User Interface
HIPO Hierarchical Input processing and Output
HTML Hyper Text Markup Language
MB Mega Byte
MDC Manual Distribution Centre
MHZ Mega Hertz
MIS Management Information System
MUST Mbarara University of Science and Technology
PHP Hypertext pre~Processor
PK Primary key
RAM Random Access Memory
SQL Structured Query Language

xii
AB STRACT
Information Communication Technology (ICI) has played a major role in the day to day running
of companies, organizations and institutions and general life. Through the use of information
technology these companies are able to perform daily activities efficiently and accurately. The
bakery sector too has benefited from this advancement in information Technology. The BMIS
project outlines the formulation of a computerized management information System of any bakery
particularly hot loaf bakery. The project highlights the following;

Problems faced by the current system in carrying out a management information systems, use of
php and it’s related technologies of apache server and JavaScript in validation as an efficient tools
for designing and developing a bakery management information systems that helps to solve the
problems faced by the current system, Ways of making sure that the data or inputs of the current
system can be verified and validated.

It involves the development of a centralized database system using MySQL. It also involves the
process of making access to whatever information as fast as possible. This involves real time
reports. It also shows how the whole system can be made secure to avoid an unauthorized access
to its various resources. Here role based authentication provided by The Apache server is put into
use, therefore the project looks at the various ways and technologies that can be used to
accomplish the goal of the whole project. That is to provide a computerized management
Information system that facilitates or enhances effectiveness and efficiency of all bakery system.

xlii
CHAPTER ONE
1,1 Introduction
Hot loaf bakery is registered bakery located along Mbarara-Masaka on 2 km road in Mbarara
western Uganda. It was started as a branch of Kabale in 1994 by Mr. Nzeyi where its head
office (plant) is located for western Uganda. It consists of many departments which involve
productions, store keeping and sales. It has branches in most parts of the country like in
Kampala where it was first operated before opening a branch in Kabale. Hot loaf bakery has
other branches in Masaka, Fort Portal, Masindi, Lira, Hoima, Rukungiri, and other districts
in Uganda.

Hot loaf bakery is a diversified bakery engaging in business that’s in producing, selling and
marketing of bakery products which include; breads, cakes, sweat rolls, doughnuts, buns and
many other products. Hot loaf bakery has a number of outlets within Mbarara municipality
like in pearl building ground flour on high street and on Bulemba road near Western Hotel.
Outlets are in charge of selling, marketing and providing direct consumption of their bakery
products.

The Hot loaf bakery holds most of the bakery products which follow a certain trend before
they are produced, that’s from production; they are handed over to sales section where they
are recorded in a book called “finished products”. This is where sales starts by recording all
the products got from the production departments. The sales and purchases are recorded in
sales book with their corresponding prices. The amount of bakery products that are sold on
a particular day are entered in there record books and files. The bakery has Manual
Distribution Centers ~MDCs), where customers who buy the bakery products in bullc are
favored in terms of cost, transport and debts. Good examples include; University canteens
and other big hotels like Lake View Regency who buys in bulk weekly.

At the end of the day, daily reports are made on sales, production, and expenses. Stock
monitoring is done which checks the products that are on high demand and products that

1
ate low demand, products/ingredients/raw materials that are missing in the production
sector. This is done to ensure that products don’t run out of stock without prior knowledge.

1.2 Background
The hot loaf bakery is expanding in terms of production and market since some of its
products are consumed by people like in northern Tanzania, some parts of Rwanda. And
even Eastern Democratic of Congo. The aim of the hot loaf bakery is to improve its
products and as well as improving customers satisfaction. As one of the first bakeries to be
set up in western Uganda, it was to produce bakery products like bread which was
categorized as follows: kilogram ordinary bread, half kilogram ordinary bread, kilogram cake
bread, special bread, van cake, ordinary cake, square cake, ordinary biscuits, brown bread,
special doughnuts, plain doughnuts, buns and the bi-products are used to make sweat tolls in
order to satisfy the requirements and demands of their customers that’s why their products
vary in size and price.

Customers fill up forms specifying the particulars they require, the forms are then forwarded
to the sales manager who then specifies the prices and receives payments. Orders mostly
depend on the routes and places where products are taken. Example canteens are supplied
mostly with buns and sweat rolls; offices with half ordinary bread, shops are supplied mostly
with all types of bread ranging from the smallest to the big size. Routes outside urban areas
are supplied mostly according to the forces of demand. Example Kikagate route is supplied
mostly with buns and some few bread types.

The Bakery Management Information System (BMIS) processes the inputs and outputs. The
details of data inputs include the sales of products in form of purchases and this will lead to
filling forms like sales forms, product forms, and delivery forms, return forms, agent forms.
Details of productions are handled by filling forms like finished products forms, stocking
details. The outputs will include sales reports, stock taking reports, finished product reports,
delivery reports, return reports and all the searches like search on returns.

2
1.3 Problem Statement
Records are kept in paper files, store record books where every one can access them
therefore liable to:

~ Data is easily lost, misplaced, changed and manipulated.


o Some information about bakery products is stored in files which are kept in drawers.
This is very risky because every one can access the information alter it for personal
gain hence lack of data security.
o There is poor data search and look up methods, some records about the bakery
products are kept in files that are put in heaps, then looking for particular records
will involve thorough file by file to check a single file.
Files consume and take a lot of space.

1.4 Objective of the study


1.4.1 General objectives
The main objective of this project was to develop an automated system that will enable of
any information system of any bakery.

1.4.2 Specific objective


The specific objectives were:
i. To review the literature related to the system developed.
ii. To specify the user requirements
iii. To design the system that will enable the administrators at hot loaf bakery in
establishing the actual and retrieve real data.
iv. To develop prototype that wifi enhance the work done during recording and makes
the work precise, accurate to reduce misunderstanding during information delivery.
v. To validate the system developed. This eases the work done of the managing director
of hot loaf bakery during information cross checking verification.

3
1.5 Project Scope
The system covers production sector and sales sector of hot loaf bakery. It centers on data
entry, date search, data retrieval, validation and data verification. The system also deal with a
daily supply of goods, customer’s information depending on their terms of purchase,
product rates, available raw materials in the production sector(stock taking) and Sales
accounting in terms returns, delivery, registered customers (agents) that needs to be supplied
on a daily basis.

1.5.1 The system also caters for Data processing and Outputting like;
Product stock out: that is products ready for the market and product conditions. The system
can apply in other companies which have more less the same product units and store house
management, that’s all Bakeries.

1.6 Significance of the System


The system helps one to appreciate the need of a computerized Bakery Management
Information System (BMIS). The system has a customer’s database that solves the problem
of registering daily customers (agents), daily finished products, stock takings and sales in
terms of returns, deliveries, product sales and rates. Once a customer is registered, is given a
unique code that will be used every time the purchase is made.

The system also reduces redundancy concerning with bakery management that is in sales and
production departments. This is done by the implementation of a comprehensive Bakery
Management Information System (BMIS) that will facilitate standardizations in terms of data
entry that’s inputs and outputs.

With the presence BMIS the bakery can determine and predict the forces of demand and
supply by following the trend of reports, this can be in terms of stock taking, products sold,
costs, profits, hence improving bakeries production and sales departments and other
departments in general.

4
Data security is ensured by securing passwords. This reduces and stops the risks of
information being accessed, changed, disrupted and modified by every unauthorized person.

The system (BMIS) enables delivery of information support. Delivery information required
in work, for example it can be in work instruction, sales and production feedback when
needed and required. In other words this system helps one to appreciate the use and need of
a computerized technology in production and sales departments of any bakery.

L7 The organizational structure of hot loaf bakery


The organizational structure of BMIS encompasses different departments headed by General
Manager. Under the General Manager there are Accountant, Production manager, Sales
Manager and Store Keeper.

GENERAL MANAGER

ACCOUNTANT

PRODUCTION
MANAGER
I SALES MANAGER
I STORE KEEPER
I
Figure 1: Organizational Structure

5
CHAPTER TWO

2.1 Literature review


This chapter provides the literature background of the Management Information Systems
for this research work and defines the key words like Management, Information, System,
management system, information system and management information systems

1.1,1 Definition of the key words

1.1.2 Information System:


The term information system refers to the information technology that is used by people to
accomplish a specific organization or individual objective. The technology may be used in
the gathering, processing, storing, and or dissemination of information and users are trained
in the use of that technology, as well as in the procedures to be followed in doing so [1]. Any
written, electronic, or graphic method of communicating information is also known as an
information system. The basis of an information system is the sharing and processing of
information and ideas. The specific technologies that collectively comprise information
technology are computer technology and data communications technology [2] *

CIBORRA [3] defined the study of information systems as the study that deals with the
deployment of information technology in organizations, institutions, and society at large.
Companies must create and preserve adequate and proper documentation of company
activities in designated management information systems to support operational needs,
protect rights, and allow easy management.

1.1.3 Management;
Is defined as, the art and science of directing the business of an organization. [4]. According
to RONALD ET AL in Management Records states that “A Computerized record keeping
management system is a system in which records are collected, organized, and categorized to
facilitate their preservation, retrieval, use, and provide easy management of the organization

6
or business community”. A bakery being a place for business also deserves a computerized
management information system in which records are collected, organized, and categorized
to facilitate their preservation, retrieval, use, and provide easy management. Examples of
bakery products: bread, rolls, bans and snacks.

1.1.4 Management Information Systems (MIS)


Management Information Systems is a general name for the academic discipline covering the
application of people, technologies, and procedures — collectively called information
systems — to solve business problems. MIS are distinct from regular information systems in
that they are used to analyze other information systems applied in operational activities in
the organization. Academically, the term is commonly used to refer to the group of
information management methods tied to the automation or support of human decision
making [6].

t2 Examples of Bakeries

1.2,1 Bakery barilla group


Pietro Barilla started to sell bakery products and pasta in a little bakery shop in Parma and
continuously opened new ones. This firm developed and acquired different pasta and bakery
companies over the years. Presently, the Barilla Group owns two strategic business fields,
pasta meal and bakery products [7].

1.2,2 Home baking


Essequibo bakers, a name for our family cake business, have been in the baking business for
over 20 years! We are situated in Lubaga, a Kampala suburb in Uganda. We come from a
long history of bakers. My grand dad had a bread stall that sold bakeries to families in
Guyana (Latin America) & grandma, Scot Williams, was a well known cake specialist who
made cakes for a living. The trade was also taught to their children including my mum, Mrs.
Patricia Kitongo, who has passed it down to us, here in Kampala — Uganda [8].

7
1.2~3 Bakery Management Corporation
[9] Georgetown Bakery Management Corporation; This Company is a real estate holding
company that owns a manufacturing plant located in Baltimore City, out of which Bakery
Express Mid-Atlantic and Bakery Express-Fundraising currently operate. Going forward, the
Company will also own the new manufacturing building to be built in Baltimore County

L3 Advantages of the Information System:


[10] The role of a management information system is to convert data from internal and
external sources into information that can be used to aid in making effective decisions for
planning, directing and controlling the activities for which they are responsible.

An information system is useful to keep managers informed of how well the department or
organization is performing and to let them know where problems exist. The principle of
exception reporting is especially important in this stage — in other words, only situations
which need some action are reported. (For example, customers with outstanding accounts, a
sudden drop or increase in sales compared with the same period last year or a rash of staff
resignations) [11].

These systems could increase customer satisfaction if they are used with wisdom. If the
information obtained and analyzed with the system is used to create a product that matches
or exceeds customer expectations, and the sales staff uses the system to service customers
more expertly and diligently, then customers should be satisfied with the company. This will
provide a competitive advantage because customer satisfaction leads to increased customer
loyalty, reduced customer acquisition costs, reduced price elasticity of demand, and increased
profit margins [12].

The advantage offered by Product Information Management is that there is aggregation of


product content from multiple systems into a single, centralized repository bakery products
are becoming one of the ultimate healthy foods, bread also makes an excellent Carrier for
other nutritious ingredients e.g. seeds. [13]

8
According to THOMAS [14] Strict and clear terms of business within the supply chain as
provided by help to establish well-defined rules for transaction and thereby provide an
integrated and straightforward data model. The implementation in the quality program also
limits the number of players involved and defines standards for the data collected and the
quality of data.

SCHIEFER [15] states that, due to various developments on markets for Bakery products,
demands on effectiveness and ability to cooperate are increasing. This process generates the
need to enhance the organization of information and communication structures.

1~4 Challenges/Disadvantages of the System:


According to research and markets [16] Bakery products are especially challenged due to
several process, product and characteristics:
• Customer deadlines must be met to avoid costly penalty clauses
• Unmanaged, out-of-date designs can’t be trusted, causing costly redesign work
o Extremely high production rates (1,000 to 1,500 products per minute)

• Delicate products, often with fragile coatings and toppings which are loosely adhered

• Uncontrollable process variables leading to inconsistent size and shape variations


(e.g. humidity, flour and yeast quality rising and time, etc.)
o It is again disadvantageous that only computer literate who may be able to use the
information system and it can only through training that one can use the system.

In conclusion therefore with the advantages stated above, there must be a need for a Bakery
Management Information System (BMIS) due to the increasing demand of security of data,
reduced redundancy of data which is inform of files which in the long run leads to
inefficiency and unstable production Hence a need for computerized system that would
solve everything concerning data entry and Information system. Though there are some
hindrances that may oppose the system.

9
CHAPTER THREE

3,1 Methodology
Methodology is a codified set of practices (sometimes accompanied by training materials,
formal educational programs, worksheets, and diagramming tools) that may be repeatedly
carried out to produce software [16].

3.2 Analyzing the literature of the system


The researcher used interviewing and observation as a means of systems analysis and data
collection

3.2.1 Interview
This is a conversation between two or more people (Jhe interviewer and the interviewee)
where questions are asked by the interviewer to obtain information from the interviewee.
Interviews can be divided into two rough types, interviews of assessment and interviews for
information [18].

The researcher carried out interviews with the general manager of hot loaf bakery who
directed him/her to the production manager and sales manager who were able to facilitate
and give each and everything concerning with the data that was needed.
The advantage of this method of data collection is that there is high response rate since the
production manager and sales manager were able and willing to fill and give the required
data like bakery background, production trend and sales requirements.

3.2.2 Observation
The act or the faculty of observing or taking notice; the act of seeing, or of fixing the mind
upon, anything [19].
The researcher used the time by seeing the types of products produced like buns, types of
bread like kilo bread, half kilo bread, brown bread, cakes and other bi-products like sweat
rolls and even how the products are entered in books and files.

10
The researcher also observed how data was recorded, format recordings and other forms
generated mostly in sales department and production department. Example is a finished
products form which is filled by production sector.

3.3 Speci~ring User Requirements

3.3.1 User requirements


This is where the entire concept of Information systems development revolves around.
These requirements include; user needs, performance expectations, and other specifications.
The reason for specifying this is that success or failure of an information system may be
measured by the level of satisfaction of its basic users in the organization. Otherwise the
customer will continue with the existing system and thereby defeat the purpose of the
developed system. It is therefore a waste of resources to build information systems without
sufficiently satisfying the target user.

3.3.2 System requirements


These involve computer programming languages to be used by the researcher in developing
the information system, for example PHP, Java Script, phpmyAdmin, Mysql and Html.

3.3.3 Data Analysis


The researcher used the data got through the interviews and observation to confirm the
situation on the ground. Through the use of the internet the researcher was able to
understand the basic inputs and outputs of a bakery management information system and
defming different records and there relative fields, the required out puts and inputs like the
reports.
The information got by observation, interviewing were analyzed which helped in the
designing of the system. That is;
• Separating data so as to know how many tables are required to avoid
• duplication of data in the same table.
o Defining different records and their relative input fields.

o Defining the required outputs, this is mostly the reports.

11
3.3.4 Assumptions made by the researcher,

Every registered customer(agent) has a unique identification number


Every product of the bakery has a unique identification number
o The bakery administrator will be responsible for full access to the system
applications i.e. adding and removing customers and even issuing there respective
privileges and rights to other users of the system.
• No customer will have access to the system.

3.3.5 Physical design.


Physical design of the system deals with the actual design of the system depending on the
requirements that were established during the logical design. This has been determined by
communication requirements between the system, users and design of the interface to
support the communication of the user’s tasks and constraints on the bakery management
information system flow.

3.3.6 Programming languages.

PHP was used because it is a general-puypose, multi-platform scripting languages optimized


for the use of with web applications. Php can also work hand-in-hand with Mysql on an
open-source program. It also interacts well with Apache server.

HTML Dream weaver has been used to design the various Graphical User Interface (GUI)
forms for the (BMIS). HTML was also embedded into PHP to provide a friend ness GUI.
Apache web server was also used.
MYSQL: (Mysqi -5.O.22-community —nt) in particular was used as a database because it can
connect well with PHP and they are available at a free cost under open source and
commercial licenses and can be used on different operating system.
PHPMYADMIN: Php MyAdmin 2.8.2 was also to provide an interface with MySql. Php
MyAdniin provides ease manipulation and usage of Mysqi.
Internet explorer 6 and internet 7 were also used to test and display results.

12
CHAPTER FOUR

4.1 Description of the system.


For the person to use the system, he/she must be registered by the bakery administrator,
who assigns the user name and the pass words. The BMIS makes the use, roles based on
security and users must be assigned to various roles according to their positions. The
positions include Bakery Administrator, Sales manager and Production manager. The
Administrator can add records, Update records, Delete, View all reports and Search any
records. The Sales manager can add Records, Add agents, Updates, View Reports, Search for
specific records. The Production manager can manage Stock Taking, View specific reports,
Update specific records. Other users cannot use the system.

The system requires that for only business to be carried out or to be an agent one should
first be registered with the bakery administrator. On the registration the customer (agent) is
given agent identification number (agent id) that will be checked whenever a supply is to be
made. Once a customer (agent) has finished registering, he/she can proceed by being
supplied with bakery products whenever a request is made.

4,2 Hardware and Software Specification


This deals with the hardware and software specifications for BMJS. Since BMIS is built to
run on the apache server, minimum specifications given are those for the dedicated
computer on which it should run.

4.2.1 Hardware specifications.


> A minimum of 128MB or more of RAM.
> A minimum of 500MB free hard disk space. Color monitor with minimum of
800*600 screen resolution.

> 400MHZ or higher of processor speed with whichever brand of products.

13
4.2.2 Software specifications
Bakery management Information system operates well on windows operating systems which
include windows XP and other windows with the following installed:
~ PHP2.11.4
~ MYSQL 5.0.45
> Apache 2.0.55 web server or more

4.2.3 Systems architecture


The system is a client server Architecture with the Administrator, Sales Manager and
Production Manager who can have access to the database that is hosted on the central
server.

4.3 Pseudo codes.


This refers to the use of phases to describe the processing steps of a program or a module.
Below are Pseudo codes for logging, inserting or entering date onto BMIS. One can Login
either as an administrator, sales manager and production manager.

4.3.1 How to login into the system


Check ~f the username contains one ofthe above usernarnes
~fokt~y
Proceed
If not
Dispiqy how to use the rystern
Back to the lo(ginform
Ifthe admin logged in
Check the username andpass word ~fth~y are correct
If not diiplqy how to use .~iystem
If correct
Displqy administrator’.cpriorities
Ifthe sales manqger lo~gged in
Check the user name andpass word ~/th~y are correct
Ifnot displqy how to use the rystem p~ge

14
If correct
Direct to sales managerpage
Ifthe pivduciion manager logged in
Check username andpass word ~fth~y are correct
not
Diiplqy not~fIcation how to use the .~ystem
If correct
Direct to production manger’~c page.

4.3.2 Inserting or entering new records into the system


Check ~/the attributes orfields are entered correct!~y
Ifwrong return an error not~fication “wrong input”
If correct return an emptyfield

4.4 System llnputs and Outputs.

This chapter consists of the charts, tables and forms used to input data and the result or the
output of the system.

4.4.1 Logical database design


This deals with the processing of data by the system. The system creates a database first and
then the user enters data requirements, the system then processes the data to produce the
desired outputs that are stored in the respective database tables for retrieval or reference.

15
Entity relationship Diagram for BMIS

Figure 2: ERD

11

Key
* It indicates a primary key

— it indicates foreign key


(1, n) one to many relationship
(n, 1) many to one relationships

16
4~4~2 The system flow chart

No

Add
Sales
Record
Products
Add Finished products
Returns
Products Stock taking
Agents
Deliveries Returns
Agents Update
Sales Update stocking
Search Deliveries
Sales Finished products
Agents
Products Update
Returns Sales
Finished products Returns
Deliveries
Agents

Reports

Products
Delete Returns
Sales Finished products
Delivery
Agents
Returns

Figure 3: Flow Chart

17
4.5 The HIPO Chart for BMIS.

Figure 4: Hipo chart

18
4~6 Systems Inputs
The tables within the database of thc system are designed using MYsqi. The various
attributes of the tables are given various parameter values or names that are: fields, data type,
size and description. Fields contains all the inputs that are required into the system, date type
contain the input type, size contain the number of characters any field can contain/hold,
description defines the terms that are abbreviated within the field column.

4~6.1 Sales details in the database

This is how data concerning sales are arranged and organized in the data base
FIELD DATA TYPE SIZE DESCRIPTION
Sales id(Pk) varchar 5 Sales identification
Product id(Fk) varchar 5 Product identification
Agent id varchar 5 Agent’s identification
Quantity sold varchar 15 Total products taken
Table 1: Add sales

4~6.2 Return Details in the database

These are fields in the database concerning returns in the database

FIELD DATA TYPE SIZE DESCRIPTION


Return id(Pk) varchar 5 Return identification
Agent id varchar 5 Agent identification
Product id(Fk) varchar 5 Product identification
Rate varchar 10 Price per product
Quantity taken varchar 10 Total products taken
Quantity returned varchar 10 Total products returned
Quantity sold varchar 10 Total products sold
Amounts payable varchar 10 Expected amounts
Table 2: Add returns

19
4.6.3 Finished products
This is how finished products are arranged in the database. (yy-mm-dd) means that date is
arranged in the order of year, month, and date.

FIELD DATA TYPE SIZE DESCRIPTION


date Date(yy~mm-dd) 10 Date for finished products
Product id(Fk) varchar 5 Product identification
Product name(Pk) varchar 15 Bakery product name
Product quantity varchar 15 Product quantity produced
Clean products varchar 10 Clean products got
damages varchar 10 Number of damages got
Issued by varchar 15 Name of person in charge
Received by varchar 15 Name of person receiving the
products

Table 3: Finished products

4.6.4 Stock stocking details in the database,


These are fields, data types, size (maximum characters that a field can contain) and
description (abbreviated items within the column of the field).
FIELD DATA TYPE SIZE DESCRIPTION
Stock name(Pk) varchar 15 Required stock name
Stock id varchar 5 Stock identification
Open stock varchar 15 Stock you start with
In stock varchar 15 Stock remained on the previous day
Out stock varchar 15 Stock put in production
Closing stock varchar 15 Out stock minus in stock
Date. Date(yy-mm-dd) 10 Date of stocking
Remarks varchar 30 Conditions after stocking
Table 4: stocking

20
4~6.5 Products details in the database
This is how the data is arranged in the database.
FIELD DATA TYPE SIZE DESCRIPTION
Product id(Pk) Varchar 5 Product identification
Product name varchar 10 Product’s name
Product rate varchar 10 Product’s rate
Product quantity varchar 15 How much is taken
Total amounts varchar 10 Total amounts got
TableS: Add products

4~6.~6 Delivery table details in the database.


This is how the data is arranged within the database when the deliveries are being entered.

FIELD DATA TYPE SIZE DESCRIPTION


Delivery id(Pk) varchar 5 Delivery identification
Product id(Fk) varchar 5 Product identification
Quantity delivered varchar 15 Total products delivered
Cost per products varchar 10 Price per product
Total amounts varchar 15 Total products available
date Date(yy~mm-dd) 10 Date of issuing that delivery
Table 6: Add delivery

4.6.7 Agent Details in the database.


Every agent is given an identity (pk) that identifies him/her from other agents and the full
names plus other details.
FIELD DATA TYPE SIZE DESCRIPTION
Agent id(Pk) varchar 5 Agent identification
Agent name varchar 15 Agent’s name
Agent Address varchar 15 Agent’s address
Agent contact no varchar 10 Agent Personal number
Date Date(yy~mm-dd) 10 Date for product take
Table 7: Add agents

21
Amounts payable varchar 10 Expected amounts
Table 2: Add returns

4.6.3 Finished products


This is how finished products are arranged in the database. (yy-mm-dd) means that date
is arranged in the order of year, month, and date.

FIELD DATA TYPE SIZE DESCRIPTION


date Date(yy-mm~dd) 10 Date for finished products
Product id(Fk) varchar 5 Product identification
Product varchar 15 Bakery product name
name(Pk)
Product quantity varchar 15 Product quantity produced
Clean products varchar 10 Clean products got
damages varchar 10 Number of damages got
Issued by varchar 15 Name of person in charge
Received by varchar 15 Name of person receiving the
products
Table 3: Finished products

4~6,4 Stock stocking details in the database.


These are fields, data types, size (maximum characters that a field can contain) and
description (abbreviated items within the column of the field).
FIELD DATA TYPE SIZE DESCRIPTION
Stock name(Pk) varchar 15 Required stock name
Stock id varchar 5 Stock identification
Open stock varchar 15 Stock you start with
In stock varchar 15 Stock remained on the previous day
Out stock varchar 15 Stock put in production
Closing stock varchar 15 Out stock minus in stock

22
Date Date(yy-mm- 10 Date of stocking

dd)
Remarks varchar 30 Conditions after stocking
Table 4: stocking

4~6,5 Products details in the database


This is how the data is arranged in the database.
FIELD DATA SIZE DESCRIPTION
TYPE
Product id(Pk) Varchar 5 Product identification
Product name varchar 10 Product’s name
Product rate varchar 10 Product’s rate
Product varchar 15 How much is taken
quantity
Total amounts varchar 10 Total amounts got

Table 5: Add products

4.6~6 Delivery table details in the database.


This is how the data is arranged within the database when the deliveries are being
entered.

FIELD DATA TYPE SIZE DESCRIPTION


Delivery id(Pk) varchar 5 Delivery identification
Product id(Fk) varchar 5 Product identification
Quantity delivered varchar 15 Total products delivered
Cost per products varchar 10 Price per product
Total amounts varchar 15 Total products available
date Date(yy-mm-dd) 10 Date of issuing that delivery
Table 6: Add delivery

23
4~6~7 Agent Details in the database,
Every agent is given an identity (pk) that identifies him/her from other agents and the
full names plus other details.
FIELD DATA TYPE SIZE DESCRIPTION
Agent id(Pk) varchar 5 Agent identification
Agent name varchar 15 Agent’s name
Agent Address varchar 15 Agent’s address
Agent contact no varchar 10 Agent Personal number
Date Date(yy-mm- 10 Date for product take
dd)

Table 7: Add agents

4~7 The Input Forms for BMIIS


The input forms of BMIS are designed using HTML. The various attributes of the
form are given various parameter values or names. Authenticated in such way that any
authorized person is able to access the resources or information meant for him/her.
Authentication is ensured by use of Username and given pass words. JavaScript has
been used to validate and verify all the inputs.

4.7~1 The login form for BMIS


The form shows the login page for Bakery Management Information System (BMIS)
Only authorized users can login into the system i.e. Administrator, sales manager and
Production manager

24
A

Specil~ the UseiName And password To Login

~erNarne
Pass\Vord

BMIS I~I __

BTvnc
Form 1: Login Page

4.7.2 The administrator page


The administrator page consist the combination of both sales and production pages
because he/she can do each and everything concerning the system. That is he/she can
add, update, search, view the reports within the system and gives the rights to other
users of the system

L F Administrator’s page
= = goto

Add fr5~iete IReports ISearch


Products Sales ~Pr.à~F~po~] I S.~d.Pmdoth

Sales LV~w.~d~~J I
~ products L~1.wR.~ R~e°~’ I Ls..~ene I

Retiuiis Retiinis I ~ 1 I~I


Deliveiy Fuushed Products I ~
~ Ifl~.l~.dPro~1
~ I_____

Back Exit

Form 2: Administrator page

25
4.7.3 Sales manager page
The sales manager’s page consists of all the privileges that a sales manager is supposed
to perform like adding sales in form returns, agents, deliveries and viewing the reports
as shown below

SALES MANAGER’S PAGE


GO TO

Add [Reports Search


Products L v,.wp,od.a~~ I~
Sales I V~..P..p.m ~

I~1owS~ ___

Returns I Ve~dR.pomJ I So~d~Dob~on.. I


Delivery ~

Form 3: Sales Manager Page

4.7.4 Production manager page

The production manager’s page consists of all the privileges that a production manager
is supposed to perform like stock taking, update stock, delete stock and record finished
products as shown below

Back
L Production Manager
Add stock
Recoid finished ioducts

Delete stock
R.po,ton~ni.flodp,o~.]
V~.w.U~&Ropod

Form 4: Production Manager

The system inputs can also categorized as shown below

26
4.7.5 Sales

The sales form can be accessed by a sales manager and the bakery administrator that
assists in adding sales in a day or any time when the sales are made.

Add Sales
sales Id
product Name ~hm~

agent Id reddt
quantity sold
date(yy mm-dd) 2008-04-01 [ seiec~~p~]
Go to
Submit [c~nceIj
Sales Manager page
help

Quality Tastes And health

Form 5: Sales Form

4.7.6 Returns

This one can be also be accessed by sales manager and the bakery administrator which
assists in the adding returns to the system.
Prod.~jna1ag~ ~ add retwTls

Add Returns
Date I [JavaScript Appitcanan]
Go to Agent Id
Admln page Product Id
Quantity taken
rate
Quntlty returned
Quantity sold
Am~ints Payable

_ Ex~
Quality Tastes And health

Form 6: Add returns


4.7.7 Finished products

The finished products form is accessed by the bakery administrator and production
manager, it is used to record the finished products from the production sector which is
then handed to sales sector for marketing.

Finished products
joate(yy_mm_dd) 12008-03-27
IPm~ct id
~~ct name select

IPnDi~t Quantity
dean Products
Ioamaget I demage j
Click to go Bat! I’~~’-’~’ by
IF~m1~ by
[STOP~E] [~NcEL J
Quality Tastes And health
Form 7: Finished products

4.7.8 Stock taking


Stock taking is done by production manager though the bakery administrator can also
access the page. It is used to stock materials that are used in baking (store
management).

Daily Stock Taking


Stock name baking powder

Stock id 203

Open Stock 0 Kg
In Stock 8000 kg
Out Stock Boo kg
Closing Stock 7400
_____________ kg [ e~.’ailable stock
__________ I
Date 2008-03—27

Remarks gooc4 I
S~.,e Cancel Back

Quality Tastes And health

Form 8: Stocking

28
4.7.9 Delivery
This form is accessed by sales manager and the bakery administrator. It should cater
for all the deliveries to their respective and registered agents.
ad&d~y ______ ______

Add delivery

~llv~-y Id (JavaScript Application]


Product Id p12
Product name ~et see dW~C~ )~Ofl 1]
Quantfty deilveced dqdgdq r ct~1
Go to Cost per product
Admin paoe Total amounts [~]
Date (yy-mm-dd)

Quality Tastes And health

Form 9: Delivery

4.7.10 Agents
This form is used to add registered agents into the database. It is accessed by sales
manager and the production manager.

add agent
Date 2000-03-27 1 selsO a date

Gob:)
Admin page Agent id

Agent First Name

Agent Second Name

Agent Location

Agent Address

Contact Number

Cancel

iiahtii2jastesAod_beali:h
Form 10: Add agents

29
4.7.11 Products
This is used to in put the products that are produced at the bakery into the system as
Longer they are registered with the bakery

ac~agmit .ddpro~Jcts

Add products
Iprod1~t id
[JavaScript AppIIcat~on]
product name select
Go to p The ktiow*~g eror(s) occcrred:
product rate - proaxt~ Is req.Ied.

- prociictjate Is r ed
product quantity - dict~ai’Jty is req.ked.
tot~amotrtt~ Is rec~ked.
Itotal am0~t5 r—~< I
I~te 2000-03-

r~~i I Cmtcelj EXIt

Quality Tastes And health

Form 11: Add products

4.8 System Outputs


The data entered in the system are analyzed, formatted, organized and categorized into
the database which leads to the output of the required results

4.8.1 Data Search


These facilitate quick data searches. The user has to specify date or identity depending
on the data he or she wants to view as shown below.

4.8.1.1 Search on finished products


Finished products are searched by specifying the range of date one needs to see the
products that were produced as shown below.

30
Finished Products Reports
2008-03-13
2008-02-04
From Date _____________ [ selecta date j To Date ~earch

2345678
9 10 11 12 J~j 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
thisn~,nth close

Form 12: Search finished products

4.8.1.2 Search on delivery


Deliveries are searched by selecting the name of the products and then pressing search

Delivery Search
product Name Half Kb Ord • search

Kb Cake Bread
Half kilo bread Back
Special Bread
VariCake
Ord Cake
Square cake
Ord Biscuits
Brown Bread
Special Dgnts
Sweat Rolls
Plain Dgnts
Buns

Form 13: Search Deliveries

4.8.1.3 Search on Returns


Returns are searched by selecting the date that one is interested to view the returns as
shown below.

R~tti i-ri ~ r~h

R~tLIrri dat~ IE I~ct~ d~t~ j [S.iaSrch j


I’~tsrch 2008

1
2 3 4 5 5 7 8
9 10 11 12 13 14 15
19 17 18 19 20 21 22
23 24 25 26 27 29
30 31
— ~ ~ - I~
Form 14: Search Returns

4.8.1.4 Stock search


Ingredients to be used in the production can be seen by choosing a range of date one is
interested to view as shown below.

Stock Report
I~0m Date I 12008-~~-~.l ~ seIectada~~jI~te IEta~te ~IL~”~
~J Mardi 2008
~
2345678
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27~~29
30 31
~hI.n.onth .10..

Form 15: Search Stock

4.8.2 Reports

4.8.2.1 Report on products


The agent purchase list is generated daily, weekly and it lists the products that are
registered and supplied with a day or a week basis as long as a purchase is made. It can
be done by selecting a range between dates as shown below

32
Click Back
The Products Report

product id product name product rate product quantity total amounts date
p1000 Kb Cake Bread 1600 656~ 88S88 2008-03-0
122 Half Kb Ord 2000 2000 4000000 2008-03-0
444 Kb Cake Bread 100 45000 4500000 2008-03-10
908S Vmi Cake 454545 6 30454515 2008-03-10
565 Idlobread 56 6 3912 2008-03-11
14 SpecialBread 500 600 300000 2008-03-11
p1000 Kb Cake Bread 1600 656~ 88888 2008-03-0
p122 HalfKboOrd 2000 2000 4000000 2008-03-0
444 KioCakeBread 100 5000 4500000 2008-03-10
9088 Van Cake 454545 6 30454515 2008-03-10
565 Halflcilobread 56 6~ 3912 2008-03-11
14 SpedaiBread 500 600 300000 2008-03-11

Form 16: Reports on products

4.8.2.2 Report on Sales made

This report shows the various Sales at the Bakery on a given day or week.

Click Back
The Sales Reports

sales Id product Name quantity sold date


12 51565 1000000 2008-02-19
900 p900 400 2008-03-0
blOO p45 1689-0 2008-02-05
s013 pl4 68900 2008-02-29
slO plO 2098 2008-03-04
slOO p1234 87000 2008-03-0
s14 p 23 1500 2008 02-2
add ssss wthhy 2008-02-20
sjhjh yf~hb fclf 2008-02-2
tgy~ 6rt66 5r65r6t5r 2008-02-2
88 Kb Cake Bread S98 2008-03-10

Form 17: Sales Report

4.8.2.3 Report on Stock available

This shows the stock that is available in the store for baking their products this is done
by the Production Manager to ensure that there is a constant supply to the sales
department.
CHAPTER FIVE

5,1 Evaluations
The BMIS designed for Hot Loaf Bakery is able to make work and improve on the efficiency
and effectiveness of the Bakery activities especially the sales, agent, returns, deliveries, stock
taking retrieval.
The system is good in terms of;
o Data validation and verification: This has been achieved by use of JavaScript that
ensures that the user enters only what the system requires i.e. avoids entry of garbage
into the system and as is widely believed in the computer world “Garbage in “leads
to “Garbage out” “GIGO”

Easy Search and Look up: The system makes the search of specific records easy and
simple. it also enables or facilities quick, formatted and easy daily and weekly report
generation

o The system is platform independent: since it was designed using php MyAdmin and
it’s related technologies and platform independent then that implies the System can
run on any platform if it is configured properly, that’s on the server and even stand
alone computers.
o The system was designed using Apache Server which if installed on a central server
can provide client server services. I.e. can accommodate sharing of resources
through a network. This absolutely enhances data sharing among the various users.
o The system is able calculate some quantities when on click button is placed hence
improving on the efficiency of the system.
o Its simple graphical user interface makes it easy to navigate in.

5,2 Limitations of the system


To login into the system one must have a specified password. I.e. the administrator, the
sales manager, the production manager.
o Despite the friendly user interfaces there is need for the user to have some basic
computer skills to be able to navigate easily and first around the system
System logs are only configurable on the Apache Server. The Administrator has to
choose the appropriate location to save these Log files or it must be first on a wamp
server on stand one computers.

5~3 Problems Encountered


Some of the information that the researcher would have liked to know was kind of
confidential especially the financial related transactions. This kind of information narrowed
the scope for the researcher.

The php MyAdmin technology was Very new too and hard to me and it required going into
a “wild” search. This was due to the fact that the library lacked current books that dealt with
the php technology and being a new programming technology.

The other big problem accounted was the central server that has been on and off hence it
has not been possible in time schedule.

5~4 Future research Areas


The researcher realized there is still room for further improvement on the system. Any
improvements should be made on the basis of the already developed system to cater for any
shortcomings that may have been overlooked by the researcher.
The system can be modified to suit the following areas:
Whole Productions department
Quality Assurance department
Distribution department
Transport department

5~6 Recommendations
The researcher recommends the following:

~ The current system at the bakery that is manual should be phased out completely
though they have an Internal BMIS system that works in all Departments.

3
8 The Bakery should employee a systems administrator who will be responsible for the

maintenance of the BMIS system


9 All the Customer related details should be entered on a daily basis for this will enable
easy data manipulation since the date is generated automatically.
• The system should also be expanded to include the other many departments

especially the whole production sector at the Bakery and if possible be uploaded to
the World Wide Web so that on line can be made any time and instantly.

5,7 Conclusion
The BMIS has achieved all the mentioned Objectives of the system; the system is able to
generate reports and searches when needed. The system is able to post, update and delete
data from the database. The system also can search for a particular record from the database.
Thus, the system has been a success to both the system developer/designer and there is
hope that the system will make the work of the Bakery very easy, since it’s a computerized
system.

.3
APPENDICES
5d References
1. Information systems- [Article by: THEOPHILUS B.A...ADDO] (business
Encyclopedia) and (dictionary of Business Terms, 33rd edition by jack P.Friedman,
published by Barron’s Educational series,) http://wwxv.answers.com/informatjon
systems (retrieved 29th August, 2009).
2. Information systems (dictionary of Business Terms, 33rd edition by jack P.Friedman,
published by Barron’s Educational series,) http://www.answers.com/information
systems (retrieved 09th September, 2009).
3. Information systems- [Article by: CIBORRA] and (dictionary of Business Terms, 33rd
edition by and published by Ciborra’s Educational series,)
http://www.answers.com/information systems (retrieved 01st, September, 2007).
4. Newbury house Dictionary (2007) retrieved on 3rd September 2007 from
http: / /en.wikipedia.org/wiki/management.
5. Haag, Stephen; Macye Cummings, Donald J. McCubbrey, Alain Pinsonneault, Richard
Donovan (2006). Management Information Systems for the Information Age
6. Requirements [Online] retrieved on 02”<~ September2009) from
http: / /en.wikipedia.org/wiki/reqiurements/Information-systems.
7. http: / /www.bariflagroup.com/thebarillagroup/companyprofile/
8. Home baking at its best.mht (2007) retrieved on 23rd august 2009 from
http://en.wiltipedia.org/wild/types of bakeries.
9. Bakery Management Corporation, baking management. Baking-net.com retrieved on
10th semptember 2009 from http: //baking matiagement.
10. Advantages of Management information system retrieved on 03rd September2009)
from http://en.wilcipedia.org/wilti/ advantages of management information systems.
11. The Economist [on line] 4 March 1995 retrieved on 23rd July 2009 from
http: / /en.wikipedia.org/wiki/information-systems.
12. Sales Management [Online] retrieved3othjuly2009) from
http: / /en.wikipedia.org/wiki/sales-managements.
13. Information System, [Online] retrieved on 27th June, 2009 from
http: / /en.wikipedia.org/wiki/information-systems

37
14. Advantages of information systems retrieved on 03~ june2009) from
http://en.wikipedia.org. SCHIEFER
16. Research and Markets [Online] retrieved on 02~~ September2009) from
http: //en.wikipedia.org/wiki/researchandmarket/Information-systems. The 2007-
2012 Outlook for Retail Bakery Breads and Rolls Excluding Bagels in Greater
China Market Research Reports Research and Markets.mht
- -

I 8. Interview (2007) [online] retrieved on 3~ July 2009 from


http: / /en.wikipedia.org/wiki/healthlinks.washington.edu/howto/measurement/glossary
19. Observation (2007) [online] retrieved on 3~ July 2007 from
http://en.wikipedia.org/wiki/observation

38
5~2 Interview Guide/Questionnaire
Respondents’ particulars:
Surname
Other Name
Sex: Male [] Female [j
Job title/position

General Information
1. When was the Bakery Started?

2. Who are the founders of this Hot loaf Bakery?

3. What is main product produced?

4. How do you categorize your products?

5. What is the organizational structure of the bakery ie from the General Manager up to
Store keeper?

6. What are various prices/rates of the different products that are produced at the bakery?

7. What are the procedures followed for one to become an agent/constant customer?

39
8. How do you store your records at end of the day?

9. How do you view reports? I.e. sales, returns, stock takings, finished products?

Setbacks
What are the problems associated with the currents system used at the bakery

What are the areas would you like to see improved or changed in this system

40
5~3 System codes
How to login into the system <script type”text/javascript~> innerHeight!=document.MMpgH)
<?php echo “<?xml <!—-var imagel=new ImageQ location.reloadQ;
version \“ 1 .0\” encodingz \“iso- imagel .src= “logo.jpgt’ }
8859-1\”?”.”>”;?> var image2=new ImageQ MM_reloadPage(true);
<!DOCTYPE html PUBLIC image2.src=”cakes.jpg” function MM_frndObj(n, d) {
//W3C//DTD XHTML 1.0 var image3znew Images //v4,01
Transitional//EN” irnage3.srcz”burns.jpg” var p,i,x; if(!d) ddocument;
“http: / /www.w3.org/TR/xhtmll / var image4znew ImageQ if((pn.indexOf(”?”)) >O&&parent. fr
DTD/xhtmll -transitionaLdtd”> image4.srcz “breadi .jpg” ames.length) {
<html
xi~s “http://~~~.w3.org/ 1999/ //--> dparent.frames[n.substring~+ 1)] .d
xhtml”> </script> ocument;
<head> <script language’ ‘7avaScript” n~n.substring(0,p);} if(! (x= d[n])&&d
<title>login< /mle> type “text/JavaScript~> .all) xd.all[n]; for
<!--
<meta http~equivz “Content-Type” (i’O;!x&&i< d.forms.length;i+ +)
“text/imiil; charset=iso- function xzd.forms [i] [n];
8859~111 /> MM_reloadPage(init) {if(initz true~
<script type~z “text/javascript”> with(navigator) {if forQO;!x&&d.layers&&i<d.layers.le
function display_quote2Q { (~appName = “Netscape”)&&~parse ngth;i+ +)
if(confirm(” Do you Want To E)dt Int(appVersion)==4)) { xzMMfindObj(n,d.layers[i].docum
system?”)) { ent);
window.closeQ document.MM_pgW=innerWidth; if(!x && d.getElementByld)
} document.MM_pgH=innerHeight; xzd.getElementByld(n); return x;
} onresizezMM_reloadPage; } }
</script> else if function MM_validateFormO {
<scriptlanguage’z “JavaScript” (innerWidth! document.MM_pgW //v4.0
src= “gen_validatorv2.j s” II var
type “text/javascript”> </script> i,p,q,nm,test,num,min,max,errors

45
<body bgcolor= “lavender”> <td>&nbsp;</td>
for (i0; i<(args.length <table widthz”961” border=”O” <td>&nbsp;</td>
2);i+ 3)testzargs[i+2J;
cellpadding= “0” cellspacing= “0”> <td colspan=”2” rowspan=”2”
valzMM_findObj (args [i]); valign= “top” bordercolor= “#FFFFFF”
<!--DWLayoutTable~><~>
if (val) { nmzvaLname; jf <td widthz “2” heightz “18”> </td> bgcolor= “lavender”> <form act onz”login.
((val=val.value)!=”) { <td width=”225”></td>
exec.php” method=”post”
name”login.php” id”forml”
if(test.indexQfCisEmai’)i -1) { <td width=”16”></td> onsubmit= “MM_validateFormCusername’,”
pval.indexof(’@’); <td widthz”385”></td> ,‘R’,’password’,”,’R’);remrn
if (p<1 I p(val.length-l)) <td widthzz”91”></td> documentMMreturn\ralue”>
errors+=’- ‘+nm+’ must contain an <td width”219”></td>
<p alignz”center”><font
e-mail address.\n’; color”#FFOOOO” size~”+2”>Specify the
<td width=”23”></td>
UserName And password To
} else if (test!’R’) { num = Login</font> </p>
parseFloat(val); <tr>
<table width”89%”
<td height=”190”></td> heightr~”1 14”
if (isNaN(val)) errors+ ‘-
border” 1”>
<td colspanz”5” valignz”top” <tr>
must contain a number.\n’;
bgcolor= “lavender”> <form
if (test.indexOf(’inRange’) -1) { name”form2” id=”form2”
<tdbgcolor~”lavender”> <font
size=”+2”>UserName</follt></td>
p test.indexQf(’:’); method=”posi” action=”> <td><font size”+2”>
mimztest.substring(8,p); <palign=”center”> <img
<input namez”username”
src=Hbread%2Opic/logo.jpg~ name=”slide” type”text”
maxztest.substring(p+ 1); id=”username” />
width”453” height=”202” id= ‘slide”
if (num<mjn I max<num) /></p>
</font></td>
errors+’- ‘+nm+’ must contain a </tr>
</form> </td>
<tr>
number between ‘+min+’ and <td></td>
<td height=”25”> <font
size” +2” >PassWord</fo,~t> </td>
<tr>
} } } else if (test.charAt(O~ ==
<td height”19”></td>
<td><font size~”+2”>
errors += ‘~ ‘+nm+’ is required.\n’; <input name “password”
<td>&nbsp;</td>
type”password” id~”password” />
} <td>&nbsp;</td> </font></td>
} if (errors) alert(’The following <td></td> </tr>
error(s) occurred: \n’+ errors); <td> </td>
<tr> <tdheightzz”26”
<td> </td>
document.MMreturnValue = colspan”2” >&nbsp;</td>
<td> </td>
(errors = = </tr>
</tr>
</table>
} <tr>
<p align~z”center”> <font size”+2”>
//--> <td height=”168”></td>

46
<input name=”enter” type”submit” <td valign”top” <td><em> <fontcolorz”#FFOOOO”
id=”enter” value”ENTER” /> bgcolor “#lavender”> <p size” +3” >&nbsp;&nbsp;Quality
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; align”center” ><font Tastes&nbsp;&nbsp;&nbsp;AncI
<input name=”cancel” type”reset” size” +4”>BMIS</font> </p> Health</font></em> </td>
id=”cancel” value”CANCEL” /> <td>&nbsp;</td>
</font></p> <script type”text/javascript”> <!-- <td>&nbsp;</td>
</form> //variable that will increment through the </tr>
<div align”center”> images <tr>
<scriptlanguage=”JavaScript” var stepl <td height”19”></td>
typez”text/javascnpt”> function slideitQ <td>&nbsp;</td>
var frmvalidator = new //if browser does not support the image <td>&nbsp;</td>
\Talidator(”login.php”); object, exit. <td> </td>
frmvalidator.addValidation(”username”,” ma if (!document.images) <td> </td>
xlen=20”,”username shouldnt exceed 20 return <td> </td>
characters”); document.images.slide.src=eval(”image” +st <td> </td>
frmvalidator.addValidation(”username”,”req ep+”.src”) </tr>
“,“Please enter username”); if (step<4) </table>
frmvalidator.addValidation(”usernamc” ,“ alp step++ </body>
ha”,”username field should contain letters else </html>
only”); stepl How to add sales
frmvalidator.addValidation(” password”,”ma / /call function “slideitO” every 1.5 seconds <?php
xlen=20”,”password shouldnt excecd 20 setTimeout(”slideitO”,2500) $salesid trim($_POST[’salesid’]);
characters”); $product_id = trim($_POSTCproduct_id’]);
frmvalidator.addValidation(”password” ,“req slideitO $agent_id = trim($_POST[’agent_id’]);
“,“Please enter password”); </script> $quantity_sold
frmvalidator.addValidation(”password” ,“aln </p> </td> trim($_POST[’quantity_sold’]);
um”,”password field should ~—-“); <td>&nbsp;</td> $date = trim($_PQST[’date’J);
</sclipt> <p>&nbsp;<a <td valign”top” $db_handle = mysql_connect~Iocalhost’,
href=”javascript:display_quote2Q”> <stron bgcolor”lavender”> <p>&nbsp;</p> ‘aruhozo’,’bmis8l 1’);
g><font <p><font if(!mysql_select_db~bmis’,$db_hand1e))
size=”+2”>Exit</font></strong></a>< size”+4”>BMIS</font></p></td> { echo “Could not connect to the
/p> database”;
</div></td> <tr> } else {$query “insert into add_sales
<td>&nbsp;</td> <td height=”37”></td> values(’$sales_id’, ‘$product_id’, ‘$agent_id’,
<td rowspan=”3” > <p>&nbsp;< /p> <td><div ‘$quantity_sold’, ‘$date’)”;
<p>&nbsp;</p></td> alignz”right”> <em> </em> </div> </td> $result = mysql_query($query,
</tr> <tr> <td height”91”></td> <td>&nbsp;</td> $db_handle);

47
if(!$result){ echo “Could not date the echo “Could not add sales”; <tdwidth”46%”> <font
record”; } size=” +2”><strong>Stock
else { name</strong> </ font> < /td>
else { echo “record added successfully”; echo “sales added”; <td width”54%” ><font size”+2”>
header(”Location:addsalessales.htm”); <select name “stock_name”
?> } }?> id=”stock_name”>
How to add products into the database <option>flour</option>
How to add stock into the database <option>yeast 2 in 1</option>
<?php
<!DOCTYPE HTML PUBLIC <option>yeast brown</option>
$salesid = trim($_POST[’salesid’});
<html> <option>tam</option>
$productnamc
<head> <option> sugar</option>
trim($_POST[’productname’]);
<title>Produciion Section</title> <option>baking powder</option>
$agentid = trim($_POST[’agentid’]);
<meta http-equlv “Content-Type” <option>cooking oil</option>
$quantitysold
contentz”text/html; charset=iso-8859-1’> <option>calcium</option>
trim($_POST[’quantitysold’j);$date
</head> <option>mixed spices</option>
trim($_POSTrdate’j);
<body bgcolor “lavender”> <option>vanilla lic~uid</option>
echo date(”Y-m-d”);
<font size”+2”> <option>eggs< /option>
$ddate(”Y-m-d”);
<div align”center”><font </select></font> </td>
//$dddate(”Y-m-d”);
size” +3”>Daily Stock </tr>
if($date!$d)
Taking</font> </div align”center”> <tr>
{ </font> <td> <fontsize” +2”> <strong>Stock
echo “wrong date”;
<div align”center”> id</strong> </font> </td>
echo’<p><a href=”add sales.htm”
</div> <td> <font size”+2”>
target “_self” > Enter Real
<form action”stocking.php” <inputname”stock_id”type=”text”
Date</a> </p>’;
method”post” name “stocktaking” id”stock_id” maxlengthz”5”>
exit;
id=”stocktaking”> </font></td>
} {$db_handle=mysql_connect(’localhost’, <div align”center”> </ tr>
‘anthozo’,’bmis8l 1’);
<div> <tr><td><font
ifQmysql_select_db~bmis’,$db_handle))
<table width”45%” height”227” size”+2” > <strong>Open
{ echo “Could not connect to the border”O” align”center” cellpadding”O” Stock</strong> </ font> < /td>
database”;
cellspacing”O” bgcolor “lavender”> <td> <font size”+2”>
<tr bgcolor”lavender”> <input name”open_stock’ type”text”
else {$query=”insert into addsales
<tdcolspan”2” > <div id”open_stock” maxlength” 15”>
values(’~sa1esid’, ‘$productname’, ‘$agentid’,
align”center”></div> </td> </font></td>
‘$quantitysold’, ‘$date’)”;
</tr> </tr>
$result = mysql_queiy($query,
<tr> <tr>
$db_handle);
<td> <fontsize” +2”> <strong>In
ifQ$result) {
Stock</strong></font></td>

48
<td> <font size=”+2”> </div><div align=”center”></div> <div <tdwidth”13”
<inputnamet”in_stock” type=”text” align=”center”> bgcolor”lavender”>&nbsp;</td>
id”in_stock” maxlength=”l 5”> <input type=”submit” name=”Submit” </tr><tr> <tdheight=”347”
</font>< /td> value=”Save”> bgcolor”lavender”>C]ick
</tr> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; togo<ahref=”productionphp”>
<tr> &nbsp;&nbsp; <input type=”reset” Back</a></td>
<td> <fontsize “+2”> <strong>Out name=”Submit2” <td valign”top”
Stock</strong> </font> < /td> value=”Cancel”>&nbsp;&nbsp;<a bgcolor”lavender” > <form
<td> <font size” +2”> href”/production.php” >Back </a> name=”finished_products” id”forml”
<inputname=”out_stock” type”text” <p> <em><fontsize~” +2” >Quality method”post”
id~”out_stock” maxlength” 15”> Tastes</font> </em> <em> < font action” frnished_productsaction.php”>
</font> < /td> size” +2”>And <tablewidth=” 1 00%”border” 1”
</tr> health</font> < /em> </p> bgcolor=”lavender”>
<tr> <td> <fontsize” +2”> <strong>Closi </div> <tr>
ng Stock</strong> </font> </td> </div> <tdwidth=”32%” >Date(<font
<td> <font size” +2”> </form> color”#FFOOOO” >yy-mm-
<inputname”closing_stock”typetcxt” < /body> dd</font>)</td>
id”closing_stock” maxlength=” 15”> </html> <td width=”68%’ > <input name=”date”
</font></td> How to add finished products into the type”text” id”date” size”12”
< /tr> <ix> database maxlength”l 0” />
<td> <font <script 1anguage~”JavaScript” </td>
size” +2”> <strong>Date< /strong> </fo src”gen_validatorv2.js”
nt> </td> type “text/ javascript” > </script> <tr> <td>Product id</td <td> <input
<td> <font size= “+2”> </head> name”product_id” type”text”
<input name=”date” type “text” id=”date” <body> id=”product_id” maxlength”5” /> </td>
maxlength “10”> <table width”790” height”555” </tr>
</font> < /td> border”O” cellpadding”O” <tr>
</tr> cellspacing”O” bgcolor”#66CCFF”> <!- <td<td> <select name=”product_name”
<tr> -DWLayoutTable--> id= ‘product_name”>
<tdheight”26”> <font <ix> <td width” 194” height”41” <option>select< /option> <option>Half
size” +2”> <strong>Remarks< /strong> < bgcolor”lavender” >&nbsp;</td> Kb Ord</option>
/font></td> <td width”583” <option>Klo Cake Bread </option>
<td> <font size=” +2”> bgcolor”lavender” > <div <option>Half kilo bread </option>
<input name”remarks” type”text” align”left”><font <option>Special Bread </option>
id”remarks” value” maxlength”30”> size” +3” >&nbsp;&nbsp;&nbsp;&nbsp;& <option> Van Cake</option>
</font></td> nbsp;Finished <option>Ord Cake </option>
</tr> products</font> </div> < /td> <option>Square cake </option>
</table> <option>Ord. Biscuits</option>

49
<option>Brown Bread</option> <p align”center”> frmvalidator.addValidation(”darnages”,”req
<option>Special Dgnts< /option> <input type”submit” name=”Submit” “,“Please enter damages”);
<option>Sweat Rolls </option> value=”STQRE” /> fmvalidator.addvalidation(”damages”,”maxl
<option>Plain Dgnts </option> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; en15”,”Max length for damages is 15”);
<option>Buns </option> <input type”reset” name=”Submit2” frmvalidator.addvalidation(”damages”,”nu
</seleci></td> value”CANCEL” /></p> meric”,”damages field should contain only
</tr><tr> </form> numbers”);
<td>Product Quantity</td> <scr1ptlanguage=’~JavaScript” frmvalidator.addvalidation(”issuedby” ,“re
<td><input name=”product_quantity” type”text/javascript”> q”,”Please enter the name”);
type=’text” id=”product_quantity” varfrmvalidator=new frmvalidator.addValidation(”issuedliy”,”m
maxlength=”15” /></td> ~
axlen 15”);
</tr> frmvalidator.addvalidation(”product_id”,” frmvalidator.addvalidation(”issuedby” ,“alp
<tr> maxlen~z5”,”product id shouldnt exceed 5 ha”,”wrong input the field should contain
<td>Clean Products</td> characters”); letters
<td> <input name”clean_producrs” frmvalidator.addValidation(”product_id”,”r only”);frmvalidator.addvalidatjon(”recieved
type”text” id”clean_products” eq”,”Please enter product id”); _by”,”req”,”Please enter name”);
maxlengthzz”15” /></td> frmvalidator.addValidation(”product_id”,”n frvalidator.addvalidation(”recieved_by”,”m
</tr> <tr> <td>Damages</td> urneric”,”product id field should contain axlenl5”,”Max length for name is 15”);
<td> <input name”damages” type=”text” numbers”); frmvalidator.addValidation(”recieved_by”,”
id=”damages” maxlength=” 15” /> <input frmvalidator.addValidation(”product_name alpha”,” the field should contain letters”);
namc=”damage” type”button” “,“dontselectO”,”Please choose product </script>
id=”damage” onClickzz”doMathO” name from the list”); <script language”JavaScriptl .2”>
value=”damage”> </td> frmvalidator.addValidation~’product_quanti /~Number check script-
</tr> ty”,”req”,”Please enter product quantity”); By J avaScript Kit (www.javascriptkit.com)
<tr> frmvalidator.addValidation(”product_quanti Over 200 free scripts here!
<td>Issued by</td> ty”,”maxlen=20”,”Max length for product
<td> <input name”issued_by” quantity is 15”); function checknumberQ
type”text” id”issued_by” frmvalidator.addvalidation(”product_quanti //var
maxlengthz”20” /> </td> ty”,”numeric”,”Wrong input for product xdocument.add_products.phone.value
</ tr> quantity”); //var anum/(~\d+$) I (‘~\d+\.\d+$)/
<tr> frmvalidator.addValidation(”clean_products if (anum.test(x))
<td height=’23”>Recieved “,“req”,”Please enter clean products”); testresulttme
by</td> frmvalidator.addValidation(”clean_products else{
<td><input name=”recieved_by” “,“maxlenz 1 5”,”Max length for clean alert(”Please input a valid Phone number!”)
type”text” id= “recieved_by” productsis 15”); testresultfalse
maxlengtli”20” /></td> frmvalidator.addValidation(”clean products
</tr> “,“numeric”,”Wrong input for clean return (testresult)
</table> products”);

50
</script> echo’<p> <a liref”add_remms.html”
<script> health</font> </em> </font> < /p></td targetz”_self’>Enter Real
function checkbanO { > Date</a> < /p>’;
if <td bgcolor= “lavender’ >&nbsp;< /td> exit;
(documentlayers I I document.all docume </tr> }
nt.getElementByld) <tr> //if($date>$dd)
return checknumberO <td heightz”155” //{
else bgcolor=”lavender”>&nbsp;</td> //echo”date is invarid”;
return true <td bgcolor=”lavender”><div //exit;
} align=”center” > </div> </td> //} $db_handle
</script> <td bgcolor”lavender” >&nbsp;</td> mysql_connect~localhost’,
<script> </tr> ‘aruhozo’,’bmis8l 1);
</table> if(!mysql_select_db(’bmis’,$db_handle~)
/ ~Current date in form credit: </body> { echo “Could not connect to the
JavaScript Kit (www.javascriptkit.com) </html> database”;
Over 200+ free scripts here!
*/var mydate=new DateO How to add returns into the database else
var theyearmydate.getYearQ <?php {
if (theyear < 1000) $date = trirn($_POST[’date’j); $query”inser tinto adcLreturns
thcyear+ 1900 $agent_id = trim($_POST~’agent_id’]); value s(’$date’,’$agent_id’,’$product_id’,’$qua
var thedaymydate.getDayQ $product.jd ntity_taken’,’$rate’,’$quantityreturned’,’$qu
var themonthmydate.getMonthQ + I ttim($_POST~product_id’]); anthy_sold’,’$amounts_payable’)”;
if (themonth<10) $quantity~taken $result = mysql_query($query,
themonth”O” +themonth trim($j~OST[’quantity_taken’]);$ratetrim($ $db_handle);
var thedaymydate.getDateQ _POST~’rate’]); if(!$result~ {
if (theday<10) $quantity_returned echo “Could not add the record”;
theday”O” +theday trirn($_POST~quandty_returned’]); }
var displayfIrsttheday $quanthy_sold else {
var displaysecondthemonth trim($_POST~quantity_sold’j); echo “returns added”;
var displaythirdtheyear $amounts_payable header(”Location:add_returns.html”);
document. finished_products.date.value=dis trim($..POST~amounts_payable’j); }
playthird+”-”+displaysecond+”
“+displayfirst echo date(”Y-m-d”);
</script> $ddate(”Y-m-d”); How to search stock
<p> <em> <font color”#OOOOOO” //$dddate(”Y-m..d”); <body bgcolor”lavender”>
size” +2” >Quality Tastes</font></em> if($date!$d) <?php
<font color”#OOOOOO”><em><font { $username “aruhozo”;
size”+2”>And echo “wrong date”; $password = “bmis8ll”;

51
$database = “bmis”;
echo $aak[’open stock’];echo ‘</td> <td>’;
/ /$server “database.ics.must.ac.ug”; echo $aak[’in_stock’j;
echo ‘ finished products Found in the
$server “locaihost”; database’;echo ‘<p>’;
echo ‘</td> <td>’;echo $aak[out stock’];
$date2 trim($PQSTCdate2’]); echo’<tr> <th>date</th><th>product
echo ‘</td><td>’; echo id</th>’;
$date3 = trim($PQST[’date3’j);
$aak[’closing_stock’]; echo ‘<th>product
$db_handle mysql~connect($sewer, echo ‘</td> <td>’;echo $aak[’date’];echo
$username, $password); name</th><th>product quantity</th>’;
‘</td> < td>’;
$dbjound = mysqlselect_db($database, echo’<th>ciean
echo $aak[’remarks’];echo ‘</td><td>’;
$db_handle); products</th> <th>damages</th>’;
}?>
$query “select * from stocking where echo’<th>issued by</th> <th>recieved
<a href=”<font face”G-ramond”
date BETWEEN ‘{$date2}’ AND by</th></tr>’;wbjie (~aak
size”+2”>Click to go<a Inysqlfetch_assoc($resnits))
‘{$date3}’’; hrefz “javascript:histoi-y.back(l)”>
$results = mysql_query($query, <em> <strong>Back</strong> </em> </ { echo ‘<tr><td>’;
$db handle); echo $aakrdate’]; echo ‘</td><td>’;
a>”
if ((!mysql_num_rows($results)) >0) echo $aakrproduct id’];echo ‘</td><td>’;
{ //echo mysql_num_rows($resufts);echo echo $aak[’product_name’]; echo
How to search finished products from ‘</td> <td>’;
“<No stocking item found in the
the database
database>”; } <body bgcolor”lavender”>
echo $aak[’product_quantity’] ;echo
echo ‘<table border=”l” align =
‘</td> <td>’;
<?php $username “aruhozo”;
“center”>’; echo $aak[’clean_products’] echo
$password “bmis8ll”; ‘</td> <td>’;
echo mysql_num_rows($results);
$database = “bmis”; echo $aakamages’];
echo ‘ Stocking item Found in the
database’;
/ /$server = “database.icsmust.ac.ug”; echo ‘</td><td>’;
$server “locaihost”; echo $aak[’issued by’];echo ‘</td><td>’;
echo ‘<p>’; $db_foundzmysql_select_db($database,
echo ‘<tr><th>stock echo $aak~’recieved_by’];
$db_handle); echo ‘</td><td>’;
name</th><th>stock id</th>’; $query = “select ~ from flnished~products
echo ‘<th>open stock</th><th>in where date BETWEEN ‘{$datel}’ AND
stock</th>’; echo ‘<th>out <a href” <font face”Gramond”
‘{$date2} “;$re suits mysqlquery($query, size”+2”>Click to go<a
stock</th><th>closing stock</th>’; $db_handle); if
echo href”javascript:histoiy.back(l)”>
((!mysqlnum_rows($resuits)) >0) <em> <strong>Back</strong> </em> </
‘<th>date</th><th>remarks</th></tr>
{ //echo mysql_num_rows($results); a>”
while ($aak = mysqljetch_assoc($results)) echo “<No finished product found in the
datbase>”;
echo ‘<tr><td>’;
echo $aak[’stock_name’];echo echo ‘<table border”l’ align
‘</td> <td>’; “center”>’;
echo $aak[’stock id’]; echo ‘</td> <td>’; echo mysql_num_rows($resuits);

52

You might also like