Harambee University
Harambee University
Harambee University
FACULTY OF TECHNOLOGY
GROUP MEMBERS
NO NAME ID.NO
Name Signature
This is to certify that I have read this project and that in my opinion it is fully adequate, in scope and
quality, as a thesis for the degree of Bachelor of computer Science.
------------------------------------ ----------------------
It is approved that this project has been written in compliance with the formatting rules laid down by
First and fore most and above all our biggest thanks would be to Almighty God because nothing
could be possible without his free will and the completion of this project is supported by him.
Secondly, we would like to thank our Advisor Abera G/Tsadik(M.SC). And project coordinator Mr.
Shambel Ture for them rest less edition of our documentation, input to the quality of thisdocument,
heart full guidance, valuable advice, and providing to execute this project.Thirdly we would like to
thank Dr. Awlachew for his willingness of interview, patience in answering to our numerous
questions, giving documents and reading materials that help us to precede our project. Finally, the
last but not the least, even if it is usual the group members would like to thank each other. The main
contributors to do this document project are teamwork, friendship and the belief that to achieve our
goal. We also hope that this project and documentation may be testaments to our continued
friendship and better work. Without helps of the particular that mentioned above, we would face
many difficulties while doing this.
Group member
i
DEFINITIONS OF TERMS
Pharmacist: -The customer comes with the ordered prescription then the pharmacist looks
that order of drug and gives the drug accordingly.
Pharmacy manager: -The manager gets reports from the pharmacist, store coordinator, and
cashier.
Store coordinator: -is responsible to register the drugs that buy from the private sectors and
also control the drugs that are goes out to the stock.
Cashier: -The cashier receives the cost of the drug from the customer ordered by the
pharmacist.
Store: -is the place in which the new bought drug is stored.
Stock: - is the place in which the drug that needs to be salable is stored
ii
ABBREVIATION AND ACRONYMS
iii
Table of contents
ACKNOWLEDGMENT ....................................................................................................................... i
ABSTRACT ........................................................................................................................................ xi
iv
1.10 Methodology ......................................................................................................................... 8
v
3.3.4 Compatible .................................................................................................................. 23
vi
4.2.1 System process ............................................................................................................83
vii
LIST OF TABLES
viii
LIST FIGURES
ix
Figure 3.23 State diagram for Register Drug ......................................................................................74
Figure 5.6 User interface for Check Expire Date ............................................................................. 100
x
ABSTRACT
Adama Hospital and Medical College Pharmacy Management System is one pharmacy in Adama
Town. This Pharmacy gives services for the ailing society by selling the drug. In the pharmacy,
there are two places in which the drug is available. Those are stock and store. The stock is the place
in which the drug that needs to be salable is stored. And the store is the place in which the new
bought drug is stored. At present manual system is being utilized in the pharmacy. It requires the
pharmacist to manually monitor each drug that is available in the pharmacy. This usually leads to
mistakes as the workload of the pharmacist increases.
This system has its own expected output for the customer as well as the employers in the pharmacy.
The functions that involve in this system are new store item registration, check availability items in
the data base, Store item expired date checking before the actual expired date reaches, purchase and
Sale drugs, manage account, authentication, retrieve data, insert, update, delete data is can be works
successfully.
In general, the project aimed to describe the general approaches to be followed to automate the
existing manual system to a computerized system. The system is developing by using PHP language.
The system use MYSQL as a back for database development and use HTML , CSS and JS as a
front end.
xi
CHAPTER ONE: INTRODUCTION AND BACKGROUND
1.1 Introduction
Technology is spreading its wing in almost every walk of human life activities. Now a day it is
better if every activity is done using new technology to fulfill the need of human being,
Organization and Enterprise etc. As today’s world, there are many organizations and each
organization needs to be preferable, computable and work on fastest way to satisfy users interest
etc. i.e. they should have facilitated their activities in computerized way.
Hence Pharmacy management system is a management system that is designed to improve accuracy
and to enhance the performance of the task in the pharmacy. It is a computer based system which
helps to the employee inside the pharmacy to facilitate the activity of the pharmacy in a manner
way.
In the pharmacy, there are two places in which the drug is available. Those are stock and store. The
stock is the place in which the drug that needs to be sold is stored. And the store is the place in
which the new bought drug is stored.
At present manual system is being utilized in the pharmacy. It requires the pharmacist to manually
monitor each drug that is available in the pharmacy. This usually leads to mistakes as the workload
of the pharmacist increases.
1
1.2 Background of Organization
Adama Hospital Medical College was previously known by the name of Haile Mariam Mamo
Memorial Hospital and Adama Referral Public Hospital at different times. It is one of the first
Medical Hospital situated in Adama town, located in Oromia Region, 100 km to southeast of Addis
Ababa, Ethiopia.The Hospital was inaugurated by missionaries from abroad in 1938 E.C and it was
among the first non-governmental Hospital in the nation with persistent commitment the pursuit to
establish as the nation’s leading healthcare provider. Then the Hospital developed its facilities,
technology, service standards and personal to become a renowned institution. It was put under
government during the dergue region in 1970 E.C.
The Hospital was upgraded to Medical College in 2003 E.C because of its location, patient load and
staff capacity. The college is led by the board and has three major wings (Academic and research,
Health service and the Development and Administration).Till now, the Hospital College has
undergone different reforms. To implement these reforms the HAD were organized at different
levels. The Hospital is serving a catchment population of more than six million; from five region
(Oromia, Amhara, Afar, Somali, and Dire-Dawa). The Hospital has 232 beds capacity and serving
on average 1000 patients per day at six medical case teams OPDs and different specialty clinics.
In general, AHMC is proving services using all available material, financial and human resources.
Because of improved services, the number of patients coming to the Hospital College is increasing
from day to day. If the number continues at this rate, the Hospital College will reach a position
where it can no longer provide efficient service for the community. The Hospital College has tried
to expand its existing facilities for the fundamental transformation, and the construction of the new
Hospital College complex was designed and started to be constructed with the cost of nearly one
billion ETB. At the completion, the new buildings will be expected to have 1200 beds capacity,
diagnostic facilities, offices, classrooms and the like. Indeed, the constructions were planned in three
phases. The first phase of ward complex, OPD, emergency, classrooms and Administration blocks
are on the way of about to be completed.
2
1.3 Statement of the problem
Managing a very large pharmacy with records on paper is tedious and difficult to keep track of
inventory with regards to the drugs in the stock inside the pharmacy. Since it is manual system
quantity of drugs available based on the categories and their functions can’t be easily known. Do to
this the patient, can’t get the drug they want. The employees of the pharmacy as well as the
customer are difficult to getting full information about drugs when needed immediately. Preparing
report for each drug takes long time for the pharmacist. It is difficult to identify which drugs are out
dated or expired. The existing system is executed in manually, do to this reason most sensitive data
is lost. During registering the drug most of the time it redundant data is occur.
3
1.5 Team Composition
To Develop computerized Pharmacy Management System for Adama Hospital and medical college.
4
Develop and implement a user-friendly interface.
Feasibility study is essential to evaluate the cost and benefits of the new system. On the basis of the
feasibility study decision is taken on whether to proceed or to cancel the project. Need of the
feasibility study:
This stage determines the cost or value analysis. It can be software, hardware, and the people. The
new proposed system will be economically feasible because it takes less capital as compared as the
existing system.
Generally, the system that we developed, Adama Hospital and Medical college Pharmacy
Management System brought a number of tangible and intangible benefits.
Tangible benefits:
1. Cost Reduction
2. Error Reduction
5
Intangible benefits:
2. Increase security
The proposed system doesn’t require much technical expertise. The system to be developed by using
technologically system development techniques such as PHP, Java script, CSS and MySQL database
without any problems and the group members have enough capability to develop the project. So the
system will be technically feasible.
The system to be developed will provide accurate, active, secured service and decreases labor of
workers and also it is not limited to particular groups or body. And also it is plat form independent
i.e. it run’s in all operating system. This system has been operationally feasible and the system has
been user friendly. The pharmacy worker and users of system uses the system to perform its regular
task without any ambiguity. The user of the system can understand the new system with little
training and instruction. Operationally, the system has capable of producing quick and qualitative
services for the pharmacy worker and the customer, so that to have immediate and satisfied services.
The systems developed are operationally more functional.
6
1.8 Scope and Limitations of the project
1.8.1 Scope
1.8.2 Limitation
The system dose not have digital attendance and dose not include or support salary.
7
1.9 Significance of the project
As per the scope of the project, the outcome will include the followings: -
1.10 Methodology
In order to accomplish this project on time and within the cost, we followed different procedures
which are described below.
To achieve the objective of this project we use Object Oriented Design. It is about how our objects
collaborate with each other. Here, we decide who create which objects and how they interact to
fulfill the needs of a user. After Finding and organizing the objects, we describe how the objects
interact, class name and attributes with their association identified then we moved to OOD and
during this we used to design the system include Database design (Persistence models), Deployment
modeling and User interface prototyping.
8
Software Requirement: These are software requirements to develop the system
Hardware Requirement: Are hardware needed to develop the system (planning up to testing the
proposed developed system)
Desktop
Tablet
Flash disc
Since requirements are well known, frequently changed and system are not stable, we use the Spiral
Model Linear framework type to achieve the objective of this project.
9
1.10.3. Data Collection Methods
These methods are designed in detail to ensure higher response rate and better accessibility to
respondents. Listed below are different methods of data collection used.
We observed the problem when staffs are filling drug requisition form manually.Delay in the
response to the request and the speed with which the request is answered.
1.10.3.2. Interview
This is one of data collection method that enables to gather information from the organization
directly in the form of asking question and getting answers for those questions. So, we will use this
method to gather information by asking the manager of the pharmacy some basic questions
regarding the following issues will be asked during the interview: -
How do you know if the drug you need is available or not in Pharmacy?
How do you generate a report and how much time does it take?
In order to crosscheck we use document review of different department like the operation and
maintenance department, sourcing and facility department, marketing department, fixed accesses
network department and other related workers.
10
1.11Development Tools
MYSQL, PHP, HTML, JavaScript and CSS (version 3.0) and WAMP. MYSQL: -To
warehouse and manage users and schedule information on the database and access the
information at the time we need. It is platform independence, portable, have many objects
and compatible.
HTML (version 5.0) - It is the predominant markup language for developing web pages.
XAMMP: - It is open source software and it is an HTTP web server notable for playing a
key role in the initial growth of the WWW and the most popular web server to host and
handle HTTP request from client machines to the web server IDE .
We also use Notepad++ sublime text and vs code as an editor MS word for documentation
and browsers like Mozilla, Firefox, chrome and internet explorer.
1.11.1. Language
To develop the system, we use HTML, CSS, and JAVASCRIPT for front-end development, PHP for
back-end development and MYSQL for the data storage.
11
1.12Testing process
Software testing can also provide an objective, to finding the error that is making the program
independent view of the software to allow the business to appreciate and understand the risks of
software implementation.
Verification or a set of operations that the software correctly implements particular function on the
smallest element of the program, which means the module will be tested alone in order to, discover
ever error in code of new system.
Integration testing (sometimes called integration and testing) will be tested in the phase of software
testing in which individual software module will combined and tested as group. So the team planned
in this part combining all the module together and test for each other for the system functionality. If
error occurred in combine system the module with problem will be identified and re-combined .
After all of the above testing is checked we will test our system by other peoples and we will
conduct some comments how they get our system.
12
1.13 Tasks of the Team Members in the project
The project team composed of four members. We are solving the problem in group. Because of
decision on problem and approach are made by group agreement, which is much better than
individual decision. The table below show more detail about phase and activity. The following table
describes the role and responsibility of team organization.
Tsion Hailye
Girma Asefa
Tsion Hailye
13
1.14 Time Schedule
14
CHAPTER TWO: DESCRIPTION OF EXITING SYSTEM
The current pharmacy system was manually base system which is almost all works on the pharmacy
organization is accomplished by papers. Among thus Medicine data search in order to buy audit and
other related works. And the other one is data security the data's can be accessed anyone who
entered to the pharmacy house as friends, other humans without the volunteer of the pharmacist.
The pharmacists work in tedious situation because of upper reasons. Not efficient on arrange
medicine on the shelf meaning arrangement method is difficult to take in mind. Also, there is a
difficulty on store the data which wastes resources as well as time to retrieve the necessary data
from the manually based data system. So generally, the existing system does not arrange medicine
in systematic way, dose not store the medicine appropriate data, security for the data is low, does not
indicate how much medicine is needed and sold quickly and efficiently.
The pharmacy management system gives services to the user as well as their own through different
functionalities. These functionalities are the followings: -
First of all, the pharmacist bought the drug from distributor of the drug for selling to the
customer. The way of bought the drug are the pharmacist sends the list of the drug you went to
bought for the distributor. Then the distributor checks the availability of the drug as well as expire
date and other information of the drug and then sell the drug for the pharmacist.
After bought the drug from distributor, the pharmacist stores the drug in the stock by using the
category of the drug, identification of the drug and uses other drug registration form.
The pharmacist sells the drug for the customer based on the restriction price of the drug. The
15
Check the expire date of the drug
The pharmacist and store coordinator check the expire date of the drug in the store and stock
respectively.
An existing system compromises different Users to carry out its job. Among those different actors
( Users), the most common are:
Pharmacist
The customer comes with the ordered prescription then the pharmacist looks that order of drug and
gives the drug accordingly. The customer gets his/her requested service from the pharmacist.
Pharmacy manager
The manager gets reports from the pharmacist, store coordinator, and cashier. The reports help the
manager to see how services are given to the client.
Store coordinator
Store coordinator is responsible to register the drugs that buy from the private sectors or from the
governmental association, and also control the drug that are goes out to the stock.
Cashier
The cashier receives the cost of the drug from the customer ordered by the pharmacist.
Customer
The customer bought drug from pharmacist and pay the cost of drug to cashier
16
2.3 Drawback of the current system
Do to the manual document being used by pharmacy management system, in keeping information’s
of the drug, patient and general information of the pharmacy many drawback encountered which
includes: -
Cost
It requires high cost in terms of resource like papers, pen and labor.
Service
There is no customer satisfaction because the system is not easy to coordinate and takes
more time to give services i.e. searching drug, drug information.
The existing system is not easy uncomfortable.
Work load
Response time
Users were expected to come physically to view and check their profile and information
of the pharmacy.
Takes a lot of time to came and access the required information of pharmacy.
17
Efficiency
Do to the manual operation most of the activities were wasting resources like medical
materials, money and time to produce the corresponding outputs.
Every governmental and non-governmental organizations or institutions have their own rules and
policy, which used to govern all activities of the organization. So, our project organization also has
their own business rules to govern the activities in the pharmacy.
The user who is not registered does not allowed to perform any activity to the system.
The system does not register different drugs and users with the same ID.
Pharmacist doesn’t sell the expired drugs.
The pharmacist must treat customers in good manner and should address customer’s
request.
The cashier should receive the price of medicine honestly from customers and he/she
should generate report for manager.
Manager should control the entire activity in the stock and should receive clear and
appropriate report from the workers of the pharmacy.
Manager should control the overall information from any biases properly.
Forms should contain stock information appropriately.
The manager or the owner of the pharmacy must pay the cost for the worker once per
month.
18
2.5 Paper Document in the Existing System
In the existing system the pharmacist uses any paper for sending request to governmental as well as
in the non-governmental institution for bought the drug. Then the organization changes the request
of the pharmacist in to formal form and return to the pharmacist. This form is given below.
19
Prescription paper
This paper brings by the customer from the hospital and gives the paper for the pharmacist. The
pharmacist analysis the paper and give the drug for the patient. This form seems like below.
20
CHAPTER THREE: PROPOSED SYSTEM
3.1 Overview
The design of the pharmacy management system is computer based which will simplify the
maintenance of the information, accessible and efficient. The Pharmacy Management System will
provide the information about the end of the drugs in the medical so that the physician can order
those drugs before the end. The pharmacist will get more accurate information at the time sell,
about the details of the use of medicines and the dosages so that the system will become more
reliable to use than the present system. The records of each work will be secure as to access the
information the actor must have to provide the ID and password in the system.
By carefully analyzing and observing the problem of existing system we came up with a solution
that the current manual system should be changed in to computerized. The computerized system will
eliminate or reduce the problem on time, work load and complexity on storing drugs information.
The system will include a database for recording drugs that facilitate fast information
retrieval,modifying, inserting and deleting. It also includes an attractive user interface that facilitates
accessing the database and recording drugs easily.
The system allows the user to enter expiry date for a particular product or drug during opening stock
and sales transaction. It also involves arrival of new batches of drugs, getting information about the
drugs e.g. expiry date, number of drug type left, and location of a drug in the pharmacy. Players
represent external entities that interact with the system. They manage and perform the systems
functionality.
Improving the efficiency of the system by ensuring effective managing of services and
activities.
Generating report.
Reducing the employees’ workload in the organization.
21
3.2 Functional Requirement of the New System
The functional requirement is the services that are provided by the system. It also describes the
interactions between the system and the user, and any other external system.
Order Drug.
Check Drug
Generate Report .
Change Password
Generate Receipt
22
3.3 Non-functional requirement of the new system
Non-functional requirement describes user visible aspects of the system that are not designed to the
functional behavior of the system. Some of the non-functional requirements are:
The system should give the right response for the user as fast as possible.
3.3.3. Reliable
The pharmacy system is available based on the user needs can work properly. And do transaction
efficiently include safe data management of the pharmacy. For invalid and malfunctioned operation,
the system will restart in order to prevent data loose as well as safe operation within minimum
seconds. The pharmacy system is password protected to change thing on the system. Here the
pharmacist manager control over the system by login to the pharmacy system. Any user cannot use
the system but the employee of the pharmacy can see on the general properties of the pharmacy. As
result data is protected and controlled by only the administrator or manager of the pharmacy.
3.3.4 Compatible
The new proposed system should be compatible with any browsers, operating system or platform
independent of browsers. The system can be accessed everywhere at any time by using internet
connection.
23
3.3.5 Database size
The system is capable of storing huge amount of data with one database and will provide fast access
to the user according to their privilege. The database stores the permanent data for two years. After
completing the two year the data delete from the database. The usage of the database size is
comfortable for the system.
3.3.6 Security
The system should allow login to only authorized users. Any information system must be secure to
fulfill the three main components of system security which are :-
Confidentiality
Integrity
Availability
Therefore, to make the system that we are going to develop secure, we are going to employ
authentication mechanism which is giving the user, username and password so that no one apart
from the authenticated user can get access to the system.
Through time there are always chances when the users’ needs add another additional functionality,
when the system administrator identifies the system needs to be modified, while the organizations
work style is changed and depending on different reasons. Some of the user interface and basic
modification can be performed by the collection developers but the system developers are the right
person to update the system.
The system is expected to run on network which contains a database server, client computers and
printers. The database server used to store the drug in the stock as well as in the store for the
pharmacy system user. The client computers are used to run the system and see the necessary
24
information’s that store in the database server. The printers are needed for the pharmacy employer
for printing necessary information from client computer.
To keep the quality of the system when it functions there are basic considerations determined as
requirements for reliability, user requirement, and system portability.
3.3.12 Maintenance
Before develop the system, routine maintenance activities must be prepared within the database.
Some of the required periodic maintenance activities include:
iii. Adaptive maintenance (enhancing performance, adding entities and attribute, and so on)
iv. Assignment of access permissions and their maintenance for new and old users
3.3.13 Manageability
The system administers or the manager will be responsible for taking care for system manageability
and the system is easily managed by responsible employees because everything is done online. The
overall activities are controlled by the system admin.
25
3.4 Performance Requirement
The system performs its task within a user acceptable time and space. This includes the following:-
Response time: - depending on the strength of available network the system should be
response in short period of time.
Storage space:-to do work efficiently the processor to be more than 2GB RAM
Used to construct an abstraction of a system that focuses on interesting aspects and ignores
irrelevant details. Our system includes three types of system model. Those are
26
3.5.1 Scenarios
Scenario is real-life examples of how the system can be used. It should include scenario name,
flow of event, what can go wrong and how this is handled. Based on this the following scenarios
27
Exceptional flow: - If the Users do not enter correct information in to the form, the system notifies
to enter the correct drug data.
3. Name of Scenario: - Check Expired date of drug
Participating actor: - Store-coordinator.
Flow event:-
a. The Store-coordinator open and login to the system.
b. Store-coordinator page displayed.
c. Store-coordinator click check expired date link.
d. The system displays expired drug.
e. Store-coordinator deletes expired drugs.
Exceptional flow: - No.
4. Name of Scenario: - Order drug
Participating actor: - Pharmacist.
Flow event:-
a. The Pharmacist open and login to the system.
b. Pharmacist page displayed.
c. The Pharmacist click order drug link.
d. Order drug form displayed.
e. Pharmacist enters customer id, select drug name and quantity.
f. Pharmacist click order button.
g. The system display you have successfully order message.
Exceptional flow: if he/she enters wrong data, the system displays a message to enter correct Data.
28
e. Admin click right symbol on user account.
f. Account active/inactive form displayed.
g. Admin selects 1 to activate account or 0 to inactivate account and click change button.
h. The system display successfully change status message.
Exceptional flow: if he/she enters wrong data, the system displays a message to enter correct Data.
6. Name of Scenario: Register Employee
Participating actors: Manager.
Flow event:
a. Manager open and login to the system.
b. Manager page opened.
c. Manager click manage employee link.
d. Manager select register employee link.
e. The system displays register employee form.
f. Manager fills user detail.
g. Manager Click register button.
h. The system displays successfully registered message.
Exceptional flow: if Manager enters wrong data, the system displays a message to enter correct
Data.
7. Name of Scenario: Create Account
Participating actors: Manager.
Flow event:
a. Manager open and login to the system.
b. Manager page displayed
c. Manager select manage Account link.
d. The system displays option.
e. Manager select create Account link.
f. The system displays Create Account form.
g. Manager fills user detail.
h. Manager Click create button.
i. The system displays successfully Account created message.
29
Exceptional flow: if manager enters wrong data, the system displays a message to enter correct
Data.
8. Name of Scenario: Give feedback.
Participating actor: Customer
Flow event:-
a. The customer click feedback link.
b. The form is displayed.
e. customer fills the field.
f. Click submit feedback button.
g. The system display successful message.
Exceptional flow: if the customer enters invalid data, the system notifies to enter valid data.
9. Name of scenario: - Print receipt
Participating actor: Cashier
Flow event:-
a. Cashier Login to the system.
b. Then the system displays cashier page.
c. The cashier click on fetch order link.
d. The system displays fetch order form.
e. Cashier enter customer Id and click on search button.
f. The system check the field is empty.
g. The system validate the enter data.
h. The system display sold drug with corresponding total price.
i. The cashier click cash button.
i. The cashier click print button.
Exceptional flow: if the actor enters invalid data, the system notifies to enter valid data.
30
3.5.2 Use Case Model
Actor: is a person, or external system that plays a role in one or more interaction with the
system. And represented with:
Actor name
Use case: describes a sequence of actions that provides something of measurable value to an
actor and is drawn as a horizontal ellipse.
System boundary: indicates the scope of the system project. Anything within the box represent
functionalities in side in scope.
Include Relationship: A part of use case which appears in the same identical form in other use
cases may be transferred to its own use case and re-integrated universally via an Include
relationship in order to avoid the redundant specification of these identical parts.
31
Extend Relationship: If a part of the tasks is transferred from one circumstance to another,
this is modeled in its own use case. The arrow is given the stereotype "extend". The Extend
relationship points to the use case to be extended, and starts from that use case which describes
the extension's behavior.
a) Actor identification
Login.
Active /inactive Accouunt.
View Account
View user message.
View user comment.
Change password.
Logout.
Login.
Register Employee.
Delete Employee.
Create Account.
Delete Account.
View Account.
View Report.
Logout.
32
Login
Register Customer
View Customer
Search Customer
Order Drug
Check Drug
Logout
Login.
Register Drug.
View Drug.
Delete Drug.
Update Price.
Check Expire Date.
View Feedback
Logout.
33
Login
Fetch Order
Print Receipt
View Message
View Comment
Logout
View drug
Give feedback.
34
b) Use case Diagram
35
c) Use case Description
Pre-Condition Users must have username and password to access the system.
36
Use Case ID UC02
Use Case Name Register Employee
Use Case Description Register employees
Actor Manager
Pre-Condition No
37
Use Case ID UC03
Use Case Name Create Account
Use Case Description Manager to create Account
Actor Manager
38
Use Case ID UC04
Use Case Name Active/Inactive Account
Use Case Description To active/inactive user account if necessary
Actor Admin
39
Use Case ID UC05
Use Case Name Change Password
Use Case Description To change users Password
Actor Admin
40
Use Case ID UC06
Use Case Name View Report
Use Case Description To view report
Actor Manager
41
Use Case ID UC07
Use Case Name Register Customer
Use Case Description Register customer information to database
Actor Pharmacist
Main Flow Step1. Pharmacist open and login into the system.
Step2.The system displays pharmacist page.
Step 3. Pharmacist click “manage customer” link.
Step4.The system displays option.
Step5. Pharmacist select register customer link.
Step6.The systems display customer registration form.
Step7.Pharmacist fills the form.
Step8. Pharmacist click “Submit” button.
Step9.The system displays “successfully register” message.
Step 10.Use case end.
Exceptional Flow A.1 The system displays “Please fulfill the entire information” message [at step 7].
A.2 The system displays “Incorrect data enter” message
Users resumes at step [7].
42
Use Case ID UC08
Use Case Name Register Drug
Use Case Description Registering the new drug in to the data base.
Main Flow Step 1. Store coordinator open and login into system.
Step 2.The system displays the Store coordinator page.
Step 3.Store coordinator clicks manage drug link.
Step 4.The displays option.
Step 5. Store coordinator select register drug link.
Step6.The system displays the register drug form.
Step 7. Store coordinator fills the form.
Step 8. Store coordinator clicks “Register” button.
Step9.The system display “Successfully Register” message
step 10.Use case end
Exceptional Flow A.1 The system displays “Please fulfill the entire information” message [at step 7].
A.2 The system displays “Incorrect data enter” message
Users resumes at step [7].
43
Use Case ID UC09
Use Case Name Check expire date
Use Case Description To check the drug out of date.
Post-Condition To check the drug those are expired and remove it.
Main Flow Step1. Store coordinator open and login into the system.
Step2.The system displays the stock coordinator page.
Step3. Store coordinator click on check expire date link.
Step4.The systems displays expired drug.
Step5. Store coordinator clicks on “Delete” button.
Step6.The system display “Delete successfully” message.
Step7.Use case end.
Exceptional Flow A.1 The system display “there is no expire drug” message.
44
Use Case ID UC10
Use Case Name Order drugs.
Actor Pharmacist.
Pre-Condition Pharmacists login to the system and order the required drug.
Main Flow Step1. Pharmacists open and login into the system.
Step2.The the system displays Pharmacists page.
Step3.The Pharmacists clicks order link.
Step4.The system displays order form.
Step5. Pharmacists fill order form field.
Step6.Click on order button.
Step7.The system check empty filled.
Step8.The system validates the entered data.
Step9. The system display successfully ordered.
Step8.Use case end.
Exceptional Flow 1: Information Not Filled Message.
The system displays “Please fill the forms of the field!” message.
The Pharmacists resumes at step 5.
2: Invalid data.
System displays “Invalid data entries please try again” Counter resume at step 5.
45
Use Case ID UC11
Use Case Name Print Receipt.
Use Case Description Give receipt for the customer.
Actor Cashier.
Main Flow Step1. Cashier open and login into the system.
Exceptional Flow 1. The system displays “Please fill the field!” message.
The cashier resumes at step 5.
2. The system displays “Incorrect data entry!” massage.
The cashier resumes at step 5.
46
Use Case ID UC12
47
3.6 Object Mode
48
Data Dictionary for Drug
Field Name Data type Description
DrugID Int Holds the ID of drug.
Drug name Varchar Holds the name of the drug.
Company name Varchar Holds the company name of the drug.
Bach Number Varchar Hold the bach number for drug
Quantity Varchar Hold the quantity for drug.
Unit Price Int Holds unit price for drug
Shelf number date Holds shelf number for drug
Manufacture Date date Holds manufacture drug for drug
Expire Date date Holds expire date for drug
Description varchar Holds description for drug
Photo varchar Holds photo for drug
49
Data Dictionary for Iboxemployee
Field Name Data type Description
IED Int Holds the ID of Iboxemployee.
AccountID Varchar Holds the ID of account.
Message Double Holds message.
Date Int Hold Date
Status Varchar Hold status of account
50
Data Dictionary SoldDrug
Field Name Data type Description
Sale number Int Holds the sale number
CustomerID Varchar Holds customer ID.
Bachnumber Int Holds Bach number of drug.
Quantity Varchar Holds quantity of drug
Date Date Hold the Date of sold drug
Status Varchar Hold status of account
Audited Varchar Hold audite of drug
Table 3.19 Data Dictionary for Report
51
3.6.2. Class diagram
We use class diagram to describe the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among objects.
For designing of Class diagram, we have used UML. This diagram is the main building block of our
object-oriented modeling. The team applies it for both general conceptual modeling of the
systematic of the application, and for detailed modeling translating the models into programming
code. The classes in a class diagram represent both the main objects, interactions in the application
and the classes to be programmed. In the system, Classes are abstractions that specify the attributes
and behavior of a set of objects and Objects are entities that encapsulate state and behavior. Each
object has an identity: It can be referred individually and is distinguishable from other objects. In
mapping the diagram, we have used the following criteria:
One –to- One relationship:-here when both involved entities exchange primary keys where the
new exchanged primary keys become the new foreign keys of the tables.
One –to- many relationships:-here the primary key on the many side has been mapped to the one
side.
Many –to- many relationships:-here the primary key on the many side has been mapped to the
many side.
52
Class Diagram
53
3.7 Dynamic Model
3.7.1Sequence diagram
As the name indicates, the system used sequence diagram to show sequence of activities or how
processes operate with one another and in what order. It is a construct of a Message Sequence
Chart. It shows object interactions arranged in time sequence. It depicts the objects and classes
involved in the scenario and the sequence of messages exchanged between the objects needed to
carry out the functionality of the scenario. Sequence diagrams are typically associated with use
case realizations in the Logical View of the system under development. With this diagram we show,
as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as
horizontal arrows, the messages exchanged between them, in the order in which they occur. This
allows the specification of simple runtime scenarios in graphical manner. So the group member
lists some sequence diagrams for the system scenario are listed below
1. Login
54
2. Register Employee
55
3. Create Account
56
4. Delete Account
57
5. Active/Inactive Account
58
6. Register Drug
59
7. Check Expire Date
SS
60
8. Order Drug
61
9. Print Receipt
62
3.7.2Activity diagram
An activity diagram is used to understand the flow of work that an object or component performs. It
can also be used to visualize the interaction between different use cases. One of the strengths of
activity diagrams is the representation of concurrent activities. Some of the activity diagrams of our
system are listed below.
1. Login
63
2. Register Employee
64
3. Create Account
65
4. Active/Inactive Account
66
5. Register Drug
67
6. Order Drug
68
7. Check Expire Date
69
8. Print Receipt
70
3.7.3 State diagram
State chart diagram is used to describe the states of different objects in its life cycle. So the
emphasis is given on the state changes upon some internal or external events. These states of objects
are important to analyze and implement them accurately. State chart diagrams are very important for
describing the states. States can be identified as the condition of objects when a particular event
occurs. Before drawing a State chart diagram we must have clarified the following points:
71
2. Register Employee
72
3. Create Account
73
4. Register Drug
74
5. Order Drug
75
6. Check Expire Date
76
7. View Report
77
3.7.4 User interface
78
CHAPTER FOUR: SYSTEM DESIGN
System design part of the system is the transformation of the analysis model into a system design
model. Up to now, we were in the problem domain. System design is the first part to get into the
solution domain in a software development. This chapter focuses on transforming the analysis
model into the design model that takes into account the non-functional requirements and constraints
described in the problem statement and requirement analysis sections discussed earlier. This
document describes the design issues of the overall system, such as design goal, subsystem
decomposition, hardware/software mapping, and persistent data management. It provides the
complete architectural overview of the proposed system. It is intended to capture and express the
significant architectural decisions, which have been made, on the system.
The purpose of designing is to show the direction how the system is built and to obtain clear and
enough information needed to drive the actual implementation of the system. It is based on
understanding of the model the software built on. The objectives of design are to model the system
with high quality. Implementing of high quality system depend on the nature of design created by
the designer. If one wants to change to the system after it has been put in to operation depends on
the quality of the system design. So if the system is design effetely, it will be easy to make changes
to it.
79
4.1.2 Design goal
The objectives of design are to model the system with high quality. The design goals are derived
from nonfunctional requirements that means non-functional requirement is the description of the
feature characteristics and attribute of the system as well as any constraints that may limit the
boundary of the proposed solution.
Design goals describe the qualities of the system that the developers should consider.
• Performance
• Dependability
• Maintenance
• End user
Performance
The system should respond fast with high throughput, i.e. it should perform the task quickly
possible as possible such as generating report and receiving, viewing project status and also
employee and material information etc. The system performs its task within a user acceptable
Response time: - depending on the strength of available network the system should be response
in short period of time.
Storage space:-to do work efficiently the processor to be more than 2GB RAM and HD storage
to be more than20MB
80
Dependability
• Fault Tolerance: - AHMCPM should be fault tolerant to loss of connectivity with the service.
• Security: -AHMCPM should be secured, i.e., not allow other users or unauthorized users to access
data that has no the right to access it.
• Availability: - as long as there is an internet connection and system failure the system will be
available 24 hours a day.
Maintainability
• Modifiability: AHMCPM system should be modifiable for further modification and enhancement
of the system.
• Portability: - the system is developed to be viewed and retrieved from any web browser
regardless of their version and platform it resides in it.
• Extensibility: - if it is needed to add new functionality to the system, this must be achieved by
only making a separate page and integrate this page with the existing system.
• Readability: - the system code can be viewed by clicking on the current web page and choose
“view the source code” option.
The system should have simple and understandable graphical user interface such as forms and
buttons, which have descriptive names. It should give reliable response for each user comment. All
the interfaces, forms and buttons are written or designed in a simple language or common language
so that the user can access it without any difficult.
81
4.2 Proposed system architecture
In this project, the team uses a three-tier architecture, which has three layers. These three layers are
the Application or Presentation layer, the business layer and the data access layer.Application or
presentation layer is the form, which provides the user interface to either programmer or end user.
The business layer is the class, which the team uses to write the function, which works as a mediator
to transfer data from application layer or presentation layer to data layer. This layer also has a
property layer which is a class where variables are declared corresponding to the fields of the
database which can be required for the application and make the properties so that the team can get
or set the data using these properties into the variables.The third tire is the data access layer which is
also a class to get or set data to the database queries back and forth. This layer only interacts with
the database. The database queries or stored procedures will be written here to access the data from
the database or to perform any operation to the database.
82
4.2.1 System process
83
4.2.2 Subsystem decomposition
To reduce the complexity of the solution domain, we decompose a system into simpler parts, called
subsystems. The main need of this portion is to design the external part of the system. In this project,
there are three sub system decompositions.
84
4.2.3 Hardware/software mapping
When we say hardware/software mapping for the system, it describes how subsystems are assigned
to hardware and off-the-shelf components. It also lists the issues introduced by multiple nodes and
software reuse.
In this system design mainly there are three hardware components. The client side, server side, and
database. When the team applies the system, necessary software will be loaded to each side
hardware components. Network should be installed between each side. Then each subsystem
software will be assigned and configured to the mapped hardware. Then the local area network will
be connected to the internet and the system will be functional. But now it is a design phase. The
hardware software mapping of the system is described below with a simple diagram.
85
4.2.4 Persistent Data management
The purpose of this section is to show the mapping of the objects/classes of the system, identified
during the analysis stage, in to the corresponding relational database.
86
Figure 4.6 Persistent Mapping for Manager
87
Figure 4.8 Persistent Mapping for Store Coordinator
88
4.2.5 Component diagram
89
4.2.6 Deployment diagram
90
4.2.7 Boundary condition
91
4.2.8 Database design
92
4.2.9 Access control
No Actor Privilege
1 Admin Login
Active/Inactive Account
View Account
Change Password
View Comment
View user message
logout
2 Manager Login
Register Employee
Delete Employee
View Employee
Create Account
View Account
Delete Account
View report
View Comment
Logout
3 Pharmacist Login
Register Customer
Search Customer
View Customer
Order Drug
Check Drug
View Comment
Logout
93
4 Store Coordinator Login
Register Drug
View Drug
Delate Drug
Check expire Date
Update Price
View warning drug
View Comment
Log out
5 Cashier Login
Fetch Order
Print Receipt
Logout
94
CHAPTER FIVE : SYSTEM IMPLEMENTATION AND TESTING
5.1 Introduction
The implementation phase is the most crucial phase in which it transform the design and analysis of
the system into a tangible system by writing the code to the system to be developed and make it
operational and applicable by testing and debugging the functionalities that are done. This phase
involves the construction of the actual project result .during this phase that the project becomes
visible to outsiders, to whom it may appear that the project has just begun. This makes the
implementation stage more essential step to develop the required system.
The test plan is designed to analyze the logic used in the implementation of the Hospital Information
Dissemination System. The tests will allow us to ensure correct program flow, and to determine the
error-handling capability of the system.
Once coding has begun, the testing process can be beginning and proceed in parallel. As each
program module is produced, it can be tested individually, as a part of larger program, and then as a
part of larger system.
Unit testing: Unit test is a way of testing each of the system functionality independently.
Accordingly, the team has tested each one of the major activities and the rest accompanying
activities independently using different user input, different login mechanisms and any technique
of fault finding so that an incorrect functioning of the activities was corrected at the right time.
95
Integration Testing: Integration testing is testing in which a group of components are
combined to produce output. Also, the interaction between software and hardware is tested in
integration testing if software and hardware components have any relation.
96
System testing: It is the final step of testing. In this system tested the entire system as a whole
with all forms, code, modules. In this we tested all the functionalities in the System. All errors in
the forms, functions, modules have been tested. Finally, System testing ensures that the entire
integrated software system meets the desired requirements. It tests a configuration to ensure
known and predictable results.
All forms To validate the To provide the The form is presented and
functionality of each required the required function can
form function by the operated using the form
form
97
5.3 System Implimentation
98
3. Display Store Coordinator Page
4. Click Manage drug link ,select register drug link and fill form and click
register button
99
5. For View Drug first Click manage drug link and select view drug.
100
CHAPTER SIX :CONCLUSION AND RECOMANDATION
6.1 Conclusion
As we have described above this system focus on the Adama Hospital Mediical Collage Pharmacy
Management System. The main reason that initiated us to develop this system is to keep the track of
information about the execution of pharmacy management and minimize time cosubtion of service.
In this system we have add some requirements that are not described on the scope before. Now we
have come to the end of the system development by correcting any type of problems that are
occurred in the system doing period. it is time to summarize the work done.
In the first chapter we have introduced the whole project process. In the second chapter we have
dealt with the existing system, current systems and the problems in the existing system. In the third
chapter we analyzed the proposed system. We modeled the new system using different object
oriented modeling techniques such as use case diagram, activity diagram, class diagram, state
diagram, and sequence diagram. In chapter four we designed the system, system Architecture and
others, design goals, proposed system and sub system decomposition using the design modeling
diagrams such as, component diagram, deployment diagram, hardware and software mapping and
database design
6.2 Recommendation
Even if we achieved to avoid some of the main problems that are appear in the current system,
there are a lot of functionalities that can be added that we couldn’t include in our system because
of time shortage and other factors. Our project couldn't be able to include :-
101
Reference
3. https://www.google.co.uk/search?sclient=psyab&site=&source=hp&btnG=Search&q=deplo
yement+diagram.
4. Lethbridge, TimothyC.
Object_Oriented_Software_Engineering__Practical_Software_Development_using_UML_a
nd_Java hal 56.
5. Navathe, Elmasri Fundamentals of Database System 6th edition.
6. www.google.com
102
APPENDIX
The important code part of our system is users login because in order to use the system the users
must be login to the system and use the system.
<?php
include("conn.php");
if(isset($_POST['btn-login']))
$username = $_POST['username'];
$password = clean($_POST['password']);
$result=mysql_query($qry,$conn1);
if($result)
if(mysql_num_rows($result) > 0) {
$un=$row['username'];
$pa=$row['password'];
$user= $row['usertype'];
$uname = $row['UserName'];
$status= $row['account_status'];
xii
$sta= $row['photo'];
$acc= $row['accountid'];
if($status!='0') {
if($user== administrator)
session_start();
echo "<script>window.location='admin/admin.php';</script>";
exit();
session_start();
$_SESSION['SESS_FIRST_photo'] =
$sta;$_SESSION['SESS_MEMBER_ID'] = $un;
$_SESSION['SESS_FIRST_NAME'] = $pa;
session_write_close();
echo "<script>window.location='manager.php';</script>";
exit(); }
xiii
else if($user== storecoordinator){
session_start();
exit(); }
session_start();
$_SESSION['SESS_FIRST_NAME']=$pa;
session_write_close();
echo "<script>window.location='pharmacist.php';</script>";
exit();
session_start();
$_SESSION['SESS_FIRST_photo'] =$sta;
session_write_close();
echo "<script>window.location='cashier.php';</script>";
exit(); }
xiv
else{ ?>
<script> alert('YOUR USER NAME AND PASSWORD IS NOT MATCH WITH YOUR
<?php
}}
else {
?>
<script> alert('Your account is disabled Please Contact the Administrator!!! and Tray again');
window.location='newlogin.php';
</script>
<?php
}}
else{
?>
<script>
alert('Incorrect USER NAME or PASSWORD Pls match and Try again ');
window.location='newlogin.php';
</script>
<?php
} }}?>
xv
<?php
if(isset($_POST['register']))
$dname=$_POST['dname'];
$cname=$_POST['cname'];
$bnumber=$_POST['bnumber'];
$quantity=$_POST['quantity'];
$unitprice=$_POST['price'];
$shelfno=$_POST['shelfno'];
$mndate=$_POST['mdate'];
$exdate=$_POST['edate'];
$disc_drug=$_POST['disc'];
$mda= date("Y-m-d");
$photo=$_POST['photo'];
if ($mndate>=$exdate) {
else if($mndate>=$mda)
xvi
echo "<font color='red'> The manufacture date is <font color='green'>$mndate </font> greter
else if ($exdate<=$mda) {
echo "<font color='red'> This drug allredy expiered <font color='green'>$exdate </font> and
else{
if(!$res)
else
!!!</p></font>";
xvii
echo' <meta content="4;registerdru.php" http-equiv="refresh" />';
}}}
mysql_close($conn1);
?>
<?php
include('conn.php');
$res=mysql_query($result,$conn1);
$re=mysql_query($resul,$conn1);
if(mysql_num_rows($res)>0)
align='center'><font color=white>";
xviii
echo "<th height='40'><font color='red'>Bach-Number</font></th>";
echo "</tr>";
while($row = mysql_fetch_array($res))
height='50'"."</td>";
echo"</tr>";
xix
}
echo "</table>";
else{
echo '<center>';
echo '</center>';
mysql_close($conn1);
?>
</form>
Questioners
1. How the pharmacist Generate report of Drug and Drug related activities worked in the
pharmacy?
2. What is the hierarchy of the Drug management?
3. How the tasks included in the pharmacy is performed?
4. What are the main activities performed in pharmacy management?
5. What are main responsible personnel’s in pharmacy management?
xx