Report Blood Bank Management System DBMS
Report Blood Bank Management System DBMS
Submitted To :
Dr. Trisiladevi C. Nagavi,
Professor, Dept. Of Computer Science,
JSS Science and Technology University,
Mysore – 570006.
Submitted By :
❏ Mehdi Sadath Assadi : USN – 01JST18IS024
❏ Sarungbam Dinaraj : USN – 01JST17CS141
❏ Guruprakash : USN – 01JST18IS014
Contents :
1. Acknowledgement…………………………………………….…...….…2
2. Abstract……………………………………………………………....…...3
3. Problem definition……………………………………………..…...…....4
4. Aim……………………………………………………………..…...…….4
5. Objective and Scope ……………………………………………..…….5
6. System Requirement Engineering…………………….……..……...6-9
6.1 Functional Requirements…………………….………..………….6
6.2 Non-functional Requirements……………………………...…..6-7
6.3 Security Requirements…………………………………….…..….7
6.4 System Requirements…………………………………….…...….8
6.4.1 Security Requirements…………………………….....….8
6.4.2 Hardware Requirements……………………….…….…..8
7. System Design and Implementation…………………………...…..9-18
7.1 Architectural Design…………………………………...…...….9-10
7.2 Data Flow Diagram……………………………………..…….10-11
7.3 E-R Diagram……………………………………………..……….12
7.4 Schema Diagram……………………………………..………….13
7.5 Tables and Attributes…………………………………..…….14-17
7.6 Database Normalization…………………………………..……...17-18
8. Modules of Blood Bank Management System………….……....19-20
9. Unit testing and Result analysis………………………….…...….21-22
10. Graphical Representation of the Website…………….…….. 23-29
11. Result analysis…………………………………………….…….….30
12. Conclusion……………………………………………………..…...31
13. References……………………………………………………….....32
1
1. Acknowledgement
We would like to express our special thanks of gratitude to our teacher
Dr.Manimala S, who gave us the golden opportunity to do this wonderful project on
the topic " Blood Bank Management System", which also helped us in doing a lot of
research and we learnt a great deal by doing them.
We also would like to thank our friends and family, whose guidance was always a
support to us. We also enjoyed working as a team and are looking forward to
implementing it successfully.
2
2. Abstract
Our project is a web based Blood Bank Management System. It will help the
donors to register and donate blood at the blood bank and manage the entire internal
database through one portal. It also helps the medical center to collect blood from
the blood bank. For doing this project we have used Django Framework based on
Python 3, Bootstrap, HTML, CSS and SQLite on Windows Operating System. The
Website is hosted on PythonAnywhere.
The goal of this report is to provide clear specifications and a clear concept of the
implementation of the system. This project explores a new dimension to make it
more interesting and challenging.
3
3. Problem Definition
The percentage of people donating blood is increasing day by day due to awareness
to donate blood for those needed. The blood received has to be managed thoroughly
so that there will be no negative effect to the blood receiver once they receive blood.
To handle these internal operations of a Blood Bank we have made a Web based
application.
4. Aim
The main aim of developing this system is to provide blood to the people who are
in need of blood. The number of people who are in need of blood are increasing in
large numbers day by day. Using this system users can search blood groups available
in the blood bank and he can also get the contact number of the donor who has the
same blood group he needs. In order to help people who are in need of blood, this
Online Blood Bank management system can be used effectively for getting the details
of available blood groups and users can also get the contact number of the blood
donors having the same blood group and within the same city. So if the blood group
is not available in the blood bank, the user can request the donor to donate the blood
to him and save someone's life.
4
5. Objective
5. Scope
I. This project covers Web based Blood Bank Management System within a
Blood Bank
II. It also covers Donor registration and hospital management which make use of
the BLood Bank
III. It provides secure access for admin to the database and users to a limited set
of information.
IV. This project is to be built on one databases - Admin database and he has the
full power over the complete infrastructure
V. For the users the website works without any delay of login as thought to be
important in the case of emergencies where every second is important for the
survival of the person
5
6. System Requirements Engineering
ii. Admin
i. Performance
• The product shall be based on the web and has to be run on a web
server.
• The product shall take initial load time depending on the system
hardware.
• The performance shall depend upon hardware components of the
client/customer.
6
ii. Security
• The system’s back-end servers shall never display a user’s password or any
other sensitive credentials.
iii. Reliability
• The main pillar of reliability of the system is the backup of the database
which is continuously maintained and updated to reflect the most recent
changes.
iv. Maintainability
7
6.4 System Requirements
8
7. System Design and Implementation
9
Figure: System Architecture of the WebApp
10
Figure: Level 0 Data Flow Diagram
11
7.3 E-R DIAGRAM
12
7.4 SCHEMA DIAGRAM
13
7.5 Tables & Attributes
7.5.1 Donor
SL.NO FIELD DATA TYPE CONSTRAINTS DESCRIPTION
Functional Dependencies:-
R:- Donor(Donor_ID, D_Name, D_Age, Sex,Weight,D_Address, D_DOB,
D_Phone_No, Mid_Hist)
FD:- Donor_ID->{ D_Name, D_Age, Sex,Weight,D_Address, D_DOB,
D_Phone_No, Mid_Hist}
7.5.2 Blood
SL.NO FIELD DATA TYPE CONSTRAINTS DESCRIPTION
14
Functional Dependencies:-
R:- Blood(Blood_ID, Bld_Type, Date, Time, Donor_ID, Bld_Qty,
BloodBank_ID)
FD:- Blood_ID->{ Bld_Type, Date, Time, Donor_ID, Bld_Qty,
BloodBank_ID}
The above FD is in BCNF form.
7.5.3 BloodBank
SL.NO FIELD DATA TYPE CONSTRAINTS DESCRIPTION
1. BloodBank_ID varchar(20) Primary Key Blood Bank ID
2. BB_Name varchar(30) Not Null Blood Bank Name
3. BB_Phone_No varchar(15) Not Null Blood Bank Phone No.
4. BB_Address varchar(40) Not Null Blood Bank Address
5. BB_Email varchar(40) Null Email Address of Blood
Bank
Functional Dependencies:-
R:-Blood bank( BloodBank_ID, BB_Name, BB_Phone_No,
BB_Address, BB_Email)
FD:-BloodBank_ID-> {BB_Name, BB_Phone_No,
BB_Address, BB_Email}
7.5.4 Hospital
SL.NO FIELD DATA TYPE CONSTRAINT DESCRIPTION
Functional Dependencies:-
R:-Hospital( Hospital_ID, H_Name, H_Phone_No, H_Address)
FD:-Hospital_ID->{H_Name, H_Phone_No, H_Address}
15
7.5.5 Employee
SL.NO FIELD DATA TYPE CONSTRAINT DESCRIPTION
Functional Dependencies:-
7.5.6 Orders
SL.NO FIELD DATA TYPE CONSTRAINT DESCRIPTION
16
6. Date date Not Null Date on which blood
is received
Functional Dependencies:-
17
Third Normal Form (3NF):-
● A Relation is in 3NF if it is in 2NF and does not contain any transitive partial
dependency.
● 3NF is used to reduce data duplication and achieve data integrity.
● If there is no transitive dependency for non-prime attributes, then the relation
must be in third normal form.
18
8. Modules of Blood Bank Management System
Blood Bank Management system is to provide services for the people who are in
need of blood by getting help from the donors who are interested in donating blood.
There are five main modules in this system.
● Admin
● Donor Registration
● Hospital Registration
● Order
● Availability
Admin:-
Admin can manage all the relations in the database. He can add or remove or
modify any information from the database system. The database has following
relations:-
● Bloodbanks
● Bloods
● Donors
● Employees
● Hospitals
● Orders
Donor Registration:-
In this module, people who are interested in donating blood get registered in the
website and give his overall details related to him, i.e. he fills in a registration form by
giving the total details such as name, age, sex ,weight, address, DOB, phone no.,
Medical History etc.
Hospital Registration:-
In this module, any hospital can get registered in the website and give details
about the hospital, i.e. they fill in a registration form by giving total details such as
hospital name, hospital phone number and address. Then the hospital can place
orders for the blood group available. This can be checked online using our blood
bank management website
19
Order:-
In this module , hospitals or any person in need from a particular hospital can
place an order for Blood type request and quantity . and they get registered in the
website by giving details about
● Hospital id
● Date
● Quantity
● Blood type request
● Recipient name
Availability:-
In this module, it shows the database relation of blood type and stock available .It
will get updated at each transaction. The present availability of the blood and its type
can be checked from this page.
20
9. Unit Testing and Result Analysis
Unit testing focuses verification effort on the smallest unit of software design: the
software component or module. Using the component-level design description as a
guide, important control paths are tested to uncover errors within the boundary of the
module. The relative complexity of tests and the errors those tests uncover is limited
by constrained scope established for unit testing. The unit test focuses on the
internal processing logic and data structures within the boundaries of a component.
In this section of the document, we unveil different tests conducted on each module
and the behaviour in response.
3. View all relations Click on the All relations All relations pass
after admin login respective are displayed are displayed
table with details with details
21
4. Approve order Details of the Accept if Accept if pass
hospital and blood blood
requirement quantity is quantity is
including blood present and present and
quantity update update
database database
else reject else reject
22
10. Graphical Representation of the Website
23
10.2 Admin login page:
After Login :
24
10.3 Hospital Registration
25
10.5 Donor database( after admin login )
26
10.7 Employee database ( after admin login )
27
10.9 Blood Database (after Admin login)
28
10.11 Current blood availability:
29
11. Result analysis
All the functional and non-functional requirements were taken into consideration and
a web-page was created and viewed in localhost. The database was normalized to
BCNF form. The webpage was created using HTML, CSS and Bootstrap at front
end, MySql at backend and Flask as a middleware that was used to connect to the
backend. Insert, delete and modify options have been provided through the user
Interface itself and easy navigation from one screen to another has been provided.
Aggregate functions such as group by, order by has also been used. A trigger for
checking the medical history and option to delete it has also been given. All the
requirements have been met and tested. Various test cases were developed to
check the functionality of our web-page and all the testcases were provided with
appropriate output.
30
12. Conclusion
The project has greatly enhanced the way in which a blood bank can work through a
web site. Such apps are the need of the hour as the entire world is at the highest
pace for internet adoption and here in India too it will prove to be very beneficial and
worth trying as it minimises errors, makes operations transparent, gives an easy to
use interactive interface along with a great UI. This should really help in making
people aware of the importance of blood and blood banks.While doing the project we
got to know a lot about the internal workings of the blood bank.
This project gave us a great opportunity for a web-based project to design, code,
measure and execute. This has helped to implement the different software
engineering and database management principles Concepts such as data integrity
and continuity. This has also helped me find out more about PythonAnywhere,
Django, HTML, CSS and SQLite and Personal Web Server.
31
13. References
32