Blood Donation 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. ur system solves this problem. !his pro"ect is to build a web#based, online blood donation management system. !his system provides an online platform for $uic% access to the re$uired donor. &ence the life at threat can be saved by this optimi'ation techni$ue.
!he Blood Donation management system is to create an e#Information about the donor who wants to donate blood. !hrough this application any person who is interested in donating the blood can register himself. Moreover if any general consumer wants to ma%e re$u re$uest est blo blood od onl onlin inee he can can also also ta%e ta%e the hel help p of this this site site.. (dmin is the mai n aut hor it y who can do addition, deletion, and modification if re$uired.
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. ur system solves this problem. !his pro"ect is to build a web#based, online blood donation management system. !his system provides an online platform for $uic% access to the re$uired donor. &ence the life at threat can be saved by this optimi'ation techni$ue.
!he Blood Donation management system is to create an e#Information about the donor who wants to donate blood. !hrough this application any person who is interested in donating the blood can register himself. Moreover if any general consumer wants to ma%e re$u re$uest est blo blood od onl onlin inee he can can also also ta%e ta%e the hel help p of this this site site.. (dmin is the mai n aut hor it y who can do addition, deletion, and modification if re$uired.
INDEX 1. INTR INTROD ODUC UCTI TION ON
).). ).).
*ro" *ro"ec ectt Desc Descri ript ptio ion n )
).+. ).+.
*rob *robllem Defi efinit nition ion )
2. REQU REQUIR IREM EMEN ENTS TS
+.). unctional -e$uirements
+
+.+. on unctional -e$uirements
/
+./. &ardware -e$uirements
0
+.0. Software -e$uirements 0 3. ANAL NALYSIS SIS
/.).
Existing syst ystem 1
/.+.
*rop roposed System 2
/./.
Modularity 2
/.0.
3M4 Diagrams
)5
4. DESIGN 0.).Software Design 4evels
)1
0.+.6or%ing of ur 6e 6ebsite bsite 0./.Scenario of !he *roposed Method
)7 )2
5.DATABASE TABLES TABLES
1.).Entities
)8
1.+.Entities 1.+.En tities 6ith (ttributes
)8
1./.Data Dictionary
)9
6. DESCRIPTION OF TECHNOLOGIES USED
+5
7.CODING
/+
8.TESTING
/2
.OUTPUT SCREENS
0)
1!.CONCLUSION
09
11.REFERENCE
1)
)
1.INTRODUCTION
1.1.P"#$%&' D%(&")*')#+
!his pro"ect is aimed to develop an online Blood Donation Information. !he entire pro"ect has been developed %eeping in view of the distributed client server computing technology, technology, in mind. !he pro"ect has been planned to be having the view of distributed architecture, with centrali'ed storage of the database. !he application for the storage of the data has been planned, using the constructs of racle and all the user interfaces have been designed des igned using the "ava and :S* ;:ava Server *ages< technologies.
!he database connectivity is planned using the racle database connectivity. !he standards of security and data protective mechanism have been given a big choice for proper usage.
!he application ta%es 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.
O,$%&')-% !his 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 Ban%s 6ho are =ey acilitator for the &ealthcare Sector.
1.2.P"#,/%0 D%)+)')#+ Entering the details about the blood groups, members, phone number, addresses etc. (nd trac%ing the database is complicated when the details are maintained manually. !his ma%es the maintenance of schedule erroneous.
+
2.REQUIREMENTS
The requirement analysis stage of a software engineering project involves collecting and analyzing information about the part of the organization that is supported by the application. This information is then used to identify the user’s requirement of the new system. Identifying the required functionality of the system is very important as a system with incomplete functionality may lead to it being rejected. A description of the aim of the project is given here along with details of the functional and non-functional requirements for the system. The test sheets for evaluating the completed system are also presented. The requirements of the Web-based management information system are to develop: • 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: • To develop a blood donor database • To develop a client interface that allows privileged users to carry out tasks such as inserting or modifying and deleting data in the database; • To develop a searching functionality in order to allow normal and privileged users to search the details of a given donor, blood group. • To fully integrate the Web-based management information system to the World-
/ Wide-Web 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.Non-Functional Requirements
!he system must be developed to suit the particular needs of a user#friendly environment. !his means that the system must accommodate a clearly understandable user interface as well as clear online help documentation at any stage of the user interaction with the system. ( fast response time in obtaining and providing information to the system may also prove to be a significant advantage. In addition to these re$uirements, the system should also embrace the following re$uirements>#
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.
Online help and documentation should be provided.
Performance: The system should have a quick response time.
System and Browser compatibility Testing: The system should be accessible on the
following browsers - Microsoft Internet Explorer 5.5+, NetScape Navigator 6.0+ and Mozilla 1. 3+.
0
2.3.H""% R%)"%0%+'(
•
*entium;-< Dual#?ore ?*3 /.55@&A
•
-(M +@B and (bove
•
&DD +5 @B &ard Dis% Space and (bove
2.4.S#'"% R%)"%0%+'( •
6ID6S S *
•
!ext editor
•
(pache !omcat 9.5.x software
•
:ava SE Development =it 8
•
:ava Standard Edition -untime Environment
•
racle Database Express Edition ))g
•
6eb browsers i. Internet Explorer 8 or newer ii. Mo'illa irefox iii. @oogle chrome
1
3.ANALYSIS
3.1.E)(')+ S9('%0 Manual systems put pressure on people to be correct in all details of their wor% at all times, the problem being that people arenCt perfect, however much each of us wishes we were. 6ith manual systems the level of service is dependent on individuals and this puts a re$uirement on management to run training continuously for staff to %eep 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. !his has the effect of not only causing problems with customer service but also ma%ing information unable be used for reporting or finding trends with data discovery. -eporting and chec%ing that data is robust can be timely and expensive. !his is often an area where significant money can be saved by automation. It ta%es more effort and physical space to %eep trac% of paper documents, to find information and to %eep details secure. 6hen mista%es are made or changes or corrections are needed, often a manual transaction must be completely redone rather than "ust updated. 6ith 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. (nother impact of manual systems is on ?ustomer service. ?ustomer $ueries can be difficult to respond to as information is stored in different places and may even re$uire that you find the right person before being able to respond. !his is no good if they are out to lunch or only wor% part time. •
Inconsistency in data entry, room for errors.
•
4arge ongoing staff training cost.
•
System is dependent on good individuals.
7
•
-eduction in sharing information and customer services.
•
!ime consuming and costly to produce reports.
•
4ac% of security.
•
Duplication of data entry. 6hich raises the $uestion if systemisation has such benefits, why arenCt all
organisations running fully integrated systems. !here is always the obvious balance of cost vs benefit, as an organisation grows and adds people and functions the benefits of systems increases. ften when an organisation is growing itCs 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 itCs the hardest time to ma%e a change. !hese is another factor to be considered before automating your organisation and this is that good processes must already be in place. *utting in a system in most cases wonCt successfully apply a process where one hasnCt existed before. !he most effective way to get benefit from a new system is where a good manual operations exist and your new system automate these. 4imitations of the Manual system> •
It is time consuming
•
It leads to error prone results
•
It consumes lot of manpower to better results
•
It lac%s data security
•
-etrieval of data ta%es lot of time
•
*ercentage of accuracy is less
•
3pdating records ta%es lot of time
•
(ccessing records also ta%e time.
2
3.2.P"#*#(% S9('%0> (n efficient blood ban% management system should be developed, with the aim of ensuring that every patient has access to an ade$uate $uantity of safe blood. !he management system should solve the issue of demand and wastage and lead to self#sufficiency in blood re$uirement. !his should encourage new donors and retain old donors to donate blood. !his system is used to maintain whole information about blood donation management.
3.3.M#/"):')#+ Modulari'ation is a techni$ue to divide a software system into multiple discrete and independent modules, which are expected to be capable of carrying out tas%;s< independently. !hese modules may wor% as basic constructs for the entire software. Designers tend to design modules such that they can be executed andor compiled separately and independently. Modular design unintentionally follows the rules of divide and con$uerC problem# solving strategy this is because there are many other benefits attached with the modular design of a software. (dvantage of modulari'ation> •
Smaller components are easier to maintain
•
*rogram can be divided based on functional aspects
•
Desired level of abstraction can be brought in the program
•
?omponents with high cohesion can be re#used again
•
?oncurrent execution can be made possible
•
Desired from security aspect
In this pro"ect there are mainly / modules. •
(dmin
•
Donors
•
(cceptors
8
A0)+ > In this module the (dministrator has the privileges to add all the Blood @roups, Blood !ype. &e can search about all the information about the Donor. !his module focuses on the both donors F acceptors. Each member in a donor is given a user name and password, which identifies him uni$uely. !he options given to administrator in the interface are # ?hange *assword, Maintain donor details, 3pdate donor details. (dmin can •
Maintain donor details
•
3pdate donor details
•
Delete donor details
•
?hange password
D#+#"> Donor is that person who is interested in donating their blood so they can register themselves through this website. If any re$uirement comes then they will be contacted and they can donate their blood. (long with it they can search for a particular blood group if needed. Each member in a Donor module is given a user id and password, which identifies him uni$uely. !he member is given a login form. &e enters the login details user id and password.
!he options given to Donor are> •
?hange password
•
ind a Blood donor of a specific blood group.
•
Edit *rofile
•
re$uently (s%ed Guestions about Blood donation.
•
4ogout
A&&%*'#"> In this module any general user who is not registered as a Donor can also ma%e re$uest for blood if needed. Donor can also ma%e a re$uest for blood if needed. &e 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. !he options given to (cceptors are> •
-egister as a blood Donor. ;If not yet registered<
•
ind a Blood donor for a specific blood group.
•
re$uently (s%ed Guestions about Blood donation.
(-+'%( ). 3ser friendliness is provided in the application with various controls. +. !he system ma%es the overall pro"ect management much easier and flexible. /. !here is no ris% of data mismanagement at any level while the pro"ect development is under process. 0. It provides high level of security with different level of authentication.
S9('%0 D',(% Stores all the details about the donor information. !here will be an option for updating the personal information by the users. !his is for trac%ing and managing information.
)5
3.4.UML D)"0(
U(% C(% D)"0 •
!he 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.
•
( 3M4 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.
U(%" M#%/ ;)% •
!his view represents the system from the userCs perspective.
•
!he analysis representation describes a usage scenario from the end#users perspective.
S'"&'"/ 0#%/ -)% •
In this model the data and functionality are arrived from inside the system.
•
!his model view models the static structures.
B%<-)#"/ 0#%/ -)% It represents the dynamic of behavioral as parts of the system, depicting the interactions of collection between various structural elements described in the user model and structural model view.
I0*/%0%+'')#+ M#%/ ;)%
)) In this the structural and behavioral as parts of the system are represented as they are to be built.
E+-)"#+0%+'/ M#%/ ;)% In this the structural and behavioral aspects of the environment in which the system is to be implemented are represented.
3M4 is specifically constructed through two different domains they are
•
3M4 (nalysis modeling, which focuses on the user model and structural model views of the system.
•
3M4 design modeling, which focuses on the behavioral modeling, implementation modeling and environmental model views.
3se case Diagrams represent the functionality of the system from a userCs point of view. 3se cases are used during re$uirements elicitation and analysis to represent the functionality of the system. 3se cases focus on the behavior of the system from external point of view. (ctors are external entities that interact with the system. Examples of actors include users li%e administrator, ban% customer Hetc., or another system li%e central database.
U(% &(% M#%/
)+
SYSTEM NAME
Use case 1
Use case 2
(ctor
(ctor
Use case n
B/## D#+')#+ 0+%0%+' (9('%0
&ome *age
3.4.1.U(% C(%( O B/## D#+')#+ M+%0%+' S9('%0 4ogin *age
U(% &(% F#" A0)+ M#/% Donor &ome *age
Donor (ccount Details
Search donor
(bout us
(G page
)/
A0)+
U(% &(% F#" D#+#" M#/% B/## D#+')#+ 0+%0%+' (9('%0
&ome *age
4ogin *age
Donor &ome *age
Donor (ccount Detail
Search Donor
D#+#"
(bout us
(G page
)0
U(% &(% F#" A&&%*'#" M#/% B/## D#+')#+ A%+' I+'%"&%
&ome *age
Search Donor
-egistration page
(bout us
A&&%*'#" (G page
)1
4.DESIGN Software design is a process to transform user re$uirements into some suitable form, which helps the programmer in software coding and implementation. or assessing user re$uirements, an S-S ;Software -e$uirement Specification< document is created whereas for coding and implementation, there is a need of more specific and detailed re$uirements in software terms. !he output of this process can directly be used into implementation in programming languages. Software design is the first step in SD4? ;Software Design 4ife ?ycle<, which moves the concentration from problem domain to solution domain. It tries to specify how to fulfill the re$uirements mentioned in S-S. 4.1.S#'"% D%()+ L%-%/(
Software design yields three levels of results>
)7
•
A"&<)'%&'"/ D%()+ = !he architectural design is the highest abstract version of the
system. It identifies the software as a system with many components interacting with each other. (t this level, the designers get the idea of proposed solution domain. •
H)<=/%-%/ D%()+= !he high#level design brea%s the single entity#multiple
componentC concept of architectural design into less#abstracted view of sub#systems and modules and depicts their interaction with each other. &igh#level design focuses on how the system along with all of its components can be implemented in forms of modules. It recogni'es modular structure of each sub#system and their relation and interaction among each other. •
D%')/% D%()+= 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.
4.2.>#"?)+ # O" >%,()'%
)2
4.3.S&%+")# # T<% P"#*#(% M%'<#
Acceptor
)8
Donor
!hrough this application any person who is interested in donating the blood can register himself by entering the details.
(cceptor can find a donor by searching in this website and can contact him through the results displayed in this site, to re$uest blood.
( dm in
i s t he
m ai n a ut ho ri ty w ho c an d o a dd it io n,
modification if re$uired.
5.DATABASE TABLES
5.1. E+')')%(
de le ti on , a nd
)9
• •
usereg donordetails
5.2. E+')')%( )'< ''"),'%( .(%"% • •
username pass
,.#+#"%')/( • • • • • • • • •
dname age dgrp gender address phoneno email username availability
5.3.D' D)&')#+"9 U(%"% S+# C#/0+ +0% D' '9*% ) username archar+;)7< + pass archar+;+5<
C#+('")+' "%%"%+&% *rimary =ey (llow ull
+5
#+#"%')/(
S+# ) + / 0 1 7 2 8
C#/0++0% Dname age dgrp gender address phoneno email username
D''9*% archar+;+1< number archar+;1< ?har;)5< archar+;)55< ?har;)5< ?har;05< archar+;)7<
9
availability
archar+;)+<
C#+('")+' R%%"%+&% (llow ull (llow ull (llow ull (llow ull (llow ull (llow ull (llow ull *rimary %ey 3sereg;username< oreign %ey (llow ull
6. DESCRIPTION OF TECHNOLOGIES USED
A*&<% T#0&' @.!.!.M
(pache !omcat, often referred to as !omcat, is an open#source web server developed by the (pache Software oundation ;(S<. !omcat implements several :ava EE specifications including :ava Servlet, :avaServer *ages ;:S*<, :ava E4, and 6ebSoc%et, and provides a Jpure :avaJ &!!* web server environment in which :ava code can run.
!omcat is developed and maintained by an open community of developers under the auspices of the (pache Software oundation, released under the (pache 4icense +.5 license, and is open#source software.
S%"-/%'(
+) Servlets are the :ava platform technology of choice for extending and enhancing 6eb servers. Servlets provide a component#based, platform#independent method for building 6eb#based applications, without the performance limitations of ?@I programs. Servlets have access to the entire family of :ava (*Is, including the :DB? (*I to access enterprise databases. Servlets can also access a library of &!!*#specific calls and receive all the benefits of the mature :ava language, including portability, performance, reusability, and crash protection.
><' "% S%"-/%'( :ava Servlets are programs that run on a 6eb or (pplication server and act as a middle layer between a re$uest coming from a 6eb browser or other &!!* client and databases or applications on the &!!* server. 3sing Servlets, you can collect input from users through web page forms, present records from a database or another source, and create web pages dynamically. :ava Servlets often serve the same purpose as programs implemented using the ?ommon @ateway Interface ;?@I<. But Servlets offer several advantages in comparison with the ?@I. •
*erformance is significantly better.
•
Servlets execute within the address space of a 6eb server. It is not necessary to create a separate process to handle each client re$uest.
•
Servlets are platform#independent because they are written in :ava.
•
:ava security manager on the server enforces a set of restrictions to protect the resources on a server machine. So servlets are trusted.
•
!he full functionality of the :ava class libraries is available to a servlet. It can communicate with applets, databases, or other software via the soc%ets and -MI mechanisms that you have seen already.
Servlet can be described in many ways, depending on the context. •
Servlet is a technology i.e. used to create web application.
++
•
Servlet is an (*I 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 re$uest. It can respond to any type of re$uests.
•
Servlet is a web component that is deployed on the server to create dynamic web page.
S%"-/%'( A"&<)'%&'"% ollowing diagram shows the position of Servlets in a 6eb (pplication.
S%"-/%'( T(?( Servlets perform the following ma"or tas%s>
+/
•
-ead the explicit data sent by the clients ;browsers<. !his includes an &!M4 form on a 6eb page or it could also come from an applet or a custom &!!* client program.
•
-ead the implicit &!!* re$uest data sent by the clients ;browsers<. !his includes coo%ies, media types and compression schemes the browser understands, and so forth.
•
*rocess the data and generate the results. !his process may re$uire tal%ing to a database, executing an -MI or ?-B( call, invo%ing a 6eb service, or computing the response directly.
•
Send the explicit data ;i.e., the document< to the clients ;browsers<. !his document can be sent in a variety of formats, including text ;&!M4 or M4<, binary ;@I images<, Excel, etc.
•
Send the implicit &!!* response to the clients ;browsers<. !his includes telling the browsers or other clients what type of document is being returned ;e.g., &!M4<, setting coo%ies and caching parameters, and other such tas%s.
S%"-/%'( P&?%( :ava Servlets are :ava classes run by a web server that has an interpreter that supports the :ava Servlet specification. Servlets can be created using the "avax.servlet and "avax.servlet.http pac%ages, which are a standard part of the :avaKs enterprise edition, an expanded version of the :ava class library that supports large#scale development pro"ects. !hese classes implement the :ava Servlet and :S* specifications. (t the time of writing this tutorial, the versions are :ava Servlet +.1 and :S* +.). :ava servlets have been created and compiled "ust li%e any other :ava class. (fter you install the servlet pac%ages and add them to your computerKs classpath, you can compile servlets with the :D=Ks :ava compiler or any other current compiler.
+0
><' )( %, **/)&')#+ ( web application is an application accessible from the web. ( web application is composed of web components li%e Servlet, :S*, ilter etc. and other components such as &!M4. !he web components typically execute in 6eb Server and respond to &!!* re$uest.
A-+'% # S%"-/%' !here are many advantages of servlet over ?@I. !he web container creates threads for handling the multiple re$uests to the servlet. !hreads have a lot of benefits over the *rocesses such as they share a common memory area, lightweight, cost of communication between the threads are low. !he basic benefits of servlet are as follows> ). B%''%" *%"#"0+&% because it creates a thread for each re$uest not process. +. P#"',)/)'9 because it uses "ava language. /. R#,(' Servlets are managed by :M so we donKt need to worry about memory lea%, garbage collection etc. 0. S%&"% because it uses "ava language.
- S%"-%" P%( @SP :S* technology enables 6eb developers and designers to rapidly develop and easily maintain, information#rich, dynamic 6eb pages that leverage existing business systems. (s part of the :ava technology family, :S* technology enables rapid development of 6eb#based applications that are platform independent. :S* technology separates the user interface from content generation, enabling designers to change the overall page layout without altering the underlying dynamic content.
><' )( - S%"-%" P%(
+1 :ava Server *ages ;:S*< is a technology for developing web pages that support dynamic content which helps developers insert "ava code in &!M4 pages by ma%ing use of special :S* tags, most of which start with L and end with N. ( :ava Server *ages component is a type of :ava servlet that is designed to fulfill the role of a user interface for a :ava web application. 6eb developers write :S*s as text files that combine &!M4 or &!M4 code, M4 elements, and embedded :S* actions and commands. 3sing :S*, you can collect input from users through web page forms, present records from a database or another source, and create web pages dynamically. :S* tags can be used for a variety of purposes, such as retrieving information from a database or registering user preferences, accessing :avaBeans components, passing control between pages and sharing information between re$uests, pages etc.
><9 (% SP :ava Server *ages often serve the same purpose as programs implemented using the ?ommon @ateway Interface ;?@I<. But :S* offer several advantages in comparison with the ?@I. •
*erformance is significantly better because :S* allows embedding Dynamic Elements in &!M4 *ages itself instead of having a separate ?@I files.
•
:S* are always compiled before itKs processed by the server unli%e ?@I*erl which re$uires the server to load an interpreter and the target script each time the page is re$uested.
•
:ava Server *ages are built on top of the :ava Servlets (*I, so li%e Servlets, :S* also has access to all the powerful Enterprise :ava (*Is, including :DB?, :DI, E:B, :(* etc.
•
:S* pages can be used in combination with servlets that handle the business logic, the model supported by :ava servlet template engines.
+7 inally, :S* is an integral part of :ava EE, a complete platform for enterprise class applications. !his means that :S* can play a part in the simplest applications to the most complex and demanding.
A-+'%( # SP ollowing is the list of other advantages of using :S* over other technologies> •
A&')-% S%"-%" P%( @ASP !he advantages of :S* are twofold. irst, the dynamic
part is written in :ava, not isual 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 6eb servers. •
P"% S%"-/%'( It is more convenient to write ;and to modifyO< regular &!M4 than to
have plenty of println statements that generate the &!M4. •
S%"-%"=S)% I+&/%( @SSI SSI is really only intended for simple inclusions, not for
JrealJ programs that use form data, ma%e database connections, and the li%e. •
-S&")*' :avaScript can generate &!M4 dynamically on the client but can hardly
interact with the web server to perform complex tas%s li%e database access and image processing etc. •
S'')& HTML -egular &!M4, of course, cannot contain dynamic information.
:S* technology is used to create web application "ust li%e Servlet technology. It can be thought of as an extension to servlet because it provides more functionality than servlet such as expression language, "stl etc.
+2 ( :S* page consists of &!M4 tags and :S* tags. !he :S* pages are easier to maintain than servlet because we can separate designing and development. It provides some additional features such as Expression 4anguage, ?ustom !ag etc.
A-+'% # SP #-%" S%"-/%' !here are many advantages of :S* over servlet. !hey are as follows> 1 E'%+()#+ '# S%"-/%'
:S* technology is the extension to servlet technology. 6e can use all the features of servlet in :S*. In addition to, we can use implicit ob"ects, predefined tags, expression language and ?ustom tags in :S* that ma%es :S* development easy. 2 E(9 '# 0)+')+
:S* 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. 3 F(' D%-%/#*0%+' N# +%% '# "%*)/% + "%%*/#9
If :S* page is modified, we donKt need to recompile and redeploy the pro"ect. !he servlet code needs to be updated and recompiled if we have to change the loo% and feel of the application. 4 L%(( % '<+ S%"-/%'
In :S*, we can use a lot of tags such as action tags, "stl, custom tags etc. that reduces the code. Moreover, we can use E4, implicit ob"ects etc.
S9+'
+8 :S* pages use several delimiters for scripting functions. !he most basic is ... , which encloses a :S* scriptlet. ( scriptlet is a fragment of :ava code that is run when the user re$uests the page. ther common delimiters include ... for expressions, where the scriptlet and delimiters are replaced with the result of evaluating the expression, and directives, denoted with ... . :ava code is not re$uired to be complete or self#contained within a single scriptlet bloc%. It can straddle mar%up content, provided that the page as a whole is syntactically correct. or example, any :ava ifforwhile bloc%s opened in one scriptlet must be correctly closed in a later scriptlet for the page to successfully compile. ?ontent which falls inside a split bloc% of :ava code ;spanning multiple scriptlets< is sub"ect to that code. ?ontent inside an ifC bloc% will only appear in the output when the ifC condition evaluates to true. 4i%ewise, content inside a loop construct may appear multiple times in the output, depending upon how many times the loop body runs.
C#0*)/%" ( :avaServer *ages compiler is a program that parses :S*s, and transforms them into executable :ava Servlets. ( program of this type is usually embedded into the application server and run automatically the first time a :S* 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 :S* containers support configuring how often the container chec%s :S* file timestamps to see whether the page has changed. !ypically, 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 6eb application.
+9
SP S&")*'/%' ' @S&")*')+ %/%0%+'( In :S*, "ava code can be written inside the :S* page using the scriptlet tag.
SP S&")*')+ %/%0%+'( !he scripting elements provides the ability to insert "ava code inside the :S*. !here are three types of scripting elements> •
scriptlet tag
•
expression tag
•
declaration tag
SP (&")*'/%' '
( scriptlet tag is used to execute "ava source code in :S*. Syntax is as follows> S9+' # SP (&")*'/%' '
L "ava source code N SP %*"%(()#+ '
!he code placed within :S* 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. S9+' # SP %*"%(()#+ '
LP statement N SP D%&/"')#+ T
!he :S* declaration tag is used to declare fields and methods.!he code written inside the "sp declaration tag is placed outside the service;< method of auto generated servlet. So it doesnKt get memory at each re$uest.
/5 S9+' # SP %&/"')#+ '
!he syntax of the declaration tag is as follows> LO field or method declaration N
H9*%" T%' M"?=* L+% &!M4 is a predominant mar%#up language for the creation of web pages. It provides a means to describe the structure of text#based information in a document by denoting certain text as headings, paragraphs, lists and to supplement that text with interactive forms, embedded images, and other ob"ects.
C(&)+ S'9/% S<%%'( ;CSS< is a style sheet language used for describing the presentation of a document written in a mar%up language. (lthough most often used to set the visual style of web pages and user interfaces written in &!M4.
-S&")*' is a high#level, dynamic and interpreted programming language. It has been standardi'ed in the E?M(Script language specification. (longside &!M4 and ?SS, it is one of the three core technologies of 6orld 6ide 6eb content productionQ the ma"ority of websites employ it and it is supported by all modern 6eb browsers without plug#ins.
O"&/% D',(% racle Database ;commonly referred to as racle -DBMS or simply as racle< is an ob"ect#relational database management system produced and mar%eted by racle ?orporation.
racle Database ))g Express Edition ;racle Database E< is an entry#level, small# footprint database based on the racle Database ))g -elease + code base. ItKs free to develop, deploy, and distributeQ fast to downloadQ and simple to administer.
E0*/% '# ++%&' '# '<% O"&/% ',(%
/) or connecting "ava application with the oracle database, you need to follow 1 steps to perform database connectivity. In this example we are using racle))g as the database. So we need to %now following information for the oracle database>
•
D")-%" &/((> !he driver class for the oracle database is
oracle."dbc.driver.racleDriver. •
C#++%&')#+ URL> !he connection 3-4 for the oracle)5@ database is
"dbc>oracle>thin>Rlocalhost>)1+)>xe where :DB? is the (*I, oracle is the database, thin is the driver, localhost is the server name on which oracle is running, we may also use I* address, )1+) is the port number and E is the racle service name. ou may get all these information from the tnsnames.ora file. •
U(%"+0%> !he default username for the oracle database is system.
•
P((#" > *assword is given by the user at the time of installing the oracle database.
step) load the driver class ?lass.forame;Joracle."dbc.driver.racleDriverJ
?onnection conPDriverManager.get?onnection; J"dbc>oracle>thin>Rlocalhost>)1+)>xeJ,Jsyst emJ,JoracleJ
RDBMS> -(?4E DBC ")-%" +0% oracle."dbc.driver.racleDriver URL #"0' "dbc>oracle>thin>Rhostname>port umber>databaseame
O"&/% ( 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 SG4 Server. !hese systems allow users to create, update and extract information from their database.
( database is a structured collection of data. Data refers to the characteristics of people, things and events. racle stores each data item in its own fields. In racle, the fields relating to a particular person, thing or event are bundled together to form a single complete
/+ 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. o two fields in a record can have the same field name.
During an racle Server Database design pro"ect, 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.
T,/%(
racle stores records relating to each other in a table. Different tables are created for the various groups of information. -elated tables are grouped together to form a database.
P")0"9 %9
Every table in database has a field or a combination of fields that uni$uely identifies each record in the table. !he 3ni$ue identifier is called the *rimary =ey, or simply the =ey. !he primary %ey 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.
R%/')#+/ D',(%
Sometimes all the information of interest to a business operation can be stored in one table. racle ma%es it very easy to lin% the data in multiple tables. Matching an employee to the department in which they wor% is one example. !his is what ma%es racle a relational database management system, or -DBMS. 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.
F#"%)+ %9
6hen a field is one table matches the primary %ey of another field is referred to as a foreign %ey. ( foreign %ey is a field or a group of fields in one table whose values match those of the primary %ey of another table.
7.CODING
//
databaseTinsert."ava
/0
/1
update."sp
/7
/2
/8
8.TESTING
I+'"#&')#+ Software testing is a critical element of software $uality 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. ( 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. !esting is the set of activities that can be planned in advance and conducted systematically. !he underlying motivation of program testing is to affirm software $uality with methods that can economically and effectively apply to both strategic to both large and small#scale systems.
S'"'%)& A**"#&< '# S#'"% T%(')+
!he software engineering process can be viewed as a spiral. Initially system engineering defines the role of software and leads to software re$uirement analysis where the information domain, functions, behavior, performance, constraints and validation criteria for software are established. Moving inward along the spiral, we come to design and finally to coding. !o develop computer software we spiral in along streamlines that decrease the level of abstraction on each turn.
3I! !ES!I@
MD34E !ES!I@
Component Testing
S3B#SS!EM !ESI@
SS!EM !ES!I@
Integration Testing
User Testing
(??E*!(?E !ES!I@
/9
M+/ T%(')+>
Manual testing is the process of manually testing software for defects. It re$uires a tester to play the role of an end user and use most of all features of the application to ensure correct behavior. !o ensure completeness of testing, the tester often follows a written test plan that leads them through a set of important test cases.
O-%"-)% ( %ey step in the process is, testing the software for correct behaviour prior to release to end users. or small scale engineering efforts ;including prototypes<, exploratory testing may be sufficient. 6ith 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. !he success of exploratory manual testing relies heavily on the domain expertise of the tester, because a lac% of %nowledge will lead to incompleteness in testing. ne of the %ey advantages of an informal approach is to gain an intuitive insight to how it feels to use the application. 4arge scale engineering pro"ects that rely on manual software testing follow a more rigorous methodology in order to maximi'e the number of defects that can be found. ( systematic approach focuses on predetermined test cases and generally involves the following steps. ). ?hoose a high level test plan where a general methodology is chosen, and resources such as people, computers, and software licenses are identified and ac$uired. +. 6rite detailed test cases, identifying clear and concise steps to be ta%en by the tester, with expected outcomes. /. (ssign the test cases to testers, who manually follow the steps and record the results.
05 0. (uthor a test report, detailing the findings of the testers. !he 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. !esting can be through blac%#, white# or grey#box testing. In white#box testing the tester is concerned with the execution of the statements through the source code. !his type of testing ensures that •
(ll independent paths have been exercised at least once
•
(ll logical decisions have been exercised on their true and false sides
•
(ll loops are executed at their boundaries and within their operational bounds
•
(ll internal data structures have been exercised to assure their validity.
!o follow the concept of white box testing we have tested each form .we have created independently to verify that Data flow is correct, (ll conditions are exercised to chec% their validity, (ll loops are executed on their boundaries. In blac%#box testing the software is run to chec% for the defects and is less concerned with how the processing of the input is done. Blac%#box testers do not have access to the source code. @rey#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 re$uirements, syntax of code and any other activities that do not include actually running the code of the program. !esting can be further divided into functional and non#functional testing. In functional testing the tester would chec% the calculations, any lin% on the page, or any other field which on given input, output may be expected. on#functional testing includes testing performance, compatibility and fitness of the system under test, its security and usability among other things.
0)
S'%( !here are several stages. !hey are> 3nit !esting !his initial stage in testing normally carried out by the developer who wrote the code and sometimes by a peer using the white box testing techni$ue. Integration !esting !his stage is carried out in two modes, as a complete pac%age or as an increment to the earlier pac%age. Most of the time blac% box testing techni$ue is used. &owever, sometimes a combination of Blac% and 6hite box testing is also used in this stage. System !esting In this stage the software is tested from all possible dimensions for all intended purposes and platforms. In this stage Blac% box testing techni$ue is normally used. 3ser (cceptance !esting !his testing stage carried out in order to get customer sign#off of finished product. ( KpassK in this stage also ensures that the customer has accepted the software and is ready for their use. -elease or Deployment !esting nsite team will go to customer site to install the system in customer configured environment and will chec% for the following points> ). 6hether Set3p.exe is running or not. +. !here are easy screens during installation /. &ow much space is occupied by system on &DD 0. 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.
0+
.OUTPUT SCREENS &ome page
(bout 3s *age
0/
Donor registration form
00
?lic% go bac% lin% and select another user name 4ogin page displays after registering
6elcome *age
01
Successfully updated your profile
Edit password page
07
If invalid password is entered
n successfully changing password
Search for a donor
02
Donor details
08
If no donor of that blood group exist
1!.CONCLUSION It has been a great pleasure for me to wor% on this exciting and challenging pro"ect. !his pro"ect proved good for me as it provided practical %nowledge of not only programming in "sp and "ava servlets web based application and to some extent databases, but also about all handling procedure related with JO+/)+% B/## D#+')#+ M+%0%+'K. It also provides %nowledge about the latest technology used in developing web enabled application and client server technology that will be great demand in future. !his will provide better opportunities and guidance in future in developing pro"ects independently.
B%+%)'( !he pro"ect is identified by the merits of the system offered to the user. !he merits of this pro"ect are as follows> # •
ItCs a web#enabled pro"ect.
09
•
!his pro"ect offers user to enter the data through simple and interactive forms. !his is very helpful for the client to enter the desired information through so much simplicity.
•
!he user is mainly more concerned about the validity of the data, whatever he is entering. !here are chec%s 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 pro"ect that he needs to update some of the information that he entered earlier. !here 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. !his %eeps the validity of the data to longer extent.
•
3ser is provided the option of monitoring the records he entered earlier.
•
rom every part of the pro"ect the user is provided with the lin%s through framing so that he can go from one option of the pro"ect to other as per the re$uirement. !his is bound to be simple and very friendly as per the user is concerned. !hat is, we can say that the pro"ect is user friendly which is one of the primary concerns of any good pro"ect.
•
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 ma%ing process would be greatly enhanced because of faster processing of information since data collection from information available on computer ta%es much less time than manual system.
•
Easier and faster data transfer through latest technology associated with the computer and communication.
•
!hrough these features it will increase the efficiency, accuracy and transparency,
L)0)'')#+( •
!he si'e of the database increases day#by#day, increasing the load on the database bac% up and data maintenance activity.
•
!raining for simple computer operations is necessary for the users wor%ing on the system.
15
11.REFERENCE
https>www.google.co.in http>www.w/schools.com http>stac%overflow.com http>www."avatpoint.com http>www.friends+support.orgindex.aspx http>www.redcross.org https>www.wi%ipedia.org www.tutorialspoint.com