Project ReportonData Structure
Project ReportonData Structure
net/publication/381926610
CITATIONS READS
0 640
1 author:
SEE PROFILE
All content following this page was uploaded by Mahruf Hasan Shaykot on 03 July 2024.
CSE242.13
Lab_Group:3
Presented By: (Group-3)
Name : 1. MD. Mahruf Hasan Shaykot (2023000000035)
2. Md. Ahsanul Amin Muhit (2022100000049)
3. Md. Riajul Jannat Joy (2022100000041)
4. Mahmudul Hasan (2023000000086)
5. Sanjid Hossain (2022100000038)
Course Code : CSE242.13
Course Title : Data Structure Lab
Department : B.Sc. in CSE
Institution : Southeast University
Presented to:
•Md. Habibullah Belali
•Assistant Professor
•Department of CSE
•Southeast University
Submission date : 10/06/2024
1|Page
Contents
1. Executive Summary............................................................................................. 04
2. Introduction......................................................................................................... 04
3. Background Study................................................................................................ 05
4. Technical Tools.................................................................................................... 06
5. Features in Detail with Code and Algorithm…………………….……………………… [07-15]
5.1. Add Medicine............................................................................................................. 07
5.2. Sort Medicines Alphabetically..................................................................................... 08
5.3. Sort Medicines by Category......................................................................................... 09
5.4. Restock Medicine....................................................................................................... 10
5.5. Sell Medicine............................................................................................................. 11
5.6. Delete Expired Medicine............................................................................................. 12
5.7. Print Medicines.......................................................................................................... 13
5.8. Search Medicine........................................................................................................ 14
5.9. Calculate Total Sales................................................................................................. 15
6. Methodology………………………………………………………………………………………..[16-18]
6.1. Requirement Analysis
6.2. System Design
6.3. Development
6.4. Testing
6.5. Deployment
6.6. Maintenance and Updates
9. Limitations..........................................................................................................[22-23]
9.1. Scope of Features
9.2. Scalability Constraints
9.3. User Interface Complexity
9.4. Limited Customization
9.5. Dependence on Manual Data Entry
9.6. Limited Integration with External Systems
9.7. Security Vulnerabilities
9.8. Limited Reporting and Analytics
9.9. Technical Support and Maintenance
2|Page
10. Future Scope....................................................................................................[24-25]
10.1. EHR Integration
10.2. Advanced Inventory Management
10.3. Mobile Application Development
10.4 Patient Engagement Tools
10.5. Data Analytics and Business Intelligence
10.6. Enhanced Security Measures
10.7. Online Sales Integration
10.8. Telemedicine Integration
10.9. Regulatory Compliance and Reporting
10.10. CRM Tools
11. Overall Discussion............................................................................................ 26
12. Conclusion........................................................................................................ 27
13. References........................................................................................................ 27
3|Page
1. Executive Summary
The Pharmacy Business Shop Management System is developed to streamline and enhance the management
of a pharmacy's inventory. This project addresses the inefficiencies and challenges associated with manual
inventory management, providing an automated solution that improves accuracy, efficiency, and ease of use.
The system encompasses various functionalities, including the addition, sorting, restocking, selling, and
deletion of medicines. It allows users to search for specific medicines and calculate total sales. Built using
the C programming language, the system is designed to be lightweight, efficient, and user-friendly, making
it suitable for small to medium-sized pharmacies.
Through a structured approach involving requirement analysis, system design, implementation, testing, and
user feedback, the system was developed to meet the needs of its users effectively. While it currently
operates through a command-line interface, future enhancements are planned to include a graphical user
interface, multi-user support, and integration with online pharmacies.
This report provides a comprehensive overview of the project's background, methodology, features,
challenges, and future scope, along with detailed documentation of the system's implementation and
operation.
2. Introduction
The management of pharmacy inventory is a complex task that requires careful tracking of stock levels,
expiry dates, and sales transactions. Traditional manual methods are prone to errors, time-consuming, and
often inefficient. As the demand for efficient healthcare services grows, there is an increasing need for
automated systems that can manage pharmacy operations effectively.
The Pharmacy Business Shop Management System is developed to address these challenges by providing a
robust, automated solution for managing pharmacy inventory. This system simplifies the process of adding
new medicines, sorting and searching medicines, restocking, selling, and removing expired medicines. It
ensures that inventory data is accurate and up-to-date, thereby reducing the likelihood of stockouts or
expired medicines being dispensed.
The system is implemented using the C programming language, chosen for its efficiency and wide usage in
system programming. The project aims to deliver a user-friendly, cost-effective solution that can be easily
adopted by small to medium-sized pharmacies. The following sections of this report will delve into the
background study, technical tools used, detailed features, methodology, time duration, challenges,
limitations, future scope, and overall discussion, concluding with the project's impact and potential
developments.
4|Page
3. Background Study
The healthcare industry, and particularly pharmacies, play a crucial role in ensuring the well-being of
individuals by providing access to necessary medications. Effective inventory management within
pharmacies is essential to maintain the availability of medicines, ensure their quality, and provide timely
service to customers. Traditionally, many small to medium-sized pharmacies have relied on manual methods
for managing their inventory, which involves keeping physical records and spreadsheets.
1. Inaccuracy: Manual data entry can lead to errors, resulting in incorrect stock levels.
2. Time-consuming: Keeping records up to date manually is labor-intensive and slow.
3. Limited Tracking: Difficulty in tracking expiry dates accurately, leading to potential health
risks.
4. Inefficiency: Slow response to restocking needs, causing stockouts or overstocking.
5. Lack of Real-time Information: Delays in updating records mean real-time inventory status is
often unavailable.
With advancements in technology, automated systems have been developed to address these challenges.
Automated inventory management systems ensure that records are accurate, up-to-date, and accessible in
real-time. They help pharmacies manage their stock more efficiently, reduce waste, and improve customer
satisfaction by ensuring the availability of medicines.
The Pharmacy Business Shop Management System is designed to transition pharmacies from manual to
automated inventory management. It aims to offer a cost-effective solution tailored to the needs of small to
medium-sized pharmacies, providing them with the tools needed to manage their inventory efficiently. By
automating key processes, the system minimizes human error, saves time, and ensures that pharmacies can
operate smoothly and effectively.
5|Page
4. Technical Tools
The development of the Pharmacy Business Shop Management System involves various technical tools and
methodologies to ensure a robust, efficient, and user-friendly application. The choice of tools is influenced
by the project's requirements, the need for efficiency, and the goal of creating a system that can be easily
maintained and extended.
Programming Language:
• C Language: The core of the system is implemented in C. Chosen for its performance and
control over system resources, C allows for the creation of a lightweight and efficient
application. It is widely used in system programming, making it a suitable choice for
developing an inventory management system that needs to handle various operations
efficiently.
Development Environment:
Data Storage:
• Text Files: Medicines data is stored in a text file named medicines.txt. Using text files for
storage is a simple and effective way to manage data for small to medium-sized applications.
It eliminates the need for complex database management systems, making the system
lightweight and easy to maintain.
Libraries:
• Standard C Libraries: The system utilizes standard C libraries such as stdio.h for
input/output operations, string.h for string manipulations, and time.h for handling date and
time operations.
Version Control:
• Git: Git is used for version control to track changes in the code, collaborate with other
developers, and maintain different versions of the project. Platforms like GitHub or GitLab
provide repositories to host the project's codebase.
Testing Tools:
• Manual Testing: The system is primarily tested manually to ensure that all functionalities work
as expected. Different scenarios are tested, including adding, sorting, restocking, selling, and
deleting medicines.
6|Page
5. Features in Detail with Code and Algorithm
The Pharmacy Business Shop Management System includes several essential features designed to streamline
the management of a pharmacy's inventory. Each feature is implemented with specific code and algorithms
to ensure efficient operation. Below are the detailed descriptions of these features, along with relevant code
snippets and algorithms.
Description: This feature allows the user to add new medicines to the inventory. The user inputs the
medicine's name, stock quantity, category, and expiry date. The system then stores this information in the
inventory and saves it to a file.
Algorithm:
Code:
void addMedicine() {
if (numberOfMedicines >= MAX_MEDICINES) {
printf("Maximum limit reached. Cannot add more medicines.\n");
return;
}
numberOfMedicines++;
saveMedicinesToFile();
7|Page
5.2. Sorting Medicines Alphabetically
Description: This feature sorts the medicines in the inventory alphabetically by their names. It uses the
Bubble Sort algorithm to achieve this.
Algorithm:
Code:
void sortAlphabetically() {
struct Medicine temp;
8|Page
5.3. Sorting Medicines by Category
Description: This feature sorts the medicines in the inventory by their category. It also uses the Bubble Sort
algorithm.
Algorithm:
Code:
void sortCategorically() {
struct Medicine temp;
9|Page
5.4. Restocking Medicine
Description: This feature allows the user to restock an existing medicine in the inventory. The user provides
the medicine name and the quantity to be added to the current stock.
Algorithm:
Code:
void restockMedicine() {
char name[NAME_LENGTH];
int quantity;
int found = 0;
if (!found) {
printf("%s not found in inventory.\n", name);
}
}
10 | P a g e
5.5. Selling Medicine
Description: This feature allows the user to sell a specified quantity of a medicine. The user provides the
medicine name and the quantity to be sold.
Algorithm:
Code:
void sellMedicine() {
char name[NAME_LENGTH];
int quantity;
int found = 0;
if (!found) {
printf("%s not found in inventory.\n", name);
}
}
11 | P a g e
5.6. Deleting Expired Medicine
Description: This feature deletes medicines from the inventory that have expired. The user provides the
current date, and the system removes all medicines with expiry dates earlier than the current date.
Algorithm:
Code:
void deleteExpiredMedicine() {
char currentDate[DATE_LENGTH];
printf("Enter the current date (DD-MM-YYYY): ");
scanf("%s", currentDate);
numberOfMedicines = 0;
for (int i = 0; i < stackTop; i++) {
medicines[numberOfMedicines++] = stack[i];
}
saveMedicinesToFile();
printf("Expired medicines deleted successfully.\n");
}
12 | P a g e
5.7. Printing Medicines
Description: This feature prints the list of all medicines in the inventory, displaying their name, stock
quantity, category, and expiry date.
Algorithm:
Code:
void printMedicines() {
printf("\nMedicine Inventory:\n");
for (int i = 0; i < numberOfMedicines; i++) {
printf("Medicine Name: %s, Stock: %d, Category: %d, Expiry Date: %s\n",
medicines[i].name, medicines[i].stock, medicines[i].category,
medicines[i].expiryDate);
}
}
13 | P a g e
5.8. Searching Medicine
Description: This feature allows the user to search for a medicine by its name. If the medicine is found, the
system displays its details.
Algorithm:
Code:
void searchMedicineFeature() {
char searchName[NAME_LENGTH];
printf("Enter the name of the medicine to search for: ");
scanf("%s", searchName);
int index = searchMedicine(searchName);
if (index != -1) {
printf("Medicine found at index %d: %s\n", index, medicines[index].name);
} else {
printf("Medicine not found.\n");
}
}
14 | P a g e
5.9. Calculating Total Sales
Description: This feature calculates the total sales amount for all sold medicines. It maintains a record of
each sale transaction, including the medicine name, quantity sold, and sale price per unit. The total sales
amount is the sum of the price of all sold medicines.
Algorithm:
Code:
void calculateTotalSales() {
double totalSales = 0.0;
15 | P a g e
6. Methodology
The methodology section outlines the systematic approach adopted to develop and implement the Pharmacy
Business Shop Management System. This project follows a structured software development lifecycle
(SDLC) process to ensure the efficient and effective delivery of a reliable software solution. The
methodology encompasses various phases: requirement analysis, design, development, testing, and
deployment.
Objective: To gather and analyze the requirements for the pharmacy management system.
Activities:
Outcome: A comprehensive SRS document that serves as the foundation for system design and
development.
Objective: To create a blueprint for the system that meets the specified requirements.
Activities:
• System Architecture Design: Develop a high-level architecture of the system, including data
flow diagrams and system components.
• Database Design: Design the database schema to store medicine information, sales records,
and other relevant data.
• User Interface Design: Design the user interface (UI) to ensure ease of use and accessibility.
• Component Design: Define the individual components and modules of the system and their
interactions.
Outcome: Design documents, including system architecture diagrams, database schema, and UI mockups.
16 | P a g e
6.3. Development
Activities:
• Environment Setup: Set up the development environment with necessary tools and libraries.
• Coding: Develop the system using C language, adhering to coding standards and best
practices.
• Version Control: Use version control systems (e.g., Git) to manage code changes and
collaborate with team members.
• Module Integration: Integrate individual modules and ensure they work together as a cohesive
system.
6.4. Testing
Objective: To ensure the system functions correctly and meets the specified requirements.
Activities:
• Unit Testing: Test individual modules and components for functionality and correctness.
• Integration Testing: Test the integration of modules to ensure they work together as expected.
• System Testing: Conduct end-to-end testing of the entire system to verify overall
functionality.
• User Acceptance Testing (UAT): Involve end-users in testing to validate the system against
their requirements.
Outcome: A fully tested system with documented test cases and results.
6.5. Deployment
Objective: To deploy the system in a live environment for use by the pharmacy.
Activities:
17 | P a g e
6.6. Maintenance and Updates
Activities:
• Bug Fixes: Identify and resolve any issues or bugs that arise during system operation.
• Performance Optimization: Optimize system performance based on user feedback and
monitoring.
• Feature Enhancements: Implement new features and improvements based on changing
requirements.
• Regular Updates: Provide regular updates to keep the system current and secure.
Outcome: An updated, well-maintained system that meets the evolving needs of the pharmacy.
18 | P a g e
The project phases and their respective durations are as follows:
The chart above illustrates the distribution of time across different project phases. Each phase is critical for
the successful completion and implementation of the Pharmacy Business Shop Management System.
19 | P a g e
8. Risk Factors and Challenges
Developing a Pharmacy Business Shop Management System involves several risk factors and challenges.
These need to be identified, assessed, and managed to ensure successful project completion. Here are the
key risk factors and challenges encountered during the project:
• Description: Ensuring the accuracy and consistency of data, especially when multiple
operations like adding, deleting, and updating medicines are performed, is critical.
• Mitigation: Implement rigorous validation checks for all data inputs. Use defensive
programming techniques to handle unexpected scenarios. Maintain comprehensive test cases
to verify data integrity.
• Description: Designing an intuitive and user-friendly interface is challenging but crucial for
user adoption and satisfaction.
• Mitigation: Engage with end-users during the design phase to gather insights and preferences.
Create prototypes and iterate based on user feedback. Ensure the interface is simple,
consistent, and easy to navigate.
• Description: The system needs to handle a potentially large inventory without performance
degradation.
• Mitigation: Optimize algorithms for sorting and searching. Use efficient data structures to
manage the inventory. Conduct performance testing to identify and address bottlenecks.
20 | P a g e
8.6. Security Concerns
• Description: Protecting sensitive data such as medicine stock levels and expiry dates from
unauthorized access is essential.
• Mitigation: Implement file access controls and data encryption where necessary. Regularly
update security protocols and perform security audits to identify vulnerabilities.
• Description: Ensuring the system works seamlessly across different environments and
platforms can be challenging.
• Mitigation: Use cross-platform development tools and libraries. Conduct thorough testing on
various platforms to ensure compatibility.
• Description: Limited time and budget can restrict the scope and quality of the project.
• Mitigation: Prioritize features based on stakeholder input and project goals. Allocate
resources efficiently and track progress regularly to stay within constraints.
• Description: Users may require training to effectively use the system, and ongoing support to
resolve any issues they encounter.
• Mitigation: Provide comprehensive user manuals and training sessions. Establish a support
system for ongoing assistance.
1. Risk Identification and Analysis: Regularly review and update the risk register to identify new
risks and analyze their potential impact.
2. Risk Mitigation Planning: Develop and implement mitigation plans for each identified risk.
3. Continuous Monitoring: Monitor risks throughout the project lifecycle and adjust mitigation
strategies as necessary.
4. Stakeholder Communication: Maintain open communication with stakeholders to manage
expectations and address concerns promptly.
5. Flexibility and Adaptation: Be prepared to adapt project plans and resources in response to
emerging risks and challenges.
By identifying and proactively managing these risk factors and challenges, the project can proceed more
smoothly and achieve its objectives successfully.
21 | P a g e
9. Limitations
Despite the comprehensive approach and robust design of the Pharmacy Business Shop Management
System, there are several limitations that need to be acknowledged. Understanding these limitations is
crucial for setting realistic expectations and planning for future improvements.
• Description:
o The current system, while functional, does not encompass all possible features that
could be beneficial for a pharmacy management system. Advanced features like
integration with external health databases, real-time inventory tracking, and predictive
analytics for stock management are not included.
• Impact:
o Users might find the system lacking in certain advanced functionalities that could
enhance efficiency and decision-making.
• Description:
o The system is designed to handle the inventory and management needs of small to
medium-sized pharmacies. As the scale increases, particularly with very large
databases and a high number of concurrent users, performance issues may arise.
• Impact:
o Larger pharmacies or chains might experience slower performance, leading to delays
and potential disruptions in operations.
• Description:
o While efforts have been made to design an intuitive user interface, the system may still
be complex for users who are not tech-savvy, especially those who are used to
traditional, paper-based management methods.
• Impact:
o Initial training and a period of adjustment may be required for users to become
proficient with the system, which could temporarily affect productivity.
• Description:
o The current system offers limited customization options for users. Each pharmacy has
unique workflows and requirements, and the system might not be flexible enough to
accommodate all specific needs without significant modifications.
• Impact:
o Pharmacies may need to adapt their processes to fit the system, which could lead to
inefficiencies or dissatisfaction.
22 | P a g e
9.5. Dependence on Manual Data Entry
• Description:
o The system relies heavily on manual data entry for adding and updating medicine
information, which can be time-consuming and prone to human errors.
• Impact:
o Inaccuracies in data entry can lead to incorrect inventory levels, affecting stock
management and sales tracking.
• Description:
o The system does not currently support integration with other software systems such as
Electronic Health Records (EHR), pharmacy benefits management systems, or third-
party logistics providers.
• Impact:
o Lack of integration can lead to data silos, requiring manual data transfer between
systems, which is inefficient and error-prone.
• Description:
o While basic security measures are implemented, the system may still be vulnerable to
sophisticated cyber-attacks. Advanced security features like multi-factor
authentication, real-time threat detection, and encryption at all data layers are not fully
implemented.
• Impact:
o There is a risk of data breaches, which could compromise sensitive patient and
inventory information.
• Description:
o The system provides basic reporting and analytics capabilities. However, more
advanced features such as customizable reports, predictive analytics, and data
visualization tools are limited.
• Impact:
o Users may find it challenging to derive actionable insights from the available data,
impacting decision-making processes.
• Description:
o The system may require ongoing technical support and maintenance to address bugs,
implement updates, and ensure smooth operation.
• Impact:
o Limited access to timely support can affect the system's reliability and user
satisfaction.
23 | P a g e
10. Future Scope
The Pharmacy Business Shop Management System has significant potential for future enhancements to meet
the evolving needs of the pharmaceutical industry. Key areas for expansion include:
24 | P a g e
10.8. Telemedicine Integration
➢ Implementation Strategy
25 | P a g e
11. Overall Discussion
In this study, a comprehensive analysis and implementation of a pharmacy business shop system were
conducted using C programming language. The objective of this project was to develop a software solution
that efficiently manages various aspects of a pharmacy business, including inventory management, sales
tracking, and basic arithmetic calculations for selling medicines. The project aimed to provide a user-
friendly interface while incorporating essential features to meet the operational needs of a pharmacy.
1. Medicine Categorization and Sorting: The system allows medicines to be categorized based on
their type, facilitating efficient organization and retrieval. Additionally, medicines can be sorted
alphabetically, simplifying the process of searching for specific items.
2. Stock Management: A robust stock management system was developed to track the availability of
medicines. Whenever a medicine runs out of stock, the system prompts the user to update the stock
details, ensuring timely replenishment and preventing stockouts.
3. Sales Record with Stack Operation: The system maintains a record of medicines sold using a stack
data structure. Each transaction is recorded with details such as the medicine name, quantity sold,
and total cost, enabling the pharmacy to track sales and monitor inventory turnover.
4. Arithmetic Calculator for Selling Medicines: An integrated calculator functionality enables users
to calculate the total cost of medicines being sold. Users can input the quantity of each medicine
sold, and the system computes the total cost based on the unit price of the medicines.
The project also includes additional features such as a user-friendly interface, search functionality, data
persistence, error handling mechanisms, and report generation capabilities. These features enhance the
usability and functionality of the system, making it a comprehensive solution for managing pharmacy
operations.
Overall, the project successfully achieves its objectives of developing a software solution for pharmacy
business management. However, there are areas for future improvement, such as implementing more
advanced data structures and algorithms for enhanced efficiency, integrating barcode scanning for faster
inventory management, and incorporating advanced reporting and analytics features for better decision-
making.
26 | P a g e
12. Conclusion
In conclusion, the development and implementation of the pharmacy business shop system using C
programming language have resulted in a comprehensive software solution for managing pharmacy
operations efficiently. Through the incorporation of key features such as medicine categorization, stock
management, sales tracking, and arithmetic calculations, the system provides a user-friendly interface while
addressing the operational needs of a pharmacy.
The project has successfully achieved its objectives of providing a practical and efficient solution for
pharmacy management. By streamlining inventory management, facilitating sales transactions, and ensuring
accurate record-keeping, the system contributes to improved efficiency, productivity, and customer
satisfaction in pharmacy business operations.
While the project has demonstrated significant progress in addressing the challenges faced by pharmacy
businesses, there are opportunities for further enhancement and refinement. Future research and
development efforts could focus on implementing advanced features such as barcode scanning for faster
inventory management, integration with electronic health records for improved patient care, and advanced
analytics for better decision-making.
Overall, this project serves as a foundation for further innovation and advancement in the field of pharmacy
management. It highlights the importance of leveraging technology to optimize business processes and
enhance service delivery in the healthcare sector. Moving forward, continued collaboration between
software developers, pharmacists, and healthcare professionals will be essential in driving innovation and
ensuring the success of pharmacy businesses in an increasingly competitive market.
13. References
1. Shah, P., & Patel, R. (2020). "A Study on Sales and Inventory Management System for
Pharmacy Stores." International Journal of Research in Computer Applications and
Robotics.
2. GeeksforGeeks
3. Stack Overflow
4. AI
5. https://youtu.be/I37kGX-nZEI?si=0nfDTMhgLAiQAl8u
6. W3school
7. Programiz
8. Google
9. ResearchGate.
27 | P a g e