ABSTRACT
ABSTRACT
OVERVIEW OF ORGANIZATION
1. PREFACE
2. INTRODUCTION
3. NEED OF ONLINE SHOPPING SYSTEM
4. PROFILE OF THE PROBLEM
5. STRUCTURE OF THE PROJECT
6. SOFTWARE DEVELOPMENT LIFE CYCLE
7. PROBLEM ANALYSIS
8. PROJECT PLAN
9. AVTIVITIES DURING SOFTWARE PROJECT PLANNING
10. HARDWARE AND SOFTWARE REQUIREMENT
11. FRONT-END DETAILS
12. BACK-END DETAILS
13. SYSTEM DESIGN
14. DESIGN NOTATIONS
15. PRODUCT FUNCTION
16. DETAILED DESIGN
17. E-R DIAGRAMS
18. DATA FLOW DIAGRAMS
19. TESTING
20. METHODOLOGY USED FOR TESTING
21. IMPLEMENTATION
22. USER MANUAL
23. ABBREVIATIONS/ ACRONYMS
24. SCREEN-SHORTS OF THE PROJECT
Blood bank donor management system Page |1
ABSTRACT:
The Blood Bank Donor Management System (BBDMS) is a web-based application designed to
automate and streamline the operations of blood donation, donor management, and blood request
handling. The increasing demand for blood in medical emergencies, surgeries, and treatments has
highlighted the need for an efficient system that can facilitate real-time access to blood availability
and donor information. Traditional manual systems are time-consuming, error-prone, and often fail
to deliver the required data during emergencies. This project aims to solve these challenges through
a digital platform developed using PHP, MySQL, HTML, CSS, and JavaScript.
The system provides a centralized database where information about donors, blood groups, available
stock, and donation history is stored securely. Donors can register themselves, update their profiles,
and be notified when there is a need for their specific blood type. Users or recipients can search for
available blood types, view donor details based on location and compatibility, and make requests
through a user-friendly interface.
Key features of BBDMS include donor registration and login, blood group search functionality,
blood request handling, real-time blood inventory management, and an optional notification
system to alert registered donors about urgent needs. The use of PHP and MySQL ensures fast,
secure, and reliable performance, while the user interface is designed to be intuitive and accessible
to users with varying technical backgrounds.
By digitalizing the blood donation and distribution process, BBDMS contributes to saving lives
through quicker access to blood, improved donor management, and accurate tracking of blood units.
This system not only enhances operational efficiency for blood banks but also promotes voluntary
blood donation by providing transparency and recognition to the donors.
Security and privacy are considered in the design by implementing user authentication, access
control, and safe handling of sensitive data. BBDMS also integrates optional features like email or
SMS alerts, real-time stock level dashboards, and printable donor cards, making it highly scalable and
adaptable to future enhancements.
Blood is one of the most essential components of human life. Every day, thousands of patients
around the world require blood transfusions for surgeries, accidents, medical conditions such as
anemia or cancer, and childbirth complications. However, in many cases, delays or the unavailability
of blood at the right time can lead to fatal outcomes. The problem is not always a lack of donors but
a lack of proper systems to connect donors and recipients efficiently. In many regions, blood banks
still rely on outdated methods such as handwritten logs, spreadsheets, and telephonic coordination,
which are time-consuming, error-prone, and inefficient during emergencies. These challenges
highlight the urgent need for an intelligent, real-time, and easily accessible platform that can manage
blood donations and requests in a systematic manner.
The Blood Bank Donor Management System (BBDMS) is designed to bridge this gap by introducing
automation and centralization into the process of blood donation and management. Developed using
PHP and MySQL, this system provides an end-to-end solution that allows blood banks to maintain
donor records, manage blood inventories, and respond to blood requests effectively. The application
also empowers donors to actively participate in the donation process by registering, receiving
notifications, and viewing their donation history. On the other hand, recipients or patients’ families
can quickly find available donors or blood stock based on blood group and location, and place a
request with just a few clicks.
The BBDMS platform comprises three primary user roles—Admin, Donor, and Recipient/User.
Admins are responsible for managing the backend operations, including maintaining blood stock,
approving new donors, handling donation requests, and generating statistical reports. Donors have
the ability to manage their personal profiles, monitor their eligibility based on donation intervals,
and respond to urgent donation requests. Recipients can search for matching blood types, send out
requests, and get contact details or assistance from blood banks. All of this is supported by a user-
friendly interface, making the system accessible even to users with minimal technical skills.
One of the key advantages of BBDMS is its scalability and adaptability. It can be deployed at a local
blood bank level, within hospital networks, or expanded into a national-level blood management
portal. It supports real-time blood availability tracking, which reduces panic during critical times and
ensures quicker response to emergencies. Additionally, optional features such as SMS/email alerts to
donors, live chat assistance, and integration with GPS for location-based donor matching can be
added for further efficiency.
Objectives:
The Blood Bank Donor Management System (BBDMS) is developed with the aim of
improving the efficiency and effectiveness of blood donation, tracking, and management
processes. The system seeks to address the critical challenges faced by blood banks,
hospitals, and medical centers in managing blood donations, donor data, and the timely
delivery of blood to those in need. The key objectives of this project are outlined as follows:
The demand for blood has been steadily increasing due to several factors:
Operational inefficiencies that increase costs and reduce the overall effectiveness of
blood banks.
This is the user interface of the system through which users interact. It includes:
Pages/Modules:
o Home Page
o Admin Dashboard
o Contact Us / About Us
This layer captures input from the users and presents the output data fetched from the
backend.
This layer contains the core functionality of the system — processing user requests, applying
business rules, and interacting with the database.
Modules:
This layer acts as a bridge between the front-end and the database.
This layer handles all CRUD operations (Create, Read, Update, Delete) on the database.
4. Role-Based Structure
a. Admin Role
Generate reports
b. Donor/User Role
Update profile
Activities:
2. System Design
Objective: Define system architecture, database schema, and user interface flow.
Activities:
Deliverables:
o Database Design
3. Implementation (Coding)
Activities:
Tools Used:
Deliverables:
o Source Code
o Functional Modules
4. Testing
Objective: Ensure the system works as intended and is free of bugs.
Activities:
Types of Testing:
o Functional Testing
Deliverables:
o Bug Reports
Blood bank donor management system Page |8
5. Deployment
Objective: Make the system available for actual use.
Activities:
Deliverables:
o Deployment Document
6. Maintenance
Objective: Keep the system running efficiently after deployment.
Activities:
Deliverables:
o Maintenance Logs
o Updated Codebase
PROBLEM ANALYSIS
Problems in the Existing System:
o Chances of expiry or misuse of blood units are high due to lack of tracking.
5. Limited Accessibility
PROJECT PLAN
A. Project Objectives
To provide a secure and user-friendly interface for both donors and administrators.
B. Project Scope
Resources Required
Software Tools:
o VS Code (IDE)
o PHP (Backend)
o MySQL (Database)
Hardware:
Risk Management
COST DEVELOPMENT
ESTIMATION TIME
RESOURCES
REQUIREMENT
PROJECT
SCHEDULING
SIZE ESTIMATION
The estimation of size is very critical and difficult area of the project planning. It has been
recognized as a crucial step from the very beginning. The difficulties in establishing units for
measuring size lie in the fact that the software is essentially abstract; it is difficult to identify
the size of the system. Many attempts have been made at establishing a unit for measure
size.
They are given as-:
• Lines Of Code
• Function Count
It measures functionally from user point of view that is on the basis of what the user
requests and receives in return. Therefore it deals with the functionality being
delivered, and not with lines of code, source modules etc. Measuring size in this way
has the advantage that size measure is independent of the technology used to
deliver the functions.
COST ESTIMATION
For any software project, it is necessary to know how much it will cost to develop and how
ainitiated. In many cases estimates are made using past experience as the only guide. A
number of techniques have been developed and are having following attributes in common:
• The project is broken into small pieces which are estimated individually.
1. Hardware Requirements
2. Software Requirements
Software Details
Additional Tools (Optional) phpMyAdmin (DB GUI), Git (for version control)
Front End tool is used for give a Graphical user interface to system. By this we can
make a system user friendly and more capable. I have chosen PHP as front end tool.
Because it is an Open Source Technology, freely available and more familiar with any type
of database.
ABOUT PHP:
Why PHP?
PHP is one of the most popular server side scripting languages running today. It is used for
creating dynamic WebPages that interact with the user offering customized information. PHP
offers many advantages; it is fast, stable, secure, easy to use and open source (free).
• User friendly
• GUI
Blood bank donor management system P a g e | 15
• Separation of work (designing & coding)
• Written once run anywhere
• PHP API
Back end part of a system is more important because it controls all the internal process of
a system. I have choose oracle database as back end. Because it is word’s Most Capable
relational database and provide more security than others.
Why MySQL?
MySQL is the world's most popular open source database software, with over 100 million
copies of its software downloaded or distributed throughout its history. With its superior
speed, reliability, and ease of use, MySQL has become the preferred choice for Web, Web
2.0, SaaS, ISV, Telecom companies and forward-thinking corporate IT Managers because it
eliminates the major problems associated with downtime, maintenance and
administration for modern, online applications.
Many of the world's largest and fastest-growing organizations use MySQL to save time and
money powering their high-volume Web sites, critical business systems, and packaged
Blood bank donor management system P a g e | 16
software — including industry leaders such as Yahoo!, Alcatel-Lucent, Google, Nokia,
YouTube, Wikipedia, and Booking.com.
MySQL is a key part of WAMP (Window, Apache, MySQL, PHP), the fast-growing open source
enterprise software stack. More and more companies are using WAMP as an alternative to
expensive proprietary software stacks because of its lower cost and freedom from platform lock-in.
Draw context
Diagram
Draw
Prototypes
Model The
Requirement
Finalize The
Requirement
Draw Context Diagrams – The context diagram is a simple model that defines the
boundaries and interfaces of the proposed system with the external world. It identifies the
entities outside the proposed system that interact with the system
Development Of Prototype – One effective way to find out what the customer
really wants is to construct a prototype, something that looks and preferably acts like a
part of the system they want.
Blood bank donor management system P a g e | 17
Model The Requirement – This process really consist of various graphical
representations of functions, data entities, external entities and the relationship between
them. The graphical view may help to find incorrect, inconsistent, missing and superfluous
requirement.
Finalize The Requirements – After modeling the requirements we will have better
understanding of the system behavior. The inconsistencies and ambiguities have been
identified and corrected.
FUNCTIONAL REQUIREMENTS
Functional requirements define the fundamental actions that must take place in the
software in accepting the inputs and in processing and generating the outputs. These are
listed as “shall” statements starting with “The system shall….
Login Module – This module is provided for administrator and users such as Product
buyer and seller who have registered themselves in the system. These login are provided
according to the need of the systems.
▪ Output – Registered user can access website and can use the
services.
Search Module – In this module we are going to provide facility for Product buyer to
search for Products according to their specified categories so that users can search for
Products easily.
Can order online books and pay via credit or atm card or PayPal.
Performance Requirement
The performance of the product mainly depends on the speed of Internet connection. If
the user wants hard real time response, then this is definitely not the product to go for.
Safety Requirements
The electrical connection to the devices is critical and should be done according to the
standards to avoid any short circuits.
SYSTEM DESIGN
The most creative and challenging phase of System Development Life Cycle (SDLC) is
Software Design. SDS is systematic documentation of design. A design process involves
“conceiving and planning out in the mind” and “making drawing pattern or sketch”. The
term “design” describes a final system and the process by which it is developed. It assist in
catching potential errors before the implementation phase itself which had been very
costly to remove otherwise.
System Design is a solution how to translate the system requirement into a blue print for
constructing the software. The goal of SDS is not only to produce a correct design but the
best possible one within the limitation imposed by the requirements and the physical and
social environment in which the system will operate.
The system architecture description found in this document provides the reader a clear
sense of how the system will be organized, how the components will interact and how the
users will interface with the running software.
DESIGN NOTATIONS
DFDs help represent the flow of data through the system. The symbols used in DFDs include:
Example:
Example:
✅ 3. Flowchart Notations
Example:
PRODUCT FUNCTIONS
Product functions describe the core capabilities and features that the system is expected to
perform. These functions align with the user requirements and help achieve the goals of the
blood bank system.
1. Donor Registration
Stores donor data in the database for future reference and eligibility checks.
5. Admin Panel
Dashboard includes:
o Generate reports.
7. Report Generation
Validates form inputs (e.g., age must be numeric, email must be valid).
USER CHARACTERISTICS
Donors:
Description: Donors are individuals who volunteer to donate blood. They are crucial to the
functioning of the blood bank.
Characteristics:
Description: Admin users are staff members who are responsible for managing the
operations of the blood bank. They oversee donor registration, blood inventory, request
processing, and the overall management of the system.
Characteristics:
Characteristics:
Technical Skill: Requesters usually have basic skills to use web forms or mobile apps
to submit blood requests.
Description: Developers and the maintenance team are responsible for building,
maintaining, and updating the BBDMS system. They ensure the system is running smoothly
and free of bugs.
Characteristics:
DETAIL DESIGN
Input: Name, Age, Gender, Blood Group, Contact Details (phone number, email).
Process: When a donor registers, the system verifies the entered data (e.g., ensuring
age is within the acceptable range and blood group is valid). Donor details are saved
in the database.
User Interface: A simple form that the donor can fill out. The form is accessible via
the homepage.
Input: Donor ID, Blood Group, Quantity of Blood Donated, Donation Date.
Process: When a donor donates blood, the system records the donation in the
database. It also updates the blood stock levels based on the blood group and
quantity.
Output: Donation status (e.g., "Donation Successful") and updated blood stock.
User Interface: Admin dashboard for adding new donations; donors can view their
past donations.
Database: Donor donations are recorded in the blood_donations table, and stock is
updated in the blood_stock table.
User Interface: A form for requesters to fill out, showing the available blood types
and quantities.
Input: Admin username, password (for login). Admins can also update blood stock,
approve or reject requests, and generate reports.
Process: Admins can access a dashboard to view and manage donor data, blood
inventory, and blood requests. The admin also has the ability to generate reports on
blood donation trends and request history.
Output: Admin dashboard showing statistics, donor details, request status, and
inventory levels.
User Interface: A secure login page, followed by a dashboard that includes links to
different management sections (donors, blood stock, requests).
Database: Admin data is stored in the admin table, and actions (add/update/delete)
on the donor or request tables are tracked.
ERDs may also be more abstract, not necessarily capturing every table needed within a
database, but serving to diagram the major concepts and relationships. This ERD is of the
latter type, intended to present an abstract, theoretical view of the major entities and
relationships needed for management of electronic resources. It may assist the database
design process for an e-resource management system, but does not identify every table
that would be necessary for an electronic resource management database.
Objects
1. Entities
2. Relations
3. Attributes.
Entities
An entity is a concept or object in the database. Entities are concepts within the data
model. Each entity is represented by a box within the ERD. Entities are abstract concepts,
each representing one or more instances of the concept in question. An entity might be
considered a container that holds all of the instances of a particular thing in a system.
Entities are equivalent to database tables in a relational database, with each row of the
table representing an instance of that entity.
Attributes
The Supplier Name, Supplier Address, Telephone Number etc. A given attribute belonging
to a given entity occurrence can only have one value. Therefore, if a supplier could have
more than one address or telephone number then this should be determined before
defining the attributes of that entity type. In this example the defined entity may require
two or three address and/or telephone number attributes. It is the maximum practical
instances of a given attribute that should be catered for in the entity type definition.
Relations are the connections between two or more entities. Relationship lines indicate
that each instance of an entity may have a relationship with instances of the connected
entity, and vice versa. Each entity type can always be described in terms of attributes, and
these attributes will apply to all occurrences of that given entity type
Testing is the process of executing a program with the intent of finding errors. Although software
testing is itself an expensive activity, yet launching of software without may lead to cost potentially
much higher than that of testing, especially in systems where human safety is involved. Effective
software testing will contribute to the delivery of higher quality software products, more satisfied
users, and lower maintenance costs, more accurate and reliable results. Software testing is
necessary and important activity of software development process.
STRUCTURAL TESTING
Structural Testing takes into account the internal mechanism of a system or component.
Fatigue Testing is carried out with the objective of determining the relationship between the
stress range and the number of times it can be applied before causing failure. So when your
product’s structural durability needs to be predicted, verified and validated, turn to DTB's
Structural Testing and Fatigue Testing experts. We provide you with the necessary structural
testing and fatigue testing equipment and personnel to test the design and manufacturing
integrity of your product. Call upon our vast experience in commercial and military
applications.
Course attendees will learn how to utilize various techniques for performing systematic
structural testing, including decision/condition coverage, loop testing and basis path testing.
Strategies for performing software and system integration testing are also covered.
It is very useful and convenient in support of functional testing. Although JMeter is known
more as a performance testing tool, functional testing elements can be integrated within the
Test Plan, which was originally designed to support load testing. Many other load-testing
tools provide little or none of this feature, restricting themselves to performance-testing
purposes. Besides integrating functional-testing elements along with load-testing elements
in the Test Plan, you can also create a Test Plan that runs these exclusively. In other words,
aside from creating a Load Test Plan, it also allows you to create a Functional Test Plan. This
flexibility is certainly resource-efficient for the testing project.
This will give a walkthrough on how to create a Test Plan as we incorporate and/or configure
its elements to support functional testing. This created a Test Plan for a specific target web
server. We will begin the chapter with a quick overview to prepare you with a few
expectations; we will create a new Test Plan, only smaller. The Test Plan we will create and
run at the end of this chapter will incorporate elements that support functional testing,
exclusively.
UNIT TESTING
Unit testing focuses on the modules independently locate the errors. This enables the
tester to detect errors in coding. It is the process of taking a module and running it in
isolation from rest of the software product by using prepared test cases and comparing the
actual result with the result redirected with the specifications and design of the module.
One purpose of testing is to find and remove as many errors in the software as practical.
There are number of reason in support of unit testing-:
• The size of module single module is small that we can locate an error fairly easily.
• The module is small enough that we can attempt to test it in some demonstrably
exhaustive fashion.
• Confusing interactions of multiple errors in widely different parts of software are
eliminated.
There are problem associated with testing a module in isolation. How do we run a module
without anything to call it, to be called by it, possibly to output intermediate values
obtained during execution? One approach is to construct an appropriate driver routine to
call it, and simply stubs to be called by it, and to insert output statements in it. Stubs serve
to replace modules that are subordinate to the module to be tested. A stub or dummy
INTEGRATION TESTING
This is a systematic technique for constructing the program structure while at the same
time to uncover the errors associated with the interface. The objective is to take unit
tested module and build a program structure that has been detected by designing. The
main purpose of integration testing is to determine that the interfaces between modules
are correct or not. One specific target of integration testing is the interface: whether
parameter matches on both sides as to type, permissible ranges, meaning & utilization.
There are 3 types of integration testing-
• Top Down Approach- Top Down integration proceeds down the invocation
hierarchy, adding one module at a time until an entire tree level is generated.
• Bottom Up Approach – The Bottom up strategy works similarly from the bottom
to up.
• Sandwich Strategy – A sandwich strategy runs from top and bottom
simultaneously.
representative of the data to be provided by the user, the reliability of the output is
• Using Live Test Data – Live test are those that are actually extracted from the
organization files. Use of the live data make testing easier by obtaining most
expected outputs and if it is found that the program can handle the entries
processing of the system accurately.
• Using Artificial Test Data - Live data is difficult to obtain insufficient amount to
conduct extensive testing. It does not test all the combination or formats that can
be done by entering to the system. Therefore artificial test data were used at the
time of unit testing. Artificial test data was created solely for test purposes which
provide extreme values for testing the limit of candidate system.
IMPLEMENTATION
The implementation phase is the most crucial stage in the Software Development Life Cycle
(SDLC). In this phase, the actual development and deployment of the software system take
place. It involves converting the design and plan into executable code, testing it, and making
it operational for end-users.
Purpose of Implementation
Before beginning development, the required software and hardware environments are set up.
For BBDMS, the tools and platforms used include:
MySQL (Database)
This setup allows local development and testing before final deployment.
2. Database Implementation
A structured relational database is created using MySQL to store and manage data such as:
Donor information
Blood requests
Tables are designed using SQL, with appropriate primary and foreign keys to ensure
referential integrity.
Donor Registration
Admin Panel
Each module is implemented using PHP for the server-side scripting and HTML/CSS for the
user interface.
4. Interface Development
The user interface (UI) is designed to be simple, user-friendly, and responsive. It allows
different users (donors, admin, hospitals) to interact with the system easily through forms and
dashboards.
All modules are integrated to ensure data flows correctly between components. For example:
When a donor donates blood, the donation details update the blood stock table.
When a blood request is made, it checks the blood stock and updates the request status
accordingly.
After coding and integration, the system undergoes several levels of testing:
Integration Testing: Modules are tested together to check data consistency and flow.
System Testing: The whole system is tested for real-life use cases.
Errors and bugs are identified and resolved to ensure the system's smooth functioning.
After successful testing, the system is deployed either locally or on a web server for actual
use. The database is exported, and all files are uploaded to the live environment.
Basic training is provided to system users (admin or staff) on how to use the application. User
manuals and technical documentation are prepared to assist users in operating the system.
USER MANUAL
• Webpage: pages of information placed on network that may contain text, graphics,
images, moving pictures, sound files & other type of electronic information.
• Website: Collection of files called webpage, which can contain text & images.
• SQL: It is a standard interactive & programming language for getting information &
updating database..
ABBREVIATIONS/ ACRONYMS
DATABASE AND
TABLES OF
PROJECT