You are on page 1of 56

1

Blood Bank Management System

Prajwal Pemperenal Neupane, Alvish Shrestha, Dipendra Ghimire

B.sc.(Hons) Computing, Software College of IT and E-commerce, Coventry University

ST4008:Computing Activity Led Learning Project 1

Giriraj Rawat

August 10, 2023


2

Table of Contents

INTRODUCTION....................................................................................................................... 6

AIM............................................................................................................................................... 8

OBJECTIVES.............................................................................................................................. 8

PROBLEM STATEMENT.......................................................................................................... 9

FUNCTIONAL REQUIREMENT........................................................................................... 12

NON-FUNCTIONAL REQUIREMENT................................................................................. 13

SCOPE........................................................................................................................................ 14

DEVELOPMENT METHODOLOGY.....................................................................................16

METHODOLOGY.................................................................................................................... 17

PROS AND CONS OF AGILE METHODOLOGY.............................................................. 18

TOOLS USED IN PROJECT………………………………………………………………….20

CONCEPTUAL DIAGRAM..................................................................................................... 22

SYSTEM ARCHITECTURE....................................................................................................23

PROJECT PLAN....................................................................................................................... 24

PROTOTYPE ........................................................................................................................... 25

DEVELOPED SYSTEM............................................................................................................. 37

REGISTRATION UI................................................................................................................... 38

SIGN IN UI...................................................................................................................................39

DASHBOARD UI........................................................................................................................ 42
3

SYSTEM TESTING.................................................................................................................. 52

VERSION CONTROL................................................................................................................ 54

REFERENCES.............................................................................................................................55
4

Table of figures

FIGURE 1:AN OVERVIEW OF BBMS ..................................................................................................7

FIGURE 2:FEATURES OF BLOOD BANK BANAGEMENT SYSTEM........................................... 11

FIGURE 3:AGILE METHODOLOGY................................................................................................... 17

FIGURE 3:ER DIAGRAM…………………………………………………………………………...22

FIGURE 4:TOOLS AND TECHNOLOGIES USED IN THE PROJECT ..........................................21

FIGURE 5:GANTT CHART FOR WORK PROGRESS ..................................................................... 25

FIGURE 6:LOW FIDELITY PROTOTYPE OF SIGN UP PAGE ..................................................... 26

FIGURE 7: HIGH FIDELITY PROTOTYPE OF SIGN UP PAGE.................................................... 27

FIGURE 8:LOW FIDELITY PROTOTYPE OF SIGN IN PAGE....................................................... 28

FIGURE 9:HIGH FIDELITY PROTOTYPE OF SIGN IN PAGE...................................................... 29

FIGURE 10:LOW FIDELITY PROTOTYPE FOR DASHBOARD.................................................... 30

FIGURE 11:HIGH FIDELITY PROTOTYPE FOR DASHBOARD................................................... 31

FIGURE 12:LOW FIDELITY PROTOTYPE FOR DONATE.............................................................32

FIGURE 13:HIGH FIDELITY PROTOTYPE FOR DONATE............................................................33

FIGURE 14:LOW FIDELITY PROTOTYPE FOR REQUEST.......................................................... 34

FIGURE 15:HIGH FIDELITY PROTOTYPE FOR REQUEST......................................................... 35

FIGURE 16:SIGN UP PAGE.................................................................................................................... 36

FIGURE 17:CODE FOR SIGN-UP PAGE..............................................................................................39

FIGURE 18:SIGN-IN PAGE.....................................................................................................................40

FIGURE 19:CODE FOR SIGN-IN PAGE...............................................................................................41

FIGURE 20:DASHBOARD UI................................................................................................................. 45


5

FIGURE 21:DASHBOARD CODE..........................................................................................................46

FIGURE 22:SIGN UP TEST.....................................................................................................................52

FIGURE 23:SIGN IN TEST…………………………………………………………………………52

FIGURE 24:BLOOD GROUP TEST………………………………………………………………53

FIGURE 25:VERSION CONTROL OF THE PROJECT…………………………………………54


6

INTRODUCTION

A Blood Bank Management System(BBMS) is a desktop-based application software designed to

simplify and automate searching for blood in case of emergency and maintains the records of

blood donors.

The BBMS especially has features such as cataloging, donor management,

and request management. The cataloging allows people to organize blood groups, including

blood donation appointments for new donors. Donor management allows for the efficient

registration, screening, and management of donors. The request management validates the

authenticity and urgency of the request and ensures that only legitimate requests are processed

and fulfilled promptly .

.
7

Figure 1: an overview of BBMS system


8

AIM

This program seeks to offer a standard operating environment for the management of the

blood bank, including works like cataloging, donor management, and

recipient management.

Objectives

User-friendly interface: It enables users to easily search for blood groups, access data

about blood supply, and where to obtain specific blood groups.

Improving Accessibility: It allows patrons to access blood groups from anywhere, at any

time, through online catalogs and digital resources.

Compatibility and Cross-matching: Ensure the correct matching of donated blood with

the recipient's blood type to avoid adverse reactions during transfusions.

Donor Management: Maintain a database of registered donors, their contact details, and

blood type and encourage repeat donations.


9

Efficient Blood Inventory Management: The system keeps track of blood inventory

levels, including blood groups and quantities ensure an adequate supply of various blood

types.

Problem Statement

The classical method of registering and entering data stored on paper-based forms,

logbooks, and files. This method is time-consuming and prone to errors in data entry and

retrieval. Furthermore, traditional methods were slower and required significant human effort,

leading to delays in processing such as donor registration and distribution. The manual system

was vulnerable to data loss, damage, or unauthorized access, jeopardizing the confidentiality of

sensitive donor and patient information. Therefore there were many loopholes in the

management of blood in the traditional approach.

This management system clears all the anomalies mentioned by allowing users to create

accounts, search for blood, check the availability of blood, and update the donor’s and receiver’s

data effortlessly. In conclusion, using our System over manual processes has a number of

advantages procedures, including improved efficiency, accuracy, data security, and integration

abilities. It streamlines blood bank operations, lowering the possibility of mistakes and delays

while guaranteeing a consistent and secure supply of blood for patients in need.
10

Features

Availability: The system helps to ensure that blood groups are available to users as per

their needs.

User-friendly: The system must feature an easy-to-use user interface with

straightforward and understandable ways and controls that allow users to easily discover

blood groups.

Increase Efficiency: The system has the potential to improve customer service by

streamlining processes.

Reliability: The mechanism that makes sure resources are effectively handled and that

consumers may access those materials.

Cataloging: To facilitate searching and retrieval, the system should enable users to submit

bibliographic data consistently for all blood groups.


11

Management: Users should be able to search for and request resources and access

account information using the system which should also retain user accounts.

Figure 2: Features of Blood Bank Management System


12

Functional Requirement

“Any Requirement that Specifies What the system is supposed to do.”

A library management system is a piece of software that makes it possible to handle blood types,

donor and recipient information, and provide a common platform for donors and recipients

effectively.

The following features ought to be offered by the system:

❖ User Management: The system should permit the establishment and administration of

user accounts for donors, recipients, and patrons of blood banks.

❖ Cataloging: The system should be able to arrange, classify, and keep track of data on

blood types, donors, and recipients.

❖ Circulation: The system should include circulation capabilities that let the blood bank

control how blood units are moved across the blood bank facility.

❖ Reporting: The system ought to include reports on keeping track of and assessing various

elements of blood bank operations, donor activities, blood inventory, and transfusion

procedures.
13

❖ Security: The system should have security features that guarantee the confidentiality and

security of user data.

Non-Functional Requirement

“Any requirement that tells how the system is supposed to do.

❖ Reliability: The system must be extremely dependable, guaranteeing that all data is

accurately captured, securely kept, and accessible without loss or corruption. It should be

able to bounce back gracefully from errors and be resilient to failures.

❖ Security: The system must have strong security measures due to the sensitive nature of

blood bank data. Data encryption, access control, user authentication, and safeguards

against unauthorized access should all be included.

❖ Performance: The system needs to be able to efficiently manage a lot of data and

transactions. To guarantee efficient operations, response times for tasks like donor

registration, blood unit tracking, and transfusion requests should be quick.

❖ Scalability: The system should be able to scale up or out to meet the expanding demands

without noticeably degrading performance as the blood bank expands and manages

higher data and user loads.


14

❖ Availability: The system must have a high level of availability, ensuring that users can

use it whenever they need it and that maintenance and update downtime is kept to a

minimum.

Scope

A blood bank management system's scope includes all of the features, capabilities, and

goals that the system is designed to address. Depending on the particular needs and

demands of the organization utilizing it, the scope of a blood bank management system

can change. The following elements are commonly covered under the scope of a blood

bank management system:

❖ Donor Management: The system must keep a complete database of blood donors, with

details such as blood type, address, and deferral status.

❖ Security and access control: The system should have strong security measures in place to

secure sensitive data, limit access to authorized personnel, and prevent unauthorized

access.

❖ Reporting and Analytics: To manage blood bank performance, donor data, inventory

status, and transfusion activities, the system should have complete reporting and analytics

capabilities.

❖ User Roles and Permissions: To guarantee that different personnel have the proper access

levels, the system should establish a variety of user roles with distinct permissions.
15

❖ Donor Registration and Screening: To ensure the safety of donated blood, the system

should make it easier for new donors to register and carry out the appropriate screening

procedures.

❖ Transfusion Management: The system should handle requests for blood transfusions from

medical facilities, carry out cross-matching, and oversee the distribution of suitable blood

units.

Development Methodology

The development technique is an organized system for planning, designing,

building, and delivering software products or applications. It is also known as software

development methodology or simply development process. This program is created using

Agile, often known as the Iterative and Incremental Model.

Agile: A sprint is a timebox or limit of time in which all work should be accomplished in one to

four weeks and includes Planning, Execution, Review, and Retro. Planning begins with the

Product Owner building a backlog of prioritized features. The development team picks from the

most significant portion of the backlog, dubbed the "Sprint Backlog." The software development

team works every day, holding a daily scrum about the job and completing it in a prioritized

order. ScrumMaster watches and assists team members, as well as arranges special meetings.

When the execution phase is completed, the evaluation phase begins, and the customer or user is

demoted. When the team reflects, it is said to be retrospective.


16

User stories

Donate blood

As a user, I want to donate my blood so that any other person who needs that particular blood

group benefits from it.

Request blood

As a user, I want to get a blood group so that in case of an emergency I can obtain the blood type.

Update blood details

As a librarian, I want to be able to delete blood data from the blood bank so that

Users are not confused by inaccurate or outdated information.

Check blood availability

As an admin, I want to be able to change the availability status of a blood sample in the blood

bank. so that patrons can see whether blood is available or not. These features can now be

prioritized and added to the product backlog because they have been identified. The blood bank

management system can develop using this iterative methodology in response to user requests

and input.

The development team can ensure that the blood bank management system satisfies the

requirements of both donors and recipients by prioritizing this user story and working to deliver

it in an agile manner.
17

Figure 3: Agile methodology


18

Advantages of Agile methodology

1. Flexibility and Adaptability: Agile techniques, like Scrum or Kanban, are made to be

flexible and adaptable to shifting project requirements, market demands, and

organizational objectives. Teams can modify their work in response to criticism and fresh

information, enabling more responsive development.

2. Customer-Centric Approach: Agile strongly emphasizes involving clients and other

stakeholders at every stage of the development process. This makes sure that the finished

product closely matches the demands and expectations of the customer, increasing

customer satisfaction.

3. Collaboration and Transparency: Agile approaches encourage tight cooperation among

team members, stakeholders, and clients. Regular gatherings, including daily stand-ups

and sprint reviews, promote open communication and guarantee that everyone is on the

same page with the project's goals.

4. Continuous Improvement: During retrospectives, agile teams regularly evaluate their

operations and performance. As a result, teams are more likely to find bottlenecks,

inefficiencies, and opportunities for improvement.


19

Disadvantages of Agile methodology

1. Lack of Predictability: Because agile places a strong focus on adaptation, it can be

difficult to correctly forecast project timeframes and outcomes. This could be a concern

for businesses that have strict budgets and schedules.

2. Team inexperience: Agile approaches call for knowledgeable and skilled team members

who can act quickly and adapt to change. Agile practices may be difficult for novice

teams to apply successfully.

3. Limited Applicability: Agile may not be appropriate for projects with highly stable and

unambiguous needs, nor may it be appropriate for businesses that must strictly adhere to

regulatory or compliance standards, which often demand substantial upfront planning and

documentation.
20

e requests Diff Tools and Technologies

Figure 4 depicts the tools and technologies that were employed throughout the SDLC.

They are:

● Windows and Macintosh as a working platform

● MS Word and Powerpoint for ‘Feasibility Study’ and ‘Requirement Analysis’ and

Specification’ phase.

● Figma for the ‘Design’ phase.

● Python with Tkinter-Library and pycharm for coding in the ‘Development’ phase.

● Git and GitHub for version control

● Microsoft Teams and G-mail for feedback, discussion, and sharing of information.

● Google Search Engine, Youtube, and ChatGPT for research and development.
21

Figure4: Tools and technologies used in the project


22

Conceptual Diagram

An entity-relationship (ER) diagram graphically depicts the entities (things or concepts) of a

database and their relationships. It is an effective tool for visualizing the logical structure of the

database and its many parts. ER diagrams depict entities, characteristics, and relationships using

a variety of symbols and notations. The figure given below shows the ER diagram of a simple

Blood Bank Management System.

Figure: ER diagram of blood bank management system


23

System Architecture

The Blood Bank Management System (BBMS) is a system that users utilize to register for blood

donations and can request blood as per their requirements. This BBMS system architecture

contains elements like user interface: This is the system's entry point or front end, via which

users and hospitals can access the system.

This user interface(UI) has every input function needed to log into the system, after which the

user can access all BBMS functionalities. The database is the system’s back end and is where all

the user’s personal information, including name, address, phone number, blood type, and other

details are stored and can alter, update and even delete credentials if required.
24

Project Plan

A project chart, commonly referred to as a Gantt chart, is a chart that is an outline of the tasks

and timeframe for a project. To keep track of software effort, time, and progress, a graph like this

is essential. The presented figure's start and finish dates are given below.

Figure 5: Gantt chart for work progress


25

Prototype

A prototype is an early version or model of a product, system, or software that is built to test and

validate ideas, concepts, and functionalities prior to the final version's construction. Depending

on the nature of the project, prototypes can be physical or digital representations of the product.

Developers can save both resources and time by detecting and correcting flaws early in the

development process by producing a prototype. Designs are shown in the figures below.
26

Figure 6: low fidelity prototype of Sign up page


27

Figure 7: High-fidelity prototype for the sign-up page


28

Figure 8: Low fidelity for sign-in page


29

Figure 9: High fidelity for sign-in page


30

Figure 10:Low fidelity for dashboard


31

Figure 11: High fidelity for dashboard


32

Figure 12:Low fidelity for donate


33

Figure 13:High fidelity for donate


34

Figure 14:Low fidelity for request


35

Figure 15:High fidelity for request


36

Developed System

A developed system is a software program or platform that has been designed, built, and tested to

achieve one or more specific goals. In an orderly fashion, a framework was built utilizing the

Python library. The assignment was shared among all team members based on their areas of

interest. For simpler comprehension, the Software could be separated into the sections that

follow.

Registration UI

A registration UI is the graphical interface with which a user interfaces when registering an

account or creating a new user profile. To be registered in the database, the user must provide all

of the essential credentials. The primary purpose of this UI is to make signup simple and

straightforward for the user. If the user provides all of the required input, they will get a message

that says "Registered Successfully." If the required input is not provided correctly, they will see a

message which indicates "Invalid Credentials."


37

Figure 16:Sign up page


38

Figure 17:code for sign up page


39
40
41

Sign In UI

The process of accessing a BBMS with a valid username and password is referred to as login UI.

The user will be asked to enter their username and password in the correct places on the sign in

screen.The system will confirm the user's verification and allow access to Blood Bank

Management System features once the user submitted their login credentials.

Figure 18 : Sign-in page


42

Figure 19: Sign-in code


43
44

Dashboard UI

It is the CRUD page for the Dashboard UI. The user can "ADD," "UPDATE," and "DELETE"

the user interfaces on this page. All of the following fields are required: "NAME," "AGE,"

"ADDRESS," "CONTACT NUMBER," "BLOOD GROUP," and "STATUS OF THE BLOOD":

Available and Issued. Users can "DELETE BLOOD RECORDS," "DELETE FULL

INVENTORY," and "UPDATE BLOOD DETAILS," which reflect the GUI and code

respectively.

Figure 20: Dashboard UI


45

Figure 21: Dashboard code


46
47
48
49
50
51

System Testing

Black box testing is a software testing technique that evaluates the functionality of a software

system without understanding anything about its internal structure or code implementation. In

other words, the tester views the software as a "black box," and is solely concerned with the

system's inputs, outputs, and observable behavior.

Figure 22: Sign-up test

Figure 23: Sign-in test


52

Figure 24: Blood group test


53

Version Control

● Github:https:https://github.com/alvi-sh/BloodBank_ADP

● Youtube:https://youtu.be/coaJLyqnbls

Figure 25: Version control of the project


54

Conclusion

The team has finally constructed a functional software according to the requirements given in

the user manual by implementing all of the ideas studied in the classroom from the module such

as Mathematics, Programming and Algorithms, and Software Design.

This project addresses the issues of a library administration system, specifically registration,

login, and data storage to a database.SRS documents include both functional and non-functional

requirements that are fully satisfied. System testing yielded positive results. The team has taken

care of all bugs found during implementation. The GUI is accessible with the proper credentials,

and it is intriguing, straightforward, and user-friendly thanks to cooperation.

In designing a product for software, the team developed knowledge and expertise. We can

communicate with teammates and instructors by using collaboration, and we can share our

opinions and ideas. The team can improve its performance in the IT area by adopting an

open-source development and learning mentality and taking on new challenges in developing

software products based on customer requirements and according to IT ethics.


55

References

Nevon Projects. (2018, November 26). Online Blood Bank Project. Retrieved July 18, 2023,

from https://nevonprojects.com/online-blood-bank-project/

Atlassian. (n.d.). What is Agile? | Atlassian. Retrieved July 5, 2023, from

https://www.atlassian.com/agile#:~:text=The%20Agile%20methodology%20is%20a,RE

AD%20ON%20BELOW

Gurukul, P. (2021). Python Project – Blood Bank Management System. Project Gurukul.

https://projectgurukul.org/python-project-blood-bank-management-system/

GeeksforGeeks. (2023). Software Engineering Agile Software development. GeeksforGeeks.

https://www.geeksforgeeks.org/software-engineering-agile-software-development/

Blood Donation System [classic] | Creately. (n.d.). Retrieved July 10, 2023, from

https://creately.com/diagram/example/iamtz98g/blood-donation-system-classic

Advantage of Agile Methodology | Disadvantage of agile methodology - JavatPoint. (n.d.).

www.javatpoint.com. Retrieved July 10, 2023, from

https://www.javatpoint.com/advantage-and-disadvantage-of-agile-methodology

Python programming for blood bank management system. (2021, January 9). Retrieved July 5,

2023, from

https://www.pythonforengineers.in/2021/02/python-programming-for-blood-bank.html
56

You might also like