Professional Documents
Culture Documents
Management
System
ABSTRACT
Emergency situations, such as accidents, create an immediate and critical need for
specific blood types. In addition, advances in medicine have also increased the need of blood
for various treatments and surgeries. In short, blood is a saver of all existing lives. So in such
emergency cases, it is difficult for hospital staff to collect blood in case of shortage of blood
without having appropriate resources. Our system solves this problem. This project is to build
a web-based, online blood donation management system. This system provides an online
platform for quick access to the required donor. Hence the life at threat can be saved by this
optimization technique.
2. REQUIREMENTS
3. ANALYSIS
3.3. Modularity
4. DESIGN
5.DATABASE TABLES
5.1.Entities 18
5.3.Data Dictionary 19
7.CODING 32
8.TESTING 37
9.OUTPUT SCREENS 41
10.CONCLUSION 49
11.REFERENCE 51
1
1.INTRODUCTION
1.1.Project Description
This project is aimed to develop an online Blood Donation Information. The entire project
has been developed keeping in view of the distributed client server computing technology, in
mind.
The project has been planned to be having the view of distributed architecture, with
centralized storage of the database. The application for the storage of the data has been
planned, using the constructs of Oracle and all the user interfaces have been designed using
the java and JSP (Java Server Pages) technologies.
The database connectivity is planned using the Oracle database connectivity. The
standards of security and data protective mechanism have been given a big choice for proper
usage.
The application takes care of different modules and their associated reports, which are
produced as per the applicable strategies and standards that are put forwarded by the
administrative staff.
Objective:
This is an online application which allows you to access the information about Blood
donor, readily scalable and adaptable to meet the complex need of blood recipient and Blood
Banks Who are Key Facilitator for the Healthcare Sector.
1.2.Problem Definition:
Entering the details about the blood groups, members, phone number, addresses etc.
And tracking the database is complicated when the details are maintained manually. This
makes the maintenance of schedule erroneous.
2
2.REQUIREMENTS
• A web based front end for entering donated blood details including the donor,
his/her blood group, gender, age, and status of the donated blood
• A web based front end for searching the information relating to a given donor or
a given blood group.
• A facility to still enter donor and donated blood information and also maintain the
database using those details entered via the web front end.
2.1.Functional Requirements
In this research project we aim at developing a system which should improve on the
current one with a lot of functionalities and therefore the Major target or goal here is to:
WideWeb and hence allow access from any Internet networked terminal and Web
browser around the world.
•Finally the system should be flexible enough to store data for several years and
also be able provide sufficient User and Administration Guides.
2.2.NonFunctional Requirements
Security: Each user is required to log in. The system should log staff that has been
assigned user names and passwords. The system should be designed to make it
impossible for anybody to logon without a valid username and password.
Reliability: The system should have little or no downtime and be able to handle
multiple concurrent users.
Ease of Use: The general and administrative views should be easy to use and intuitive.
2.3.Hardware Requirements:
2.4.Software Requirements:
WINDOWS OS XP
Text editor
Apache Tomcat 9.0.x software
Java SE Development Kit 8
Java Standard Edition Runtime Environment
Oracle Database Express Edition 11g
Web browsers
i. Internet Explorer 8 or newer
ii. Mozilla Firefox
iii. Google chrome
5
3.ANALYSIS
3.1.Existing System:
Manual systems put pressure on people to be correct in all details of their work at all
times, the problem being that people aren’t perfect, however much each of us wishes we
were. With manual systems the level of service is dependent on individuals and this puts a
requirement on management to run training continuously for staff to keep them motivated
and to ensure they are following the correct procedures. It can be all too easy to accidentally
switch details and end up with inconsistency in data entry or in hand written orders. This has
the effect of not only causing problems with customer service but also making information
unable be used for reporting or finding trends with data discovery. Reporting and checking
that data is robust can be timely and expensive. This is often an area where significant
money can be saved by automation.
It takes more effort and physical space to keep track of paper documents, to find
information and to keep details secure. When mistakes are made or changes or corrections
are needed, often a manual transaction must be completely redone rather than just updated.
With manual or partially automated systems information often has to be written down and
copied or entered more than once. Systemisation can reduce the amount of duplication of
data entry.
Which raises the question if systemisation has such benefits, why aren’t all
organisations running fully integrated systems. There is always the obvious balance of cost
vs benefit, as an organisation grows and adds people and functions the benefits of systems
increases. Often when an organisation is growing it’s the time that they need to put in a new
system, however this is also the time that there is significant pressure on existing resources
and it’s the hardest time to make a change.
These is another factor to be considered before automating your organisation and this
is that good processes must already be in place. Putting in a system in most cases won’t
successfully apply a process where one hasn’t existed before. The most effective way to get
benefit from a new system is where a good manual operations exist and your new system
automate these.
It is time consuming
It leads to error prone results
It consumes lot of manpower to better results
It lacks data security
Retrieval of data takes lot of time
Percentage of accuracy is less
Updating records takes lot of time
Accessing records also take time.
7
3.2.Proposed System:
An efficient blood bank management system should be developed, with the aim of
ensuring that every patient has access to an adequate quantity of safe blood. The management
system should solve the issue of demand and wastage and lead to self-sufficiency in blood
requirement. This should encourage new donors and retain old donors to donate blood. This
system is used to maintain whole information about blood donation management.
3.3.Modularization
Modular design unintentionally follows the rules of ‘divide and conquer’ problem-
solving strategy this is because there are many other benefits attached with the modular
design of a software.
Advantage of modularization:
Admin: In this module the Administrator has the privileges to add all the Blood Groups,
Blood Type. He can search about all the information about the Donor.
This module focuses on the both donors & acceptors. Each member in a donor is
given a user name and password, which identifies him uniquely. The options given to
administrator in the interface are - Change Password, Maintain donor details, Update donor
details.
Admin can
Donor: Donor is that person who is interested in donating their blood so they can register
themselves through this website. If any requirement comes then they will be contacted and
they can donate their blood. Along with it they can search for a particular blood group if
needed.
Change password
Find a Blood donor of a specific blood group.
Edit Profile
Frequently Asked Questions about Blood donation.
Logout
Acceptor: In this module any general user who is not registered as a Donor can also make
request for blood if needed. Donor can also make a request for blood if needed. He can visit
9
all the static pages and can get information about the various issues related with blood
donation. In this you can search for donors.
System Database: Stores all the details about the donor information. There will be an
option for updating the personal information by the users. This is for tracking and managing
information.
10
3.4.UML Diagrams
The unified modeling language allows the software engineer to express an analysis model
using the modeling notation that is governed by a set of syntactic semantic and pragmatic
rules.
A UML system is represented using five different views that describe the system from
distinctly different perspective. Each view is defined by a set of diagram, which is as
follows.
In this model the data and functionality are arrived from inside the system.
In this the structural and behavioral as parts of the system are represented as
they are to be built.
In this the structural and behavioral aspects of the environment in which the
system is to be implemented are represented.
UML Analysis modeling, which focuses on the user model and structural model views
of the system.
Use case Diagrams represent the functionality of the system from a user’s point of
view. Use cases are used during requirements elicitation and analysis to represent the
functionality of the system. Use cases focus on the behavior of the system from external point
of view.
Actors are external entities that interact with the system. Examples of actors include
users like administrator, bank customer …etc., or another system like central database.
SYSTEM NAME
Use case 1
Use case 2
Actor Actor
Use case n
Home Page
Search donor
About us
FAQ page
13
Admin
Home Page
Login Page
Search Donor
Donor About us
FAQ page
14
Home Page
Search Donor
Registration page
About us
Acceptor
FAQ page
15
4.DESIGN
Software design is a process to transform user requirements into some suitable form,
which helps the programmer in software coding and implementation.
Software design is the first step in SDLC (Software Design Life Cycle), which moves
the concentration from problem domain to solution domain. It tries to specify how to fulfill
the requirements mentioned in SRS.
Architectural Design - The architectural design is the highest abstract version of the
system. It identifies the software as a system with many components interacting with
each other. At this level, the designers get the idea of proposed solution domain.
High-level Design- The high-level design breaks the ‘single entity-multiple
component’ concept of architectural design into less-abstracted view of sub-systems
and modules and depicts their interaction with each other. High-level design
focuses on how the system along with all of its components can be implemented in
forms of modules. It recognizes modular structure of each sub-system and their
relation and interaction among each other.
Detailed Design- Detailed design deals with the implementation part of what is seen
as a system and its sub-systems in the previous two designs. It is more detailed
towards modules and their implementations. It defines logical structure of each
module and their interfaces to communicate with other modules.
Acceptor
18
Donor
Through this application any person who is interested in donating the blood can
register himself by entering the details.
Acceptor can find a donor by searching in this website and can contact him through
the results displayed in this site, to request blood.
Admin is the main authority who can do addition, deletion, and modification if
required.
5.DATABASE TABLES
5.1. Entities:
19
usereg
donordetails
b.donordetails
dname
age
dgrp
gender
address
phoneno
email
username
availability
5.3.Data Dictionary
Usereg
donordetails
Servlets
21
Servlets are the Java platform technology of choice for extending and enhancing Web
servers. Servlets provide a component-based, platform-independent method for building
Web-based applications, without the performance limitations of CGI programs. Servlets
have access to the entire family of Java APIs, including the JDBC API to access enterprise
databases. Servlets can also access a library of HTTP-specific calls and receive all the
benefits of the mature Java language, including portability, performance, reusability, and
crash protection.
Java Servlets are programs that run on a Web or Application server and act as a middle
layer between a request coming from a Web browser or other HTTP client and databases or
applications on the HTTP server.
Using Servlets, you can collect input from users through web page forms, present records
from a database or another source, and create web pages dynamically.
Java Servlets often serve the same purpose as programs implemented using the Common
Gateway Interface (CGI). But Servlets offer several advantages in comparison with the CGI.
Java security manager on the server enforces a set of restrictions to protect the
resources on a server machine. So servlets are trusted.
The full functionality of the Java class libraries is available to a servlet. It can
communicate with applets, databases, or other software via the sockets and
RMI mechanisms that you have seen already.
Servlet is an API that provides many interfaces and classes including documentations.
Servlet is an interface that must be implemented for creating any servlet.
Servlet is a class that extend the capabilities of the servers and respond to the
incoming request. It can respond to any type of requests.
Servlet is a web component that is deployed on the server to create dynamic web
page.
Servlets Architecture:
Servlets Tasks:
Read the explicit data sent by the clients (browsers). This includes an HTML form on a
Web page or it could also come from an applet or a custom HTTP client program.
Read the implicit HTTP request data sent by the clients (browsers). This includes
cookies, media types and compression schemes the browser understands, and so forth.
Process the data and generate the results. This process may require talking to a
database, executing an RMI or CORBA call, invoking a Web service, or computing
the response directly.
Send the explicit data (i.e., the document) to the clients (browsers). This
document can be sent in a variety of formats, including text (HTML or XML),
binary (GIF images), Excel, etc.
Send the implicit HTTP response to the clients (browsers). This includes telling
the browsers or other clients what type of document is being returned (e.g.,
HTML), setting cookies and caching parameters, and other such tasks.
Servlets Packages:
Java Servlets are Java classes run by a web server that has an interpreter that supports
the Java Servlet specification.
Servlets can be created using the javax.servlet and javax.servlet.http packages, which
are a standard part of the Java's enterprise edition, an expanded version of the Java class
library that supports large-scale development projects.
These classes implement the Java Servlet and JSP specifications. At the time
of writing this tutorial, the versions are Java Servlet 2.5 and JSP 2.1.
Java servlets have been created and compiled just like any other Java class. After
you install the servlet packages and add them to your computer's classpath, you can compile
servlets with the JDK's Java compiler or any other current compiler.
24
Advantage of Servlet
There are many advantages of servlet over CGI. The web container creates threads for
handling the multiple requests to the servlet. Threads have a lot of benefits over the Processes
such as they share a common memory area, lightweight, cost of communication between the
threads are low. The basic benefits of servlet are as follows:
1. Better performance: because it creates a thread for each request not process.
2. Portability: because it uses java language.
3. Robust: Servlets are managed by JVM so we don't need to worry about memory leak,
garbage collection etc.
4. Secure: because it uses java language.
Java Server Pages (JSP) is a technology for developing web pages that support
dynamic content which helps developers insert java code in HTML pages by making use of
special JSP tags, most of which start with <% and end with %>.
A Java Server Pages component is a type of Java servlet that is designed to fulfill the role
of a user interface for a Java web application. Web developers write JSPs as text files that
combine HTML or XHTML code, XML elements, and embedded JSP actions and commands.
Using JSP, you can collect input from users through web page forms, present records
from a database or another source, and create web pages dynamically.
JSP tags can be used for a variety of purposes, such as retrieving information from a
database or registering user preferences, accessing JavaBeans components, passing control
between pages and sharing information between requests, pages etc.
Java Server Pages often serve the same purpose as programs implemented using the
Common Gateway Interface (CGI). But JSP offer several advantages in comparison with the
CGI.
Java Server Pages are built on top of the Java Servlets API, so like Servlets, JSP also
has access to all the powerful Enterprise Java APIs, including JDBC, JNDI, EJB,
JAXP etc.
JSP pages can be used in combination with servlets that handle the business logic, the
model supported by Java servlet template engines.
26
Finally, JSP is an integral part of Java EE, a complete platform for enterprise class
applications. This means that JSP can play a part in the simplest applications to the most
complex and demanding.
Advantages of JSP:
Following is the list of other advantages of using JSP over other technologies:
Active Server Pages (ASP): The advantages of JSP are twofold. First, the dynamic
part is written in Java, not Visual Basic or other MS specific language, so it is more
powerful and easier to use. Second, it is portable to other operating systems and non-
Microsoft Web servers.
Pure Servlets: It is more convenient to write (and to modify!) regular HTML than to
have plenty of println statements that generate the HTML.
Server-Side Includes (SSI): SSI is really only intended for simple inclusions, not for
"real" programs that use form data, make database connections, and the like.
JavaScript: JavaScript can generate HTML dynamically on the client but can hardly
interact with the web server to perform complex tasks like database access and image
processing etc.
JSP technology is used to create web application just like Servlet technology. It can be
thought of as an extension to servlet because it provides more functionality than servlet such
as expression language, jstl etc.
27
A JSP page consists of HTML tags and JSP tags. The JSP pages are easier to
maintain than servlet because we can separate designing and development. It provides some
additional features such as Expression Language, Custom Tag etc.
There are many advantages of JSP over servlet. They are as follows:
1) Extension to Servlet
JSP technology is the extension to servlet technology. We can use all the features of
servlet in JSP. In addition to, we can use implicit objects, predefined tags, expression
language and Custom tags in JSP that makes JSP development easy.
2) Easy to maintain
JSP can be easily managed because we can easily separate our business logic with
presentation logic. In servlet technology, we mix our business logic with the presentation
logic.
If JSP page is modified, we don't need to recompile and redeploy the project. The
servlet code needs to be updated and recompiled if we have to change the look and feel of the
application.
In JSP, we can use a lot of tags such as action tags, jstl, custom tags etc. that
reduces the code. Moreover, we can use EL, implicit objects etc.
Syntax
28
JSP pages use several delimiters for scripting functions. The most basic is <% ... %>,
which encloses a JSP scriptlet. A scriptlet is a fragment of Java code that is run when the user
requests the page. Other common delimiters include <%= ... %> for expressions, where the
scriptlet and delimiters are replaced with the result of evaluating the expression, and
directives, denoted with <%@ ... %>.
Content which falls inside a split block of Java code (spanning multiple scriptlets) is
subject to that code. Content inside an ‘if’ block will only appear in the output when the ‘if’
condition evaluates to true. Likewise, content inside a loop construct may appear multiple
times in the output, depending upon how many times the loop body runs.
Compiler
A JavaServer Pages compiler is a program that parses JSPs, and transforms them into
executable Java Servlets. A program of this type is usually embedded into the application
server and run automatically the first time a JSP is accessed, but pages may also be
precompiled for better performance, or compiled as a part of the build process to test for
errors.
Some JSP containers support configuring how often the container checks JSP file
timestamps to see whether the page has changed. Typically, this timestamp would be set to a
short interval (perhaps seconds) during software development, and a longer interval (perhaps
minutes, or even never) for a deployed Web application.
29
In JSP, java code can be written inside the JSP page using the scriptlet tag.
The scripting elements provides the ability to insert java code inside the JSP. There are
three types of scripting elements:
scriptlet tag
expression tag
declaration tag
A scriptlet tag is used to execute java source code in JSP. Syntax is as follows:
The code placed within JSP expression tag is written to the output stream of the
response. So you need not write out.print() to write data. It is mainly used to print the
values of variable or method.
The JSP declaration tag is used to declare fields and methods.The code written inside the
jsp declaration tag is placed outside the service() method of auto generated servlet.
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language. Although most often used to set the
visual style of web pages and user interfaces written in HTML.
Oracle Database 11g Express Edition (Oracle Database XE) is an entry-level, small-
footprint database based on the Oracle Database 11g Release 2 code base. It's free to develop,
deploy, and distribute; fast to download; and simple to administer.
For connecting java application with the oracle database, you need to follow 5 steps to
perform database connectivity. In this example we are using Oracle11g as the database. So we
need to know following information for the oracle database:
RDBMS: ORACLE
JDBC driver name: oracle.jdbc.driver.OracleDriver
URL format: jdbc:oracle:thin:@hostname:port Number:databaseName
Oracle
A database management, or DBMS, gives the user access to their data and helps them
transform the data into information. Such database management systems include dBase,
paradox, IMS and SQL Server. These systems allow users to create, update and extract
information from their database.
unit of data, called a record (it can also be referred to as raw or an occurrence). Each record is
made up of a number of fields. No two fields in a record can have the same field name.
During an Oracle Server Database design project, the analysis of your business
needs identifies all the fields or attributes of interest. If your business needs change over time,
you define any additional fields or change the definition of existing fields.
Tables
Oracle stores records relating to each other in a table. Different tables are created for
the various groups of information. Related tables are grouped together to form a database.
Primary Key
Every table in database has a field or a combination of fields that uniquely identifies
each record in the table. The Unique identifier is called the Primary Key, or simply the Key.
The primary key provides the means to distinguish one record from all other in a table. It
allows the user and the database system to identify, locate and refer to one particular record in
the database.
Relational Database
Sometimes all the information of interest to a business operation can be stored in one
table. Oracle makes it very easy to link the data in multiple tables. Matching an employee to
the department in which they work is one example. This is what makes Oracle a relational
database management system, or RDBMS. It stores data in two or more tables and enables
you to define relationships between the tables and enables you to define relationships
between the tables.
Foreign Key
When a field is one table matches the primary key of another field is referred to as a
foreign key. A foreign key is a field or a group of fields in one table whose values match
those of the primary key of another table.
7.CODING
33
database_insert.java
34
35
36
37
38
8.TESTING
Introduction
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and coding. In fact, testing is the one step in the
software engineering process that could be viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a
well-planned series of steps that result in the successful construction of software. Testing is
the set of activities that can be planned in advance and conducted systematically. The
underlying motivation of program testing is to affirm software quality with methods that can
economically and effectively apply to both strategic to both large and small-scale systems.
UNIT TESTING
MODULE TESTING
SYSTEM TESTING
Integration Testing
ACCEPTANCE
User Testing TESTING
39
Manual Testing:
Manual testing is the process of manually testing software for defects. It requires a
tester to play the role of an end user and use most of all features of the application to ensure
correct behavior. To ensure completeness of testing, the tester often follows a written test plan
that leads them through a set of important test cases.
Overview
A key step in the process is, testing the software for correct behaviour prior to release
to end users.
For small scale engineering efforts (including prototypes), exploratory testing may be
sufficient. With this informal approach, the tester does not follow any rigorous testing
procedure, but rather explores the user interface of the application using as many of its
features as possible, using information gained in prior tests to intuitively derive additional
tests. The success of exploratory manual testing relies heavily on the domain expertise of the
tester, because a lack of knowledge will lead to incompleteness in testing. One of the key
advantages of an informal approach is to gain an intuitive insight to how it feels to use the
application.
Large scale engineering projects that rely on manual software testing follow a more
rigorous methodology in order to maximize the number of defects that can be found. A
systematic approach focuses on predetermined test cases and generally involves the following
steps.
1. Choose a high level test plan where a general methodology is chosen, and resources
such as people, computers, and software licenses are identified and acquired.
2. Write detailed test cases, identifying clear and concise steps to be taken by the tester,
with expected outcomes.
3. Assign the test cases to testers, who manually follow the steps and record the results.
40
4. Author a test report, detailing the findings of the testers. The report is used by
managers to determine whether the software can be released, and if not, it is used by
engineers to identify and correct the problems.
Testing can be through black-, white- or grey-box testing. In white-box testing the tester
is concerned with the execution of the statements through the source code.
In black-box testing the software is run to check for the defects and is less
concerned with how the processing of the input is done.
Black-box testers do not have access to the source code. Grey-box testing is
concerned with running the software while having an understanding of the source code
and algorithms.
Static and dynamic testing approach may also be used. Dynamic testing involves
running the software. Static testing includes verifying requirements, syntax of code and any
other activities that do not include actually running the code of the program.
Testing can be further divided into functional and non-functional testing. In functional
testing the tester would check the calculations, any link on the page, or any other field which
on given input, output may be expected. Non-functional testing includes testing performance,
compatibility and fitness of the system under test, its security and usability among other
things.
41
Stages
Unit Testing
This initial stage in testing normally carried out by the developer who wrote the code
and sometimes by a peer using the white box testing technique.
Integration Testing
This stage is carried out in two modes, as a complete package or as an increment to
the earlier package. Most of the time black box testing technique is used. However,
sometimes a combination of Black and White box testing is also used in this stage.
System Testing
In this stage the software is tested from all possible dimensions for all intended
purposes and platforms. In this stage Black box testing technique is normally used.
User Acceptance Testing
This testing stage carried out in order to get customer sign-off of finished product. A
'pass' in this stage also ensures that the customer has accepted the software and is
ready for their use.
Release or Deployment Testing
Onsite team will go to customer site to install the system in customer configured
environment and will check for the following points:
1. Whether SetUp.exe is running or not.
2. There are easy screens during installation
3. How much space is occupied by system on HDD
4. Is the system completely uninstalled when opted to uninstall from the system.
Each unit has been separately tested manually by the development team itself and all
the input have been validated.
42
9.OUTPUT SCREENS
Home page
About Us Page
43
Welcome Page
45
Donor details
48
10.CONCLUSION
It has been a great pleasure for me to work on this exciting and challenging project.
This project proved good for me as it provided practical knowledge of not only programming
in jsp and java servlets web based application and to some extent databases, but also about all
handling procedure related with “Online Blood Donation Management”. It also provides
knowledge about the latest technology used in developing web enabled application and client
server technology that will be great demand in future. This will provide better opportunities
and guidance in future in developing projects independently.
Benefits:
The project is identified by the merits of the system offered to the user. The merits of this
project are as follows: -
This project offers user to enter the data through simple and interactive forms. This is
very helpful for the client to enter the desired information through so much simplicity.
The user is mainly more concerned about the validity of the data, whatever he is entering.
There are checks on every stages of any new creation, data entry or updation so that the
user cannot enter the invalid data, which can create problems at later date.
Sometimes the user finds in the later stages of using project that he needs to update some
of the information that he entered earlier. There are options for him by which he can
update the records. Moreover there is restriction for him that he cannot change the
primary data field. This keeps the validity of the data to longer extent.
User is provided the option of monitoring the records he entered earlier.
From every part of the project the user is provided with the links through framing so that
he can go from one option of the project to other as per the requirement. This is bound to
be simple and very friendly as per the user is concerned. That is, we can say that the
project is user friendly which is one of the primary concerns of any good project.
Data storage and retrieval will become faster and easier to maintain because data is stored
in a systematic manner and in a single database.
Decision making process would be greatly enhanced because of faster processing of
information since data collection from information available on computer takes much less
time than manual system.
Easier and faster data transfer through latest technology associated with the computer and
communication.
Through these features it will increase the efficiency, accuracy and transparency,
Limitations:
The size of the database increases day-by-day, increasing the load on the database back
up and data maintenance activity.
Training for simple computer operations is necessary for the users working on the system.
50
11.REFERENCE
https://www.google.co.in/ http://www.w3schools.com/
http://stackoverflow.com/ http://www.javatpoint.com/
http://www.friends2support.org/index.aspx
http://www.redcross.org/ https://www.wikipedia.org/
www.tutorialspoint.com/
51