Professional Documents
Culture Documents
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.
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.
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.
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:
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.
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.
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.
The five primary goals of the creation of the Java language are:
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.
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
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
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.
The system contains the architectural design where the entire blood bank system is added here.
4.2 Database Design
Donor details:
Donor register:
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.
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:
Donor:
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.
<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" ?>
<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
<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
/*
*/
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 user_register() {
initComponents();
this.setTitle(home.title);
setResizable(false);
/**
* 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
*/
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel3.setText("User Registration");
jLabel1.setText("Name :");
jLabel2.setText("Contacat : ");
jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
jLabel4.setText("Email : ");
jLabel5.setText("Address : ");
jLabel7.setText("Password : ");
jButton1.setText("Register");
jButton1.addActionListener(new java.awt.event.ActionListener() {
jButton1ActionPerformed(evt);
}
});
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.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))
.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)
.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)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel3)
.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))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE,
32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addComponent(jLabel4)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(jLabel5)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(jLabel6)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(jLabel7)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 32,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(33, Short.MAX_VALUE))
);
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
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();
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();
ResultSet rs = stmt1.executeQuery(qry);
int id1 = 0;
if (rs.next()) {
id1 = rs.getInt("maxid");
int n = stmt.executeUpdate(ins);
if(n==1)
JOptionPane.showMessageDialog(null,"Registration success");
this.setVisible(false);
}
else
JOptionPane.showMessageDialog(null,"Registration failed");
}//GEN-LAST:event_jButton1ActionPerformed
/**
*/
//<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.
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
java.util.logging.Logger.getLogger(user_register.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
}
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new user_register().setVisible(true);
});
}
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.
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
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)
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
[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/