You are on page 1of 57

1.

INTRODUCTION

The population of the world is multiplying with each coming year and so are the diseases and
health issues. With an increase in the population there is an increase in the need of blood. The
growing population of the world results in a lot of potential blood donors. But in spite of this not
more than 10% of the total world population participates in blood donation. With the growing
population and the advancement in medical science the demand for blood has also increased.
Due to the lack of communication between the blood donors and the blood recipients, most of
the patients in need of blood do not get blood on time and hence lose their lives. There is a dire
need of synchronization between the blood donors and hospitals and the blood banks. This
improper management of blood leads to wastage of the available blood inventory. Improper
communication and synchronization between the blood banks and hospitals leads to wastage of
the blood available. These problems can be dealt with by automating the existing manual blood
bank management system. A high-end, efficient, highly available and scalable system has to be
developed to bridge the gap between the donors and the recipients and to reduce the efforts
required to search for blood donors.

The inspiration of this project is to improve blood banks in Thailand and to develop a blood
bank information system which focuses on making an online system that is accessible for both
donors and administrators. Donors can directly receive information regarding their previous
blood donations, including their blood results and donation history, in order to easily schedule
their next donations. They can also update the personal information through the system, without
having to contact the blood bank registry
2. SYSTEM STUDY

A detailed study to determine whether, to what extent, and how automatic data-processing
equipment should be used; it usually includes an analysis of the existing system and the design of
the new system, including the development of system specifications which provide a basis for
the selection of equipment.

2.1 PROJECT DESCRIPTION

The purpose of the blood bank management system is to simplify and automate the
process of searching for blood in case of emergency and maintain the records of blood donors,
recipients, blood donation programs and blood stocks in the bank.

The system that is going to be developed is Blood Bank Management System (BBMS).
This is a web-based database application system that is to be used by the blood banks or blood
centers as a means to advertise the nationwide blood donation events to the public and at the
same time allow the public to make online reservation and request for the blood. The system
keeps the record of all the donors, recipients, blood donation programs, rejected bloods. For
internal works and activities intranet is used and for interaction with public internet is used. This
system also has the ability to keep track of the donor's donation records and the blood stock in
the blood bank. This project intends to computerize the blood and donor management system in a
blood bank in order to improve the record management efficiency due to the grown size of
records of data.

2.1.1 Existing System

At present, the public can only know about the blood donation events through
conventional media means such as radio, news paper or television advertisements. There is no
information regarding the blood donation programs available on any of the portal. The current
system that is using by the blood bank is manual system. With the manual system, there are
problems in managing the donors' records. The records of the donor might not be kept safely and
there might be missing of donor's records due to human error or disasters. Besides that, errors
might occur when the staff keeps more than one record for the same donor. There is no
centralized database of volunteer donors.

So, it becomes really tedious for a person to search blood in case of emergency. The only
option is to manually search and match donors and then make phone calls to every donor. There
is also no centralized database used to keep the donors' records. Each bank is having their own
records of donors. If a donor makes donation in different hospital, no previous records can be
traced except if the donor brings along the donation certificate. Hence, the donor is considered to
be a first-timer if they make blood donation in a new place.

2.1.2 Proposed System

The proposed system (Blood Bank Management System) is designed to help the Blood Bank
administrator to meet the demand of Blood by sending and/or serving the request for Blood as
and when required.The proposed system gives the procedural approach of how to bridge the gap
between Recipient, Donor, and Blood Banks. This Application will provide a common ground
for all the three parties (i.e. Recipient, Donor, and Blood Banks) and will ensure the fulfillment
of demand for Blood requested by Recipient and/or Blood Bank. The proposed system consists
of the following goals and has the scope as follows:

a) Goals:

 To ease the process of blood donation and reception.


 To improve the existing system.
 To develop a scalable system.
 To be highly available

b) Scope:

 Ensure that all the functionalities of a manual blood bank are covered
 To include all the blood banks at least within a city.
 Make sure the program is simple and easy to use.
3. REQUIREMENT ANALYSIS

Requirements Analysis is the process of defining the expectations of the users for an
application that is to be built or modified. Requirements analysis involves all the tasks that are
conducted to identify the needs of different stakeholders. Therefore requirements analysis means
to analyze, document, validate and manage software or system requirements. High-quality
requirements are documented, actionable, measurable, testable, traceable, helps to identify
business opportunities, and are defined to a facilitate system design.

3.1 Hardware Requirements


 Processor : Dual core processor 2.6.0 GHz
 RAM : 1GB
 Hard disk : 160 GB
 Compact Disk : 650 MB
 Keyboard : Standard keyboard
 Monitor : 15 inch color monitor

3.2 Software Requirement

Software requirements are a field within software engineering that deals with establishing
the needs of stakeholders that are to be solved by software. Elicitation is the gathering and
discovery of requirements from stakeholders and other sources. A variety of techniques can be
used such as joint application design (JAD) sessions, interviews, document analysis, focus
groups, etc. Elicitation is the first step of requirements development.

 Front End : JAVA


 IDE : Net Beans
 Back End : My SQL
JAVA

Java is an object oriented programming language. Java is a small, simple, safe, object
oriented, interpreted or dynamically optimized, byte coded, architectural, garbage collected,
multithreaded programming language with a strongly typed exception-handling for writing
distributed and dynamically extensible programs.

Java provides applets, the special programs that can be downloaded from the internet and
can be executed within a web browser. The following features provided by java make it one of
the best programming languages.

 It is simple and object oriented.


 It allows the programmers to create user friendly interfaces.
 It is very dynamic.
 Multithreading.
 Platform independent language.
 Provides security and robustness.
 Provides support for internet programming
Primary Goals

The five primary goals of the creation of the Java language are:

 The object-oriented programming methodology should be used.


 The same program should be allowed to execute on multiple operating systems.
 The built-in support should be provided for using computer networks.
 The code from remote sources should be executed securely.
 It should be easy to use by combining the good parts of other object-oriented
languages.

Different "Editions" Of The Platform

 Java ME (Micro Edition): Defines different sets of libraries (known as profiles) for
devices which are sufficiently limited that supplying the full set of Java libraries would take up
unacceptably large amounts of storage.
 Java SE (Standard Edition): to offer general purpose use on desktop PCs, servers and
other similar devices.
 Java EE (Enterprise Edition): Java SE and various APIs are useful for multi-tier client-
server enterprise applications.

The important components in the platform are the libraries, the Java compiler, and the
runtime environment where Java intermediate byte code is executed.

Java Virtual Machine

The virtual machine concept that executes Java byte code programs is the important part
of Java platform. The byte code generated by the compiler is the same for every system
regardless of the operating system or hardware in the system that executes the program. The JIT
compiler is in the Java Virtual Machine (JVM). At run-time the Java byte code is translated into
native processor instructions. The translation is done by JIT compiler. It caches the native code
in memory during execution.

JVM Linker

 The JVM linker is used to add the compiled class or interface to the runtime system.
 It creates static fields and initializes them.
 And it resolves names. That is it checks the symbolic names and replaces it with the
direct references.

JVM Verifier

 The JVM verifier checks the byte code of the class or interface before it is loaded.
 If any error occurs then it throws Verify Error exception.
Class loader subsystem
Class files

Runtime data areas


Method Heap Java Pre- Native
area stacks register method
stacks

Native method Native


Execution engine method
interface
libraries

Fig 1: JVM Architecture

Class Libraries

Most of the modern operating systems provide a large set of reusable code to simplify
the job of the programmer. This code is actually provided as a set of dynamically loadable
libraries that can be called at runtime by the applications. Java Platform is not dependent on any
specific operating system so the applications are not rely on any of the existing libraries. The
Java Platform provides a set of standard class libraries which contains most of the same reusable
functions commonly found in modern operating systems.

The Java class libraries provide three purposes within the Java Platform. They provide
the programmer a well-known set of functions to perform common tasks like other standard code
libraries. The class libraries provide an abstract interface to tasks that would normally depend
heavily on the hardware and operating system. Tasks such as file access and network access are
heavily dependent on the native capabilities of the platform. The required native code is
implemented internally by the Java java.io and java.net libraries, and then it provides a standard
interface for the Java applications to perform the file access and network access. If the
underlying platform does not support all of the features a Java application expects, then the class
libraries can either emulate those features or at least provide a consistent way to check for the
presence of a specific feature.

MY SQL

MySQL is the world's most used open source relational database management system (RDBMS)
as of 2008 that run as a server providing multi-user access to a number of databases.

The MySQL development project has made its source code available under the terms of the
GNU General Public License, as well as under a variety of proprietary agreements. MySQL was
owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned
by Oracle Corporation.

MySQL is a popular choice of database for use in web applications, and is a central component
of the widely used LAMP open source web application software stack—LAMP is an acronym
for "Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source projects that require
a full-featured database management system often use MySQL.

For commercial use, several paid editions are available, and offer additional functionality.
Applications which use MySQL databases include: TYPO3, Joomla, Word Press, phpBB,
MyBB, Drupal and other software built on the LAMP software stack. MySQL is also used in
many high-profile, large-scale World Wide Web products, including Wikipedia, Google(though
not for searches), ImagebookTwitter, Flickr, Nokia.com, and YouTube.

Interimages

MySQL is primarily an RDBMS and ships with no GUI tools to administer MySQL databases or
manage data contained within the databases. Users may use the included command line tools, or
use MySQL "front-ends", desktop software and web applications that create and manage
MySQL databases, build database structures, back up data, inspect status, and work with data
records. The official set of MySQL front-end tools, MySQL Workbench is actively developed by
Oracle, and is freely available for use.
4. SYSTEM DESIGN

System design is the process of designing the elements of a system such as the architecture,
modules and components, the different interfaces of those components and the data that goes
through that system

4.1 Logical Design

A logical design is a conceptual, abstract design. You do not deal with the physical
implementation details yet; you deal only with defining the types of information that you need.
The process of logical design involves arranging data into a series of logical relationships called
entities and attributes.

Blood bank management system

Blood bank User Donor

Login Register Register

User view Login Login

Donor view Search Add details

Blood details View

Fig 4.1 Logical design of the blood bank system

The system contains the architectural design where the entire blood bank system is added here.
4.2 Database Design

Database design is the organization of data according to a database model.


The designer determines what data must be stored and how the data elements interrelate. With
this information, they can begin to fit the data to the database model. Database design involves
classifying data and identifying interrelationships.

Donor details:

Field Type Null Default

id int(100) Yes NULL

uname varchar(100) Yes NULL

age varchar(100) Yes NULL

blood varchar(100) Yes NULL

status varchar(100) Yes NULL

Donor register:

Field Type Null Default

id int(100) Yes NULL

name varchar(100) Yes NULL

contact varchar(100) Yes NULL

email varchar(100) Yes NULL

address varchar(100) Yes NULL

username varchar(100) Yes NULL

password varchar(100) Yes NULL


cdate varchar(100) Yes NULL

status varchar(100) Yes NULL

User register table:

Field Type Null Default

id int(100) Yes NULL

name varchar(100) Yes NULL

contact varchar(100) Yes NULL

email varchar(100) Yes NULL

address varchar(100) Yes NULL

username varchar(100) Yes NULL

password varchar(100) Yes NULL

cdate varchar(100) Yes NULL

status varchar(100) Yes NULL

4.3 Program Design

Program design is both a verb and a noun. It is the process that organizations use to develop
a program. Ideally, the process is collaborative, iterative, and tentative stakeholders work
together to repeat, review, and refine a program until they believe it will consistently achieve its
purpose.

4.3.1 Module Description


A module is a software component or part of a program that contains one or more routines. One
or more independently developed modules make up a program. An enterprise-level software
application may contain several different modules, and each module serves unique and separate
business operations.

 Blood bank
 User
 Donor

Blood Bank:

(i) Login:
Blood bank head will have a login session where they can login into their
authenticated account and do the process
(ii) View details:
The blood bank user will view the details such that the users who are all registered in
the system, the donor who is all willing to give blood and the blood details.

User:

(i) Register and Login:


The user who needs blood will get the application and place a registration by entering
the name, email, address and so on. After they registered they will be provided with a
login session where the user can get blood
(ii) Search:
The user can search for blood what they need. If the user needs AB- ve blood then he/
she can search where they can get the blood if they are in the blood bank. If needed
they can also view they entire blood vessels available in the blood bank

Donor:

(i) Register and Login:


The Donor who is willing to give blood will get the application and place a
registration by entering the name, email, address and so on. After they registered they
will be provided with a login session where the donor can donate blood
(ii) Add Details:
If the donor is willing to donate the blood he/ she can add the blood details using the
system. The blood will be added to the database and retrieved whenever needed.
5. SYSTEM DEVELOPMENT

Systems development is the process of defining, designing, testing, and implementing a new
software application or program. It could include the internal development of
customized systems, the creation of database systems, or the acquisition of third party developed
software.

5.1 Program development


Blood bank

<?xml version="1.0" encoding="UTF-8" ?>


<Form version="1.3" maxVersion="1.9"
type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
<Properties>
<Property name="defaultCloseOperation" type="int" value="2"/>
</Properties>
<SyntheticProperties>
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
</SyntheticProperties>
<AuxValues>
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean"
value="false"/>
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
</AuxValues>

<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jPanel1" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jPanel1" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Container class="javax.swing.JPanel" name="jPanel1">

<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="202" max="-2" attributes="0"/>
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="204" max="32767" attributes="0"/>
</Group>
<Group type="102" alignment="1" attributes="0">
<EmptySpace max="32767" attributes="0"/>
<Component id="jButton1" min="-2" pref="136" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="177" max="-2" attributes="0"/>
</Group>
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="135" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jLabel5" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="jLabel4" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="41" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0">
<Component id="t1" pref="137" max="32767" attributes="0"/>
<Component id="t2" pref="137" max="32767" attributes="0"/>
</Group>
<EmptySpace pref="179" max="32767" attributes="0"/>
</Group>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jLabel1" min="-2" pref="54" max="-2" attributes="0"/>
<EmptySpace pref="196" max="32767" attributes="0"/>
<Component id="jButton1" min="-2" pref="38" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="64" max="-2" attributes="0"/>
</Group>
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="136" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabel4" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="t1" alignment="3" min="-2" pref="28" max="-2"
attributes="0"/>
</Group>
<EmptySpace min="-2" pref="35" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="t2" alignment="3" min="-2" pref="28" max="-2"
attributes="0"/>
<Component id="jLabel5" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace pref="136" max="32767" attributes="0"/>
</Group>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
<Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Times New Roman" size="24" style="1"/>
</Property>
<Property name="text" type="java.lang.String" value="Blood Bank Login"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="t1">
</Component>
<Component class="javax.swing.JLabel" name="jLabel4">
<Properties>
<Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Times New Roman" size="18" style="1"/>
</Property>
<Property name="foreground" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="66" green="66" red="0" type="rgb"/>
</Property>
<Property name="text" type="java.lang.String" value="User Name :"/>
</Properties>
<Events>
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener"
parameters="java.awt.event.MouseEvent" handler="jLabel4MouseClicked"/>
</Events>
</Component>
<Component class="javax.swing.JLabel" name="jLabel5">
<Properties>
<Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Times New Roman" size="18" style="1"/>
</Property>
<Property name="foreground" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="66" green="66" red="0" type="rgb"/>
</Property>
<Property name="text" type="java.lang.String" value="password :"/>
</Properties>
<Events>
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener"
parameters="java.awt.event.MouseEvent" handler="jLabel5MouseClicked"/>
</Events>
</Component>
<Component class="javax.swing.JPasswordField" name="t2">
</Component>
<Component class="javax.swing.JButton" name="jButton1">
<Properties>
<Property name="text" type="java.lang.String" value="Login"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener"
parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
</Events>
</Component>
</SubComponents>
</Container>
</SubComponents>
</Form>

Donor details
<?xml version="1.0" encoding="UTF-8" ?>

<Form version="1.3" maxVersion="1.9"


type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
<Properties>
<Property name="defaultCloseOperation" type="int" value="2"/>
</Properties>
<SyntheticProperties>
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
</SyntheticProperties>
<AuxValues>
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean"
value="false"/>
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
</AuxValues>

<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jPanel1" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jPanel1" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Container class="javax.swing.JPanel" name="jPanel1">

<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="231" max="-2" attributes="0"/>
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="119" max="-2" attributes="0"/>
<Group type="103" groupAlignment="1" attributes="0">
<Component id="jLabel5" alignment="1" min="-2" max="-2"
attributes="0"/>
<Component id="jLabel4" alignment="1" min="-2" max="-2"
attributes="0"/>
</Group>
<EmptySpace min="-2" pref="45" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0">
<Component id="jButton1" alignment="0" pref="163" max="32767"
attributes="0"/>
<Component id="age" alignment="0" pref="163" max="32767"
attributes="0"/>
<Component id="bg" alignment="0" max="32767" attributes="0"/>
</Group>
</Group>
</Group>
<EmptySpace pref="147" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Component id="jLabel1" min="-2" pref="54" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="53" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabel4" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="age" alignment="3" min="-2" pref="28" max="-2"
attributes="0"/>
</Group>
<EmptySpace min="-2" pref="29" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabel5" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="bg" alignment="3" min="-2" pref="28" max="-2"
attributes="0"/>
</Group>
<EmptySpace min="-2" pref="37" max="-2" attributes="0"/>
<Component id="jButton1" min="-2" pref="43" max="-2" attributes="0"/>
<EmptySpace min="0" pref="91" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
<Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Times New Roman" size="24" style="1"/>
</Property>
<Property name="foreground" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="66" green="0" red="66" type="rgb"/>
</Property>
<Property name="text" type="java.lang.String" value="Donor Details"/>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="jLabel4">
<Properties>
<Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Times New Roman" size="18" style="1"/>
</Property>
<Property name="foreground" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="66" green="66" red="0" type="rgb"/>
</Property>
<Property name="text" type="java.lang.String" value="Age :"/>
</Properties>
<Events>
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener"
parameters="java.awt.event.MouseEvent" handler="jLabel4MouseClicked"/>
</Events>
</Component>
<Component class="javax.swing.JLabel" name="jLabel5">
<Properties>
<Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Times New Roman" size="18" style="1"/>
</Property>
<Property name="foreground" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="66" green="66" red="0" type="rgb"/>
</Property>
<Property name="text" type="java.lang.String" value="Blood Group :"/>
</Properties>
<Events>
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener"
parameters="java.awt.event.MouseEvent" handler="jLabel5MouseClicked"/>
</Events>
</Component>
<Component class="javax.swing.JTextField" name="bg">
</Component>
<Component class="javax.swing.JTextField" name="age">
</Component>
<Component class="javax.swing.JButton" name="jButton1">
<Properties>
<Property name="text" type="java.lang.String" value="Add"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener"
parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
</Events>
</Component>
</SubComponents>
</Container>
</SubComponents>
</Form>

User

<?xml version="1.0" encoding="UTF-8" ?>

<Form version="1.5" maxVersion="1.9"


type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
<Properties>
<Property name="defaultCloseOperation" type="int" value="2"/>
</Properties>
<SyntheticProperties>
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
</SyntheticProperties>
<AuxValues>
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean"
value="false"/>
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean"
value="false"/>
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer"
value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
</AuxValues>

<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jPanel1" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jPanel1" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Container class="javax.swing.JPanel" name="jPanel1">

<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<EmptySpace pref="196" max="32767" attributes="0"/>
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="189" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="1" attributes="0">
<EmptySpace min="-2" pref="82" max="-2" attributes="0"/>
<Component id="jLabel2" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
<Component id="jComboBox1" min="-2" pref="151" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="31" max="-2" attributes="0"/>
<Component id="jButton1" min="-2" pref="151" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group>
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jScrollPane2" pref="681" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jComboBox1" alignment="3" min="-2" pref="43" max="-2"
attributes="0"/>
<Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jButton1" alignment="3" min="-2" pref="44" max="-2"
attributes="0"/>
</Group>
<EmptySpace pref="253" max="32767" attributes="0"/>
</Group>
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
<Group type="102" alignment="1" attributes="0">
<EmptySpace pref="137" max="32767" attributes="0"/>
<Component id="jScrollPane2" min="-2" pref="215" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
<Property name="font" type="java.awt.Font"
editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Times New Roman" size="24" style="1"/>
</Property>
<Property name="foreground" type="java.awt.Color"
editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="66" green="0" red="66" type="rgb"/>
</Property>
<Property name="text" type="java.lang.String" value="Search Blood Group"/>
</Properties>
</Component>
<Component class="javax.swing.JComboBox" name="jComboBox1">
<Properties>
<Property name="model" type="javax.swing.ComboBoxModel"
editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
<StringArray count="0"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="jLabel2">
<Properties>
<Property name="text" type="java.lang.String" value="Blood Group :"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="jButton1">
<Properties>
<Property name="text" type="java.lang.String" value="Search"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener"
parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
</Events>
</Component>
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
<AuxValues>
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
</AuxValues>

<Layout
class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<SubComponents>
<Component class="javax.swing.JTable" name="table1">
<Properties>
<Property name="model" type="javax.swing.table.TableModel"
editor="org.netbeans.modules.form.editors2.TableModelEditor">
<Table columnCount="0" rowCount="4"/>
</Property>
<Property name="tableHeader" type="javax.swing.table.JTableHeader"
editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
</Property>
</Properties>
</Component>
</SubComponents>
</Container>
</SubComponents>
</Container>
</SubComponents>
</Form>

User register

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package blood_bank_management;

import java.awt.Dimension;

import java.awt.Toolkit;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;
import java.sql.Statement;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

/**

* @author Arun

*/

public class user_register extends javax.swing.JFrame {

/**

* Creates new form user_register

*/

public user_register() {

initComponents();

this.setTitle(home.title);

setResizable(false);

Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();

int x = (int) ((dimension.getWidth() - this.getWidth()) / 2);

int y = (int) ((dimension.getHeight() - this.getHeight()) / 2);


this.setLocation(x, y);

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-


BEGIN:initComponents

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jLabel3 = new javax.swing.JLabel();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();


jTextField1 = new javax.swing.JTextField();

jTextField2 = new javax.swing.JTextField();

jTextField3 = new javax.swing.JTextField();

jTextField4 = new javax.swing.JTextField();

jTextField5 = new javax.swing.JTextField();

jTextField6 = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

jLabel3.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N

jLabel3.setForeground(new java.awt.Color(0, 102, 102));

jLabel3.setText("User Registration");

jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel1.setForeground(new java.awt.Color(51, 0, 102));

jLabel1.setText("Name :");

jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel2.setForeground(new java.awt.Color(51, 0, 102));

jLabel2.setText("Contacat : ");
jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel4.setForeground(new java.awt.Color(51, 0, 102));

jLabel4.setText("Email : ");

jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel5.setForeground(new java.awt.Color(51, 0, 102));

jLabel5.setText("Address : ");

jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel6.setForeground(new java.awt.Color(51, 0, 102));

jLabel6.setText("User Name : ");

jLabel7.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel7.setForeground(new java.awt.Color(51, 0, 102));

jLabel7.setText("Password : ");

jButton1.setText("Register");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);
}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(196, 196, 196)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel7)

.addComponent(jLabel3)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel1)

.addComponent(jLabel2)

.addComponent(jLabel4)

.addComponent(jLabel5))

.addGap(27, 27, 27)


.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE,
161, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE,
161, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE,
161, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,
161, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(jLabel6)

.addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE,
161, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE,
161, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 161,


javax.swing.GroupLayout.PREFERRED_SIZE))))

.addGap(50, 147, Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(30, 30, 30)

.addComponent(jLabel3)

.addGap(31, 31, 31)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING
)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,
32, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1))

.addGap(26, 26, 26)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)

.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE,
32, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addGap(66, 66, 66))


.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)

.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 32,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel4)))

.addGap(29, 29, 29)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)

.addComponent(jLabel5)

.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 32,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(27, 27, 27)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)

.addComponent(jLabel6)

.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 32,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(28, 28, 28)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)

.addComponent(jLabel7)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 32,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 43,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(33, Short.MAX_VALUE))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addContainerGap())

);

pack();

}// </editor-fold>//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton1ActionPerformed

try {

String name=jTextField1.getText();

String contact=jTextField2.getText();

String uemail=jTextField3.getText();

String address=jTextField4.getText();

String username=jTextField5.getText();

String password=jTextField6.getText();

java.util.Calendar calendar = java.util.Calendar.getInstance();

String day = String.valueOf(calendar.get(java.util.Calendar.DATE));

String month = String.valueOf(calendar.get(java.util.Calendar.MONTH) + 1);

String year = String.valueOf(calendar.get(java.util.Calendar.YEAR));


String cdate = day + "-" + month + "-" + year;

String url="jdbc:mysql://localhost:3306/blood_bank_management";

Class.forName("com.mysql.jdbc.Driver");

Connection Con=DriverManager.getConnection(url,"root","");

Statement stmt=Con.createStatement();

Statement stmt1=Con.createStatement();

String qry = "select max(id) as maxid from user_reg";

ResultSet rs = stmt1.executeQuery(qry);

int id1 = 0;

if (rs.next()) {

id1 = rs.getInt("maxid");

int id2 = id1 + 1;

String ins = "insert into user_reg


values('"+id2+"','"+name+"','"+contact+"','"+uemail+"','"+address+"','"+username+"','"+passwor
d+"','"+cdate+"','0')";

int n = stmt.executeUpdate(ins);

if(n==1)

JOptionPane.showMessageDialog(null,"Registration success");

this.setVisible(false);

}
else

JOptionPane.showMessageDialog(null,"Registration failed");

} catch (ClassNotFoundException ex) {

Logger.getLogger(user_register.class.getName()).log(Level.SEVERE, null, ex);

} catch (SQLException ex) {

Logger.getLogger(user_register.class.getName()).log(Level.SEVERE, null, ex);

}//GEN-LAST:event_jButton1ActionPerformed

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);

}
//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new user_register().setVisible(true);

});

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JPanel jPanel1;

private javax.swing.JTextField jTextField1;


private javax.swing.JTextField jTextField2;

private javax.swing.JTextField jTextField3;

private javax.swing.JTextField jTextField4;

private javax.swing.JTextField jTextField5;

private javax.swing.JTextField jTextField6;

// End of variables declaration//GEN-END:variables

}
6. SYSTEM TESTING

Testing is a series of different tests that whose primary purpose is to fully exercise the
computer based system. Although each test has a different purpose, all work should verify that
all system element have been properly integrated and performed allocated function. Testing is
the process of checking whether the developed system works according to the actual requirement
and objectives of the system. The philosophy behind testing is to find the errors. A good test is
one that has a high probability of finding an undiscovered error. A successful test is one that
uncovers the undiscovered error. Test cases are devised with this purpose in mind. A test case is
a set of data that the system will process as an input.

6.1 Unit Testing

The first test in the development process is the unit test. The source code is normally divided
into modules, which in turn are divided into smaller units called units. These units have specific
behavior. The test done on these units of code is called unit test. Unit test depends upon the
language on which the project is developed. Unit tests ensure that each unique path of the project
performs accurately to the documented specifications and contains clearly defined inputs and
expected results. Functional and reliability testing in an Engineering environment. Producing
tests for the behavior of components (nodes and vertices) of a product to ensure their correct
behavior prior to system integration.
Fig 6.1 Unit testing is applied to check the blood bank login

6.2 Integration Testing


Testing is which modules are combined and tested as a group. Modules are typically code
modules, individual applications, source and destination applications on a network, etc.
Integration Testing follows unit testing and precedes system testing. Testing after the product is
code complete. Betas are often widely distributed or even distributed to the public at large in
hopes that they will buy the final product when it is release.
Fig 6.2 Integration Testing for the complete view is checked

6.3 Validation testing

In software testing, validation testing is the process of evaluating software during the
development process or at the end of the development process to determine whether it satisfies
specified business requirements. Validation Testing ensures that the product actually meets the
client's needs.
Fig 6.3 The validation testing is added so that the valid user login is tested
7. SYSTEM IMPLEMENTATION

Systems implementation is the process of: defining how the information system should be built
(i.e., physical system design), ensuring that the information system is operational and used,
ensuring that the information system meets quality standard (i.e., quality assurance)

7.1 SCREEN SHOT

Fig 7.1 Home Page


Fig 7.2 Blood Bank login
Fig 7.3 The user details are viewed by the Blood bank
Fig 7.4 the blood bank view the doctor details
Fig 7.5 the blood details will be viewed by the blood bank
Fig 7.6 Donor registration is done
Fig 7.7 Donor login and the success
Fig 7.8 Donor Home
Fig 7.9 Donor add the details of the blood group
Fig 7.10 User Registration page
Fig 7.11 User login page
Fig 7.12 User Search for blood group
BIBLIOGRAPHY

Book References:

[1] Allen B. Downey, Think Java: How to think like a computer scientist, 2004

[2] Bert Bates and Kathy Sierra, “Head First Java”, Head First Design Patterns, 2003

[3] Brian Goetz, Java Concurrency in Practice, 9 May 2006

[4] Kathy Sierra , Bert Bates, Head First Java, 2nd Edition, O'Reilly Media; 2nd edition
(February 19, 2005)

Web References:

https://www.java.com/ES/download/

https://www.w3schools.com/java/java_intro.asp

https://www.java.com/en/

You might also like