CS304-Assignment No 01
CS304-Assignment No 01
A blood bank plays a vital role in saving people’s lives. A blood bank management system is a system
which manages the donation and storage of blood, and inventory operations etc. It manages the collection,
storage and distribution of blood to hospitals. Donors are individuals who donate blood. They can register,
update their profiles, and view their donation records. On the other hand, patients in need of blood can
register request and track status of their request. They have specific blood type requirements and medical
history.
The Inventory tracks available blood types and quantities, including inventory ID and expiration dates, with
methods for checking availability and updating records. Similarly, hospitals can view donor details, and
select required donor on biases of donor’s information. The admin must handle donor registrations, manage
blood inventory, and facilitate blood requests from hospitals. It should also monitor blood expiry, check
donor eligibility and ensures that blood is available for critical patients. Admin also send reminders to
donors for future donations.
To design the Blood Bank Management System, we first need to break down the requirements and identify
the key entities, attributes, relationships, and functions that should be associated with each entity. This
process involves identifying the main objects in the system, as well as their attributes, functions, and how
they interact with each other. Let’s walk through the process.
Based on the description of the system, we can identify the following key entities:
Donor
Patient
Blood Bank (Inventory)
Hospital
Admin
Blood Donation
Blood Request
Blood Type
Donor
Attributes:
Functions:
Patient
Attributes:
Functions:
Attributes:
Functions:
Hospital
Attributes:
Functions:
Admin
Attributes:
Functions:
Blood Donation
Attributes:
Blood Request
Attributes:
Functions:
Blood Type
Attributes:
Functions:
Donor → Blood Donation: A donor can donate multiple times, so there is a one-to-many
relationship between Donor and Blood Donation.
Blood Donation → Blood Bank: Each blood donation adds blood to the inventory, creating a one-
to-many relationship from Blood Donation to Blood Bank (since multiple donations of the same
blood type can be stored in the inventory).
Hospital → Blood Request: A hospital can place multiple blood requests, so there is a one-to-many
relationship between Hospital and Blood Request.
Patient → Blood Request: A patient can have a single or multiple blood requests, so there is a one-
to-many relationship between Patient and Blood Request.
Admin → Donor, Inventory, Blood Request: Admin has control over managing donors, inventory,
and requests, so the Admin has a one-to-many relationship with these objects.
Blood Request → Blood Bank: A blood request is fulfilled by blood in the inventory, establishing a
many-to-one relationship between Blood Request and Blood Bank.
Patient → Blood Type: A patient requires a specific blood type, creating a many-to-one relationship
between Patient and Blood Type.
Hospital → Donor: Hospitals may interact with donors directly, selecting donors as needed for
blood requirements.