Blood Bank
Blood Bank
Blood Bank
1. INTRODUCTION
The number of persons who are in need of blood are increasing in large number day by day.
In order to help people who are in need of blood, my Online Blood Bank can be used effectively
for getting the details of blood donors having the same blood group and within the same city.
With the help of my Online Blood Bank people who are having the thought of donating blood
gets registered in my Online Blood Bank giving his total details.
Online Blood Bank site is available to everyone easily. A person who likes to donate blood
gives his entire details i.e., fill in the registration form and can create a username with a
password by which he can modify his details if at all there are any changes in his information
given before.
This site also helps people who are in need of blood by giving the details of the donors by
searching, if at all there are no donors having the same group and within their own city they will
be given the addresses with phone numbers of some contact persons in major cities who
represent a club or an organization with free of cost. If at all the people find any difficulty in
getting blood from the contact persons we will give them a Mobile Link i.e., India’s Largest
Paging Service number through which they can give the message on every ones pagers with the
blood group and city they are living in, such that the donors who view the messages in their
pagers having the same blood group and the in the same city, he contacts the person on phone
who are in need of a blood. Such that the person gets help from us which saves his life
Now-a-days, management and maintenance of Blood Donors and receivers information is hefty
task for any institution. The Blood Bank information consists of maintaining the reports of donors
and receivers information periodically which seems to be a huge workload on lecturers to handle
and update by the concerned. The traditional way is, recording manually in a log book and then
converting into desktop application. Such system can be tedious process and may often lead to
errors while generation reports. Apart from this, sometimes the sheets are lost, misplaced or
information wrongly entered due to various reasons. In order to reduce the manual work and to
achieve more efficiency in managing blood bank information, a “mobile responsive Blood Bank
Management System” can be applied to make this process more easy and beneficial in every way.
TKREC-CSE Dept 1
Blood Bank Management System for CUTM
1.1. Objective
In order to avoid above existing manual register problem, we are planning to design a
system for to automate this process, so that taking the records and report generation becomes more
interactive, automated and effective.
1.1System Development:
The process of building systems has always been complex with system becoming larger, the
costs and complexities get multiplied. So the need for better methods for developing systems is
widely recognized to be effective and the applied model should meet a few basic requirements.
The model should be structured and cover the entire system development process from
feasibility study to programming, testing and implementation.
TKREC-CSE Dept 2
Blood Bank Management System for CUTM
The model should utilize established methods and techniques like database designs,
normalizations and structured programming techniques.
The model should consist of building blocks, which define tasks, results and interfaces.
The model should separate the logical system from the physical system.
Documentation should be a direct result of the development work and should be concise,
precise and as non-redundant as possible.
Based on the above requirements of the system model, system study has been made.
Various methodologies have been applied for system study, evolving design documents, data
modeling, input screen design and report design.
1.2 Project:
The persons who like to donate blood registers in my site as well as he can modify the
details if necessary, giving the Login Id and Password. The persons in need of blood searches
for the persons having the same blood group and within the city.
If he found a donor in his city then he gets the total details of the donor, if he doesn’t
find any donor then he is given the contact numbers a
TKREC-CSE Dept 3
Blood Bank Management System for CUTM
2. LITERATURE SURVEY
2.1. PHP
PHP is a server-side scripting language designed primarily for web development but also
used as a general-purpose programming language. Originally created by Rasmus Lerdorf in 1994,
the PHP reference implementation is now produced by The PHP Development Team. PHP
originally stood for Personal Home Page, but it now stands for the recursive acronym PHP:
Hypertext Preprocessor.
PHP code may be embedded into HTML or HTML5 markup, or it can be used in
combination with various web template systems, web content management systems and web
frameworks. PHP code is usually processed by a PHP interpreter implemented as a module in the
web server or as a Common Gateway Interface (CGI) executable. The web server software
combines the results of the interpreted and executed PHP code, which may be any type of data,
including images, with the generated web page. PHP code may also be executed with a command-
line interface (CLI) and can be used to implement standalone graphical applications.
The standard PHP interpreter, powered by the Zend Engine, is free software released under
the PHP License. PHP has been widely ported and can be deployed on most web servers on almost
every operating system and platform, free of charge.
The PHP language evolved without a written formal specification or standard until 2014,
leaving the canonical PHP interpreter as a de facto standard. Since 2014 work has gone on to create
a formal PHP specification.
PHP stores integers in a platform-dependent range, either a 64-bit or 32-bit signed integer
equivalent to the C-language long type. Unsigned integers are converted to signed values in certain
situations; this behavior is different from that of other programming languages. Integer variables
can be assigned using decimal (positive and negative), octal, hexadecimal, and binary notations.
TKREC-CSE Dept 4
Blood Bank Management System for CUTM
Floating point numbers are also stored in a platform-specific range. They can be specified
using floating point notation, or two forms of scientific notation.[96] PHP has a native Boolean
type that is similar to the native Boolean types in Java and C++. Using the Boolean type conversion
rules, non-zero values are interpreted as true and zero as false, as in Perl and C++. The null data
type represents a variable that has no value; NULL is the only allowed value for this data type.
Variables of the "resource" type represent references to resources from external sources.
These are typically created by functions from a particular extension, and can only be processed by
functions from the same extension; examples include file, image, and database resources.
Arrays can contain elements of any type that PHP can handle, including resources, objects,
and other arrays. Order is preserved in lists of values and in hashes with both keys and values, and
the two can be intermingled. PHP also supports strings, which can be used with single quotes,
double quotes, nowdoc or heredoc syntax. The Standard PHP Library (SPL) attempts to solve
standard problems and implements efficient data access interfaces and classes.
PHP 5 introduced private and protected member variables and methods, along with abstract
classes, final classes, abstract methods, and final methods. It also introduced a standard way of
declaring constructors and destructors, similar to that of other object-oriented languages such as
C++, and a standard exception handling model. Furthermore, PHP 5 added interfaces and allowed
for multiple interfaces to be implemented. There are special interfaces that allow objects to interact
with the runtime system. Objects implementing ArrayAccess can be used with array syntax and
objects implementing Iterator or IteratorAggregate can be used with the foreach language
construct. There is no virtual table feature in the engine, so static variables are bound with a name
instead of a reference at compile time.
TKREC-CSE Dept 5
Blood Bank Management System for CUTM
If the developer creates a copy of an object using the reserved word clone, the Zend engine
will check whether a __clone() method has been defined. If not, it will call a default __clone()
which will copy the object's properties. If a __clone() method is defined, then it will be responsible
for setting the necessary properties in the created object. For convenience, the engine will supply
a function that imports the properties of the source object, so the programmer can start with a by-
value replica of the source object and only override properties that need to be changed.
2.2. Codeigniter
TKREC-CSE Dept 6
Blood Bank Management System for CUTM
(what the user sees in their browser) and the nuts and bolts that drive that application into three
interconnected tiers
i. The Model, which represents data structures. Classes contained within the Model tier will
contain methods that interact with a database.
ii. The View, which looks after presentation. A View will normally be a web page, but can
also be a page fragment like a header or footer.
iii. The Controller, which does most of the hard work, and is an intermediary between the
Model, the View, and any other resources needed to run your application.
Separating a project in this manner means each tier does its job extremely efficiently,
maintaining its relationship with other tiers yet operating within clearly defined boundaries. It also
means multiple Views and Controllers can interface with the same Model, and new or different
Views and Controllers can interface with a Model without forcing a change in the Model design.
2.3. Bootstrap
Features
TKREC-CSE Dept 7
Blood Bank Management System for CUTM
Bootstrap 3, framework consists of Mobile first styles throughout the entire library instead
them of in separate files.
With just the knowledge of HTML and CSS anyone can get started with Bootstrap. Also the
Bootstrap official site has a good documentation.
Bootstrap's responsive CSS adjusts to Desktops, Tablets and Mobiles. More about the
responsive design is in the chapter Bootstrap Responsive Design.
v. Provides a clean and uniform solution for building an interface for developers.
vi. It contains beautiful and functional built-in components which are easy to customize.
Bootstrap includes
i. Scaffolding
Bootstrap provides a basic structure with Grid System, link styles, and background. This is is
covered in detail in the section Bootstrap Basic Structure.
ii. CSS
Bootstrap comes with the feature of global CSS settings, fundamental HTML elements styled
and enhanced with extensible classes, and an advanced grid system. This is covered in detail in
the section Bootstrap with CSS.
TKREC-CSE Dept 8
Blood Bank Management System for CUTM
iii. Components
Bootstrap contains over a dozen custom jQuery plugins. You can easily include them all, or
one by one. This is covered in details in the section Bootstrap Plugins.
v. Customize
You can customize Bootstrap's components, LESS variables, and jQuery plugins to get your
very own version.
2.4. Javascript
The ECMA-262 Specification defined a standard version of the core JavaScript language.
TKREC-CSE Dept 9
Blood Bank Management System for CUTM
Client-side JavaScript
Client-side JavaScript is the most common form of the language. The script should be
included in or referenced by an HTML document for the code to be interpreted by the browser. It
means that a web page need not be a static HTML, but can include programs that interact with the
user, control the browser, and dynamically create HTML content.
The JavaScript client-side mechanism provides many advantages over traditional CGI
server-side scripts. For example, you might use JavaScript to check if the user has entered a valid
e-mail address in a form field.
The JavaScript code is executed when the user submits the form, and only if all the entries
are valid, they would be submitted to the Web Server. JavaScript can be used to trap user-initiated
events such as button clicks, link navigation, and other actions that the user initiates explicitly or
implicitly.
Advantages of JavaScript
i. Less server interaction
You can validate user input before sending the page off to the server. This saves server traffic,
which means less load on your server.
They don't have to wait for a page reload to see if they have forgotten to enter something.
You can create interfaces that react when the user hovers over them with a mouse or
activates them via the keyboard.
You can use JavaScript to include such items as drag-and-drop components and sliders to
give a Rich Interface to your site visitors.
TKREC-CSE Dept 10
Blood Bank Management System for CUTM
Limitations of JavaScript
i. Client-side JavaScript does not allow the reading or writing of files. This has been kept
for security reason.
ii. JavaScript cannot be used for networking applications because there is no such support
available.
Once again, JavaScript is a lightweight, interpreted programming language that allows you
to build interactivity into otherwise static HTML pages.
One of major strengths of JavaScript is that it does not require expensive development
tools. You can start with a simple text editor such as Notepad. Since it is an interpreted language
inside the context of a web browser, you don't even need to buy a compiler.
To make our life simpler, various vendors have come up with very nice JavaScript editing
tools. Some of them are listed here
Microsoft FrontPage
Microsoft has developed a popular HTML editor called FrontPage. FrontPage also provides
web developers with a number of JavaScript tools to assist in the creation of interactive websites.
i. Macromedia Dreamweaver MX
TKREC-CSE Dept 11
Blood Bank Management System for CUTM
HomeSite 5 is a well-liked HTML and JavaScript editor from Macromedia that can be used
to manage personal websites effectively.
The Apache HTTP Server, colloquially called Apache, is the world's most used web server
software. Originally based on the NCSA HTTPd server, development of Apache began in early
1995 after work on the NCSA code stalled. Apache played a key role in the initial growth of the
World Wide Web, quickly overtaking NCSA HTTPd as the dominant HTTP server, and has
remained most popular since April 1996. In 2009, it became the first web server software to serve
more than 100 million websites. Apache is developed and maintained by an open community of
developers under the auspices of the Apache Software Foundation. Most commonly used on a
Unix-like system (usually Linux), the software is available for a variety of operating systems
besides Unix, including Microsoft Windows. Version 2.0 improved support for non-Unix, e.g.
Windows and OS/2 (and eComStation). Old versions of Apache were ported to run on e.g.
OpenVMS, and NetWare. Released under the Apache License, Apache is free and open-source
software.
TKREC-CSE Dept 12
Blood Bank Management System for CUTM
HTTP. ModSecurity is an open source intrusion detection and prevention engine for Web
applications. Apache logs can be analyzed through a Web browser using free scripts, such as
AWStats/W3Perl or Visitors.
Virtual hosting allows one Apache installation to serve many different Web sites. For
example, one machine with one Apache installation could simultaneously serve
www.example.com, www.example.org, test47.test-server.example.edu, etc.
2.6. MySQL
A database is a separate application that stores a collection of data. Each database has one
or more distinct APIs for creating, accessing, managing, searching and replicating the data it holds.
Other kinds of data stores can be used, such as files on the file system or large hash tables in
memory but data fetching and writing would not be so fast and easy with those types of systems.
TKREC-CSE Dept 13
Blood Bank Management System for CUTM
RDBMS Terminology
i. Database
ii. Table
A table is a matrix with data. A table in a database looks like a simple spreadsheet.
iii. Column
One column (data element) contains data of one and the same kind, for example the column
postcode.
iv. Row
A row (= tuple, entry or record) is a group of related data, for example the data of one
subscription.
v. Redundancy
A primary key is unique. A key value can not occur twice in one table. With a key, you can
find at most one row.
TKREC-CSE Dept 14
Blood Bank Management System for CUTM
A compound key (composite key) is a key that consists of multiple columns, because one
column is not sufficiently unique.
ix. Index
MySQL Database
MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses.
MySQL is developed, marketed, and supported by MySQL AB, which is a Swedish company.
MySQL is becoming so popular because of many good reasons:
i. MySQL is released under an open-source license. So you have nothing to pay to use it.
ii. MySQL is a very powerful program in its own right. It handles a large subset of the
functionality of the most expensive and powerful database packages.
iii. MySQL uses a standard form of the well-known SQL data language.
iv. MySQL works on many operating systems and with many languages including PHP,
PERL, C, C++, JAVA, etc.
v. MySQL works very quickly and works well even with large data sets.
vi. MySQL is very friendly to PHP, the most appreciated language for web development.
vii. MySQL supports large databases, up to 50 million rows or more in a table. The default file
size limit for a table is 4GB, but you can increase this (if your operating system can handle it) to
a theoretical limit of 8 million terabytes (TB).
viii. MySQL is customizable. The open-source GPL license allows programmers to modify the
MySQL software to fit their own specific environments.
Ionic is front end HTML framework built on top of AngularJS and Cordova. As per
official document following is the definition of the Ionic Framework: Ionic is an HTML5 mobile
app development framework targeted at building hybrid mobile apps. Think of Ionic as the front-
end UI framework that handles all the look and feel and UI interactions your app needs in order
TKREC-CSE Dept 15
Blood Bank Management System for CUTM
to be compelling. Kind of like "Bootstrap for Native," but with support for a broad range of
common native mobile components, slick animations, and beautiful design.
i. AngularJS
Ionic is using AngularJS MVC architecture for building rich single page applications
optimized for mobile devices.
With native look and feel, these components offer almost all elements that mobile application
needs. Components default styling can be easily overridden to accommodate your own design.
These components are extending CSS components with JavaScript functionalities to cover
all mobile elements that can't be done only with HTML and CSS.
This is NodeJS utility powered with commands for starting, building, running and emulating
Ionic applications.
v. Ionic View
Very useful platform for uploading, sharing and testing your application on native devices.
vi. Licence
TKREC-CSE Dept 16
Blood Bank Management System for CUTM
ii. Starting your app is very easy since Ionic provides useful pre-generated app setup with
simple layouts.
iii. The apps are built in very clean and modular way, so it's very maintainable and easy to
update.
iv. Ionic developers team have very good relationship with google developers team and
they are working together to improve the framework. The updates are coming out
regularly and Ionic support group is always willing to help when needed.
TKREC-CSE Dept 17
Blood Bank Management System for CUTM
3. SYSTEM ANALYSIS
There are certain features limiting the process of the present system.
The drawbacks of the present system are listed below.
I. The increase in number of vehicles now a days.
II. The increase in number of accidents now a days.
III. The patients cannot get the information of donors easily.
In the present system all work is done on paper. The whole blood bank information is stored
in register and at the end of the session the reports are generated. We are not interested in
generating report in the middle of the session or as per the requirement because it takes more time
in calculation. At the end we are allowed to prepare the report on the record of blood bank donation
process.
The existing system is not user friendly because the retrieval of data is very slow and data
is not maintained efficiently.
We require more calculations to generate the report so it is generated at the end of the
session.
All calculations to generate report is done manually so there is greater chance of errors.
Existing system requires lot of paper work. Loss of even a single register/record led to
difficult situation because all the papers are needed to generate the reports.
v. Time Consuming
TKREC-CSE Dept 18
Blood Bank Management System for CUTM
Every work is done manually so we cannot generate report in the middle of the session or
as per the requirement because it is very time consuming.
I. The people in need of blood can search for the donors by giving their blood group
and city name.
II. It is very flexible and user friendly.
III. The person’s time and work is reduced very much which prevails in the present
system.
IV. Easy and Helpful.
V. The people are not limited to receive or provide services in working hours of the
branch only; he is serviced 24 hours a day, 7 days of week and 365 days of the year.
In order to overcome the above mentioned problem we introduce this system. There is an urgent
need for the solution to any or organization “Online Blood Bank Management System” comes in
handy. It has various dynamic features that are listed below as follows:
i. User Friendly
The proposed system is user friendly because the retrieval and storing of data is fast and data
is maintained efficiently. Moreover the graphical user interface is provided in the proposed system,
which provides user to deal with the system very easily.
TKREC-CSE Dept 19
Blood Bank Management System for CUTM
Reports can be easily generated in the proposed system so user can generate the report as per
the requirement (monthly) or in the middle of the session. User can give the notice to the enrolled
donors for updates of next blood donation camp.
The proposed system requires very less paper work. All the data is feted into the computer
immediately and reports can be generated through computers. Moreover work become very easy
because there is no need to keep data on papers.
Computer operator control will be there so no chance of errors. Moreover storing and
retrieving of information is easy. So work can be done speedily and in time.
3.2.2. Limitation:
In this project the searching can be done for donors for majority of cities but not for every
city.
In this project the contact person’s details are given for the limited cities only.
The feasibility of the project is analysed in this phase and business proposal is put forth with
a very general plan for the project and some cost estimates. During system analysis the feasibility
study of the proposed system is to be carried out. This is to ensure that the proposed system is not
a burden to the company. For feasibility analysis, some understanding of the major requirements
for the system is essential.
i. Economical Feasibility
TKREC-CSE Dept 20
Blood Bank Management System for CUTM
This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and development of
the system is limited. The expenditures must be justified. Thus the developed system as well within
the budget and this was achieved because most of the technologies used are freely available. Only
the customized products had to be purchased.
The proposed system is developed using Active Server Page, VB Script and HTML as front-end
tool and Oracle 8 as the back end. The proposed system needs a Personal Web Server to serve
the requests submitted by the users. The Web browser is used to view the web page that is
available within the Windows operating system itself. The proposed system will run under
Win9x, NT, and win2000 environment. As Windows is very user friendly and GUI OS it is very
easy to use. All the required hardware and software are readily available in the market. Hence the
system is technically feasible.
This study is carried out to check the technical feasibility, that is, the technical requirements of the
system. Any system developed must not have a high demand on the available technical resources.
This will lead to high demands on the available technical resources. This will lead to high demands
being placed on the client. The developed system must have a modest requirement, as only minimal
or null changes are required for implementing this system.
The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity. The level of acceptance by the users
solely depends on the methods that are employed to educate the user about the system and to make
him familiar with it. His level of confidence must be raised so that he is also able to make some
constructive criticism, which is welcomed, as he is the final user of the system.
TKREC-CSE Dept 21
Blood Bank Management System for CUTM
3.4.1.1. Feedback
Now-a-days taking feedback became a big task and generating aggregate from that has
been a challenging task for both the faculty and also for the administration. So, in this Web
Application students can simply give the feedback which will be stored in the database. This
feedback report can be viewed by the faculty and by the admin.
3.4.1.2. Notifications
Admin can place notifications in this Web Application in order to inform the faculty and
even students about the organization functionalities. These notifications can be seen by the faculty
and the students as soon as when they login to their accounts.
They specify criteria that judge the operation of a system, rather than specific behaviours.
The non - functional requirements provide specific measurements that the software must meet.
The maximum number of seconds it must take to perform a task, the maximum size of a database
on disk, the number of hours per day a system must be available, and the number of concurrent
users supported are examples of requirements that the software must implement but do not change
its behaviour.
3.4.2.1. Availability
TKREC-CSE Dept 22
Blood Bank Management System for CUTM
Our project achieves availability as the amount of time the system is operational and
available for use depends on the availability of network. The speed of the network plays a key role
in the availability of the system. This is specified because some systems are designed with expected
down - time for activities like database upgrades and backups.
3.4.2.2. Usability
We should get response within seconds. The application must have a simple, user-friendly
interface to save time and confusion.
3.4.2.3. Reliability
The system will be reliable because of the qualities that are inherited by the MVC
Architecture. The PHP code built using MVC is more reliable.
3.4.2.4. Supportability
The system should be designed to be cross platform supportable. The system is supported
by a wide range of hardware and software platform. The system should be Mobile Optimised.
3.4.2.5. Implementation
Our system will be developed in PHP scripting language so it has few dependencies like
Web Environment and Database. Apache HTTP Server is used as the web server environment and
MySQL is used for database.
3.4.2.6. Interface
The user interface is based on web browser. The Frontend interface of application is
developed using HTML, JavaScript, CSS and Bootstrap Framework. The interface design is aimed
at flexible front-end communication to provide the user with clear information in navigating a
user-friendly interface.
TKREC-CSE Dept 23
Blood Bank Management System for CUTM
Database : MySQL
Backend : Oracle 8
RAM : 2 GB
Hard Disk : 80 GB
TKREC-CSE Dept 24
Blood Bank Management System for CUTM
4. SYSTEM DESIGN
System design is the process of planning a new system or to replace the existing system. Simply,
system design is like the blueprint for building, it specifies all the features that are to be in the
finished product.
System design phase follows system analysis phase. Design is concerned with identifying
functions, data streams among those functions, maintaining a record of the design decisions and
providing a blueprint the implementation phase.
The development of the proposed model is not only depending on how the system works. It also
depends on the working flow process that being identified and need to be implemented and
followed. The proposed “Online Blood Bank Management System” is a web-application which
is intended to produce an automated solution for Blood Bank Management”
Design is the bridge between system analysis and system implementation. Some of the essential
fundamental concepts involved in the design of application software are:
Abstraction
Modularity
Verification
Abstraction is used to construct solutions to problem without having to take account of the
intricate details of the various component sub problems. Abstraction allows system designer to
make step-wise refinement, which at each stage of the design may hide, unnecessary details
associated with representation or implementation from the surrounding environment.
Modularity is concerned with decomposing of main module into well-defined manageable units
with well-defined interfaces among the units. This enhances design clarity, which in turn eases
implementation, Debugging, Testing, Documenting and Maintenance of the software product.
Modularity viewed in this sense is a vital tool in the construction of large software projects.
TKREC-CSE Dept 25
Blood Bank Management System for CUTM
Verification that the software requirements analysis satisfies the customer’s needs.
Verification that the design satisfies the requirement analysis.
Some of the important factors of quality that are to be considered in the design of application
software are:
Reliability:
The software should behave strictly according to the original specification and should function
smoothly under normal conditions.
Extensibility:
Reusability:
The software should be developed using a modular approach, which permits modules to be
reused by other application, if possible.
The System Design briefly describes the concept of system design and it contains four sections.
The first section briefly describes the features that the system is going to provide to the user and
the outputs that the proposed system is going to offer.
The second section namely Logical Design describes the Data Flow Diagrams, which show
clearly the data movements, the processes and the data sources, and sinks, E-R diagrams which
represent the overall logical design of the database, and high-level process structure of the
system.
The process of design involves “conceiving and planning out in the mind” and making a drawing
pattern, or sketch of the system. In software design there are two types of major activities,
Conceptual Design and Detailed Design.
TKREC-CSE Dept 26
Blood Bank Management System for CUTM
Conceptual or logical or external design of software involves conceiving, planning out, and
specifying the externally observable characteristics of a software product. These characteristics
include user displays, external data sources, functional characteristics and high-level process
structure for the product.
Details or internal design involves conceiving, planning out, and specifying the internal structure
and processing details of the software product. The goal of internal design is to specify internal
structure, processing details, blueprint of implementation, testing, and maintenance activities.
The other fundamental concepts of software design include abstraction, structure, information
hiding, concurrency and verification. The use of structuring permits decomposition of a large
system into smaller, more manageable units with well-defined relationships to the other units.
The system design is verifiable if it can be demonstrated that the design will result in an
implementation that satisfies the customer’s requirements.
Preliminary Design:
Preliminary design is basically concerned with deriving an overall picture of the system.
Deriving entire system into modules and sub-modules while keeping Cohesion and Coupling
factors in mind. Tools, which assist in preliminary design process, are Data Flow Diagrams.
Code design:
The purpose of code is to facilitate the identification and retrieval for items of information. A
code is an ordered collection of symbols designed to provide unique identification of an entity or
attribute. To achieve unique identification there must be only one place where the identified
entity or the attribute can be entered in the code; conversely there must be a place in the code for
everything that is to be identified. This mutually exclusive feature must be built into any coding
system.
TKREC-CSE Dept 27
Blood Bank Management System for CUTM
The codes for this system are designed with two features in mind. Optimum human oriented use
and machine efficiency. Length of the code range from length of one to length of five
characteristics:
The code structure is unique; ensuring that only one value of the code with a single
meaning may be correctly applied to a given entity or attributes.
The code structure is expansible allowing for growth of its set of entities and attributes.
The code is concise and brief for recording, communication, transmission and storage
efficiencies.
They have a uniform size and format.
The codes are simple so that the user can easily understand it.
The codes are also versatile i.e., it is easy to modify to reflect necessary changes in
condition, chart eristic and relationships of the encode entities.
The codes are also easily storable for producing reports in a predetermined order of
format.
The codes are also stable and do not require being frequently updated thereby promoting
user efficiency.
The codes are also meaningful.
They are also operable i.e., they are adequate for present and anticipate data processing
both for machine and human use.
Input Design:
Input design is a part of overall system design, which requires very careful attention. The main
objectives of input design are:
TKREC-CSE Dept 28
Blood Bank Management System for CUTM
In this system input screens are designed very carefully so that no inaccurate data will enter the
database. The data is made as easy as possible. For simplifying the data entry many facilities are
given.
Each and every screen in this system is facilitated by many pushbuttons so that the user can
easily work with this system.
Output Design:
Outputs from computer systems are required primarily to communicate the results of processing
to users. They are also to provide a permanent hard copy of these results for later consultation.
The various types of outputs are required by this system are given below:
External outputs, whose destination is outside the concern and which require special attention
because they, project the image of the concern.
Internal outputs, whose destination is within the concern and which require careful design
because they are the user’s main interface within the computer.
Operation outputs, whose use is purely within the computer department, example: program
listings, usage statistics etc.,
Interactive outputs, which involves the user in communicating directly with the computers.
TKREC-CSE Dept 29
Blood Bank Management System for CUTM
5. IMPLEMENTATION
5.1. MODULES
My project Online Blood Bank 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 for the people. This project
mainly elucidates the modules such as:
Donor Registration
Modifying Donor Information
Donor Search
Life Saving Contacts (in major cities)
Mobile SMS
Donor Registration:
In this module, people who are interested in donating blood get registered in my site and give his
overall details related to him, i.e. he fills in a registration form by giving the total details such as
name, address, city, sex, wt, dob, blood group, telephone numbers, e-mail address, etc. He was
also given two fields’ username and password to fill such that he was a registered donor and he
can enter the login form with his username and password and can modify his details if needed.
The registered donor only is able to modify his details; no other person can modify his details as
there was a login form which restricts others from entering the username and password providing
high security for the details given by the donor. If at all the donor wants to modify his details, he
was forced to give his username and password to enter in. After giving the username and
password it checks for the donor whether he is an existing donor or not and if the username and
password matches, he can then able to modify his total details. If the username and password do
not exist then he gets a message as ‘Wrong ID and Password Entered, Try Again’.
Donor Search:
TKREC-CSE Dept 30
Blood Bank Management System for CUTM
The people who are in need of blood can search in our site for getting the details of donors
having the same blood group and within the same city. They can directly click on the link search
a donor and can select a city name as well as the blood group which he needs. He then gets the
details of the donors who exist within the city and the same blood group that he has selected. If
no match was are found for the city and group selected by him he gets a message ‘SORRY
DONORS ARE NOT AVAILABE WITH THE FOLLOWING BLOOD GROUP AND AREA’.
If at all the people in search of a donor doesn’t get any match for their area and group then they
will be provided a service i.e. he will be given a Contact Person details for their nearby cities
who have the details of many other donors with him. The people in search can call him and can
get the details of the donors and can be provided services in this manner. But this life saving
contact persons can be available only for a limited number of cities but not for all. These contact
persons are the authorized persons of my blood bank.
Feedback
Now-a-days taking feedback became a big task and generating aggregate from that has been a
challenging task for both the faculty and also for the administration. So, in this Web Application
students can simply give the feedback which will be stored in the database. This feedback report
can be viewed by the faculty and by the admin.
Notifications
Admin can place notifications in this Web Application in order to inform the faculty and even
students about the organization functionalities. These notifications can be seen by the faculty and
the students as soon as when they login to their accounts.
TKREC-CSE Dept 31
Blood Bank Management System for CUTM
Step 1 Start
Step 2 Create variables to receive the post data from user submission.
Step 4 Check the number of rows in Users table with the received Email and Password in the
database.
Step 8 End
As our application is developed in MVC Framework the frontend code is present in the view.
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo htmlentities($error);
?> </div><?php }
<div class="row">
TKREC-CSE Dept 32
Blood Bank Management System for CUTM
</div>
</div>
</div>
</div>
<div class="row">
</span></div>
</div>
TKREC-CSE Dept 33
Blood Bank Management System for CUTM
<option value="">Select</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</span></div>
<div></div>
</div>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
TKREC-CSE Dept 34
Blood Bank Management System for CUTM
{ ?>
<?php }} ?>
</select>
</div>
</div>
</div>
<div class="row">
<div class="font-italic">Address</div>
</div>
</div>
</div>
TKREC-CSE Dept 35
Blood Bank Management System for CUTM
<div class="row">
</div>
</div>
</form>
</div>
<?php include('includes/footer.php');?>
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/tether/tether.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
TKREC-CSE Dept 36
Blood Bank Management System for CUTM
</body>
</html>
As our application is developed in MVC Framework the backend code is present in Controller and
Model.
Controller
<?php
error_reporting(0);
include('includes/config.php');
if(isset($_POST['submit']))
$fullname=$_POST['fullname'];
$mobile=$_POST['mobileno'];
$email=$_POST['emailid'];
$age=$_POST['age'];
$gender=$_POST['gender'];
$blodgroup=$_POST['bloodgroup'];
$address=$_POST['address'];
$message=$_POST['message'];
TKREC-CSE Dept 37
Blood Bank Management System for CUTM
$status=1;
$sql="INSERT INTO
tblblooddonars(FullName,MobileNumber,EmailId,Age,Gender,BloodGroup,Address,Message,st
atus) VALUES(:fullname,:mobile,:email,:age,:gender,:blodgroup,:address,:message,:status)";
$query = $dbh->prepare($sql);
$query->bindParam(':fullname',$fullname,PDO::PARAM_STR);
$query->bindParam(':mobile',$mobile,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':age',$age,PDO::PARAM_STR);
$query->bindParam(':gender',$gender,PDO::PARAM_STR);
$query->bindParam(':blodgroup',$blodgroup,PDO::PARAM_STR);
$query->bindParam(':address',$address,PDO::PARAM_STR);
$query->bindParam(':message',$message,PDO::PARAM_STR);
$query->bindParam(':status',$status,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
else
TKREC-CSE Dept 38
Blood Bank Management System for CUTM
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
.navbar-toggler {
z-index: 1;
TKREC-CSE Dept 39
Blood Bank Management System for CUTM
width: 100%;
</style>
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
TKREC-CSE Dept 40
Blood Bank Management System for CUTM
</style>
</head>
<body>
<?php include('includes/header.php');?>
<div class="container">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="index.php">Home</a>
</li>
</ol>
TKREC-CSE Dept 41
Blood Bank Management System for CUTM
Blood Bank
Donors
Donor
Registration
Search
Login Check
Life Mobile SMS
Services
Saving
Details
Modification
Information Service
TKREC-CSE Dept 42
Blood Bank Management System for CUTM
Blood
Blood Blood
Donors Bank Seekers
I Level – DFD:
Registration
Blood
Donors
Life Saving
Contacts
Blood
Mobile SMS
Blood Services
Seekers
Search
TKREC-CSE Dept 43
Blood Bank Management System for CUTM
II Level – DFD:
Registration
Blood
Donors
Life Saving
Contacts
Blood
Bank
Mobile SMS
Blood
Services
Seekers
Search
Receive
Donor
Details
TKREC-CSE Dept 44
Blood Bank Management System for CUTM
6. SYSTEM TESTING
6.1. Testing
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It is the process of exercising software
with the intent of ensuring that the Software system meets its requirements and user expectations
and does not fail in an unacceptable manner. There are various types of test. Each test type
addresses a specific testing requirement.
In this system black box testing is performed by giving random inputs to the functionalities
and verified whether expected results are obtained. For example random inputs are given to a
login page and verified whether it’s accepting even the wrong credentials. When these kinds of
bugs are detected then these are fortified. In this testing we verified whether our application is
according to the requirement specification. Any missing functionalities can be detected in this
phase.
White box testing is performed by verifying the internal code of the application. Syntactic
errors, Decisions, Control Flow and statements of the code are verified line by line for all the
modules involved in our system such as Admin, Faculty and Students. We could detect control
flow errors such as wrong redirection using white box testing.
This system has 3 Modules i.e. Student Module, Faculty Module and Admin Module. All
the modules are independently tested by isolating other modules. Each functionality of the
Modules is verified. All the individual pages like Update Profile, Feedback, Messages etc. are
verified whether the input data is forwarded to action page.
TKREC-CSE Dept 45
Blood Bank Management System for CUTM
Our system has different modules involved i.e. Admin, Student and Faculty. Though
component testing is performed on each module sometimes error generate due to incompatibility
between the interfaces. This kind of errors can be detected in Integration Testing and resolved.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
In general a test case is a set of test data and test programs and their expected results. A
test case in software engineering normally consists of a unique identifier, requirement references
from a design specification, preconditions, events, a series of steps (also known as actions) to
follow, input, output and it validates one or more system requirements and generates a pass or fail.
The mechanism for determining whether a software program or system has passed or failed
such a test is known as a test oracle. In some settings, an oracle could be a requirement or use case,
while in others it could be a heuristic. It may take many test cases to determine that a software
program or system is considered sufficiently scrutinized to be released. Test cases are often
referred to as test scripts, particularly when written. Written test cases are usually collected into
test suites. If a requirement has subrequirements, each sub-requirement must have at least two test
cases. Written test cases should include a description of the functionality to be tested, and the
preparation required to ensure that the test can be conducted
TKREC-CSE Dept 46
Blood Bank Management System for CUTM
Steps to run Fill the login details in the page and click SUBMIT button
TKREC-CSE Dept 47
Blood Bank Management System for CUTM
TKREC-CSE Dept 48
Blood Bank Management System for CUTM
TKREC-CSE Dept 49
Blood Bank Management System for CUTM
TKREC-CSE Dept 50
Blood Bank Management System for CUTM
Actual Output It displays a message showing “please enter any of these details”
TKREC-CSE Dept 51
Blood Bank Management System for CUTM
Test Aspect Receiver enters required blood type or location where they need the blood.
Actual Output If donor is not available then it should show “Donor not available”
TKREC-CSE Dept 52
Blood Bank Management System for CUTM
TKREC-CSE Dept 53
Blood Bank Management System for CUTM
TKREC-CSE Dept 54
Blood Bank Management System for CUTM
TKREC-CSE Dept 55
Blood Bank Management System for CUTM
Fig 7.4. Some of the donors details in scrolling manner in home page.
TKREC-CSE Dept 56
Blood Bank Management System for CUTM
The feedback given by all will be successfully stored in the database. The average feedback
rating can be visible to both faculty and the admin.
Here anyone can send their queries or feedback regarding the page or blood issues.
TKREC-CSE Dept 57
Blood Bank Management System for CUTM
This shows the feedback is given successfully and we get a message as successful.
TKREC-CSE Dept 58
Blood Bank Management System for CUTM
TKREC-CSE Dept 59
Blood Bank Management System for CUTM
9. CONCLUSION
This system is aimed at providing a cheaper and secured way of maintain the blood bank
details.The details can't be mis-conducted or mis-interpreted. The designed system fulfills all the
necessary requirements of the blood bank in maintaining records
BBMS is a management system that is developed to manage blood bank. The BBMS had been
developed in accordance to user requirement. This is to make sure that the management of the
blood stock became effective, systematic and meeting user requirements.
The functional services provided in the current version are profile management, blood stock
management, and blood analysis management.
TKREC-CSE Dept 60
Blood Bank Management System for CUTM
TKREC-CSE Dept 61
Blood Bank Management System for CUTM
11. REFERENCES
[1]http://www.w3schools.com/sql/
[2]http://www.w3schools.com/php/
[3]https://en.wikipedia.org/wiki/Bloood_Bank_Management_system
[4]https://en.wikipedia.org/wiki/Feedback
[5]https://en.wikipedia.org/wiki/Cloud_computing
[6]https://en.wikipedia.org/wiki/Cloud_storage
[7]https://support.rackspace.com/white-paper/understanding-the-cloud-computing-stack-saas-
paas-iaas/
[8]http://www.iisjaipur.org/iiim-current-
08/mca_iv_sem_pro_eva/15.project%20attendence%20managemnt%20system.pdf
[9]http://en.wikipedia.org/wiki/Symbian
[10] Symbian Developer Community wiki
[11]http://christoph33r.com/groupproject/techni cal.html
[12] http://www.iisjaipur.org/iiim-current-08/MCA_IV_Sem_Pro_Eva/15.Project%20
Attendence%20managemnt%20system.pdf
[13] https://edupediapublications.org/journals/index.php/IJR/article/view/7357/7137
TKREC-CSE Dept 62