System Flow Diagram
System Flow Diagram
System Flow Diagram
ABSTRACT
This project is an online system that allows checking whether the required blood
deposits of a particular group are available in the blood bank. The Blood Bank
Management System that helps in managing various blood bank operations effectively.
This project consists of a central repository containing various blood bank details, user
details, donor details, etc. Through this application any person who is interested in
donating the blood can register itself with this site. Admin is the main authority who can
do addition, deletion and modification if required. This project is developed by using
JAVA for Application development and MySQL is used as back end of application.
1
SYSTEM FLOW DIAGRAM
CHAPTER 1
INTRODUCTION
PROJECT DESCRIPTION
The numbers of persons who are in need of blood are increasing in large number
day by day. In order to help people who are in need of blood, Blood Bank can be used
effectively for getting the details of blood donors having the same blood group and within
the same city. With the help of Blood Bank people who are having the thought of
donating blood gets registered in Blood Bank giving his total details.
Blood Bank site is available to everyone easily. A person who likes to donate
blood gives his entire details i.e., fill in the registration form and can create a username
with a password by which he can modify his details if at all there are any changes in his
information given before.
This site also helps people who are in need of blood by giving the details of the
donors by searching, if at all there are no donors having the same group and within their
own city they will be given the addresses with phone numbers of some contact persons in
major cities who represent a club or an organization with free of cost. If at all the people
find any difficulty in getting blood from the contact persons we will give them a Mobile
link i.e., India’s Largest Paging Service number through which they can give the message
on every ones pagers with the blood group and city they are living in, such that the
donors who view the messages in their pagers having the same blood group and the in the
same city, they contacts the person on phone who are in need of a blood. Such that the
person gets help from us which saves his life.
2
SYSTEM FLOW DIAGRAM
IMPLEMENTATION
Implementation is the stage of the project when the theoretical design is turned
out into a working system. Thus it can be considered to be the most critical stage in
achieving a successful new system and in giving the user, confidence that the new system
will work and be effective.
Admin
Donor Registration
Donor Details
Patient Details
Report
MODULES DESCRITPTION
Admin:
Admin can manage both donors and acceptors. They can also has the right
to add, remove and modify the given username and password of the any user from the
system. Each member in a donor and acceptor is given a user name and password, which
identifies them uniquely.
Donor Registration:
In this module, people who are interested in donating blood get registered
and give his overall details related to the donor, i.e. they fills in a registration form by
giving the total details such as name, address, city, sex, age, dob, blood group, telephone
numbers, etc. They was also given two fields’ username and password to fill such that
they was a registered donor and they can enter the login form with his username and
password, and can modify this details if needed.
3
SYSTEM FLOW DIAGRAM
Donor Details
Reports
4
SYSTEM FLOW DIAGRAM
CHAPTER 2
SOFTWARE ENVIRONMENT
JAVA:
PLATFORM INDEPENDENT
Unlike many other programming languages including C and C++ when Java is
compiled, it is not compiled into platform specific machine, rather into platform
independent byte code. This byte code is distributed over the web and interpreted by
virtual Machine (JVM) on whichever platform it is being run.
Java was designed with a concept of ‘write once and run everywhere’. Java
Virtual Machine plays the central role in this concept. The JVM is the environment in
which Java programs execute. It is software that is implemented on top of real hardware
and operating system. When the source code (.java files) is compiled, it is translated into
byte codes and then placed into (.class) files. The JVM executes these byte codes. So
Java byte codes can be thought of as the machine language of the JVM. A JVM can either
interpret the byte code one instruction at a time or the byte code can be compiled further
for the real microprocessor using what is called a just-in-time compiler. The JVM must
be implemented on a particular platform before compiled programs can run on that
platform.
The Java Development Kit (JDK) is a Sun product aimed at Java developers.
Since the introduction of Java, it has been by far the most widely used Java software
5
SYSTEM FLOW DIAGRAM
development kit (SDK). It contains a Java compiler, a full copy of the Java Runtime
Environment (JRE), and many other important development tools.
TOOLS
Reusability of Code
Emphasis on data rather than procedure
Data is hidden and cannot be accessed by external functions
Objects can communicate with each other through functions
New data and functions can be easily added
Web Server is software that can process the client request and send the response
back to the client. For example, Apache is one of the most widely used web server. Web
Server runs on some physical machine and listens to client request on specific port.
A web client is software that helps in communicating with the server. Some of the most
widely used web clients are Firefox, Google Chrome, and Safari etc. When we request
something from server (through URL), web client takes care of creating a request and
sending it to server and then parsing the server response and present it to the user.
Web Server and Web Client are two separates software, so there should be some
common language for communication. HTML is the common language between server
and client and stands for Hyper Text Markup Language.
Web server and client needs a common communication protocol, HTTP (Hyper Text
Transfer Protocol) is the communication protocol between server and client. HTTP runs
on top of TCP/IP communication protocol.
Status Code – an integer to indicate whether the request was success or not.
Some of the well-known status codes are 200 for success, 404 for Not Found and
403 for Access Forbidden.
Content Type – text, html, image, pdf etc. Also known as MIME type
Content – actual data that is rendered by client and shown to user.
MIME Type or Content Type: If you see above sample HTTP response header, it
contains tag “Content-Type”. It’s also called MIME type and server sends it to client to
let them know the kind of data it’s sending. It helps client in rendering the data for user.
Some of the mostly used mime types are text/html, text/xml, application/xml etc.
Understanding URL
URL is acronym of Universal Resource Locator and it’s used to locate the server and
resource. Every resource on the web has its own unique address. Let’s see parts of URL
with an example.
http://localhost:8080/FirstServletProject/jsps/hello.jsp
http:// – This is the first part of URL and provides the communication protocol to be used
in server-client communication.
Local host – The unique address of the server, most of the times it’s the hostname of the
server that maps to unique IP address. Sometimes multiple hostnames point to same IP
addresses and web server virtual host takes care of sending request to the particular server
instance.
8080 – This is the port on which server is listening, it’s optional and if we don’t provide it
in URL then request goes to the default port of the protocol. Port numbers 0 to 1023 are
reserved ports for well-known services, for example 80 for HTTP, 443 for HTTPS, 21 for
FTP etc.
8
SYSTEM FLOW DIAGRAM
First Servlet Project/jsp/hello’s – Resource requested from server. It can be static html,
pdf, JSP, servlets, PHP etc.
Web servers are good for static contents HTML pages but they don’t know how to
generate dynamic content or how to save data into databases, so we need another tool that
we can use to generate dynamic content. There are several programming languages for
dynamic content like PHP, Python, and Ruby on Rails, Java Servlets and JSPs.
Java Servlet and JSPs are server side technologies to extend the capability of web servers
by providing support for dynamic response and data persistence.
Web Container
Tomcat is a web container, when a request is made from Client to web server, it
passes the request to web container and its web container job to find the correct resource
to handle the request (servlet or JSP) and then use the response from the resource to
generate the response and provide it to web server. Then web server sends the response
back to the client.
When web container gets the request and if it’s for servlet then container creates two
Objects HTTP Servlet Request and HTTP Servlet Response. Then it finds the correct
servlet based on the URL and creates a thread for the request. Then it invokes the servlet
service () method and based on the HTTP method service () method invokes do Get () or
do Post () methods. Servlet methods generate the dynamic page and write it to response.
Once servlet thread is complete, container converts the response to HTTP response and
sends it back to client.
9
SYSTEM FLOW DIAGRAM
JSP Support – JSPs doesn’t look like normal java classes and web container
provides support for JSP. Every JSP in the application is compiled by container
and converted to Servlet and then container manages them like other servlets.
Miscellaneous Task – Web container manages the resource pool, does memory
optimizations, run garbage collector, and provides security configurations, support
for multiple applications, hot deployment and several other tasks behind the scene
that makes our life easier.
10
SYSTEM FLOW DIAGRAM
CHAPTER 3
SYSTEM SPECIFICATION
SOFTWARE REQUIREMENTS
Operating System : Windows 8
Front End : Java
Database : MySQL
SYSTEM ANALYSIS
EXISTING SYSTEM
11
SYSTEM FLOW DIAGRAM
The Existing System manages the user has to search for the blood in the blood
banks which are mostly located in the hospitals.
The blood stock in the blood bank would be very limited and there is no assurance
that the required blood is available at the time of emergency. Obtaining blood through the
other means might not be that fruitful. When the blood is not available in the blood bank
the blood has to be obtained from the other blood bank which may not help in the hour of
need.
Has to totally depend on the blood bank for blood at the time of need.
Obtaining the blood is not an easy task.
Lack of database security.
Same data are stored in more than one location.
Inform the requirement to the blood donors.
Updating of the database is a tedious task.
Access speed is less for searching and modifying data.
PROPOSED SYSTEM
The need for the proposed system arises from the limitation o the existing system,
which is time consuming and inefficient one.
To develop user friendly software that meets the user needs at any time.
Information can be created and altered by administrator.
In the proposed system the user can get the list of donors and their contact
numbers by sending a request using the website. The system will automatically search for
particular blood group, donors and areas in the database that had been requested by the
user.
12
SYSTEM FLOW DIAGRAM
The most important feature of the proposed system is that the user can directly
request the blood donors for help in considerably less time.
The feature of the proposed system is that the system provides a list of donors
of that particular blood group in a specified area for which the user has
requested for.
The system can send the need of the blood in a fraction of a second to the
targeted blood donors.
The blood donors are selected on the basis of their blood group, age, previous
donated date etc.,
Provides
13
SYSTEM FLOW DIAGRAM
CHAPTER 4
SYSTEM DESIGN
The project has been planned to be having the view of distributed architecture,
with centralized storage of the database
Data Constraints
All business in the world runs on business data being gathered stored and
analyzed. Business managers determine a set of rules that must be applied to the data
being stored to ensure its integrity.
There are two types of data constraints that can be applied to data being inserted
into a database table .One type of constraint is called an I/O constraint. The other type of
constraint is called a business rule constraint.
I/O Constraints:
The input /output data constraint is further divided into two distinctly different
constraints.
That the data entered in the table column is unique across the entire
column.
That none of the cells belonging to the table column are left empty.
14
SYSTEM FLOW DIAGRAM
The Database allows the application of business rules to table columns. Business
managers determine business rules.
Column Level
Table Level
If data constraints are defined along with the column definition where creating or
altering a table structure, they are column level constraints.
If data constraints are defined after defining all the table columns when creating or
altering a table structure, it is a table level constraint.
A NULL value is different from a blank of zero. NULL values are treated
specially by the database. A NULL value can be inserted into the columns of any data
type.
When a column is defined as not null, then that column becomes a mandatory
column .It implies that a value must be entered into the column if the record is to be
accepted for storage in the table.
15
SYSTEM FLOW DIAGRAM
A primary key in a table used to uniquely identify each row in the table .A
primary key column in a table has special attributes.
It defines the column as a mandatory column i.e. the column cannot be left blank.
The NOT NULL attribute is active.
The date held across the column MUST BE UNIQUE.
The first step in system design is to design input within predefined guidelines. Input
design is a part of the overall system design. In the input phase the designer’s task is to
identify those data items that will be an input to the system. The designer finds a linkage
to the input data from the output. Once the data items are identified, it is necessary to find
the documents from where these data are taken. A document containing several data items
will be treated as a record in the system. The major objective of the input design is to
make data entry easy, logical and error free.
Inaccurate input data are the most common cause of errors in data processing.
Errors entered by data entry operators can be controlled by input design. It is the process
of converting user-originating inputs to a computer-based format.
o Authentication page
o Registration page
o Donor details page
o Search buyer Page
o Patient details page
o Blood Details Page
o Report page
16
SYSTEM FLOW DIAGRAM
Primary key is a candidate key to uniquely identify each row in a table. A unique
key or primary key comprises a single column or set of columns. No two distinct rows in
a table can have the same value (or combination of values) in those columns. Depending
on its design, a table may have arbitrarily many unique keys but at most one primary key.
A unique key must uniquely identify all possible rows that exist in a table and not
only the currently existing rows. Examples of unique keys are Social Security numbers
(associated with a specific person) or ISBNs (associated with a specific book). Telephone
books and dictionaries cannot use names or words or Dewey Decimal system numbers as
candidate keys because they do not uniquely identify telephone numbers or words.
A primary key is a special case of unique keys. The major difference is that for
unique keys the implicit NOT NULL constraint is not automatically enforced, while for
primary keys it is. Thus, the values in unique key columns may or may not be NULL.
Another difference is that primary keys must be defined using another syntax.
Output design generally refers to the results and information’s that are generated
by the system for many end-users; output is the main reason for developing the system
and the basis on which they evaluate the usefulness of the application. The basis
requirement of output should be accurate, timely and appropriate, in terms of content,
medium and layout for its intended purpose.
A good output design contains all required information and well formatted
interface for the better utilization and avoid the complexity in displaying the image. The
17
SYSTEM FLOW DIAGRAM
system was developed by keeping in mind to produce a proper output and then display it
for the users accurately.
CHAPTER 5
The purpose of the system is to identify and correct errors in the candidate
system. As important as the phase is, it is one that is frequently compromised. Actually,
testing is done to achieve the system goal.
Testing is vital to check whether the parts of the system are working properly and
whether the goal will be successfully achieved. Inadequate testing or non - testing leads
to errors, which may not appear until months later.
The time lag between the cause and appearance of the problem.
The effect of system errors on files and records within the system.
A small system error can conceivably exploded into much larger problem.
Effectively early in the process translates directly into long term cost savings from
a reduced numbers of errors.
The system is designed in such a way that it can be easily expanded and maintained.
That is additional module can be added to provide additional functionality to the product.
5.1 TESTING
Code testing:
This examines the logic of the program. To follow this test, cases are developed
such that every path of the program is tested. It is a fact that a slight change in the
logic may lead to incorrect result. The project has to be developed in such a way that
18
SYSTEM FLOW DIAGRAM
it can be usable at any environment and at any type of input and system design. All
depends upon the coding developed in the program and makes this phase an
important one.
Validation Testing
Validation testing provides the final assurance that software meets all functional,
behavioral and performance requirements. Validation testing can be defined in many
ways, but a simple definition is that validations succeed when the software functions in a
manner that is expected by the user.
The software once validated must be combined with other system element. System
testing verifies that all elements combine properly and that overall system function and
performance is achieved. After the integration of the modules, the validation test was
carried out over by the system. It was found that all the modules work well together and
meet the overall system function and performance.
Integration Testing
Acceptance Testing
Unit testing
Unit testing focuses verification effort on the smallest unit of the software. Using
the detailed design description as design a guide, important control path are tested to
uncover errors within the boundary of the module. This testing was carried out during
programming stage itself. After testing each every field in the modules, the modulus of
the project is tested separately. Unit testing focuses verification efforts on the smallest
unit of software design and field. This is known as field - testing.
19
SYSTEM FLOW DIAGRAM
IMPLEMETATION
Putting a planned system into action. The stage of systems development in which
hardware and software are acquired, developed and installed, the system is tested and
documented, people are trained to operate and use the system, and an organization
converts to the use of a newly developed system.
At a finer level of detail, deploying the system consists of executing all steps
necessary to educate the Consumers on the use of the new system, placing the newly
developed system into production, confirming that all data required at the start of
operations is available and accurate, and validating that business functions that interact
with the system are functioning properly.
A key difference between System Implementation and all other phases of the
lifecycle is that all project activities up to this point have been performed in safe,
protected, and secure environments, where project issues that arise have little or no
impact on day-to-day business operations. Once the system goes live, however, this is no
longer the case. Any miscues at this point will almost certainly translate into direct
operational and/or financial impacts on the Performing Organization.
20
SYSTEM FLOW DIAGRAM
CONCLUSION
The goal of the project which is defined already has been successfully achieved.
The implementation and testing has been done in a step by step process. Each module has
been developed and tested individually to obtain the necessary required output in a
desired form. The project has been done as user-friendly software for easy handling of
user tasks.
Thus the project provides functionalities like GSM, Online and the SMS based
technology which provides easy task to the user in searching for the blood group.
The entire system is documented and can be easily operated by users of all kind
even the uneducated people. The forms are very user friendly and also easy to handle
even by the beginner’s with a very little effort and guidance.
21
SYSTEM FLOW DIAGRAM
The project can be further developed with the help of oracle as the back end
which can store a huge capacity of data. Oracle provides security to the records.
Modification and enhancement can be made affecting any other part of the
program because of the user friendliness and understandability of the project. Add-on
features can be done to this software whenever required. Since it is a menu driven one,
more details can be added to respective modules according to the need of the project.
The project can be done with back ends as oracle also. This conversion and
transition is also very easy, if the company requires developing and extending the system
in future. Extensibility is one of the characteristics of this software.
22
SYSTEM FLOW DIAGRAM
8.BIBLIOGRAPHY
BOOKS REFERRED:
WEBSITES:
1. www.vbdotnetheaven.com
2. www.codeguru.com
3. www.w3schools.com.
23
SYSTEM FLOW DIAGRAM
24
SYSTEM FLOW DIAGRAM
25