Download as pdf or txt
Download as pdf or txt
You are on page 1of 114

FACULTY OF INFORMATION AND COMMUNICATION TECHNOLOGY

PHARMACY MANAGEMENT SYSTEM

CASE STUDY ON MACK PHARMACY, LUMLEY FREETOWN.

BY

SAHR NYAKA

STUDENT ID: 905001031

MAYDELSHIA COLE

STUDENT ID: 905001027

HASSAN MANSARAY

STUDENT ID: 905001379

A DISSERTATION SUBMITTED IN PARTIAL FULFILMENT OF THE


REQUIREMENTS OF THE DEGREE OF BACHELOR OF (HONS) IN BUSINESS
INFORMATION TECHNOLOGY.

MAY, 2022
DECLARATION
We, Sahr Nyaka, Maydelshia Cole, and Hassan Mansaray do hereby declare to the best
of our knowledge that this graduation project was our original work and that it has never
been submitted to any University or any institution before. The literature and citation
from other people’s work have been duly referenced.

Date:

Signed:

NAME: SAHR NYAKA

STUDENT

Date:

Signed:

NAME: MAYDELSHIA COLE

STUDENT

Date:

Signed:

NAME: HASSAN MANSARAY

STUDENT

i
APPROVAL
This project report “Pharmacy Management System” has been submitted for examination
with my approval.

Date:

Signed:

NAME: MR MOHAMED VANDY

SUPERVISOR

ii
DEDICATION
We dedicate this project to our dear parents for their moral and financial support,
brothers, sisters, friends, course mates Mark pharmacy staff, and above all to our
supervisor. Mr. Mohamed Vandy for his helpful guidance, suggestions, and comments
which helped a great deal to accomplish this task, and to the Almighty God in Heaven,
glory be unto you forever and ever.

iii
ACKNOWLEDGEMENT
We would like to thank the Almighty God for his continuing guidance, love and affection
for our lives. Without you Lord we couldn’t have made it. We thank everyone at Mark
pharmacy for allowing us to use the organization as a case study. Our appreciation also
goes to our parents for their financial and moral support. Special regards go to our
supervisor Mr. Mohamed Vandy for his support during this research.

iv
ABSTRACT
This project was aimed at designing a Pharmacy Management Information System; a
system to aid in the management and operation of the pharmacy. Methods that were
used to gather information about the current system include; interviews, record reviews,
and questionnaires. From that information, requirements for the new system were
obtained. The new system was designed using Entity-Relationship diagrams and was
implanted using PHP, HTML, CSS, JavaScript, Code Igniter, and MySQL. The system
generates reports that are vital for the pharmacy administration.

v
TABLE OF CONTENT
DECLARATION ........................................................................................................i
APPROVAL ............................................................................................................. ii
DEDICATION......................................................................................................... iii
ACKNOWLEDGEMENT .......................................................................................... iv
ABSTRACT .............................................................................................................. v
LIST OF TABLE ................................................................................................... ix
LIST OF FIGURES ............................................................................................... x
LIST OF ABBREVIATIONS ................................................................................. xi
LIST OF APPENDICES...................................................................................... xiii
CHAPTER ONE........................................................................................................1
Introduction ..........................................................................................................1
1.1 Background ..................................................................................................1
1.2 Statement of the Problem ...........................................................................2
1.3 Objective of the Study .................................................................................2
1.3.1 Main Objective .......................................................................................2
1.3.2 Specific Objectives ................................................................................2
1.4 Feasibility Study...........................................................................................3
1.5 Significance of the Study.............................................................................4
1.6 Scope ...............................................................................................................5
1.7 Justification of the Study ...............................................................................5
1.8 Research Questions ........................................................................................6
1.9 Conceptual Model ...........................................................................................6
1.10 Conclusion .....................................................................................................7
CHAPTER TWO .......................................................................................................8
Literature Review ..................................................................................................8
2.1 Introduction ....................................................................................................8
2.2 Management Information Systems ...............................................................8
2.2.1 Management .............................................................................................8
2.2.2 Information ...............................................................................................8
2.2.3 System .......................................................................................................9

vi
2.3 Role of Pharmacy Computer Systems ......................................................... 10
2.4 Databases ...................................................................................................... 11
2.5 Data Bank ...................................................................................................... 11
2.6 Database Management System (DBMS)...................................................... 12
2.6 .1 Advantages of Using Database anti DBMS: ......................................... 13
2.6.2 Disadvantages of Using Database and DBMS ....................................... 14
2.8 Conclusion ..................................................................................................... 15
CHAPTER THREE .................................................................................................. 16
Research Methodology and Analysis of the System ......................................... 16
3.0 Research Design ........................................................................................ 16
3.1 Mode 2 and Triple Helix Model .................................................................. 17
3.2 Design Approach ........................................................................................ 18
3.2.1 Object-Oriented System Analysis and Design .................................... 19
3.2.2 Model Driven Architecture .................................................................. 21
3.2.3 OOSA&D and MDA Integration for Pharmacy Management System
Development .................................................................................................... 24
3.3 Data Collection ........................................................................................... 26
3.3.1 Qualitative Research Methodology ..................................................... 26
3.3.2 Secondary Sources of Information ..................................................... 27
3.4 Population and Sampling Method ............................................................. 27
3.5 Characteristics of Sample .......................................................................... 27
3.6 Research Findings ......................................................................................... 28
3.7 Design Approach ........................................................................................ 29
3.7.1 Object-Oriented System Analysis and Design .................................... 29
3.8 System Design ............................................................................................ 32
3.8.1 Primary Design Phase: ........................................................................ 32
3.8.2 Secondary Design Phase: .................................................................... 32
3.9 Project Category ........................................................................................ 32
3.9.1 Relational Database Management System (RDBMS): ....................... 32
3.9.2 Brief introduction about RDBMS:........................................................ 32
3.10 Project Planning...................................................................................... 33

vii
3.11 Project Scheduling: ................................................................................. 35
3.12 Project Profile ......................................................................................... 35
3.13 UML Model ............................................................................................... 37
3.14 Use Case Model ....................................................................................... 39
3.15 Data Flow Diagram ................................................................................. 41
3.16 Context Level Data Flow Diagram ......................................................... 43
3.17 Entity Relational Diagram ...................................................................... 47
3.18 Activity Diagram ..................................................................................... 50
.............................................................................................................................. 50
3.19 High Level Model Diagram of the Present System................................ 51
CHAPTER FOUR ................................................................................................... 53
Systems Implementation ................................................................................... 53
4.0 Introduction ............................................................................................... 53
4.1 Justification of The Programming Language ........................................... 53
4.2 System Requirement ................................................................................ 54
4.2.1 People ................................................................................................... 55
4.3 Implementation Details ............................................................................. 56
4.3.1 Coding ................................................................................................... 57
4.3.2 System Testing ..................................................................................... 57
4.3.3 File Conversion ..................................................................................... 57
4.3.4 Commissioning ..................................................................................... 57
4.3.5 User Manuals ........................................................................................ 58
4.3.6 Maintenance Detail .............................................................................. 58
CHAPTER FIVE ..................................................................................................... 59
Discussion, Recommendations and Conclusion ................................................ 59
5.1 Introduction .................................................................................................. 59
5.2 Discussion ..................................................................................................... 59
5.3 Recommendations ........................................................................................ 59
5.4 Conclusion ..................................................................................................... 60
References ........................................................................................................... 61

viii
LIST OF TABLE

Table Page

1. Characteristic of Sample 27

2. Gender and Age Respondents 28

3. Project Scheduling 35

4. Software Requirement 55

5. Hardware Requirement 55

ix
LIST OF FIGURES

Figure Page

1. Client Server Architecture Model (Welling & Laura; 2003) 7

2. MDA Conceptual Frame Work 23

3. OOSA&D Integration with MDA 25

4. Data Base Server Architecture 33

5. Admin Use Case Diagram 40

6. Staff Use Case Diagram 41

7. Contexture Level DFD 43

8. Zero Level DFD 44

9. First Level DFD 45

10. Second Level DFD 46

11. ER-Diagram 49

12. Flow Chart 50

13. High Level Model Diagram for the Present System 51

x
LIST OF ABBREVIATIONS
CD - Compact Disc

DBMS - Database Management System

GB - Gigabyte

G1IZ - Gigahertz

LAN - Local Area Network

M. l. S - Management Information Systms

MySQL - My Structured Query language

PDUR - Prospective Drug Utilization Review

PHP - Hypertext preprocessor

RAM - Random Access Memory

OO - Object-Oriented

SLDC – Software Development Life Cycle

DBMS – Database Management System

RDBMS – Relational Database Management System

UML – Unified Modelling Language

ICT – Information Communication Technology

OOA – Object-Oriented Analysis

OMG – Object Management Group

DCD – Design Class Diagram

MDA – Model Driven Architecture

CIM – Computation Independent Model

xi
PIM – Platform Independent Model

PSM – Platform Specific Model

DFD – Data Flow Diagram

E-R – Entity Relationship

CSS – Cascading Style Sheet

HTML – Hypertext Markup Language

UPS – Uninterrupted Power Supply

xii
LIST OF APPENDICES

Appendix Page

i. Sample Questionnaire 62
ii. Budget 65
iii. Introductory Letter 66
iv. Screen Short 67
v. Sample Code 74

xiii
CHAPTER ONE

Introduction
1.1 Background
Stock control and business processes have been tedious and a complicated process in
many organizations today. This has been so because these processes are done manually,
placing the workload on the general staff. Today’s organizations value efficiency and
reliability in terms of delivery and management of their products, relative to slow and
inefficient manual systems in place. Manual systems are far reaching negative effects
which are time consuming as the staff doesn’t have prior knowledge of available stock
levels in the store hence unable to predict proper timing for new stock deliveries. This
means customers are kept waiting while the staff goes in the shelves to trace the product.
The management also is not in a good position to monitor the profits, trends of growth,
losses and development strategies to be put in place for the future, due to inconsistencies
of manual record keeping systems. This project will involve design and implementation
of a computerized stock control system. This is a system that will allow an easy and
effective way to control and maintain business processes. For instance, stock levels which
were initially manual will be automated. Maximum stock levels will be computerized hence
investment of inventory will be kept at minimum so that the funds are made available for
more productive uses thereby avoiding borrowing and consequent loss on interest. Losses
will be minimized on account of obsolescence due to overstocking. When danger levels
are reached, the system will then automatically place an order to the supplier informing
him/her to supply the required product and in the required quantity (Predetermined
reorder quantity). Minimum stock levels will be maintained automatically making sure
that items are available in the store where and when needed.

The system is intended to run on a networked environment so information will be shared


efficiently hence reducing on the time wasted by moving from one place to another hence

a database will be used to capture the information. This will increase the privacy of the
customer’s information since the database will be accessed by authorized personnel only.

1
1.2 Statement of the Problem
Every organization today is committing thousands of dollars in making sure it matches
with the trend of global growth in the world of technology. This has made exchange of
goods and services easier considering that transactions are computerized or networked
to be done over the now famous Internet. It is in this wake of reality that many efforts
are made to ensure efficient, reliable and cost effective means of controlling the flow of
stock in an organization. Business processes are done manually which is prone to error.
For instance, maintaining stock levels is not an easy task as a lot of time is wasted when
stock taking is in process. I.e. the store has to be closed for at least three days to allow
the process to be carried out. Purchase process is done manually which wastes a lot of
time and money since the procurement personnel has to travel to the supplier so as to
place an order. Keeping customer’s information is also a challenge to many businesses
minus the database to restrict the number of people who should have access to the
information. This calls for a control system that will foresee perfect control of business
transactions and ensure stock flow stability.

1.3 Objective of the Study


1.3.1 Main Objective
The following main objective is to be met on completion of this research. To design and
implement a computerized pharmacy management information system.

1.3.2 Specific Objectives


1. To investigate into the existing literature in order to identify requirements for the
proposed pharmacy management information system.
2. To design a database that can be used to store and generate periodic reports such
as stock records, information and supplies and any other relevant information that
may be required from time to time using MySQL.
3. To implement the pharmacy management information system at the client’s
premises.
4. To test the system and ensure that it performs as expected relative to the user
requirements, providing essential functionalities

2
1.4 Feasibility Study
After doing the project Pharmacy Management System, study and analyzed all the existi
ng or required functionalities of the system, the next task is to do the feasibility
study for the project. All projects are feasible – given unlimited resources and
infinite time. The feasibility study includes consideration of all the possible ways to provide
a solution to the given problem. The proposed solution should satisfy all the user
requirements and should be flexible enough so that future changes can be easily done
based on future upcoming requirements.
a. Economic Feasibility
This is a very important aspect to be considered while developing a project.
We decided on the technology based on the minimum possible cost factor.
 All hardware and software cost has to be borne by the enterprise.
 Overall we have estimated that the benefits the enterprise is going to
receive from the proposed system will surely overcome the initial costs and
the later running cost of the system.
b. Technical Feasibility
This included the study of function, performance, and constraints that may affect the
ability to achieve an acceptable system. For this feasibility study, we studied the
complete functionality to be provided in the system, as described in the System
Requirement Specification (SRS), and checked if everything was possible using different
types of frontend and backend platforms.
c. Operational Feasibility
No doubt the proposed system is fully GUI based is very user friendly and all
inputs to be taken all self-explanatory even to a layman. Besides, proper training has
been conducted to let know the essence of the system to the users so that they feel
comfortable with the new system. As far as our study is concerned the clients are
comfortable and happy as the system has cut down costs.

3
1.5 Significance of the Study
The Pharmacy Management System has its own significance to the pharmacy. Using this
system helps to record all transactions made at the daily purchases, and sales, it helps
to recognize all customers, employees, balance stock, etc. It manages all activities around
the pharmacy increases productivity and minimizes the risk of loss because all
transactions are recorded to the system and viewed if needed and the whole reports of
the business will be shown at any time needed.

This study is significant for the following:

Pharmacy Owner/ Manager

This study will help the manager/owner to balance the inventory in order to eliminate
shortage, overstocking, and stock obsolescence. Being able to track and analyze sales
that will help to figure out how to reach sales targets effectively. It helps managers
perform quality control audits to ensure accuracy.

Cashier/Staff

This study will help the Cashier track customer transactions and speed the process of
receipt. The system functions to record purchases, and sales, calculate profit and provide
print customer receipts.

Customer

This study will help the customer save time by spending extra time in manages
interactions in the pharmacy.

Researcher

The developed system will enhance and deepen our knowledge in programming and
system development. This will improve our skills in analyzing and solving problems that
may we apply in the real world.

4
Future Researcher

The developed systems will benefit the future researcher by making this their future
reference in conducting similar studies.

1.6 Scope
The project will concentrate on the stock’ control activities and business processes like
maintaining stock levels and automatic placement of orders which will involve the store
management as the major area of concern. The system will analyze financial statements
automatically to aid determine economic feasibility as well as viability of future trends of
growth in the organization. However, the system will also be confined to the crucial stages
of system development life cycle which will include planning, analysis, design and
implementation of a computerized stock control system. Costing of any kind will not be
in figures but will be shallowly discussed as well as issues of user training and the whole
process of transition. Since the system will be built in conjunction with the current system.
a prototype of the proposed system will be produced with an implementation plan.

1.7 Justification of the Study


The benefits arising from this system will go along in reshaping the flow of stock in the
organization which relies heavily on strategic efficiency initiatives and reliability. It will as
well cut down on the cost of all processes and eliminate several bureaucracies since the
current system relies heavily on file system of record keeping which are not cost effective.
The system will also help to strategize and harmonize the stock management structure
making it easier to manage as well as improve the standard of services offered to
customers. The organization will well be able to monitor its growth and predict
insufficiencies in case of under stock which may bring deficient supply to customers hence
loosing on gross profits as well confidence to customers who constantly need reassurance
of constant supply of products. Overhead costs of transport and communication will also
be largely cut down because there will be less traveling expenses.

5
The staff will have adequate time to focus on the growth of the organization and how
best they can maximally utilize the available resources to steer the organization forward.
This will place the organization in a better competitive position.

The system will provide timely and flexible report delivery that in turn allows informed
decision making at the strategic and tactical level of management of the pharmacy. There
is rapid data entry, quick retrieval of common queries and reports and quick retrieval of
information. This will be achieved through creation of a networked environment which
promotes concurrency.

1.8 Research Questions


 Is it possible to improve the current system of the organization by building and
implementing a reliable and efficient application that can provide staff with
adequate tools to make room for smooth flow of stock and management of the
organization?
 Is it possible to document the proposed research work so as to make a prototype
which can be used to develop the actual application and as well serve as a platform
for future adjustment if need be?
 To what extent can the organization staff be involved to help formulate policies
which can foresee a turnaround in performance of the organization and maximize
on the profits and from the system in general?
 How feasible will be the proposed new system to the organization and what is the
expected rate of growth for future changes?

1.9 Conceptual Model


The concept of the system will involve two important applications which will include user
interfaces allowing the organization staff to browse the different services available and a
database housing the various details about the products to be featured in the database
as well as other crucial information. To rollout the system, the following functionality

6
should be put in place so as to lay foundation for the system using MySQL and PHP
CodeIgniter.

 A user friendly interface to allow the staff to interact freely with the system without
many complications to enhance adding, deleting and viewing of products.
 A database which will carry details about the various products in stock and any
other relevant information.
 Order processing and shipping details for products ordered.

Figure 1. Client Server Architecture Model (Welling & Laura; 2003)

User Interface
Web Server PHP Engine Database
Browser

The system user will first interact with the user interface which will provide him/her with
means to place a request to the database which maybe adding, deleting or viewing stock
records. The request is passed to server which processes it and include a command to
link the available database the query is executed by the database through the PHP engine
which as a tool to transform the request to a format both the database and the server
can understand. The ~su1ts are passed to the user through the same process.

1.10 Conclusion
A good research stems from a proper analysis of the steps which have to be looked upon
before the actual research is carried out. These steps include background of the study,
statement of the problem, conceptual model, significance of the study, research
methodology all through to the development methodology and tools. The researchers
have carefully and critically thought and analyzed these steps.

7
CHAPTER TWO

Literature Review

2.1 Introduction
This chapter elaborates on the importance of management information systems and
databases as viewed by different authors and researchers, the effects and benefit of
the databases and database management systems, and different analysis and design
techniques used in analyzing the current and in defining user requirements for the
new system.

2.2 Management Information Systems


2.2.1 Management
Management is the process that involves managerial skills to interact various
components to make the organization plan run effectively. Therefore, it is concerned
with three concepts of planning, organizing, and controlling. An operation of
management comprises the process or the various activities related to describing the
role of managers in the operation of their organization. The management process
involves; planning, organizing. initiating and control of operations (Robert, 2000).

2.2.2 Information
Information generally, is assigned to data and its definition. A distinction can be clearly
drawn between data and information. Information unlike data can be broadly viewed
as any collected ideas, written or verbal. Whereas data involves facts and figures in
their raw form, information must be processed and useful in planning. Data on the
other hand can be referred to as streams of raw facts representing events occurring
in organizations or the physical environment before they have been organized and
arranged into a form that can be understood and used (Chaudahary, 1997).

8
2.2.3 System
A system in simple terms consists of a set or a group of interrelated elements,
interacting components working together to achieve a stated objective. The
components of a simple system include,
 An input that is raw data for processing which may include raw materials,
physical resources, human resources and knowledge of information.
 Processing, transforming raw data into useful information. The activities
involved include; sorting, editing, classifying and formatting.
 Output. The final processed information for the end user, the result of
operation. It is the objective for which the system is defined.
 Feedback. That is to say the function that makes possible the control over the
system operation.
Management information system is therefore used for computer systems in an
organization or an enterprise that provides’ information about its operations. It also
refers to the people ‘who manage these systems.

If broadly defined, management information systems consider the study of


information systems in business and management. The term management
information system (M.I.S) also indicates a specific category for information systems
serving management- level Functions. It is an information system that uses recorded
data as input into programs that produce routine reports as outputs. Typically, they
are designed almost exclusively to the internal, not external, M.1.S primarily serves
the function of planning, controlling and decision making at the management level.
Generally, management information system depends on underlying transactions
processing systems for their data requirements. M.I.S is a tool that summarizes and
reports the organization’s basic operations. The basic data used for operations are
processed, compressed and are usually presented in along report that are produced
on a regular basis. The underlying function and objectives of M.I.S therefore lies in
serving management concerned with weekly, monthly and yearly results, not day to
day activities (Lucey, 1 997).

9
Thus management information system consists of groups of people, sets of data,
machines (computers), equipment’s, store, process and retrieve data for efficient use
in planning as a common goal. (James, 2000).

2.3 Role of Pharmacy Computer Systems


A recently published Institute of Medicine report identifies medical errors as a leading
cause of injury and death and calls for “a comprehensive and strong response to this
most urgent issue facing the American people” (Elizabeth, 2008). Recommended steps
include developing procedures to assist pharmacists in detecting errors and
encouraging hospitals to use error reduction, techniques.
A frequently recommended method for preventing adverse drug events is Computer
Aided Screening of Prescriptions (CAS). Pharmacists generally screen, or perform
prospective review, of a patient’s medication regimen during the prescription
dispensing process to prevent drug-related problems that, if uncorrected, might lead
to adverse effects or failure to achieve treatment goals. Prospective Drug Utilization
Review (PDUR) became legally mandated for Medicaid patients following the
implementation of the Omnibus Budget Reconciliation Act of 1990 (OBRA ‘90) in
January 1993. Up until that time, this activity had been voluntary on the part of the
pharmacist (Susan, 2008).
In performing PDUR, most pharmacists are assisted by DUR software applications that
are resident on their pharmacies’ computer systems (i.e., in-store computer-aided
PDUR). A pharmacy benefits manager or claims processor may also use DUR software
applications online at the time of electronic claims adjudication (Elizabeth, 2008). They
allow users to review a prescription against a profile of all medications a patient has
purchased from all the pharmacies that have submitted prescription claims for that
patient and so it’s easier for an organization to compile evidence against the
defendant. This data is also vital to users of in-store systems like Gilead pharmacy in
minimizing medical errors as well as assumptions made from lack of prompt
information on the progress of the pharmacy. E.g. the available stock levels so as to

10
know when to purchase more stock and also records of drugs that have been
prescribed to the client. This will aid to weigh the truth between the pharmacist and
the client making the claim in a case where the client claims to have side effects on
prescribed drugs. The records will also help reflect on sales either daily, weekly or
even monthly helping foster a concrete development plan for the welfare of the
pharmacy.

2.4 Databases
A database is an integrated collection of files in computer system. It is a collection of files
stored in computer in a systematic way such that a computer program can consult and
use it to answer questions.

(Rajaraman, I 996) refers to a database as a collection of related data that are necessary
to manage an organi7ation. It excludes transient data such as input documents, reports
and intermediate results obtained during processing. For better retrieval and sorting
records are usually organized as a set of data elements.

A database may be shared or distributed database.

 Shared database: it is a database shared by the users in one organization or


company in one location. They can be found in local area networks (LAN). The
organization owns the database, which is often stored on a microcomputer or
mainframe. Users are linked with the database through terminals or
microcomputer workstations.
 Distributed database: it is one that is stored on different computers on different
locations connected by client’s server network.

2.5 Data Bank


Data Bank can be defined as a collection of data, usually for several users available to
several organizations;’ Data Bank is therefore a collection of databases. The database
and the Data Bank are the same in construction and purpose, the only difference is the
term data bank is usually used to describe a larger capacity of database, whose contents

11
are mostly of historical reference that is the data bank forms the basis for data archival
for periodic information generation. On the other hand, the contents of the database are
frequently to generate that influences the concerned organization’s decisions. (Date,200
1).

2.6 Database Management System (DBMS)


A DBMS is a complex set of software programs that controls the organization, storage,
management, and retrieval of data in a database. DBMS are categorized according to
their data structures or types; sometime DBMS is also known as Database Manager. It is
a set of prewritten programs that are used to store, update and retrieve a Database.
Database management systems is also a set of procedures that manages the database
and provide access to the database in a form required by an application program since it
can access files at the same time, database software is better than classical file systems
that is used to dominate computing (Sawyer, 2000).

The DBMS accepts requests for data from the application program and instructs the
operating system to transfer the appropriate data.

When a DBMS is used, information systems can be changed much more easily as the
organizations information requirements change. New categories of data can be added to
the database without disruption to the existing system.

Organizations may use one kind of DBMS for daily transaction processing and then move
the detail onto another computer that uses another DBMS better suited for random
inquiries and analysis. Overall systems design decisions are performed by data
administrators and systems analysts. Detailed database design is performed by database
administrations.

A database management system consists of the following:

 A modeling language to define the schema of each database hosted in the DBMS,
according to the DBMS data model

12
 Data structures (fields, records, files and objects) optimized to deal with very large
amounts of data stored on a permanent data storage device (which implies
relatively slow access compared to volatile main memory.
 A database query language and report writer to allow users to interactively
interrogate~. the database, analyze its data and update it according to the user’s
privileges on data. It also controls the security of the database. Data security
prevents unauthorized users from viewing or updating the database. Using
passwords, users are allowed access to the entire database or subsets of it called
sub schemas.
 A transaction mechanism, that ideally would guarantee the ACID properties, in
order to ensure data integrity, despite concurrent user accesses (concurrency
control), and faults (fault tolerance). It also maintains the integrity of the data in
the database. The DBMS can maintain the integrity of the database by not allowing
more than one user to update the same record at the same time. The DBMS can
help prevent duplicate records via unique index constraints; for example, no two
customers with the same customer numbers (key fields) can be entered into the
database

2.6 .1 Advantages of Using Database anti DBMS:


 (Date. 2001) outlines the following as the advantages of Using Database and
DBMS: Improved data integrity: because of reduced redundancy there are
increased chances of data integrity-which the data is accurate, consistent and up
to date because each updating is only done in one place i.e. cascade update and
cascade delete.
 Efficient data access: a DBMS utilizes a variety of sophisticated tools to store and
retrieve data efficiently. These features are important if the data is stored on
external storage device.
 Increased user productivity; database management systems are fairly easy to use,
so that users can get their request for information answered without having to

13
result to technical manipulations. In addition, users don’t have to wait for a
computer professional to provide what they need.
 Reduced data redundancy; instead of the same fields repeated in different files in
a database, the information just appears once. The biggest advantage of the
database is that the same information is available to different users. Moreover,
reduced redundancy lowers expense of storage media and hardware because data
can be stored on the media.
 Increased security: although various departments may share data in common,
access to specific data can be limited to a specific user thus though the use of
usernames and passwords only legitimates or authorized members can access this
information.
 More program independence. With database management systems the program
and the file formats are the same, so that one programmer or even several
programmers can spend less lime maintaining files.
 Isolation: The results of transaction are invisible to other transaction until
transactions is complete. For example, if you are running an accounting report at
the time that George is transferring money, the accounting report program will
either see the balances before George transferred the money or after, but never
the intermediate state where checking has been credited but saving yet not
debited
 Concurrent access and crash recovery: a DBMS schedules concurrent access to the
data in such a manner that the user can think of the data as being accessed by
only one user at a time

2.6.2 Disadvantages of Using Database and DBMS


 Initial training required for all programmers and users
 Damage to the database affects virtually all application programs
 Database systems are complex, difficult and time consuming to design
 Extensive conversion costs in moving from file management system to a database
system

14
 Substantial hardware and software start-up cost

2.8 Conclusion
Basing on the above discussed points, it is remarkable that with a rapidly changing
computer industry, designing a sustainable management system is rather a challenging
task. The cost of acquiring, organizing, storing and transmitting information has tumbled,
and in addition advancement in microprocessor technology has led to the dramatic
reduction in the cost of information and information system. Several areas like strategic
business management, globalization, information architecture, information system
investment, responsibility and control are affected by management information concept.

15
CHAPTER THREE

Research Methodology and Analysis of the System

3.0 Research Design


There are a lot of results in the field of software engineering concerning how to represent
systems and how to build a base for communication between the developer and the user
of a software system (Walker et al., 1998). In order to manage the return on investment
in ICT for education, it is essential that the benefits, risks and cost effectiveness of using
a new technology and new media are well understood in the context of application. An
effective approach is to involve users in establishing the expected use of ICT for the
benefit of education as well as in the development process.

Modelling methodology is the best way to visualize the system to be designed. With
modelling, complex and real-world systems are easily understood, qualities of the system
are predicted and communication with stakeholders concerning the key characteristics is
promoted (Brown, 2004). Models are developed as a way of creating a base for
implementing and testing the physical system. Integration of focus group discussion as
inspired by participatory action research methodology with MDA is of significance. Focus
group discussion can easily be supported by modelling, when it comes to developing
system for users.

Methodologies adopted in this research are presented as follows:

 “Mode 2” and Triple Helix model to portray an application of applied and context-
driven research work on a specific problem.
 Data collection approaches where focus group discussion was emphasized. This
part gives an overview of qualitative research and participatory action research
methodology, with an emphasis on focus group discussion, and briefly explains
the development of the students’ registration database system as the starting point
for creating a good relationship and sense of trust, as well as fostering
sustainability.

16
 Design approach in which software engineering was employed. In this part, the
OOSA&D approach with the Unified Modelling Language (UML) were employed
and integrated with Model Driven Architecture which emphasizes the power of the
model in software development.
 Selection and customization of open-source platform gives the system the
functionality as specified by the requirements of Mark Pharmacy.
 Mirroring of the system and replication of the database to ensure that is readily
available to end users.

3.1 Mode 2 and Triple Helix Model


This is a context-driven research work on a specific problem. Triple helix processes and
Mode 2 methods of knowledge production in the specific context of its application and
implication has been adopted.

Gibbons et al. (1994) exploit the major changes in the way knowledge is being produced
in science and technology, the social sciences and humanities, but mainly in science and
technology. Comparing the traditional way of doing research by academia, which Gibbons
et al. (1994) call “mode 1” and where knowledge is generated within the context of a
discipline and cognition, Mode 2 knowledge is created in a broader, trans-disciplinary
social and economic context. That is, it is a form of knowledge production, which is
context-driven, problem focused and inter-disciplinary. “Context-driven” means research
carried out in the context of application, arising from the very work of problem solving
and not governed by the paradigms of traditional disciplines of knowledge.

Lating, (2009) states that trans-disciplinary work is a form of learning and problem-
solving activity involving co-operation among different parts of society and academia in
order to meet the complex challenges of society. In trans-disciplinary research,
researchers work jointly to develop a shared conceptual framework and methodological
approach that integrates and goes beyond their respective disciplinary perspectives to
address a common problem. Therefore, the research cuts across, between and beyond
disciplines.

17
In the product-based economy, development was driven by industry. This is not possible
in the current knowledge-based economy. Future development in the knowledge
economy is driven by incremental innovation within industry. Innovation can be achieved
as a result of an alliance between government, industry and academia. This is a triple
helix alliance. The purpose of the triple helix is to stimulate knowledge-based economic
development, drawing on the resources of all three members of the helix (Lating, 2009).

Walsh, (2001) defines the “triple helix” as a partnership between industrial, academic and
governmental institutions, which recognizes the differing goals and stakeholder
communities of the three groups, but stresses the common interest of those groups to
provide value to the institutions in which they reside. The triple helix concept realizes that
the loose links among these three parties have to be tightened. A more open and
intensified communication has to be established between academic and business
communities, business and government, and government and educational institutions. In
addition to their primary tasks of higher education and academic research, the universities
are also expected to provide both highly qualified personnel and results of research for
use in economic contexts (Kadiman, 2006).

Mode 1 knowledge is closely related to basic (also called fundamental or pure) research,
which is driven by a scientist’s curiosity or interest in a scientific question. The main
motivation is to expand man’s knowledge, not to create or invent something. There is no
obvious commercial value to the discovery that results from basic research. Kuhn (1996)
states that the term “basic” or “fundamental” research indicates that, through theory
generation, basic research provides the foundation for further, often applied research.

With application of “mode 2” and “triple helix”, the research was designed with a number
of methods in order to integrate the collaboration of actors through focus group
interviews and software development. The different methods are introduced below.

3.2 Design Approach


Software engineering is the design methodology adopted in this research. As defined by
Pollice, 2005 and the Institute of Electrical and Electronics Engineers 1993, software

18
engineering is the application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software, and the study of these
approaches. Software engineering addresses the system development life cycle in a
systematic way. The followings were used in designing the Web-based e-learning
management system:

3.2.1 Object-Oriented System Analysis and Design


There are several software development approaches employed. The two most commonly
applied approaches are the structured approach and object-oriented (OO) approach.

Yourdon (1991) says that the structured approach has since been reckoned to be the
most widely used. Yourdon (1991), Davis (1983) and Kendall (1996), also explain that
the structured approach prescribes analyzing and designing software through functional
decomposition. It examines an information system in terms of the functions it performs
and the data it uses and maintains. The structured approach identifies the major functions
or processes of a system, then breaks or decomposes each function down into its smaller
composite steps (Davis, 1983; Kendall, 1996). Furthermore, techniques which are
invariably present in many methodologies, such as entity relationship diagrams, dataflow
diagrams and data dictionaries, are also clearly mentioned.

Thomann (1994) indicates that the OO approach has been identified as the new paradigm
for system development. OO decomposes the system into objects, that is, it examines
the system in terms of the components in the system and how these components act and
interrelate. The analyst first identifies the objects that comprise the system, then creates
an object model which groups the objects into classes, and describes each class in terms
of its attributes (or data), methods (or functions) and relationships with other classes
(Schach, 2004).

The key idea in the OO approach is that the real world can be accurately described as a
collection of objects that interact. An object model includes four components: objects
(that is abstract data structures), classes (i.e., abstract data types), inheritance
(hierarchical relationships among abstract data types) and polymorphism.

19
In software development, a successful information system is subject to frequent
evaluation and revision within the SDLC. Davis et al. (1988) argue that SDLC is the basis
for most software development methodologies. Pressman (1997) adds to this by pointing
out that a system’s life cycle consists of four principal phases:

 Requirements Phase is the process whereby the users’ needs in a software


project are identified, modelled and validated. This phase is regarded as one of
the most important aspects of building an information system because it is during
this process that what is to be built is decided on. It is an iterative process by
which the needs and requirements of individuals and groups significant to the
development are researched and identified. Requirement’s phase defines the
customer, user and market requirements, design requirements and technical
requirements (Arayici et al. 2005).
 Analysis Phase is when the main information for designing the new system is
obtained. It specifies the system objectives and describes the work and its
constraints with which designers have to comply.
 Design Phase is when the architecture is established. The phase starts with the
documentation delivered by the requirement and analysis phases and incorporates
the requirements into the architecture.
 Testing/Implementation Phase is when the system is built. The
implementation phase deals with issues of quality, performance, baselines,
libraries, and debugging. The end deliverable is the product itself.

These phases address what is to be built, how it will be built, building it and ensuring the
quality to highest possible standard.

This research adopted the OO software development approach with UML. Using this
approach Booch et al. (2001 and 2005) argue that the process of object-oriented analysis
(OOA) from SDLC is composed of the following activities: requirement capturing,
specification component identification, and specification representation. During
requirement capturing, several function-viewed notations are used, including the context

20
diagram of the structured analysis technique, use case diagrams and activity diagrams of
the UML. During specification component identification a systematic procedure is provided
to identify classes and their attributes from the data, and to identify class operations from
class, responsibility and collaborator cards, and during specification representation most
notations used are from UML.

An OOA technique is generally composed of an OOA process to analyze requirements and


identify specification components (e.g., classes and class relationships), and an OOA
model to represent specifications. UML can be used for OO models in all phases of
software development, including OOA. In this connection Chen et al. (2000) say that OOA
provides rich notations for representing OO components, such as classes, objects, object
behaviors of classes, object interactions and even functions (use cases and activity
diagrams).

UML is the standard language for specifying, visualizing, constructing, and documenting
all the components of a software system (OMG, 2003b). With UML, a software system
can be described at various levels of granularity (for example, the system, the subsystem,
and the class levels) and from various viewpoints (for example, the logical view and the
use-case view). UML helps to simplify the process of software design, making a model
for construction with a number of different views. UML can help in the following ways:
aiding understanding of complex systems, exploring and comparing design alternatives
at low cost, forming a foundation for implementation, capturing requirements precisely,
communicating decisions unambiguously and simplifying reality. UML is also the one
adopted by MDA, which is also used in this research.

3.2.2 Model Driven Architecture


Design through modelling, which is a norm in the engineering domain, enforces a careful
investigation of the structure, behavior and architecture of a system in the early stages
of development and promotes documentation and reuse. Czarnecki et al. (2005) mention
that, the Object Management Group (OMG) initiative concerning MDA attempts to
separate the application functionality specification from the implementation of that
functionality on specific technology platforms. This approach is designed to play a key
21
role in the fields of information systems and software engineering. MDA is supposed to
provide a basic technical framework for information integration and tool interoperability
based on the separation of the PSM from the PIM.

Brown et al. (2005) insist that models provide abstractions of a physical system that allow
engineers to reason about that system by ignoring extraneous details while focusing on
relevant ones. All forms of engineering rely on models to understand complex, real-world
systems. Models are used in many ways, which are to predict system quality, reason
about specific properties when aspects of the system are changed, and communicate key
system characteristics to various stakeholders. The models may be developed as an
originator to implement the physical system, or they may be derived from an existing
system or a system in development as an aid to understanding its behavior.

UML is one of the technologies specified by OMG to enable a model-driven approach.


OMG in its UML specification version 1.5, (OMG, 2003b) mentions that UML offers a
standard way to write a system’s blueprint, including conceptual things. Development of
the system was also based on MDA using UML as the modelling language. Several
diagrams were used to visualize the system for ease of understanding and discussion
with end-users and research group. Diagrams that were involved were ‘use case’
diagrams in the requirements specification phase, ‘conceptual’ ‘sequence’, ‘collaboration’,
‘design class’ and ‘component’ diagrams in system requirements analysis and system
design phases.

As stated earlier, MDA is supposed to provide a basic technical framework for information
integration and tool interoperability based on the separation of the PSM from the PIM. To
support these principles, the OMG has defined a specific set of layers and transformations
that provide the conceptual framework and vocabulary of MDA as summarized in figure
2.

22
Computation Independent Model (CIM)

Manual Transformation
Platform Independent Model (PIM)

Transformation
T

Platform Specific Model (PSM

Transformation
T

Code

Figure 2. MDA Conceptual Framework

The set of layers defined includes the computation independent model (CIM), the PIM
and the PSM. Along with the conceptual framework, OMG through MDA has also provided
a set of standards to express models, model relationships and model-to-model
transformations (OMG, 2003a).

The MDA guide explains each of these layers as follows:

 A computation independent model is the view of the system from the


computation independent viewpoint, which focuses on the environment of the
system, and the requirements of the system, while the details of the structure and
processing of the system are hidden or are as yet undetermined.
 A platform independent model is the view of the system from the platform
independent viewpoint, which focuses on the operation of a system while hiding
the details necessary for a particular platform. A platform independent view shows
that part of the complete specification that does not change from one platform to
another.

23
 A platform specific model is the view of the system from the platform specific
view-point. A PSM combines the specifications in the PIM with the details that
specify how that system uses a particular type of platform. The platform specific
view-point combines the platform independent viewpoint with an additional focus
on the detail of the use of a specific platform by the system.

3.2.3 OOSA&D and MDA Integration for Pharmacy Management System


Development
Pharmacy Management system development integrates the OOSA&D approach with MDA
as an added approach. When relating OOSA&D to the MDA conceptual framework, as
shown is Figure 3., the CIM for the proposed pharmacy management system is a
modelling system showing specifications requirements. UML’s use case diagrams are used
to model the users’ requirements and their boundaries. The CIM also shows the system’s
architecture and standard specifications.

24
System Requirement and Specification:
CIM
 Use Case Diagram
Manual
Transformation
System Analysis and part of System Design:
 Conceptual Diagram
 System Sequence PIM
 System Operations Contracts
 Collaboration Diagrams OS eLMS
Platform
System Design:
 Design Class Diagram (DCD)
Transformation
(Manual)
PIM Transformation to Specific PIM:

 Studying OS eLMS and Planning for


“Model Merging” of the System and OS
LMS

Selected Open Source system for


Specific PIM
Implementation

Selection of Technology Platform

 Specific Model for Specific PIM PSM

System Implementation Stage:

 Installation of Specific PIM into


Selected Technology Platform
Specific Model
 Implementing Model Merging
 Specific PIM Customization Coding

Figure 3. OOSA&D Integration with MDA

25
3.3 Data Collection
Research methods can be classified in various ways; the main two are quantitative and
qualitative. Both have been employed in this research, although qualitative research
methodology has been employed to a greater extent.

3.3.1 Qualitative Research Methodology


Development of the web-based e-learning management system was mainly based on
qualitative research methods where qualitative data were obtained from observation
(field-work), in-depth interviews, questionnaires and focus group discussions. There are
various qualitative research methods, and the choice of which one to employ is influenced
by the way the researcher collects data. In this research, all the above-mentioned
qualitative means of data collection were employed to get primary sources of data, but
the emphasis was more on focus group discussion. The means of data collection are also
presented by Kalinga et al. (2007).

 Interview
Semi structured interview for the sample suppliers were conducted with selected
stakeholders of the pharmacy (management, staff and customers). Semi
structured interviews are most frequently used in an explanatory research and it
is used to explain themes that have emerged from the use of questionnaires
(Bryman, 2006). Therefore, semi structured interview was appropriate for this
study.
 Questionnaires
Questionnaires were used to collect information from Mack Pharmacy Staff, and
customers. This help to compare data and information which was collected within
a short time. It was administered by self and voluntary cooperation of respondents.
 Physical Observation
Physical observation of the real status of the pharmacy, the number of staff and
customer flow, the presence of computers and their utilization. Others included
the availability of electricity, a school LAN, public connectivity such as telephone
lines.

26
3.3.2 Secondary Sources of Information
Data collection did not stop with primary sources of information using qualitative research
methodology. Data were collected from secondary sources of information by going
through existing relevant documents and texts, which included, documents searched for
on the Internet relating to pharmacy management system.

3.4 Population and Sampling Method


The population is a large collection of individuals or objects that is the main focus of a
scientific query. A sample is a group of people, objects, or items that are taken from a
larger population for measurement. The sample is a representative of the population form
which it was drawn and should have good size to warrant statistical analysis.
The population of this study comprises of 50.

3.5 Characteristics of Sample


A total of (50) questionnaire was administered to respondents. From the distribution, all
were returned and the analysis of findings is represented below:
Table 1. Characteristic of Sample

Questionnaires Retrieval Rate Non-Retrieval


(%) Rate (%)
Administered 50
Returned 40 80.0%
Non-Returned 10 10.0%

It can be seen from the above table that 50 questionnaires were administered to the
target population, of which 40 students were returned which implies that 80% retrieval
rate was gotten while 10 did not return theirs which implies a non-retrieval rate of 10%.

27
Demography of Respondents
Table 2. Gender and Age respondents

Frequency Percentage
Sex Male 27 54%
Female 23 46%
Total 50
Age 18-22 15 30%
23-30 20 40%
30-35 15 30%
35-above - -
No Response - -

From table 3.2 above, 54% of our respondents are male while 46% respondents are
female. Interestingly, 30% of the sample is within 18-22years, 40% are within 23-30 and
only 30% are between 30-35 years.

3.6 Research Findings


After carrying out the research on the current system, there were many inconsistencies
and weaknesses that we. found needed corrective as well as perfective maintenance and
these facts formed the basis for our system requirements. There are about four
computers that are scattered in the organization’s departments. These machines are not
networked and are used for usual purposes of word processing and information storage.
This gives no room for efficient sharing of information across the departments which bore
our first concern of data redundancies and wastage of system resources. With the
increase in business anticipation and as the company grows, a lot of data is being
generated and this has resulted into shortage of storage space. The clerks concerned
collect data manually and sometimes information collected is incomplete because copies
are lacking. This meant loss of productivity for staff. It may therefore take days for the
responsible staff to collect all information like missing copies of manifests. It is therefore
a tedious activity. Data must be collected on daily basis for entry into the system. There

28
is lack collaboration between concerned departments when it comes to the use of data
that has been collected by the various departments leading to replication and lack of
integrity. A lot of time could be saved especially in collecting the same information that
may already be available in another department. This occurs because doubts are cast on
the accuracy of the figures. It is important for relevant information to become only
available to the relevant people. Retrieval of information was also a major concern as it
was tedious and time wasting.

3.7 Design Approach


Software engineering is the design methodology adopted in this research. As defined by
Pollice, 2005 and the Institute of Electrical and Electronics Engineers 1993, software
engineering is the application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software, and the study of these
approaches. Software engineering addresses the system development life cycle in a
systematic way. The followings were used in designing the Web-based e-learning
management system:

3.7.1 Object-Oriented System Analysis and Design


There are several software development approaches employed. The two most commonly
applied approaches are the structured approach and object-oriented (OO) approach.

Yourdon (1991) says that the structured approach has since been reckoned to be the
most widely used. Yourdon (1991), Davis (1983) and Kendall (1996), also explain that
the structured approach prescribes analyzing and designing software through functional
decomposition. It examines an information system in terms of the functions it performs
and the data it uses and maintains. The structured approach identifies the major functions
or processes of a system, then breaks or decomposes each function down into its smaller
composite steps (Davis, 1983; Kendall, 1996). Furthermore, techniques which are
invariably present in many methodologies, such as entity relationship diagrams, dataflow
diagrams and data dictionaries, are also clearly mentioned.

29
Thomann (1994) indicates that the OO approach has been identified as the new paradigm
for system development. OO decomposes the system into objects, that is, it examines
the system in terms of the components in the system and how these components act and
interrelate. The analyst first identifies the objects that comprise the system, then creates
an object model which groups the objects into classes, and describes each class in terms
of its attributes (or data), methods (or functions) and relationships with other classes
(Schach, 2004).

The key idea in the OO approach is that the real world can be accurately described as a
collection of objects that interact. An object model includes four components: objects
(that is abstract data structures), classes (i.e., abstract data types), inheritance
(hierarchical relationships among abstract data types) and polymorphism.

In software development, a successful information system is subject to frequent


evaluation and revision within the SDLC. Davis et al. (1988) argue that SDLC is the basis
for most software development methodologies. Pressman (1997) adds to this by pointing
out that a system’s life cycle consists of four principal phases:

 Requirements Phase is the process whereby the users’ needs in a software


project are identified, modelled and validated. This phase is regarded as one of
the most important aspects of building an information system because it is during
this process that what is to be built is decided on. It is an iterative process by
which the needs and requirements of individuals and groups significant to the
development are researched and identified. Requirement’s phase defines the
customer, user and market requirements, design requirements and technical
requirements (Arayici et al. 2005).
 Analysis Phase is when the main information for designing the new system is
obtained. It specifies the system objectives and describes the work and its
constraints with which designers have to comply.
 Design Phase is when the architecture is established. The phase starts with the
documentation delivered by the requirement and analysis phases and incorporates
the requirements into the architecture.
30
 Testing/Implementation Phase is when the system is built. The
implementation phase deals with issues of quality, performance, baselines,
libraries, and debugging. The end deliverable is the product itself.

These phases address what is to be built, how it will be built, building it and ensuring the
quality to highest possible standard.

This research adopted the OO software development approach with UML. Using this
approach Booch et al. (2001 and 2005) argue that the process of object-oriented analysis
(OOA) from SDLC is composed of the following activities: requirement capturing,
specification component identification, and specification representation. During
requirement capturing, several function-viewed notations are used, including the context
diagram of the structured analysis technique, use case diagrams and activity diagrams of
the UML. During specification component identification a systematic procedure is provided
to identify classes and their attributes from the data, and to identify class operations from
class, responsibility and collaborator cards, and during specification representation most
notations used are from UML.

An OOA technique is generally composed of an OOA process to analyze requirements and


identify specification components (e.g., classes and class relationships), and an OOA
model to represent specifications. UML can be used for OO models in all phases of
software development, including OOA. In this connection Chen et al. (2000) say that OOA
provides rich notations for representing OO components, such as classes, objects, object
behaviors of classes, object interactions and even functions (use cases and activity
diagrams).

UML is the standard language for specifying, visualizing, constructing, and documenting
all the components of a software system (OMG, 2003b). With UML, a software system
can be described at various levels of granularity (for example, the system, the subsystem,
and the class levels) and from various viewpoints (for example, the logical view and the
use-case view). UML helps to simplify the process of software design, making a model
for construction with a number of different views. UML can help in the following ways:

31
aiding understanding of complex systems, exploring and comparing design alternatives
at low cost, forming a foundation for implementation, capturing requirements precisely,
communicating decisions unambiguously and simplifying reality. UML is also the one
adopted by MDA, which is also used in this research.

3.8 System Design


In this phase, a logical system is built which fulfils the given requirements. Design phase
of software development deals with transforming the client’s requirements into a logically
working system. Normally, design is performed in the following in the following two steps:

3.8.1 Primary Design Phase:


In this phase, the system is designed at block level. The blocks are created on the basis
of analysis done in the problem identification phase. Different blocks are created for
different functions emphasis is put on minimizing the information flow between blocks.
Thus, all activities which require more interaction are kept in one block.

3.8.2 Secondary Design Phase:


In the secondary phase the detailed design of every block is performed.

3.9 Project Category


3.9.1 Relational Database Management System (RDBMS):
This is an RDBMS based project which is currently using MySQL for all the transaction
statements. MySQL is an open-source RDBMS System.

3.9.2 Brief introduction about RDBMS:


A relational database management system (RDBMS) is a database management system
(DBMS) that is based on the relational model as invented by E. F. Codd, of IBM's San
Jose Research Laboratory. Many popular databases currently in use are based on the
relational database model. RDBMSs have become a predominant choice for the storage
of information in new databases used for financial records, manufacturing and logistical
information, personnel data, and much more since the 1980s. Relational databases have
often replaced legacy hierarchical databases and network databases because they are

32
easier to understand and use. However, relational databases have been challenged by
object databases, which were introduced in an attempt to address the object-relational
impedance mismatch in relational database, and XML databases.

Figure 4. Database Server Architecture

3.10 Project Planning


Software project plan can be viewed as the following:

a. Within the organization: How the project is to be implemented? What are


various constraints (time, cost, and staff)?
b. With respect to the supervisor: weekly or timely meetings with the supervisor
with presentation on status reports. Supervisor’s feedback is also taken and further

33
modification and developments are done. Project milestones and deliverables are
also presented to the supervisor.

For a successful software project, the following steps can be followed:


 Select a project
 Identifying project's aims and objectives.
 Understanding requirements and specification
 Methods of analysis, design and implementation
 Testing techniques
 Documentation
 Project milestones and deliverables
 Budget allocation
 Exceeding limits within control
 Project Estimates
 Cost
 Time
 Size of code
 Duration
 Resource Allocation
 Hardware
 Software
 Previous relevant project information
 Risk Management
 Risk avoidance
 Risk detection

34
3.11 Project Scheduling:
An elementary Gantt chart or Timeline chart for the development plan is given below.
The plan explains the tasks versus the time (in weeks) they will take to complete.
Table 3. Project Scheduling

January February March

Requirement
Gathering

Analysis

Design

Coding

Testing

Implement

W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4

‘W’ are weeks of the month for i = 1,2,3,4

3.12 Project Profile


There has been continuous effort to develop tools, which can ease the process of software
development. But, with the evolving trend of different programming paradigms today's
software developers are really challenged to deal with the changing technology. Among
other issues, software re-engineering is being regarded as an important process in the
software development industry. One of the major tasks here is to understand software
systems that are already developed and to transform them to a different software
environment. Generally, this requires a lot of manual effort in going through a program
that might have been developed by another programmer.

35
This project makes a novel attempt to address the issue of program analysis and
generation of diagrams, which can depict the structure of a program in a better way.
Today, UML is being considered as an industrial standard for software engineering design
process. It essentially provides several diagramming tools that can express different
aspects/ characteristics of program such as:

a. Use cases: Elicit requirement from users in meaningful chunks. Construction


planning is built around delivering some use cases n each interaction basis for
system testing.
b. Class diagrams: shows static structure of concepts, types and class. Concepts
how users think about the world; type shows interfaces of software components;
classes show implementation of software components.
c. State diagram: show how single object behaves across many use cases.
d. Activity Diagram: shows behavior with control structure. Can show many objects
over many uses, many objects in single use case, or implementation methods
encourage parallel behavior etc. The end-product of this project is a
comprehensive tool that can parse any vb.net program and extract most of the
object-oriented features inherent in the program such as polymorphism,
inheritance, encapsulation and abstraction.
e. Interaction Diagrams: shows how several objects collaborate in a single use
case.
f. Package Diagrams: shows group of classes dependencies among them.

36
3.13 UML Model
UML stands for Unified Modeling Language is the successor to the wave of Object-
Oriented Analysis and Design (OOA&D) methods that appeared in the late 80's. It most
directly unifies the methods of Booch, Rumbaugh (OMT) and Jacobson. The UML is called
a modeling language, not a method. Most methods consist at least in principle, of both a
modeling language and a process. The Modeling language is that notation that methods
used to express design.

Notations and Meta-models

Notation is a graphical stuff; it is the syntax of the modelling language. For instance, class
diagram notation defines how items are concepts such as class, association, and
multiplicity are represented. These are:

Class-Diagram: The class diagram technique has become truly central within object-
oriented methods. Virtually every method has included some variation on this technique.
Class diagram is also subject to the greatest range of modeling concept. Although the
basic elements are needed by everyone, advanced concepts are used less often.

A class diagram describes the types of objects in the system and the various kinds of
static relationship that exist among them. There are two principal kinds of static
relationship:

 Association
 Subtype

Class diagram also show the attributes and operations of a class and the constraints that
apply to the way objects are connected.

Association: Association represent between instances of class. From the conceptual


perspective, association represents conceptual relations between classes. Each
association has two roles. Each role is a direction on the association. A role also has
multiplicity, which is an indication of how many objects may participate in the given
relationship.

37
Generalization: A typical example of generalization evolves the personal and corporate
customer of a business. They have differences but also many similarities. The similarities
can be placed in generalization with personal customer and corporate customer sub type.

Aggregation: Aggregation is the part of relationship. It is like saying a car has engine
and wheels as its parts. This sounds good, but difficult thing is considering, what is the
difference in aggregation and association.

Interaction: Interaction diagram is a type of UML diagram that's used to capture the
interactive behavior of a system. Interaction diagrams focus on describing the flow of
messages within a system, providing context for one or more lifelines within a system.

Typically, an interaction diagram captures the behavior of a single use cases. The diagram
shows a number of example objects and the messages that are passed between these
objects in use cases.

Objects can send message to another. Each message is checks with given stock item.
These are two diagrams: Sequence and Collaboration.

Package Diagram: One of the oldest questions in software is: how do you break down
a large system into smaller systems? It becomes difficult to understand and the changes
we make to them.

Structured methods used functional decomposition in which the overall system was
mapped as a function broken down into sub function, which is further broken down into
sub function and so forth. The separation of process data is gone, functional
decomposition is gone, but the old question is still remained. One idea is to group the
classes together into higher-level unit. This idea, applied very loosely, appears in many
objects. In UML, this grouping mechanism is package. Package diagrams are used to
reflect the organization of packages and their elements. When used to represent class
elements, package diagrams provide a visualization of the namespaces. The most
common use for package diagrams is to organize use case diagrams and class diagrams,
although the use of package diagrams is not limited to these UML elements.

38
State Diagram: State diagram are a familiar technique to describe the behavior of a
system. They describe all the possible states a particular object can get into and how the
objects state changes as a result of events that reach the objects. In most OO technique,
state diagrams are drawn for a single class to show the lifetime behavior of a single
object. There are many forms of state diagram, each with slightly different semantics.
The most popular one used in OO technique is based on David Harel’s state chart.

3.14 Use Case Model


The use case model for any system consists of "use cases". Use cases represent different
ways in which the system can be used by the user. A simple way to find all the use case
of a system is to ask the questions "What the user can do using the system?" The use
cases partition the system behavior into transactions such that each transaction performs
some useful action from the users' point of view.

The purpose of the use case is to define a piece of coherent behavior without revealing
the internal structure of the system. A use case typically represents a sequence of
interaction between the user and the system. These interactions consist of one main line
sequence that represent the normal interaction between the user and the system. The
use case model is an important analysis and design artifact (task). Use cases can be
represented by drawing a use case diagram and writing an accompany text elaborating
the drawing.

Use case represents a set of actions performed by a system for a specific goal. The
purposes of use case diagrams can be as follows:

 Used to gather requirements of a system.


 Used to get an outside view of a system.
 Identify external and internal factors influencing the system.
 Show the interaction among the requirements actors
In the use case diagram, each use case is represented by an ellipse with the name of use
case written inside the ellipse. All the ellipses of the system are enclosed with in a
rectangle which represents the system boundary. The name of the system being module

39
appears inside the rectangle. The different users of the system are represented by using
stick person icon. The stick person icon is normally referred to as an Actor. The line
connecting the actor and the use cases is called the communication relationship. When a
stick person icon represents an external system, it is annotated by the stereo system.

The primary actors of the system are administrator, teacher and student.

a. Use case diagram of Administrator

Administrator

Login

Create Options

Manage Inventory

Manage Sales

Manage
Accounting

Manage Users
(Staff)

Figure 5. Admin Use Case Diagram

The above diagram illustrates the activities of the administrator.

40
b. Use Case diagram for the staff

Staff

Login

Sell

Fill Customer Request

Print Receipt

View Stock

Figure 6. Staff Use Case Diagram

The above diagram illustrates the activities of the students who are the users of the
website.

3.15 Data Flow Diagram


Data flow diagram is the starting point of the design phase that functionally decomposes
the requirements specification. A DFD consists of a series of bubbles joined by lines. The
bubbles represent data transformation and the lines represent data flows in the system.

41
A DFD describes what data flow rather than how they are processed, so it does not
hardware, software and data structure.

The data flow diagram (DFD) is a graphical representation of the flow of data through an
information system, modeling its process aspect. A data flow diagram (DFD) is a
significant modeling technique for analyzing and constructing information processes. DFD
literally means an illustration that explains the course or movement of information in a
process. DFD illustrates this flow of Information in a process based on the inputs and
outputs. A DFD can be referred to as a Process Model.

The data flow diagram is a graphical description of a system's data and how to process
transform the data is known as Data Flow Diagram (DFD).

Unlike details flow chart, DFDs don't supply detail descriptions of modules that graphically
describe a system's data and how the data interact with the system.

Data flow diagram number of symbols and the following symbols are of by DeMarco.

Process

Data Store

Source/Link

Data Flow

DeMarco &Yourdon Gane & Sarson Symbols


Symbols

42
3.16 Context Level Data Flow Diagram

ADMINISTRATOR

STAFF
PMS OUTPUT

CUSTOMER

SUPPLIER

Figure 7. Context Level DFD

Figure 8 above shows the context level diagram of the system. The users of the system
are administrator and staff.

Additionally, a DFD can be utilized to visualize data processing or a structured design.

This basic DFD can be then disintegrated to a lower-level diagram demonstrating smaller
steps exhibiting details of the system that IS being modeled. On a DFD, data Items flow
from an external data source or an internal data store to an internal data store or an
external data sink, via an internal process. It is common practice to draw a MN text-level
data flow diagram first, which shows the interaction between the system and external
agents, which act as data sources and data sinks. On the context diagram (also known
as the Level 0 DFD'), the system's Interactions with the outside world are modeled purely
in terms of data flows across the system boundary. The context diagram shows the entire
system as a Single process, and gives no clues as to its internal organization.

This context-level DFD is next "exploded", to produce a Level 1 DFD that shows some of
the detail of the system being modeled. The Level 1 DFD shows how the system is divided
into sub-systems (processes), each of which deals with one or more of the data flows to

43
or from an external agent, and which together provide all of the functionality of the
system as a whole. The level 1 DFD is further speeded and split into more descriptive and
detailed description about the project as level 2 DFD. The level 2 DFD can be a number
of data flows which will finally show the entire description of the software project.

Zero Level Data Flow Diagram (0 Level DFD)


It’s the basic overview of the whole E-learning Management System or process being
analyzed or modeled. It’s designed to be an at-a-glance view of Teacher, Subjects
showing the system as a single high-level process, with its relationship to external entities
of Student and Assignment. It should be easily understood by a wide audience, including
Student, Assignment and Teacher in Zero level DFD of E-learning Management System.

High Level Entities and process flow of Pharmacy Management System:

 Managing all the Staff


 Managing all the Files
 Managing all the Customer
 Managing all the Suppliers

Supply
Management

Customer
Management

Staff
PMS
Management

System User
Management

Login Admin

Figure 8. Zero Level Data Flow Diagram


44
First Level Data Flow Diagram (1st level DFD)
First level DFD shows how the system is divided into sub-systems (processes), each of
which deals with one or more of the data flows to or from an external agent, and which
together provide all of the functionality of the E-learning Management System as a whole,
identifies internal data stores of Teacher, Subject, Files, Assignment that must be present
in order for the E-learning system to do its job, and shows the flow of data between the
various parts of Student Assignment, Subject, Teacher of the system. DFD Level 1
provides a more details breakout of pieces of the 1st level DFD.
Main entities and output of First Level DFD
 Processing Customers records and generate report of all Customer
 Processing Activity Log records and generate report of all Activity Log
 Processing Stock records and generate report of all Stock
 Processing Files records and generate report of all Files
 Processing Staff records and generate report of all Staff
 Processing Accounting records and generate report of all Sales

Staff Management Generate Staff


Report

Stock Generate Stock


Management Report

Pharmacy
Customers Management Generate
Management Customer Report
System

Check User Login


Login
Details
Management

System User Generate System


Management User Report

Figure 9. First Level Data Flow Diagram

45
First Level Data Flow Diagram
Second Level Data Flow Diagram (2nd Level DFD)
DFD Level 2 then goes one step deeper into parts of Level 1 of the system. It may require
more functionalities of E-Learning to reach the necessary level of detail about the system
functioning. First Level DFD (1st Level) of System Management System shows how the
system is divided into sub-systems (processes). The 2nd Level DFD contains more details
of Staff, Supplier, Stock, and Customer.

Login to Check
Admin Roles of
System
Access

Manage Staff
Details
Forget
Passwor
d Check Manage
Credentials Drugs Manage Inventory
Details

Manage
Accounting
Details
Manage Option
Manage Report Details Manage Sales
Details

Figure 10. Second Level Data Flow Diagram

46
3.17 Entity Relational Diagram
E-R Model is a popular high-level conceptual data model. This model and its variations
are frequently used for the conceptual design of database application and many database
design tools employ its concept.

A database to an E-R diagram can be represented by a collection of tables in the relational


system. The mapping of E-R diagram to the entities are:

 Attributes
 Relations
o Many-to-many
o Many-to-one
o One-to-many
o One-to-one
 Weak entities
 Sub-type and super-type
The entities and their relationships between them are shown using the following
conventions:

 An entity is shown in rectangle

 A diamond represents the relationship among number of entities.

 The attributes shown as ovals are connected to the entities or relationship by lines.

 Diamond, oval and relationships are labeled.


 Model is an abstraction process that hides super details while highlighting details
relation to application at end.
47
 A data model is a mechanism that provides this abstraction for database
application.
 Data modeling is used for representing entities and their relationship in the
database.
 Entities are the basic units used in modeling database. Entities can have concrete
existence or constitute ideas or concepts.
 Entity type or entity set is a group of similar objects concern to an organization for
which it maintains data.
 Properties are characteristics of an entity also called attributes.
 A key is a single attribute or combination of two or more attributes of an entity
set. It is used to identify one or more instances of the set.
 In relational model, we represent the entity by a relation and use tuples to
represent an instance of the entity.
 Relationship is used in data modeling to represent an association between an entity
set.
 An association between two attributes indicates that the values of the associated
attributes are independent.

48
Figure 11. E – R Diagram

49
3.18 Activity Diagram
An activity diagram is a behavioral diagram i.e.; it depicts the behavior of a system.

An activity diagram portrays the control flow from a start point to a finish point showing
the various decision paths that exist while the activity is being executed. We can depict
both sequential processing and concurrent processing of activities using an activity
diagram. They are used in business and process modelling where their primary use is to
depict the dynamic aspects of a system. An activity diagram is very similar to a

flowchart.

Login

Admin Staff

Sell
Create Manage Manage Manage
Accounting Medicine
Inventory Sales Staff
Option

Sell Sales
Create Staff
Medicine Statement

Create
Profit & Loss
Medicine
Supplier Purchase Insert
Payment Statement Medicine
Info

Figure 12. Flowchart

50
3.19 High Level Model Diagram of the Present System
This is a way of finding tool for both business and IT professionals which uses a set of
symbols and text to precisely explain a subset of real information to improve
communication within an organization and thereby lead to a more flexible and stable
application environment (Horberman, 2009). The high-level model language used in this
work depicts how information is passed within the system starting from the top-level
users.

HOME
SCREEN

Staff ADMINISTRATOR

Sales Create Option


Medicine

View Manage Inventory


Stock

View Manage Sales


Supplier

Stock View Report


Customer

MANAGE USERS
MANAGE SALE

Figure 13. High Level Model Diagram for the Present System

51
i. System Administrator

a. He/she Create Option by adding medicine

b. He/she manage inventory

c. Manages user (staff)

d. Manage Account

e. Manage sale

f. Views all reports

ii. Staff

a. Make sale of drugs

b. View report

52
CHAPTER FOUR

Systems Implementation

4.0 Introduction
In order to fully implements the newly designed system, it is necessary that the detail
and the method of implementation be properly communicated with the area of interest
or involved. There are several clearly identifiable areas of activities in the implementation
of this new system. These include coding, testing, introduction of the new clerical
procedure and change order plan. It involves installing all the necessary equipment, the
directions and principles to follows in order to achieve the desired goals and objectives
effectively.

4.1 Justification of The Programming Language


The choice of programming languages used involve HTML5, CSS3, JavaScript, PHP, Code
Igniter and MySQL. The reasons for choosing these programming languages are as
follows.
1. The Application is a web-based application and it require web-based programming
language like the examples mentioned above.
2. HTML is the bedrock of Web Applications as it is the skeletal framework of a web
page. HTML5 is an updated version of it and it consist of various new tags that
enable effective validation of forms and other functions that will assist JavaScript
in some of it functions.
3. CSS3 is the latest version of the Cascading Style sheet that helps style the page
and also makes it display effectively on the screen of your device.
4. JavaScript is a client-side scripting web language that is used for validation of
forms and user inputs.
5. PHP (PHP Hypertext Preprocessor) is a server-side scripting language that enables
communication between the server and web page. It usually works with the MySQL
to reach the database on the server.

53
6. MySQL (Structured Query Language) works with the PHP scripting language to
send and receive data from the database.
The Application used to achieve this system include Sublime Text 3, a WAMP local server
and web browsers (Microsoft Edge or Chrome)

4.2 System Requirement

System requirements are all of the requirements at the system level that describe the
functions which the system as a whole should fulfill to satisfy the stakeholder needs and
requirements, and are expressed in an appropriate combination of textual statements,
views, and non-functional requirements; the latter expressing the levels of safety,
security, reliability, etc., that will be necessary.

System requirements play major roles in systems engineering, as they:

i. Form the basis of system architecture and design activities.


ii. Form the basis of system integration and verification activities.
iii. Act as reference for validation and stakeholder acceptance.
iv. Provide a means of communication between the various technical staff that
interact throughout the project.
System requirements/specification entails what the system needs for its proper execution
which can be classified into the following:

54
Table 4. Software Requirements:

Name of component Specification


Operating Systems Windows 7 at minimum
Database MYSQL
Browser Any of Internet Explorer, Mozilla, Opera,
Chrome etc.
Web Server Wamp Server
Server-side Scripting Language PHP
Client-side Scripting Language JavaScript
Programming Languages HTML, CSS
Editor Sublime Text 3

Table 5. Hardware Requirements:

Name of Component Specification


Processor Intel processor (minimum)
Ram 256MB-8GB RAM/ memory space
Hard Disk 250GB minimum
Monitor SVGA Color monitor
Uninterrupted Power Supply (UPS) 1600V

These listed configurations are the minimum requirement but if the configurations are
higher the report derived will definitely be better and the program will run much faster.
4.2.1 People
Since the new application is a computer application, the user should be qualified computer
literate, so as to ensure efficient usage of the new system. The books can be read online
or downloaded to be read offline.

55
4.3 Implementation Details
This Application is a web application and requires a server to run on due to the server-
side language used in its development. If you try to run any of the pages containing these
scripts without a server, it will return error message. To this effect, a local server "WAMP"
is packed with this Application.
How to Install (For Local Server on Personal Computer)

1. Copy the project file and head over to your WAMPP directory.
2. There you’ll find a folder naming “www”.
3. Inside the “www” folder, paste the project folder.
4. Open your favorite browser; we recommend using Google Chrome or Mozilla
Firefox.
5. Then, go to URL “http://localhost/phpmyadmin “.
6. Create a Database with a name that is provided inside the “01 LOGIN DETAILS &
PROJECT INFO.txt”.
7. Click on the “Import” tab and choose the database file (.sql) which is provided
under the folder naming “DATABASE FILE”.
8. After setting up all these, go to URL “http://localhost/” PROJECT_FOLDER_NAME
9. All the login details are provided inside the project folder, check that out and
enter in order to use it.

How to Install (For Remote Server on the Internet)


1. Buy a Domain and Host it using your preferred web host. (Check the Internet for
a list of web host. Examples are godaddy, hostgator, smartweb, bluehost etc.)
2. After site must have been propagated, installation, upload the whole folder
"website.com" to your site control panel (CPANEL) using the file manager.
3. Go to “PhpMyAdmin" in your control panel and import the database using import
tab and import the SQL database from the website.com folder
4. Finally, browse the site with your URL and it is available and installed.

56
The program implementation includes all the activities that are carried out in order to put
the program designed into a functional or practical state. All activities like programming,
installation is coordinated to put the new system in operation. The implementation stages
include coding, system testing, file conversion, commission, user manuals and
maintenance detail etc.

4.3.1 Coding
The coding system has been developed to meet the following main objectives:
1. To support the objectives of this research work.
2. To contribute to a quick project initiation and minimum project execution time.
3. To ensure common coding for multifunctional modules.
4. To support functional breakdown of related documentation of systems,
subsystems and reuse.
See coding at appendix B

4.3.2 System Testing


This is the process of examining the new system to find out errors in the project work.
Unit testing method is adopted in other to make it easier to gather reports from the test
users. In a Situation where the unit testing proves ineffective, the integrated testing
maybe adopted for testing of different units of the program at the same time. The system
produced has to be tested to know the workability and how efficient the system is and to
edit and debug the errors encountered during testing.

4.3.3 File Conversion


This process involves converting manual accessible information files to electronic files
according to the laid down procedures. It requires plenty of time and carefulness because
there are many files, where each file contains many records. In this case since is web
based, one can go ahead to upload the word and it equivalent on the website.

4.3.4 Commissioning
The new system has to be commissioned to declare it is officially open for usage, and it
is also a way of advertising to people that such a new system has started existing. Since

57
the new system is web based, the commissioning should be or involve hosting the web
site to enable it efficient use on the internet by those people interested in it.

4.3.5 User Manuals


User manuals is a guide to any user, since the development of the system was done in a
technical solution approach, a guide was supposed to be produced to direct many users
on how to go about using the system but since it is web based, the user just have to
know the URL to the website. With the knowledge of the site URL, user can surf within
the site by clicking the various menus on the site. On the translation module, Placeholders
are in every input field that describes the user input to enable the user to know the proper
data to enter into a specific field.

4.3.6 Maintenance Detail


System maintenance means changes in hardware and software documentation or
procedure to production system to correct errors, meet new requirements and it can be
carried out on three different stages:

1. Corrective maintenance
2. Adaptive maintenance
3. Preventive maintenance
Corrective Maintenance: This covers maintenance, which is needed to put right coding
errors and other faults, which may be introduced into the software. It includes, the routine
“debugging” of newly produced or recently amended code and emergency error
correction in response to report faults.
Adaptive Maintenance: This covers the changes which are made to the software to
meet new or changed circumstances, such as restructuring of a database, alternatives in
operating procedures and changes to hardware or software versions.
Preventive Maintenance: This covers attempts to make the software perform more
effectively. It includes user requests for enhancement, improvement due to experience,
changes to make the software easier to use and rewrite the code to make the
maintenance that is specifically used for the new system to reduce its chances of
breakages.
58
CHAPTER FIVE

Discussion, Recommendations and Conclusion

5.1 Introduction
This chapter highlights on the discussion of recommendations and conclusion drawn as a
result of completing this project.

5.2 Discussion
After the research it was established that the current manual system had various
shortcomings. The system was completely manual. These machines were slow and
inefficient. The- new system was implemented with six new computer sets with improved
speed and relatively larger external memory. This eliminated the data storage problems
and the time wasted to retrieve data as the computers were more reliable. The computers
within the premises were also networked allowing easier sharing of information between
various departments. The new system was designed with various interfaces which
allowed for easy and controlled data validation and this eliminated the greatest setback
of uncontrolled data access that the organization was facing, Data replication and
integrity was greatly improved as it was easier to enter new records, delete redundant
records and validate data stored. This in turn ensured greater productivity from the staff
as little time was used to manipulate records. Reports helped the administration to make
informed decision and planning strategies, placing the organization in a better competitive
position.

5.3 Recommendations
 We recommended before the application is put into full use it should be further
tested in sample field to eliminate any bugs that may not have been identified at
the time of development.
 Password levels may be increased to higher levels depending on the confidentiality
of the stored data. The current system password is basically low level.

59
 If opportunity allows, we hope that the features that have not been implemented
in this application but were originally desired features will be implemented in order
to improve on the efficiency, reliability and user friendliness of this system. These
features include: external networking (the internet) which will allow automatic
placement of orders from the suppliers.
 We recommend the appointment of systems administrator who will be in charge
of maintaining the system and also user training on the use of the new system.

5.4 Conclusion
The system reflects the full requirements of the organization as it was required. The
research was successful but with many challenges. The time frame for the research was
limited and it was not easy to come up with an all-inclusive list of requirements for the
organization. Financial constraints were also a great challenge as not much was available
for us to carry out our mandate effectively. Software acquisition necessary to build the
system like PHP Code Igniter and WAMP (MySQL) server software’s were not easy to get
and they also needed expertise to use. There also were great lessons learnt as well
concerning good time management, thorough requirements analysis and preparedness
in terms of tools for development.

60
References
1. Chaudahary, A., 1997. Encyclopedia Of Management Information System,.
S.L.:S.N.

2. Elizabeth, A. E. A., 2007. Journal Of The American Pharmaceutical Association.

3. Gerald, V. P., 2000. Database Management Systems Designing And Building


Business Application. 2nd Edition Ed. New York: Mdgraw-Hill Publishers. .

4. H., J. D., 2004. Learning To Solve Problems - An Institutional Design Guide, S.L.:
Wiley & Sons.

5. NJERU JEREMIAH MWANIKI, O. O. B., 2008. A PHARMACY MANAGEMENT


INFORMATION SYSTEM FOR, Kapala: S.N.

6. Nym, 2021. Project Report On Pharmacy Management System, S.L.: S.N.

7. William, B. S. S. C. H. A. S. E., 2001. Computer Communication Information. 3rd


Edition. Ed. New Delhi India: Irwin/Mcgraw Hill Publishers,.

61
APPENDIX I -Sample Questionnaire

1. When was the pharmacy founded?

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

2. What is the hierarchy of this pharmacy?

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

3. Which methodologies do you use to capture and store information?

Manual Computerized (tick where

appropriate)

4. What are some other challenges that you face while undertaking these
procedures?

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

5. Is there any step that has been taken as a remedy to the challenges faced?

Yes No (tick where appropriate)

62
If yes, please state it (them)

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

6. What are the fields that make up records?

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

7. Do you have back-up copies for your records?

Yes No (tick where appropriate)

If yes, state the kind of information you backup.

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

8. How often do you have rec6rds updated?

After a year After six months

After a year After a year

(tick where appropriate)


63
9. Do you specialized record keeping staff?

Yes No (tick where appropriate)

If yes, what are some of the activities they perform and how do you ensure that every
record is where it is supposed to be?

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

10. Other than dealing with drugs, are there any other activities that take place in
this pharmacy.

……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

64
APPENDIX II-Budget

ITEMS AMOUNT (LE)


Proposal Writing 750,000
Printing and Photocopying 500,000
Binding 300,000
Fare/transport 400,000
Phone calls 200,000
Meeting and engagement 200,000
Miscellaneous 150,000
Total Amount 2,500,000

65
APPENDIX III - Introductory Letter

LIMKOKWING UNIVERSITY OF CREATIVE


TECHNOLOGY

SIERRA LEONE CAMPUS

FREETOWN

15TH FEBRUARY, 2022.

THE MANAGER MARK PHARMACY

LUMLEY

FREETOWN

Dear sir/Madam,

RE: REQUEST TO USE YOUR PHARMACY AS A CASE STUDY

We are students at Limkokwing University, pursuing a Bachelor’s degree in Business


Information Technology. It is a requirement that we do a research project in order to
graduate.

We therefore chose your pharmacy as our case study, so as to investigate the


operations and challenges you face in daily operations.

We look forward for your positive response and approval of our request.

Yours faithfully,

Sahr Nyaka Maydelshia Cole Hassan Mansaray

……………… ……………………. ……………………..

66
APPENDIX IV - Screen Short

Login Screen

This screen is basically used for authentication purposes. The user is required to prove
his/her authenticity through a username and a password as shown above. If the wrong
password is entered, then access to the system is denied and the user is prompted to
enter the correct username and password.

Dashboard

67
The above screen is basically used to display the inventory overview.

Create Medicine Name

This screen enable users to add new drugs into the system by selecting the drop down
arrow under generic name and chose the drugs followed by the next column which is
medicine name which the user has to type manually.

Create Medicine Presentation

68
This screen enable user to create medicine presentation. By indicating wether the
medicine is a tablet, syrup or capsule.

Create Generic Name

This screen enable user to create the generic name of the medicine. For instance
paracetamole or Antiviral drugs.

Create Supplier

69
The above supplier form inputs the supplier’s personal data and stores them in the
database in the supplier’s table. It can also validate the fields incase improper data has
been entered by deleting it and re-enter.

Insert Medicine Purchase Information

The medicine purchase form is used to input the medicine details for the pharmacy. It
stores the records captured in the database. The records can as well be manipulated
through the various functionalities available like; a record can be deleted, you can add a
new record and save it as well as access records consecutively by scrolling down and you
can also validate data.

70
Purchase Statement

The above purchase statement form enable user to generate purchase statement on each
drugs on a daily, weekly or monthly basis.

Supplier Payment

The above Supplier Payment form will enable user to generate specific supplier details.

Sell Medicine Form

The Sell Medicine form is used to input the medicine details for the pharmacy. It stores
the records captured in the database. The records can as well be manipulated through
the various functionalities available like; you can add a new record and save it, and after
adding it you can click on the sell button to print invoice for the customer. You can also
delete records.

71
Sale Statement

The sale statement form enable user to generate sale statement on each drugs on a daily,
weekly or monthly basis.

Profit & Loss

The Profit & Loss form enable user to generate profit or loss on a daily, weekly or monthly
basis.

72
The report can be used to make informed decisions on when whether the pharmacy is
making profit or loss.

Create Staff

The staff form is used to input the staff details for the pharmacy. It stores the records
captured in the database. The records can as well be manipulated through the various
functionalities available like; a record can be deleted; you can edit the record as well.
Passwords are encrypted for users.

73
APPENDIX V - Code

Dashboard

<!-- /.container -->

<section id="main">

<div class="container">

<div class="row">

<div class="col-md-12">

<div class="panel panel-default">

<div class="panel-heading main-color-bg">

<h3 class="panel-title">Inventory Overview</h3>

</div>

<div class="panel-body">

<div class="col-md-4">

<div class="well dash-box">

<h2> <span class="glyphicon glyphicon-th" aria-hidden="true" style="color:


#009688;"></span> <?php echo $medicine_qty; ?></h2>

<h4>Medicine Type</h4>

</div>

</div>

<div class="col-md-4">

<div class="well dash-box">

74
<h2> <span class="fas fa-cart-plus" aria-hidden="true"
style="color: #f0ad4e;"></span> <?php echo 'Le '.$today_purchase_number;
?></h2>

<h4>Today's Purchase Amount</h4>

</div>

</div>

<div class="col-md-4">

<div class="well dash-box">

<h2> <span class="glyphicon glyphicon-fire" aria-hidden="true" style="color:


#4cae4c;"></span> <?php echo 'Le ' .$today_due; ?></h2>

<h4>Total Purchase Due</h4>

</div>

</div>

<div class="col-md-4">

<div class="well dash-box">

<h2> <span class="far fa-calendar-alt" aria-hidden="true" style="color:


#2e6da4;"></span> <?php echo 'Le '.$monthly_sales_number; ?></h2>

<h4> Sales of the Month</h4>

</div>

</div>

<div class="col-md-4">

<div class="well dash-box">

75
<h2> <span class="glyphicon glyphicon-fire" aria-
hidden="true" style="color: orange;"></span> <?php echo 'Le '.$today_sale_number;
?></h2>

<h4> Today's Sale</h4>

</div>

</div>

<div class="col-md-4">

<div class="well dash-box">

<h2> <span class="glyphicon glyphicon-warning-sign"


aria-hidden="true" style="color: darkred;"></span> <?php echo
$near_expired_product; ?></h2>

<h4> Expired Products</h4>

</div>

</div>

<div class="col-md-4">

<div class="well dash-box">

<h2> <span class="glyphicon glyphicon-th-list" aria-


hidden="true" style="color: rgb(132, 75, 158);"></span> <?php $query = $this->db-
>query('SELECT * FROM create_generic_name'); echo $query->num_rows();?></h2>

<h4> Medicine Generic</h4>

</div>

</div>

<div class="col-md-4">

76
<div class="well dash-box">

<h2> <span class="glyphicon glyphicon-certificate" aria-


hidden="true" style="color: rgb(139, 139, 139);"></span> <?php $query = $this->db-
>query('SELECT * FROM create_medicine_name'); echo $query-
>num_rows();?></h2>

<h4> Medicines</h4>

</div>

</div>

<div class="col-md-4">

<div class="well dash-box">

<h2> <span class="glyphicon glyphicon-user" aria-


hidden="true" style="color: rgb(109, 139, 0);"></span> <?php $query = $this->db-
>query('SELECT * FROM staff'); echo $query->num_rows();?></h2>

<h4> Staffs</h4>

</div>

</div>

</div>

</div>

</div >

</div >

</section>

77
Manage Staff

<?php

if ($msg == "main") {

$msg = "";

} elseif ($msg == "empty") {

$msg = "Please fill out all required fields";

} elseif ($msg == "created") {

$msg = "Created Successfully";

} elseif ($msg == "edit") {

$msg = "Edited Successfully";

} elseif ($msg == "delete") {

$msg = "Deleted Successfully";

?>

<!-- /.Breadcrumb -->

<section id="breadcrumb">

<div class="container">

<ol class="breadcrumb">

<li><a href="#">Create Option</a></li>

<li class="active"><?php echo $msg; ?></li>

</ol>

</div>

78
</section>

<!-- /.container -->

<section id="main">

<div class="container">

<div class="row">

<div class="col-md-3">

<div class="list-group">

<a href="#" class="list-group-item active main-color-


bg">

<span class="glyphicon glyphicon-cog" aria-


hidden="true"></span> Manage Staff</a>

<a href="<?php echo base_url();


?>ShowForm/manage_staff/main" class="list-group-item">

<span class="far fa-user" aria-


hidden="true"></span> Create Staff</a>

</div>

</div>

<div class="col-md-9">

<div class="panel panel-default">

<div class="panel-heading main-color-bg">

<h3 class="panel-title">Create Staff</h3>

79
</div>

<div class="panel-body">

<!-- /.Panel End -->

<?php echo
form_open_multipart('Insert/create_staff'); ?>

<div class="box-body">

<div class="row">

<div class="col-sm-6">

<label
for="username">Username</label>

<input type="text"
class="form-control" id="username" placeholder="" name="username">

</div>

<div class="col-sm-6">

<label
for="password">Password</label>

<input type="password"
class="form-control" id="password" placeholder="" name="password">

</div>

</div>

<div class="row">

80
<div class="col-sm-4"
style="margin-top: 17px;">

<button type="submit"
class="pull-left btn btn-primary">Create</button>

</div>

</div>

</form>

</div>

</div>

</div><!-- /.Panel End -->

<!-- /.Panel 2nd -->

<div class="panel panel-default">

<div class="panel-heading">

<h3 class="panel-title">Staff List</h3>

</div>

<div class="panel-body">

<div class="panel-body">

<table class="table table-striped table-


hover table-bordered">

<thead>

<tr>

<th style="text-align:
center;">#</th>

81
<th style="text-align:
center;">Username</th>

<th style="text-align:
center;">Action</th>

</tr>

</thead>

<!-- /.Row from DB-->

<tbody>

<?php

$count = 0;

foreach ($all_value as
$single_value) {

$count++;

?>

<tr>

<td style="text-
align: center;"><?php echo $count; ?></td>

<td style="text-
align: center;"><?php echo $single_value->username; ?></td>

<td style="text-
align: center;">

<a
style="margin: 5px;" class="btn btn-danger"

82
href="<?php echo base_url(); ?>Delete/manage_staff/<?php echo $single_value->id;
?>">Delete

</a>

<a
style="margin: 5px;" class="btn btn-success"

href="<?php echo base_url(); ?>ShowForm/edit_staff_info/<?php echo $single_value-


>id; ?>">Edit

</a>

</td>

</tr>

<?php } ?>

</tbody>

</table>

</div>

</div>

</div>

</div>

</div> <!-- /.row -->

</div> <!-- /.Container -->

</section>

83
Sell Product

<?php

if ($msg == "main") {

$msg = "";

} elseif ($msg == "empty") {

$msg = "Please fill out all required fields";

} elseif ($msg == "created") {

$msg = "Created Successfully";

} elseif ($msg == "edit") {

$msg = "Edited Successfully";

} elseif ($msg == "delete") {

$msg = "Deleted Successfully";

?>

<!-- /.Breadcrumb -->

<section id="breadcrumb">

<div class="container" id="no_print2">

<ol class="breadcrumb">

<li><a href="#">Sales / Sell Medicine </a></li>

<li class="active"><?php echo $msg; ?></li>

</ol>

</div>

84
</section>

<!-- /.container -->

<section id="main">

<div class="container">

<div class="row">

<div class="col-md-3" id="no_print3">

<div class="list-group">

<a href="index.html" class="list-group-item active


main-color-bg">

<span class="glyphicon glyphicon-cog" aria-


hidden="true"></span> Sales</a>

<a href="<?php echo base_url();


?>ShowForm/sell_medicine/main"

class="list-group-item">

<span class=" fa fa-capsules" aria-


hidden="true"></span> Sell Medicine</a>

<a href="<?php echo base_url();


?>ShowForm/sell_statement/main"

class="list-group-item">

<span class=" fa fa-capsules" aria-


hidden="true"></span> Sales Statement</a>

85
<!-- <a href="--><?php //echo base_url(); ?><!--
ShowForm/medicine_purchase_statement/main" class="list-group-item">-->

<!-- <span class="fa fa-plus-circle" aria-


hidden="true"></span> Client Payment</a>-->

<!-- <a href="--><?php //echo base_url(); ?><!--


ShowForm/supplier_payment/main" class="list-group-item">-->

<!-- <span class="fa fa-pills" aria-


hidden="true"></span> Supplier Payment</a>-->

<!-- <a href="--><?php


//echo base_url(); ?><!--ShowForm/create_product_name/main" class="list-group-
item">-->

<!-- <span
class="fa fa-plus" aria-hidden="true"></span> Ledger</a>-->

</div>

</div>

<div class="col-md-9" id="full_page">

<div class="panel panel-default" id="no_print1">

<div class="panel-heading main-color-bg">

<h3 class="panel-title"> Sales Medicine </h3>

</div>

<div class="panel-body">

<!-- /.Panel End -->

86
<div class="box-body" >

<div class="row">

<div class="col-sm-2" style="">

<label
for="date">Date</label>

<input type="text"
class="form-control datepicker"

placeholder="Insert Date" name="date" id="date" value="<?php echo date('Y-m-d');


?>"

autocomplete="off">

</div>

<div class="col-sm-3" style="">

<label
for="customer_name">Customer Mail</label>

<input type="email"
class="form-control"

placeholder="Enter Email" name="customer_email" id="customer_email"

autocomplete="off" required>

</div>

87
<div class="col-sm-7" style="">

<label
for="medicine_name">Medicine Name</label>

<select
name="medicine_name" id="medicine_name" class="form-control selectpicker"

data-live-
search="true">

<option value="">-
- Select --</option>

<?php foreach
($all_value as $info) {

if($info-
>medicine_name != '') {

?>

<option
value="<?php echo $info->medicine_name_id."###".$info-
>medicine_name."###".$info->generic_name."###".$info->medicine_presentation;
?>"><?php echo $info->medicine_name." - ".$info->generic_name." - ".$info->unit."
[ ".$info->medicine_presentation." - ".$info->qty." ]"; ?></option>

<?php }} ?>

</select>

</div>

<div class="col-sm-4">

<label
for="qty">Quantity</label>

88
<input type="number"
class="form-control" id="qty" name="qty" value="0" autocomplete="off">

</div>

<div class="col-sm-4">

<label
for="unit_sales_price">Selling Price</label>

<input type="number"
class="form-control" id="unit_sales_price" placeholder="Le"

name="unit_sales_price" readonly>

</div>

<div class="col-sm-4">

<label
for="purchase_price">Total Amount</label>

<input type="number"
class="form-control" id="purchase_price" placeholder="Le"

name="purchase_price" readonly>

</div>

<div class="col-sm-4"
style="margin-top: 25px;">

89
<button type="button"
class="pull-left btn btn-primary" id="add_item">ADD</button>

</div>

</div>

</div>

</div>

</div><!-- /.Panel End -->

</div>

<!-- /.Panel 2nd -->

<div class="col-md-12" id="no_print4">

<div class="panel panel-default">

<div class="panel-heading">

<h3 class="panel-title">Sales Medicine</h3>

</div>

<table id="salesList" class="table table-bordered


table-hover">

<thead>

<tr>

90
<th style="text-align:
center;">Date</th>

<th style="text-align:
center;">Medicine</th>

<th style="text-align: center;">Unit


Price</th>

<th style="text-align:
center;">Quantity</th>

<th style="text-align:
center;">Amount</th>

<th style="text-align:
left;">Action</th>

</tr>

</thead>

<tbody id="show_all_sales">

</tbody>

<tr>

<td colspan="">

Amount<input type="text"
class="form-control" id="amount"

style="color:
black; border: black 2px solid;"

91
value="0"
name="amount" readonly>

</td>

<td colspan="">

Discount<input type="number"
class="form-control" id="discount"

style="color: black; border: black 2px solid;"

value="0"
placeholder="Discount" name="discount">

</td>

<td colspan="2">

Sub Total<input type="text"


class="form-control" id="sub_total"

value="0" style="color: black; border: black 2px solid;"

name="sub_total" readonly>

</td>

<td colspan="2">

Amount Paid<input
type="number" class="form-control" id="pay"

value="0"
style="color: black; border: black 2px solid;" name="pay">

92
</td>

<!-- <td colspan="2">-->

<!-- Due<input type="text"


class="form-control" id="due"-->

<!-- value="0"
style="color: black; border: black 2px solid;" name="due"-->

<!-- readonly>-->

<!-- </td>-->

<td colspan="2">

<div style="margin-top:
20px;color: #a61717;">

<button style="" type="button"


class=" btn btn-success "

id="sell_btn">Sell</button>

</div>

</td>

</tr>

</table>

</div>

</div>

</div> <!-- /.row -->

93
</div> <!-- /.Container -->

</section>

<script type="text/javascript">

$("#medicine_name").on("change paste keyup", function () {

// var medicine_name = $('#medicine_name').val();

var medicine = $('#medicine_name').val().split("###");

var medicine_name_id = medicine[0];

var medicine_name = medicine[1];

var post_data = {

'medicine_name': medicine_name,'medicine_name_id':
medicine_name_id,

'<?php echo $this->security->get_csrf_token_name(); ?>': '<?php


echo $this->security->get_csrf_hash(); ?>'

};

$.ajax({

type: "POST",

url: "<?php echo base_url();


?>Get_ajax_value/get_medicine_price",

data: post_data,

success: function (data) {

94
$('#unit_sales_price').val(data);

});

}); // Medicine Price

//amount calculation

$("#qty").on("change paste keyup", function () {

var unit_sales_price = $('#unit_sales_price').val();

var qty = $('#qty').val();

var total = parseFloat(unit_sales_price) * parseFloat(qty);

$('#purchase_price').val(total);

});

ADD MEDICINE

var complete_total = 0;

var all_purchase = new Array();

var product_count = 0;

$("#add_item").click(function () {

var date = $('#date').val();

// var customer_name = $('#customer_name').val();

var customer_email = $('#customer_email').val();

var medicine = $('#medicine_name').val().split("###");

var medicine_name_id = medicine[0];

var medicine_name = medicine[1];

95
var generic_name = medicine[2];

var medicine_presentation = medicine[3];

var unit_sales_price = $('#unit_sales_price').val();

var qty = $('#qty').val();

var purchase_price = $('#purchase_price').val();

all_purchase[product_count] = new
Array(date,medicine_name,unit_sales_price,qty,purchase_price,

medicine_name_id, generic_name, medicine_presentation,


customer_email);

var full_table = "";

var test_total = 0;

for (var i = 0; i < all_purchase.length; i++) {

test_total += Number(all_purchase[i][4]);

full_table += "<tr>";

for (var j = 0; j < all_purchase[i].length-4; j++) {

full_table += "<td style='text-align: center;'>" +


all_purchase[i][j] + "</td>";

full_table += "<td><button class='btn btn-danger'


onclick='delete_data(" + i + ")'>Delete</button></td></tr>";

$('#show_all_sales').html(full_table);

$('#unit_sales_price').val('');

96
$('#qty').val('0');

$('#medicine_name').val('');$('#purchase_price').val('');

product_count++;

complete_total = test_total;

calculation();

});

// DELECT ADDED MEDICINE

function delete_data(arr_no) {

all_purchase.splice(arr_no, 1);

var full_table = "";

var test_total = 0;

for (var i = 0; i < all_purchase.length; i++) {

test_total += Number(all_purchase[i][5]);

full_table += "<tr>";

for (var j = 0; j < all_purchase[i].length-4; j++) {

full_table += "<td style='text-align: center;'>" +


all_purchase[i][j] + "</td>";

full_table += "<td><button class='btn btn-danger'


onclick='delete_data(" + i + ")'>Delete</button></td></tr>";

$('#show_all_sales').html(full_table)

97
product_count--;

console.log(all_purchase);

complete_total = test_total;

calculation();

$("#discount, #pay").on("change paste keyup", function () {

calculation();

});

function calculation() {

$('#amount').val(complete_total);

var discount = $('#discount').val();

if (discount == "") {

discount = 0;

$('#sub_total').val(Number(complete_total - discount));

var pay = $('#pay').val();

if (pay == "") {

pay = 0;

var after_pay = Number(complete_total - discount - pay);

98
if (after_pay >= 0) {

$('#due').val(after_pay);

$("#sell_btn").click(function () {

//$(#no_print4).hide();

var amount = $('#amount').val();

var discount = $('#discount').val();

var sub_total = $('#sub_total').val();

var pay = $('#pay').val();

var due = $('#due').val();

if(pay == 0 || pay<0){

alert("Can't Sell");

}else {

var post_data = {

'amount': amount, 'discount': discount, 'sub_total': sub_total, 'pay': pay,


'due': due,

'all_purchase': all_purchase

};

$.ajax({

type: "POST",

url: "<?php echo base_url(); ?>Get_ajax_value/sales_confirm",

99
data: post_data,

success: function (data) {

$('#full_page').html(data);

});

});

</script>

100

You might also like