HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
SCHOOL OF ELECTRONICS AND TELECOMMUNICATIONS
──────── * ───────
REPORT OF
APPLIED SOFTWARE PROJECT
Website for drug warehouse management
Name of instructor: Dr. Nguyen Thanh Binh
Dương Nam 20224371
Khánh
Nguyễn Đức 20224333
Mạnh
Phan Minh Anh 20224335
Nguyễn Bá Quân 20224350
Nguyễn Quang 20224375
Minh
Hanoi, 10-2024
Acknowledgement
We sincerely thank Dr. Nguyen Thanh Binh for his assistance with our project,
which he made possible for our team to finish with excellence.
Furthermore, as this project is outside of the scope of our team’s experience, we
couldn’t prevent design flaws in the presentation's content and style. To improve this
project, our team is looking forward to Dr. Nguyen Thanh Binh's advice and any
further suggestions.
We want to express our gratitude to everyone that has assisted us with this initiative!
Abstract
This report delves into the design, development, and
deployment of a pharmaceutical warehouse management system
tailored to streamline drug inventory management. The system
addresses inefficiencies in manual processes, including delayed
approvals, error-prone tracking, fragmented communication, and
limited reporting. By automating workflows like stock monitoring,
audits, and data synchronization, it enhances efficiency, reduces
errors, and ensures timely medication dispatch.
The system leverages modern database techniques, including
normalization and relational modeling, to ensure data consistency,
integrity, and scalability. Key functionalities encompass inventory
intake, quality assurance, warehousing, and dispatch, adhering to
standards such as FIFO and FEFO. It integrates hardware like barcode
scanners and networking infrastructure for real-time updates and
seamless communication.
Non-functional requirements emphasize data security, system
reliability, and compliance with HIPAA and GDPR to safeguard drug
information and maintain audit trails. Designed for scalability and
2
interoperability with hospital systems, it supports diverse user roles,
including warehouse managers, directors, and supply officers.
This report provides an overview of the project lifecycle, highlighting
the role of advanced software solutions in addressing pharmaceutical
logistics challenges and ensuring the efficient, secure delivery of
medications.
3
Table of Contents
1. Planning............................................................................... 4
1.1. Topic introduction...........................................................................4
1.2. Overall plan.....................................................................................6
1.3. Weekly plan.....................................................................................6
2. Requirement gatheing...........................................................7
2.1. Business process.............................................................................7
2.1.1. Diagram.....................................................................................7
2.1.2. Diagram expression...................................................................7
2.2. Issues in the Current System..........................................................8
2.3. System scope..................................................................................9
2.4. System Objectives...........................................................................9
2.5. Identify system users......................................................................9
2.6. Functional requirements...............................................................10
2.7. Non-Functional requirements........................................................11
3. Analysing............................................................................13
3.1. Function analysis:..........................................................................13
3.1.1. Functional Hierarchy Diagram.................................................13
3.1.2. Data Flow Diagram..................................................................13
3.2. Data analysis:................................................................................14
3.2.1. Data dictionary........................................................................14
3.2.2. Entity - Relationship model:.....................................................15
4. Designing:...........................................................................15
4.1. Database designing:......................................................................15
4.1.1. Database normalisation...........................................................15
4.1.2. Relational – Relationship model...............................................18
4.2. Program structure design:.............................................................18
4.3. Interface design............................................................................18
4.3.1. Menu design.............................................................................18
4.3.2. Input form design.....................................................................18
4.4. Report design................................................................................18
Appendix................................................................................. 19
A. Questions for users.............................................................................19
B. Answers for users...............................................................................19
4
5
1. Planning
1.1. Topic introduction
A pharmaceutical warehouse management system is a
specialized software solution that facilitates the tracking,
organization, and regulation of drug inventory, including stock
movements, storage levels, and expiration monitoring. By
automating these processes, the system enhances operational
efficiency, reduces errors in inventory audits, and ensures that
healthcare providers receive necessary medications on time.
Place where the system is used: Pharmaceutical inventory
management supports the needs of various departments, units,
and patients by guaranteeing the availability and prompt
delivery of medications.
System Infrastructure:
Servers:
o Primary database server: Dedicated to storing
essential data, including drug details, user information,
transaction history, and inventory records.
o Backup server: Maintains regular backups to secure
data recovery in case of unexpected failures.
Database management:
o DBMS: Responsible for structured data handling and
storage.
o Data partitioning: Enhances retrieval efficiency,
ensuring smooth operations even with multiple
simultaneous users.
User-friendly interface: Features an intuitive website
interface designed for ease of use.
Networking capabilities:
o LAN connectivity: Allows seamless communication
among warehouse devices like barcode scanners and
computers.
6
o Internet access: Facilitates remote management for
supervisors and external stakeholders, such as
suppliers and branch employees.
Hardware integration: Includes servers, barcode
scanners, and data entry devices for effective warehouse
operations.
Reason to choose this topic: Adopting a pharmacy
warehouse management system addresses critical challenges
faced by healthcare providers and distribution centers in
managing medications. Given the specific storage and handling
requirements for each drug, this system alleviates manual
workload, streamlines inventory processes, and ensures
medications are properly handled from storage to delivery. Key
advantages include:
Streamlined inventory management:
o Preventing shortages: Automated alerts notify when
stock is low, ensuring timely replenishment and
avoiding critical drug shortages.
o Reducing overstock waste: Tracks consumption
trends to prevent excessive purchases that may result
in expired or wasted drugs.
o Automated audits: Facilitates accurate, real-time
stock monitoring, reducing the manual effort needed
for inventory checks.
Operational efficiency and error reduction:
o Minimizing manual errors: Automates routine tasks
like stock tracking and data updates, reducing
mistakes from manual processes.
o Time savings: Simplifies key processes, such as data
entry and inventory checks, enabling staff to complete
tasks faster.
7
o Enhanced decision-making: Delivers detailed
analytics and reports to guide inventory adjustments
based on real-time needs.
Improved financial oversight:
o Cost optimization: Tracks and manages procurement
expenses, ensuring cost-effective purchasing.
o Revenue tracking: Records sales data for retail
pharmacies, assisting in profit analysis and financial
planning.
o Demand forecasting: Uses historical data to predict
future needs, aiding in strategic procurement planning.
8
1.2. Overall plan
Task Name Duration
Topic spcecification 2 weeks
Survey 3 weeks
Analysis 2 weeks
Design 2 weeks
Report 1 week
1.3. Weekly plan
People in
Task Time Detail
charge
1 Group creation 1 week Forming a group Everyone
Choosing topic Everyone
2 Topic specification 1 week Nguyễn Đức
Introduction to the topic
Mạnh
Create the work Dương Nam
3 Planning 1 week
distribution Khánh
Phan Minh Anh
Business process
Nguyễn Bá Quân
Nguyễn Quang
System issue
Minh
System scope
4 Gathering 3 weeks
Target
Functional requirement
User identity
Nonfunctional
requirement
Function analysis
5 Analysing 2 weeks
Data analysis
9
2. Requirement gatheing
2.1. Business process
2.1.1. Diagram
2.1.2. Diagram expression
N People in Task Description
O charge
1 Warehouse Request for Based on the remaining
keeper additional goods and the usage of other
goods department, the keeper
should request for additonal
10
goods
2 Board of Approve for The director then approves
director the request the request.
3 Supply officer Delivery After approved by the
notice director, the supply officer
should notice the keeper to
schedule an inspection and to
prepare the storage
4 Department of Reciving and Inspect quantity, qualiy,
complain & inspecting origin and the expiration date
supply officer of the goods. Print the receipt
if the goods is pass for
inspection.
5 Warehouse Warehousing Sign the receipt, storing and
keeper and tagging the goods for
preservation managing.
6 Dept. Approved for Check for requesting goods
Administration release papers and approve
& supply
7 Dept. Carry out The keeper contact the
Finnancial & warehouse demander to schedule the
accounting dispatch supply, both have to sign the
receipt.
Every process should be
noted and report. Not meet
quality goods must be
returned.
8 Dept. Consolidation, Check and compared to the
Finnancial & reporting and remaining, make and save a
accounting, inventory record periodical.
warehouse
11
keeper
2.2. Issues in the Current System
Manual and Delayed Approvals: Processes relying on
manual approvals result in bottlenecks.
Lack of Automation: Notifications, inspections, and tagging
rely heavily on manual effort, leading to inefficiencies.
Inefficient Tracking: Inventory, dispatch, and rejected goods
are tracked manually, increasing errors and reducing
transparency.
Fragmented Communication: Inter-departmental workflows
lack integration, slowing down operations.
Limited Reporting Capabilities: Periodic reporting does not
reflect real-time inventory status, affecting planning and decision-
making.
2.3. System scope
The drug warehouse management system includes the following
steps:
Request for additional goods (1):
o To maintain sufficient stock levels and ensure that the
warehouse is adequately supplied
Warehousing and Preservation (5):
o To ensure that goods received meet the specified
quality and quantity standards
Carry out warehouse dispatch (7):
o To ensure the accurate and timely distribution of goods
to the requesting department or individual.
2.4. System Objectives
Enhance the efficiency of stock intake and dispatch for orders
Offer comprehensive reports and inventory data analysis
Oversee inventory management and processing
Track and access information on drug movements (entry and
exit)
12
2.5. Identify system users
Board of director:
o Oversees all operations within the warehouse and is
responsible for making key strategic decisions.
o Reviews comprehensive reports on inventory, drugs nearing
expiration, approves restocking requests, and monitors the
history of drug movements in and out of the warehouse.
Warehouse Keeper:
o Manages all activities related to the entry and exit of drugs,
monitors stock levels, expiration dates, and other relevant
data.
o Enters new drug records into the system (including drug
details, batch numbers, and expiration dates), and updates
information whenever necessary.
o Regularly checks inventory levels, issues alerts when stock
is low, monitors incoming and outgoing drug orders, and
prepares inventory status reports.
2.6. Functional requirements
Request for additional goods
Warehousing and Preservation
Carry out warehouse dispatch
User Case Diagram:
UC01 Request for additional goods
User: Storage manager Actor: Storage manager
Input: Request for medicines Output: Request for restocking
medicines
Based on the remaining medicines in storage and usage.
Ask for a restock if necessary.
Ensure punctuality and effectiveness.
13
UC02 Warehousing and Preservation
User: Storage manager Actor: Storage manager
Input: Accepted imports Output: Storing and preserving
medicines
Sign the delivery notice.
Create warehouse card for tracking.
Store the medicine in correct places.
Classify, arrange and preserve goods in the warehouse according to
current regulations.
Goods need to be rotated so that the lots received first or with the
earliest expiry date will be used first. The principle is First In/First Out
(FIFO) or First Expired/First Out (FEFO).
Save document related.
14
UC03 Carry out warehouse dispatch
User: Dept. Finnancial & Actor: Dept. Finnancial &
accounting accounting
Input: Demander to schedule Output: Every process should be
the supply noted and report
contact the demander to schedule the supply, both have to sign
the receipt.
Every process should be noted and report.
Not meet quality goods must be returned.
2.7. Non-Functional requirements
UC01: Request for Additional Goods
o Data Requirements:
Input Data:
Inventory list (drug name, current quantity,
expiration date).
Request details (drug name, quantity needed,
reason for the request).
Output Data:
Restocking request (including request status:
approved/pending approval).
Timestamp of the request creation.
o Functional Requirements:
Allow warehouse staff to create new restocking
requests.
Automatically check inventory to suggest optimal
restocking quantities.
Send restocking requests to the Board of
Directors for approval.
Store request information in the system for
tracking purposes.
UC02: Warehousing and Preservation
o Data Requirements:
Input Data:
15
Incoming goods information (drug name,
quantity, production date, expiration date).
Quality check results (pass/fail).
Output Data:
Storage information (storage location, batch
number, date of storage).
Quality check report.
o Functional Requirements:
Record information about incoming goods into the
warehouse.
Automatically categorize and suggest storage
locations based on the type of goods.
Perform and record quality check results.
Alert staff when goods are nearing expiration.
UC03: Carry Out Warehouse Dispatch
o Data Requirements:
Input Data:
Dispatch request (drug name, quantity,
requester).
Inventory information (current quantity,
expiration date).
Output Data:
Dispatch record (drug name, quantity, recipient).
Updated inventory data after dispatch.
o Functional Requirements:
Receive and approve dispatch requests.
Check inventory to ensure sufficient stock for the
request.
Update warehouse data after goods are dispatched.
Store dispatch records for reconciliation.
16
17
3. Analysing
3.1. Function analysis:
3.1.1. Functional Hierarchy Diagram
Figure 1. Functional Hierarchy Diagram
3.1.2. Data Flow Diagram
Data Flow Diagram level 0
Figure 2. Data Flow Diagram level 0
1. Warehouse keeper Warehouse Management System: Drug’s
quantity information
2. Warehouse Management System Warehouse keeper:
Notification of warehouse status
3. Supplier Warehouse Management System: Approve/Reject
18
4. Warehouse Management System Supplier:
Data Flow Diagram level 1
Figure 3. Data Flow Diagram level 1
Data Flow Diagram level 2
3.2. Data analysis:
3.2.1. Data dictionary
Entity name Attribute
Name
Board of director
Board of director ID
Warehouse ID
Drug ID
Warehouse
Name of warehouse
Warehouse keeper ID
Warehouse keeper ID
Warehouse keeper
Name of warehouse keeper
Name of supplier
Supplier ID
Supplier
Warehouse ID
Request for import ID
Production date
Type of drug
Drug
Expiry
Drug ID
19
Board of director ID
Request for export Request for export ID
Status
Board of director ID
Request for import Request for import ID
Status
20
3.2.2. Entity - Relationship model:
Figure 4. Entity – Relationship model
21
4. Designing:
4.1. Database designing:
4.1.1. Database normalisation
Warehouse table
Attribute Warehouse ID, Name of
warehouse, Warehouse keeper
ID, Drug ID, Name of warehouse
keeper
Constraints and business Functional dependency
rules
Each warehouse can have many Warehouse ID Drug ID
drugs. Drug ID Name of drug
Each warehouse has only one Warehouse ID Warehouse
warehouse keeper at a time, keeper ID
and when the warehouse keeper Warehouse keeper ID Name
changes, it will be updated and of warehouse keeper
saved in the data table.
Database normalisation
Key: K = Warehouse ID
3NF violation
Split into 3 relations
Warehouse (Warehouse ID,
Warehouse keeper ID, Drug
ID)
Drug – Warehouse (Drug ID,
Name of drug)
Warehouse keeper –
Warehouse (Warehouse
keeper ID, Name of
warehouse keeper)
22
Request for export table
Attribute Request for export ID, Board of
director ID, Warehouse keeper
ID, Drug ID, Status
Constraints and business Functional dependency
rules
Each warehouse keeper can Request for export ID
create multiple export requests. Warehouse keeper ID
Each request can have more Request for export ID Drug ID
than one type of medicine.
Each leader can approve Request for export ID Board
multiple export requests. of director ID, Status
Database normalisation
Key: K = Request for export ID
1NF violation: Group of
repeating attributes (Request
for export ID, Status)
Split into 2 relations
Request for export (Request
for export ID, Drug ID,
Warehouse keeper ID)
Request for export – Status
(Request for export ID,
Status, Board of director ID)
Request for import table
Attribute Request for import ID, Board of
director ID, Warehouse keeper
ID, Drug ID, Status
23
Constraints and business Functional dependency
rules
Each warehouse keeper can Request for import ID
create multiple export requests. Warehouse keeper ID
Each request can have more Request for import ID Drug ID
than one type of medicine.
One supplier can supply multiple Request for import ID
drugs and drugs at a time can Supplier ID
only be imported by one
supplier and approved.
Each leader can approve Request for import ID Board
multiple export requests. of director ID, Status
Database normalisation
Key: K = Request for import ID
1NF violation: Group of
repeating attributes (Request
for import ID, Status)
Split into 2 relations
Request for import (Request
for export ID, Drug ID,
Warehouse keeper Id,
Supplier ID)
Request for import – Status
(Request for import ID,
Status, Board of director ID)
4.1.2. Relational – Relationship model
24
Figure 5. Relational – Relationship model
25
4.2. Program structure design:
4.3. Interface design
4.3.1. Menu design
4.3.2. Input form design
4.4. Report design
Appendix
A. Questions for users
B. Answers for users
26