Вы находитесь на странице: 1из 98

INTRODUCTION

1
About the organization

Lois technologies is quickly emerging as an innovative and essential business


software applications development resource. Since 1985, Lois technologies has
provided custom design, implementation and support solutions to a variety of
information management industries and business environments. Experienced and
intuitive, the professionals at Lois technologies understand how fast technologies
change and we remain committed to solving the unique information management
application challenges of today's business world while developing and evolving
strategies for tomorrows.

With over twenty combined years of professional software development


experience, the principals at Lois technologies are business applications authorities.
As specialists, we've learned to anticipate individual client application needs and
design software suites to complement virtually every hardware technology. We offer
24-hour customer service and employ a qualified team of trainers, technicians and
creative designers who assist in developing the comprehensive, user-friendly software
programs that distinguish Lois technologies as the perfect answer to the often
puzzling questions inherent in contemporary information management technologies.

We’ve been working on an offshore development model from day 1 and have
perfected the process of onsite-offshore interaction over the past seven years. Our
services are highly cost effective enabling our clients to get the best value for their
money.

Working primarily within Sun family of products to combine expert use of


hardware technology and state-of-the-art software, Lois technologies is "ware" it's at!
From software programming and applications development including custom Internet
integration to system architecture and technical design, through continuous support
solutions, Lois technologies pieces together today's information management puzzle

2
to create optimal, full integrated, interactive packages that best meet global business
demands.

Working one-on-one, we can develop innovative applications that not only


satisfy your specific business requirements, but also complement your company's
investment in essential information management technologies. We're dedicated to
making you look good custom design "ware" by Lois technologies it’s the solution
that fits!

Lois technologies understands the significance of a good quality assurance


(QA) process for creating world-class products. With hundreds of person-years of
experience in the field of testing, it has expertise in the development and execution of
tests for applications in the client/server, internet/web and the mobile space, using
both automated and manual methodologies. Functional testing verifies whether a
product/application performs as per specifications

3
About the project

The purpose of this software specification (SS) is to establish the major


requirements & Specification necessary to develop the Software Systems for the
Developers. The overall objective of the Team Project is to establish a web-based. The
goal of this document is the same as any requirements document, to lay out all
requirements of the application in order to have both the developers and the end users
maintaining the same understanding and expectations from the application. The
project requirements will define, in general terms, the setup of the web site, topics for
available information concerning the Software Project Management.

This H1B Visa Processing is a web-based application for Horizone


Technologies, who is going to give the other processors.

This web-based application is for the employees of an organization for


processing their visa applications. HR Manager is considering as Site Admin and he is
having the control over all the users. HR Manager can create any no of HR Executive
logins and authenticated them. HR Executives are the responsible persons to execute
the process of Visa applications and their Onsite Details.

Company Employees, those who are willing enquire about visa status are able
to login into this portal. Their empID is considered as username and their password
will be given by Company HR during his/her joining. Onsite employees may apply
for visa renewal thro this project.

The client of this project is any organization who is having many abroad and
US clients. This type of organizations is frequently sending their employees for their

4
US client. Our project is used to process their visa and store all the details regarding
the passport holder. Our project will handle all type of visas, and very much
concentrate in H1B visa processing. It will generate all possible reports, which are
need by Consulate.

SYSTEM ANALYSIS

5
Existing system

The problems, which are perceived by the customers / users in existing systems, are

 Less Efficiency and accuracy due to lot of manual entries


 More Time Delay for payments.
 Increased expenditure for storage
 Lag of information while enquire about particular employee
 Increased in Labor

Proposed system

The proposed system is designed to provide a solution for the drawbacks of


present system. It aims to:

 Replace Manual Processing system with an automated one.


 Speedup Transactions
 Reduce the chances of malpractices associated in a manual system.
 Reduce the workload involved in processing
 Update information system and provide easy access to corresponding
information.
 Full automated data storing through online
 Online Checking Visa Status of employee.

6
Feasibility study

 The client of this project is any organization who is having many


abroad clients especially US clients.
 This type of organizations is frequently sending their employees for
their abroad client for onsite training and maintenance.
 Our project is used to process their visa and store all the details
regarding the passport holder.
 Our project will handle all type of visas, and very much concentrate in
H1B visa processing.
 It will generate all possible reports, which are need by Consulate.

7
SYSTEM REQUIREMENT
SPECIFICATION

8
Purpose

The purpose of this document is to describe all external


requirements for the Visa Processing Information System. It also describes the
interfaces for the system. It is

To implement Visa Processing Information System we need basic java


concepts to interact with the internal part of the code.

Using JDBC we can observer how the java code will be interact with the
database and using servlet & JSP’s we can see how we can develop the presentation
logic and business logic.

Database Tier

The concentration is applied by adopting the Orace 10g version. SQL is taken
as the standard query language. The overall business rules are designed by using the
power of different SQL components like auto increment features, writing inner
queries functions and database triggers.

User Tier

The user interface is developed is a browses specific environment to have


distributed architecture. The components are designed using HTML standards and
Java server pages power the dynamic of the page design.

9
Data Base Connectivity Tier

The communication architecture is designed by concentrated on the standards


of servlets and java beans. The database connectivity is established using the Java
Database connectivity.

Functional Specification

 HR Manager should create/modify the HR Executives details.


 HR Manager should delete the HR Executives.
 HR Manager should view the list of HR Executives.
 HR Manager should view visa renewal information
 HR Manager should view visa status information
 HR Manager should view interview reports
 HR Manager should view results reports
 HR Executive should enter employee application details
 HR Executive should enter enquiry details
 HR Executive should enter interview details
 HR Executive should enter result details
 HR Executive should enter onsite departure details
 HR Executive should enter onsite arrival details
 Employee should enquire about his visa status
 Employee should request for the visa renewal.
 Employee should view visa renewal information
 Employee should view visa process status information.

10
Non-Functional Specifications

Constraints

These are the requirements that are not directly related to the functionality of
the system. These should be considered as mandatory when the system is developed.
The following Constraints were arrived at for the system:

 The system should be available across the internet, the Users like the
Administrator (HR – Manager), HR Executive and Employee can use the
system from their respective systems.
 For gaining entry into the system the HR Executive details should be
registered by the HR Manager and these users should use login & passwords
for gaining access in to this system.
 The users should be able to change their passwords for increased security.
 The system should be easy to understand and organized in a structured way

 There should be no limitation about the hardware platform that is to be used to


run the system.
 Data integrity should be maintained if an error occurs or the whole system
comes down.

11
OPERATING ENVIRONMENT

This section explains the various technologies and tools used for development
and deployment of the system.

HTML

HTML, an initialism of Hypertext Markup Language, is the predominant


markup language for 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 so on — and to supplement that text with interactive forms, embedded
images, and other objects. HTML is written in the form of labels (known as tags),
surrounded by angle brackets. HTML can also describe, to some degree, the
appearance and semantics of a document, and can include embedded scripting
language code which can affect the behavior of web browsers and other HTML
processors.

HTML is also often used to refer to content of the MIME type text/html or
even more broadly as a generic term for HTML whether in its XML-descended form
(such as XHTML 1.0 and later) or its form descended directly from SGML

Hyper Text Markup Language


Hypertext Markup Language (HTML), the languages of the World Wide Web
(WWW), allows users to produces Web pages that include text, graphics and pointer
to other Web pages (Hyperlinks).
HTML is not a programming language but it is an application of ISO Standard
8879, SGML (Standard Generalized Markup Language), but specialized to hypertext
and adapted to the Web. The idea behind Hypertext is that instead of reading text in

12
rigid linear structure, we can easily jump from one point to another point. We can
navigate through the information based on our interest and preference. A markup
language is simply a series of elements, each delimited with special characters that
define how text or other items enclosed within the elements should be displayed.
Hyperlinks are underlined or emphasized works that load to other documents or some
portions of the same document.
HTML can be used to display any type of document on the host computer,
which can be geographically at a different location. It is a versatile language and can
be used on any platform or desktop.

HTML provides tags (special codes) to make the document look attractive.
HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc.,
can enhance the presentation of the document. Anything that is not a tag is part of the
document itself.

Basic HTML Tags:


<! -- --> Specifies comments
<A>……….</A> Creates hypertext links
<B>……….</B> Formats text as bold
<BIG>……….</BIG> Formats text in large font.
<BODY>…</BODY> Contains all tags and text in the HTML
document
<CENTER>...</CENTER> Creates text
<DD>…</DD> Definition of a term
<DL>...</DL> Creates definition list
<FONT>…</FONT> Formats text with a particular font
<FORM>...</FORM> Encloses a fill-out form
<FRAME>...</FRAME> Defines a particular frame in a set of frames
<H#>…</H#> Creates headings of different levels( 1 – 6 )
<HEAD>...</HEAD> Contains tags that specify information about a
document
<HR>...</HR> Creates a horizontal rule
<HTML>…</HTML> Contains all other HTML tags
<META>...</META> Provides meta-information about a document

13
<SCRIPT>…</SCRIPT> Contains client-side or server-side script
<TABLE>…</TABLE> Creates a table
<TD>…</TD> Indicates table data in a table
<TR>…</TR> Designates a table row
<TH>…</TH> Creates a heading in a table
JavaScript

JavaScript is a script-based programming language that was developed by


Netscape Communication Corporation. JavaScript was originally called Live Script
and renamed as JavaScript to indicate its relationship with Java. JavaScript supports
the development of both client and server components of Web-based applications. On
the client side, it can be used to write programs that are executed by a Web browser
within the context of a Web page. On the server side, it can be used to write Web
server programs that can process information submitted by a Web browser and then
update the browser’s display accordingly.

Even though JavaScript supports both client and server Web programming, we
prefer JavaScript at Client side programming since most of the browsers supports it.
JavaScript is almost as easy to learn as HTML, and JavaScript statements can be
included in HTML documents by enclosing the statements between a pair of scripting
tags
<SCRIPTS>.. </SCRIPT>.
<SCRIPT LANGUAGE = “JavaScript”>
JavaScript statements
</SCRIPT>

Here are a few things we can do with JavaScript:


 Validate the contents of a form and make calculations.
 Add scrolling or changing messages to the Browser’s status line.
 Animate images or rotate images that change when we move the
mouse over them.
 Detect the browser in use and display different content for different
browsers.

14
 Detect installed plug-ins and notify the user if a plug-in is required.
We can do much more with JavaScript, including creating entire application.

15
XML – extensible Markup Language

XML is a markup language for documents containing structured information.


Structured information contains both content (words, pictures, etc.) and some
indication of what role that content plays (for example, content in a section heading
has a different meaning from content in a footnote, which means something different
than content in a figure caption or content in a database table, etc.). Almost all
documents have some structure.

A markup language is a mechanism to identify structures in a document. The


XML specification defines a standard way to add markup to documents.
The Extensible Markup Language (XML) is a general-purpose markup language.It is
classified as an extensible language because it allows its users to define their own
tags. Its primary purpose is to facilitate the sharing of structured data across different
information systems, particularly via the Internet.It is used both to encode documents
and serialize data. In the latter context, it is comparable with other text-based
serialization languages such as JSON and YAML.

It started as a simplified subset of the Standard Generalized Markup Language


(SGML), and is designed to be relatively human-legible. By adding semantic
constraints, application languages can be implemented in XML. These include
XHTML, RSS, MathML, GraphML, Scalable Vector Graphics, MusicXML, and
thousands of others. Moreover, XML is sometimes used as the specification language
for such application languages.

Why XML?

In order to appreciate XML, it is important to understand why it was created.


XML was created so that richly structured documents could be used over the web.
The only viable alternatives, HTML and SGML, are not practical for this purpose.
HTML, comes bound with a set of semantics and does not provide arbitrary structure.
SGML provides arbitrary structure, but is too difficult to implement just for a
web browser. Full SGML systems solve large, complex problems that justify their

16
expense. Viewing structured documents sent over the web rarely carries such
justification.

XML shall support a wide variety of applications. XML should be beneficial


to a wide variety of diverse applications: authoring, browsing, content analysis, etc.
Although the initial focus is on serving structured documents over the web, it is not
meant to narrowly define XML.

XML shall be compatible with SGML. Most of the people involved in the
XML effort come from organizations that have a large, in some cases staggering,
amount of material in SGML. XML was designed pragmatically, to be compatible
with existing standards while solving the relatively new problem of sending richly
structured documents over the web.

It shall be easy to write programs that process XML documents. The


colloquial way of expressing this goal while the spec was being developed was that it
ought to take about two weeks for a competent computer science graduate student to
build a program that can process XML documents.

XML syntax

As long as only well-formedness is required, XML is a generic framework for


storing any amount of text or any data whose structure can be represented as a tree.
The only indispensable syntactical requirement is that the document has exactly one
root element (alternatively called the document element). This means that the text
must be enclosed between a root opening tag and a corresponding closing tag. The
following is a well-formed XML document:

<book>This is a book.... </book>

17
Java Technology

Initially the language was called as “oak” but it was renamed as “Java” in
1995. The primary motivation of this language was the need for a platform-
independent (i.e., architecture neutral) language that could be used to create software
to be embedded in various consumer electronic devices.
 Java is a programmer’s language.
 Java is cohesive and consistent.
 Except for those constraints imposed by the Internet environment, Java
gives the programmer, full control.
 Finally, Java is to Internet programming where C was to system
programming.

Importance of Java to the Internet

Java has had a profound effect on the Internet. This is because; Java expands
the Universe of objects that can move about freely in Cyberspace. In a network, two
categories of objects are transmitted between the Server and the Personal computer.
They are: Passive information and Dynamic active programs. The Dynamic, Self-
executing programs cause serious problems in the areas of Security and probability.
But, Java addresses those concerns and by doing so, has opened the door to an
exciting new form of program called the Applet.

Java Virtual Machine (JVM)

Beyond the language, there is the Java virtual machine. The Java virtual
machine is an important element of the Java technology. The virtual machine can be
embedded within a web browser or an operating system. Once a piece of Java code is
loaded onto a machine, it is verified. As part of the loading process, a class loader is
invoked and does byte code verification makes sure that the code that’s has been
generated by the compiler will not corrupt the machine that it’s loaded on. Byte code
verification takes place at the end of the compilation process to make sure that is all
accurate and correct. So byte code verification is integral to the compiling and
executing of Java code.

18
Overall Description

Java Source Java byte code JavaVM

.Java .Class

Picture showing the development process of JAVA Program

Java Architecture

Java architecture provides a portable, robust, high performing environment for


development. Java provides portability by compiling the byte codes for the Java
Virtual Machine, which is then interpreted on each platform by the run-time
environment. Java is a dynamic system, able to load code when needed from a
machine in the same room or across the planet.

Compilation of code

When you compile the code, the Java compiler creates machine code (called
byte code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM
is supposed to execute the byte code. The JVM is created for overcoming the issue of
portability. The code is written and compiled for one machine and interpreted on all
machines. This machine is called Java Virtual Machine.

19
SERVLETS

The Java web server is JavaSoft's own web Server. The Java web server is just
a part of a larger framework, intended to provide you not just with a web server, but
also with tools. To build customized network servers for any Internet or Intranet
client/server system. Servlets are to a web server, how applets are to the browser.

Servlets provide a Java-based solution used to address the problems currently


associated with doing server-side programming, including inextensible scripting
solutions, platform-specific APIs, and incomplete interfaces.

Servlets are objects that conform to a specific interface that can be plugged
into a Java-based server. Servlets are to the server-side what applets are to the client-
side - object byte codes that can be dynamically loaded off the net. They differ from
applets in that they are faceless objects (without graphics or a GUI component). They
serve as platform independent, dynamically loadable, pluggable helper byte code
objects on the server side that can be used to dynamically extend server-side
functionality.

Features of Servlets:

 Servlets are persistent. Servlet are loaded only by the web server and can
maintain services between requests.
 Servlets are fast. Since Servlets only need to be loaded once, they offer
much better performance over their CGI counterparts.
 Servlets are platform independent.
 Servlets are extensible. Java is a robust, object-oriented programming
language, which easily can be extended to suit your needs
 Servlets are secure.
 Servlets can be used with a variety of clients.

20
Java Database Connectivity

JDBC is a Java API for executing SQL statements. (As a point of interest,
JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often
thought of as standing for Java Database Connectivity. It consists of a set of classes
and interfaces written in the Java programming language. JDBC provides a standard
API for tool/database developers and makes it possible to write database applications
using a pure Java API.

Using JDBC, it is easy to send SQL statements to virtually any relational


database. One can write a single program using the JDBC API, and the program will
be able to send SQL statements to the appropriate database. The combinations of Java
and JDBC lets a programmer write it once and run it anywhere.
What Does JDBC Do?

Simply put, JDBC makes it possible to do three things:


 Establish a connection with a database
 Send SQL statements
 Process the results.

JDBC connectivity

The JDBC provides database-independent connectivity between the J2EE


platform and a wide range of tabular data sources. JDBC technology allows an
Application Component Provider to:
 Perform connection and authentication to a database server
 Manager transactions
 Move SQL statements to a database engine for preprocessing and
execution
 Execute stored procedures
 Inspect and modify the results from Select statements

21
Java Server Pages (JSP)

Java server Pages is a simple, yet powerful technology for creating and
maintaining dynamic-content web pages. Based on the Java programming language,
Java Server Pages offers proven portability, open standards, and a mature re-usable
component model .The Java Server Pages architecture enables the separation of
content generation from content presentation. This separation not eases maintenance
headaches; it also allows web team members to focus on their areas of expertise. Now,
web page designer can concentrate on layout, and web application designers on
programming, with minimal concern about impacting each other’s work.

Steps in the execution of a JSP Application:

 The client sends a request to the web server for a JSP file by giving the name
of the JSP file within the form tag of a HTML page.

 This request is transferred to the JavaWebServer. At the server side


JavaWebServer receives the request and if it is a request for a jsp file server
gives this request to the JSP engine.

 JSP engine is program which can under stands the tags of the jsp and then it
converts those tags into a Servlet program and it is stored at the server side.
This Servlet is loaded in the memory and then it is executed and the result is
given back to the JavaWebServer and then it is transferred back to the result is
given back to the JavaWebServer and then it is transferred back to the client.

22
MySQL

The MySQL software delivers a very fast, multi-threaded, multi-user, and


robust SQL (Structured Query Language) database server. MySQL Server is intended
for mission-critical, heavy-load production systems as well as for embedding into
mass-deployed software. MySQL is a trademark of MySQL AB.

MySQL, the most popular Open Source SQL database, is developed,


distributed, and supported by MySQL AB. MySQL AB is a commercial company,
founded by the MySQL developers, that builds its business providing services around
the MySQL database.

MySQL is a database management system.


A database is a structured collection of data. It may be anything from a simple
shopping list to a picture gallery or the vast amounts of information in a corporate
network. To add, access, and process data stored in a computer database, you need a
database management system such as MySQL Server. Since computers are very good
at handling large amounts of data, database management systems play a central role in
computing, as stand-alone utilities or as parts of other applications.

MySQL is a relational database management system.


A relational database stores data in separate tables rather than putting all the
data in one big storeroom. This adds speed and flexibility. The SQL part of “MySQL”
stands for “Structured Query Language”. SQL is the most common standardized
language used to access databases and is defined by the ANSI/ISO SQL Standard.

MySQL software is Open Source.


Open Source means that it is possible for anyone to use and modify the
software. Anybody can download the MySQL software from the Internet and use it
without paying anything. If you wish, you may study the source code and change it to
suit your needs. The MySQL software uses the GPL (GNU General Public License),
http://www.gnu.org/license/, to define what you may and may not do with the
software in different situations. If you feel uncomfortable with the GPL or need to

23
embed MySQL code into a commercial application you can buy a commercially
licensed version from us.

Why use the MySQL Database Server?

The MySQL Database Server is very fast, reliable, and easy to use. If that is
what you are looking for, you should give it arty. MySQL Server also has a practical
set of features developed in close cooperation with our users. You can find a
performance comparison of MySQL Server with other database managers on our
benchmark page. MySQL Server was originallu developed to handle large databases
much faster than existing solutions and has been successfully used in highly
demanding production environments for several years. Though under constant
development, MySQL Server todau offers a rich and useful set of functions. Its
connectivity, speed, and security make MySQL Server highly suited for accessing
databases on the Internet.

The technical features of MySQL Server

The MySQL Database Software is a client/server system that consists of a


multi-threaded SQL server that supports different backends, several different client
programs and libraries, administrative tools, and a wide range of programming
interfaces (APIs). We also provide MySQL Server as a multithreaded library which
you can link into your application to get a smaller, faster, easier-to-manage product.
There is a large amount of contributed MySQL software available.

24
Overview of Tomcat Web Server

The Tomcat is the servlet container that is used in the official Reference
Implementation for the Java Servlet and java server pages technologies. The java
servlet and java server pages specifications are deployed by sun under the java
community process.

Apache tomcat is developed in an open and participatory environment and


released under the apache software license. Apache tomcat is intended to be a
collaboration of the best-for-breed developers from around the world. Apache tomcat
powers numerous large-scale, mission-critical web applications across a diverse range
of industries and organizations.

25
Software Requirements

Database: MySQL 5.0

Server: Apache Tomcat 5.0

Front end: JSP / Servlets, JDK 1.5, HTML, Java Script

Hardware Requirements

Pentium IV processes architecture

 256 MB RAM.

 40 GB Hard Disk Space.

 Ethernet card.

26
SYSTEM DESIGN

27
System Design Overview

The most creative and challenging phase of the life cycle is System Design.
The term design describes a final system and process by which it is developed. It
refers to the technical specifications that will be applied in implementation of the
system. The design may be defined as the process of applying various techniques and
the principles for the purpose of defining device, a process or a system with sufficient
details to permit its physical realization.

The processing phases are handled through the program Construction and
Testing. Finally, details related to justification of the system and an estimate of the
impact of the system on the user and the organization are documented and evaluated
by the management as a step toward implementation.

Design provides us with representations of the soft wares that can be assessed
for quality. Design is the only way where we can accurately translate the customer’s
requirement into a complete project. So it is essential phase in the development of the
software product.

28
Architecture Diagram

29
DATA DICTIONARY

A Data Dictionary is a collection of metadata that is data about data. In


addition to storing catalog information about schemas and constraints, the data
dictionary stores other information, such as design decisions, usage standards,
application program descriptions, and user information.

The project has been identified to contain 14 database tables, which are as follows
 Application entry
 Emp details
 Enquiry
 Execute
 Interview
 Login details
 Onsite arrival
 Onsite departure
 Renewal
 Reports
 Results

Table Name: APPLICATIONENTRY

NAME DATATYPE SIZE DESCRIPTION


APPLNID VARCHAR 50 APPLICATION ID NO.
EMPID VARCHAR 50 EMPLOYEE ID NO.
EXEID VARCHAR 50 EXECUTIVE ID NO.
NOOFTIMETOONSITE VARCHAR 50 DETAILS OF ONSITE
COUNTRY VARCHAR 50 COUNTRY NAME
TYPE VARCHAR 50 TYPE NAME
ENQUIRY VARCHAR 50 ENQUIRY DETAILS
INTERVIEW VARCHAR 50 INTERVIEW DETAILS
RESULTS VARCHAR 50 RESULTS DETAILS
ONSITEDEPARTURE VARCHAR 50 DEPARTURE DETAILS
REPORTS VARCHAR 50 REPORTS DETAILS
ONSITEARRIVAL VARCHAR 50 ARRIVAL DETAILS
DATE DATETIME ENTERED DATE

30
Table Name: EMPDETAILS

NAME DATATYPE SIZE DESCRIPTION


EMPID VARCHAR 50 EMPLOYEE ID
EMPNAME VARCHAR 50 EMPLOYEE NAME
PASSWORD VARCHAR 50 PASSWORD
DESIGNATION VARCHAR 50 DESIGNATION
PASSPORTNO VARCHAR 50 PASSPORT NUMBER

Table Name: ENQUIRY

NAME DATATYPE SIZE DESCRIPTION


ENQID VARCHAR 50 ENQUIRY ID
APPLNID VARCHAR 50 APPLICATION ID
ENTEREDBY VARCHAR 50 HR EX NAME
QUERY VARCHAR 50 QUERY REPORTS
ANS VARCHAR 50 ANSWER
DATE DATETIME ENTERED DATE

Table Name: EXECUTIVE

NAME DATATYPE SIZE DESCRIPTION


EXEID VARCHAR 50 EXECUTIVE ID
NAME VARCHAR 50 EXECUTIVE NAME
DOB DATETIME DATE OF BIRTH
MAILID VARCHAR 50 MAIL
PHNO VARCHAR 50 PHONE NUMBER
ADDRESS VARCHAR 50 ADDRESS
DATE DATETIME ENTERED DATE

Table Name: INTERVIEW

NAME DATATYPE SIZE DESCRIPTION


INTID VARCHAR 50 INTERVIEW ID
APPLNID VARCHAR 50 APPLICATION ID
ENTEREDBY VARCHAR 50 EXECUTIVE NAME
INTDATE VARCHAR 50 INTERVIEW DATE
INTTIME VARCHAR 50 INTERVIEW TIME
VENUE VARCHAR 50 PLACE
DATE DATETIME DATE

31
Table Name: LOGINDETAILS

NAME DATATYPE SIZE DESCRIPTION


USERNAME VARCHAR 50 USER NAME
PASSWORD VARCHAR 50 PASSWORD
CATEGORY VARCHAR 50 CATEGORY

Table Name: ONSITEARRIVAL

NAME DATATYPE SIZE DESCRIPTION


ONSITEID VARCHAR 50 ONSITE ID
APPLNID VARCHAR 50 APPLICATION ID
ENTEREDBY VARCHAR 50 EXECUTIVE NAME
TICKETNO VARCHAR 50 TICKET NUMBER
FLIGHTNO VARCHAR 50 FLIGHT NRMBER
F_FROM VARCHAR 50 FLIGHT FROM
VIA VARCHAR 50 VIA
F_TO VARCHAR 50 FLIGHT TO
F_DATE VARCHAR 50 FLIGHT DATE
F_TIME VARCHAR 50 FLIGHT TIME
DATE DATETIME DATE

Table Name: ONSITEDEPARTURE

NAME DATATYPE SIZE DESCRIPTION


ONSITEID VARCHAR 50 ONSITE ID
APPLNID VARCHAR 50 APPLICATION ID
ENTEREDBY VARCHAR 50 EXECUTIVE NAME
TICKETNO VARCHAR 50 TICKET NUMBER
FLIGHTNO VARCHAR 50 FLIGHT NUMBER
F_FROM VARCHAR 50 FLIGHT FROM
VIA VARCHAR 50 VIA
F_TO VARCHAR 50 FLIGHT TO
F_DATE VARCHAR 50 FLIGHT DATE
F_TIME VARCHAR 50 FLIGHT TIME
DATE DATETIME DATE

32
Table Name: RENEWAL

NAME DATATYPE SIZE DESCRIPTION


RENID VARCHAR 50 RENEWAL ID
APPLNID VARCHAR 50 APPLICATION ID
DETAILS TINYTEXT 50 DETAILS
STATUS VARCHAR 50 STATUS
DATE DATETIME ENTERED DATE

Table Name: REPORTS

NAME DATATYPE SIZE DESCRIPTION


REPID VARCHAR 50 REPORTS ID
APPLNID VARCHAR 50 APPLICATION ID
REPORTS TINYTEXT REPORTS
DATE DATETIME ENTERED DATE

Table Name: RESULTS

NAME DATATYPE SIZE DESCRIPTION


RESID VARCHAR 50 RESULTS ID
APPLNID VARCHAR 50 APPLICATION ID
ENTEREDBY VARCHAR 50 EXECUTIVE NAME
RESULT TINYTEXT ENTERED RESULT
DATE DATETIME ENTERED DATE

33
Module Description

To achieve the above said target, our project Visa Processing System will be
categorized as the following Modules.

 Admin Module
 Visa Processing Module
 Onsite Communication Module
 Reporting Module

Admin Module:

HR Executive is the Detail Entry Controller of our project. HR Manager-


Admin will create this HR Executive. He will give the details about HR Executive
and create the username and password. While login, HR Manager will do the
authentication for this HR executive. Any employee of our organization will be enter
into our project and do the following functionalities. Employee Authentication will
be finalized by the employee main database. Admin can view the visa renewal
information, visa status information. He can generate all possible reports like
interview reports, results report .He is having the control over the all the users. HR
Manager will describe the utilities assessed by an HR Executive. He can view the
application entries, enquiry details, interview details, result details, onsite departure
details, and onsite arrival details.

Visa Processing Module:

This is a main module. It handles all the details regarding visa application,
submitted documents, employee particulars, passport details, earlier onsite visits and
the details regarding their earlier tour details. This will be entered by HR Executive.
After applying visa every applicant should attain enquiry and interviews held by
consulates. These enquiry and interview details are stored in this module. The result
also logged in this module. These details also entered by HR Executive.

34
Onsite Data Module:

Candidate’s onsite particulars, like visa issuing date, flight date, no of days
spending at abroad, returning date, onsite job particulars are stored through this
module. This will be entered by HR Executive. Employee’s onsite progress like
project name, working period, working place and etc., are entered by the Employee
itself. In the case of renewal of visa, Employees can give a request to the HR Manager
for their renewal of visa. These requests are viewed by HR Manager and have process
on for Visa Renewal. Employees can view the visa renewal information and visa
process status like current visa status and finished visa status for different countries.

Report Handler Module

This Module deals all the available reports wanted by Hr Manager and Hr
Executive. Normally, Visa Status Report, Onsite details for an employee, Onsite work
progress details are important reports viewed by HR manager.

35
ER

36
HOTELMASTER
HOTELID EMPLOYEESANDVISAS
HOTELNAME VISAAPPLYID
HOTELADDR COUNTRIESMASTER COUNTRIESANDVISAS VISAAPPLYDATE
HOTELPHONENO
COUNTRYID EMPLOYEEID (FK)
HOTELCONTACTPERSONNAME
COUNTRYID (FK) PASSPORTID (FK)
HOTELMINRENTALCHARGES
COUNTRYNAME VISATYPE COUNTRYID (FK)
HOTELMAXCHARGES
COUNTRYABBR VISATYPEASPERCOUNTRY VISATYPE
COUNTRYDESCRIPTION VISATYPEDESC VISASTATUS
COUNTRYMAP SUPPORTIVEDOCUMENTS REMARKS
COUNTRYFLOAG VISATYPEELIGIBILITY REASONFORAPPLYVISA
COUNTRIESANDHOTELS COUNTRYINTROVEDEO RULESANDREGULATIONS VISAFROMDATE
STAMPINGGUIDELINES VISATODATE
VISACOST EMPLOYEEDATERELIEVED
COUNTRYID (FK)
VISAPERMITTIME EMPLOYEEDATEREJOINED
HOTELID (FK)
VISAAPPLICATIONFORM SUPORTIVEDOCUMENT
TICKETSMASTER EMBASSAYNAMEANDADDRESSTOVISIT
REMARKS
EMPLOYEETICKETID COUNTOFSUPPORTIVEDOC
EMPLOYEETRAVELID (FK)
COUNTRYWISEWORKPERMITINFO EMPLOYEEID (FK)
TICKETNO COUNTRIESVISITED
TICKETBOOKEDDASTE PASSPORTID
COUNTRYID (FK) TICKETAVAILABLEDATE
WORKPERMITID (FK) TICKETAVAILABLEDATETO EMPLOYEEID (FK)
WORKPERMITINFO TICKETFROM COUNTRYVISITEDID
TICKETTO VISASTAMPEDDATE
SEATNO VISATYPE
FLIGHTORTRAINNAME VISAVALIDFROM
FLIGHTORTRAINBIT VISAVALIDTO
DESIGNATIONMASTER TRAVELAGENTNAME COUNTRYSTAMPED (FK)
DESIGNATIONID INCHARGEPERSONIMAGE REMARKS
INCHARGECONTACTNO VISASTAMPIMAGE
DESIGNATIONNAME VISASTAMPAPERIMAGE
DESIGNATIONABBR
DESIGNATIONINCHGID
SUPERINDESIGNATIONID
EMPLOYEESANDVISADETAILS
SUPPORTIVEDOCID
EMPLOYEESANDWORKDESCRIPTION
VISAAPPLYID (FK)
EMPWORKDESCRIPTIONID
EMPLOYEEID (FK)
EMPLOYEEID (FK) SUPPORTIVEDOCIMAGES EMPLOYEEPASSPORTMASTER
EMPLOYEESSTAYMASTER VISAFORMFILLEDINFORMATION
PROJECTDETAILS PASSPORTID
EMPLOYEESTAYID REASONSFORDEPUTATION REMARKSONSUPPORTIVEDOC
DEPUTATIONRESPONSIBILITIES DOCAPPROVEDSTATUS PASSPORTNO
EMPLOYEETRAVELID (FK) DEPUTATIONINCHARGE (FK) DOCSUBMITEDDATE EMPLOYEEID (FK)
HOTELID (FK) DEPUTATIONDESGNID (FK) PLACEOFPASSPORT
ROOMNO
ADDRESSGIVENONPASSPORT
RESERVATIONNOFORREFERENCES
PASSPORTISSUEDDATE
PICKUPSTATION
PASSPORTEXPIRTYDATE
PICKUPVEHICLENO
ECNRSTATUS
COUNTRYID (FK) DEPARTMENTMASTER ADDRESSES IDENTIFACATIONMARKSONPASSPORT
PERSONCONTACTNO EMPLOYEEMASTER
DEPARTMENTID NOOFPAGESINPASSPORT
PERSONAME
EMPLOYEEID (FK) EMPLOYEEID PASSPORTCOUNTRY
PERSONIMAGE
DEPARTMENTNAME ADDRESSID CITIZENSHIPOFEMPLOYEE
DEPARTMENTABBR DOORNO FIRSTNAME PASSPORTIMAGE
DEPARTMENTINCHGID STREET LASTNAME
EMPLOYEETRAVELMASTER CITY DOB
STATE DOJ
EMPLOYEETRAVELID
COUNTRY LOGINID
EMPLOYEEID (FK) PINCODE PASSWORD
TRAVELSTRATDATE FORGOTPWQUESTION
TRAVELENDDATE FORGOTPWANSWER
COUNTRYID (FK) PASSPORTSTATUSBIT
SPECIALINSTRUCTIONS EMAIL
PHONE
PHOTO
MANAGERID (FK)
DEPARTMENTID (FK)
DESIGNATIONID (FK)

37
USECASES

38
Use Case Diagram

HR Executive
Visa
HR Manager App.
Visa
Process Entry
innnng
ng
Visa
HR Executive Proces
sor

Visa
Enquir
y
HR Executive
Onsite Visa
Details Intervi
Administrator ew

H1B Visa Visa Nominee


Details Details Details

39
Class Diagram

Application

Update entry ()

Interview Employee Executive

Schedule () Update () Update ()


Change () View () Display ()
1

Results Onsite Arrival Onsite Depart Renewal

Generate () Store Info () Store Info () Update ()

40
Sequence Diagram

:Login :Employee :Visa Enquiry :Interview :Result

Auth()

Get()

Schedule()

Get()

41
Operation-Level Sequence Diagram

1. Login Sequence Diagram

Administrator login User

1: login
2: login

3: validate

4: validlogin

5: validlogin

Login Collaborative Diagram

42
3: validate

login

2: login 4: validlogin

5: validlogin 1: login

User
Administ
rator

2. Present Login User Report Sequence Diagram

Admin Login Report DataBase

login

validate

validLogin

getPresentUsingReport

selectInfo

ReportInfo
ReportOutput

43
Present Login User Report Collaborative Diagram

2: validate

1: login Login

Admi
n 3: validLogin

4: getPresentUsingReport Data
7: ReportOutput Base
5: selectInfo

6: ReportInfo
Repo
rt

44
Login

HR Executive
Validat Management
Activity Diagram eee

Visa Renewal Visa Employees


Application Management
Entry

Visa Process Enquiry Entry Enquiry


Status Report

Employee Admin
Send Report Interview Interview
Schedules Report
HR Executive
Entry

Results Entry Results


Reports

Onsite Visa Process


Departure Report

Onsite Arrival Visa Renewal


Report

45
Logout
Component Diagram :

46
47
Deployment Diagram

48
Deployment Diagram:

49
SAMPLE CODE

50
<%@ page language="java" %>
<%@ page session="true" %>
<%@ page import="java.sql.*,java.io.*,joseph.Database"%>

<HEAD>
<script LANGUAGE="Javascript" >
function ChkMandatoryField(F,T){
var val= F.value;
if(val==""){alert(T+" is mandatory");return false;}
}
function ChkNumField(F,T){
var val = F.value;
if(isNaN(val)==true||val=="")
{alert("Please enter numbers for "+T);return false;}
}
function ChkAlphaNumericField(F,T){
var val = F.value;
var pattern = /^([a-zA-Z0-9]{1,250})$/;
if(!(pattern.test(val)==true))
{alert("Please enter alphabets or numbers for "+T);return
false;}
}
function ChkAlphaField(F,T){
var val = F.value;
var pattern = /^([a-zA-Z ]{1,250})$/;
if(!(pattern.test(val)==true))
{alert("Please enter text for "+T);return false;}
}
function ChkEmailField(F,T){
var val = F.value;

51
var pattern = /^([a-zA-Z0-9\_\.]{4,25})$/;
if(!(pattern.test(val)==true))
{alert("Please enter valid email for "+T);return false;}
}
function ChkDateField(F,T)
{
var val = F.value;
var pattern = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
if(!(pattern.test(val)==true))
{alert("Please enter valid date format (yyyy-mm-dd) for "+T);
return false;}
}
function validate()
{
var frm = document.forms(0);
if(ChkMandatoryField(frm.UserName,'UserName')==false)
return false;
if(ChkEmailField(frm.UserName,'UserName')==false)
return false;
if(ChkMandatoryField(frm.Password,'Old Password')==false)
return false;
if(ChkAlphaNumericField(frm.Password,'Old
Password')==false)
return false;
if(ChkMandatoryField(frm.newPassword,'NewPassword')==false)
return false;
if(ChkAlphaNumericField(frm.newPassword,'NewPassword')==false)
return false;
}
</script>
</head>
<body Class="SC">
<FORM NAME="LOGIN" ACTION="AddAdminUser.jsp" METHOD="POST" >

52
<table width="900" height="100%" align="center">
<tr><td height="100" width="100%"><jsp:include
page="../General/header.jsp" flush="true" /></td></tr>
<tr><td width="100%" height="*" align="center">
<table width="100%" height="100%" border="0">
<tr><td width="175" height="100%" valign="top">
<jsp:include page="menu.jsp" flush="true" />
</td>
<td width="*" height="100%">
<TABLE align=center width="50%">

<TR class=row_title ALIGN="center">


<TH COLSPAN="2"> Create Admin</TH>
</TR>

<TR class=row_even>
<TD>User name</TD>
<TD><input TYPE=text name=UserName size="8" value="" class="TextField
Medium"></TD>
</TR>

<TR class=row_odd>
<TD>Password</TD>
<TD><input TYPE=password name=Password class="TextField Medium"></TD>
</TR>

<TR class=row_odd>
<TD><INPUT TYPE=submit name=submit value="Submit" class=Button>
</TD>

<TD><INPUT TYPE=reset name=resett value="Reset" class=Button>


</TD>
</TR>

53
</TABLE>
<P align=right><A href="home.jsp" class=genlinks> Home </A></P>
</td>
</tr>
</table>
</td>
</tr>
<tr><td height="50" align="center"><jsp:include page="../General/footer.jsp"
flush="true" /></td></tr>
</table>

</FORM>

</BODY>

54
<%@ page language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>Visa Processing</title>
<script language="JavaScript">
function Validate(){
var docF=document.f1;
if(docF.name.value==""){
alert("Plz Enter the Name");
docF.name.focus();
return false;
}
if(docF.d.value=="" || docF.m.value=="" || docF.y.value==""){
alert("Plz Specify your database in the correct format.");
if(docF.d.value=="")
docF.d.focus();
else if(docF.m.value=="")
docF.m.focus();
else
docF.y.focus();
return false;
}
if(docF.email.value==""){
alert("Enter Email ID");
docF.email.focus();
return false;
}
if(docF.phno.value==""){
alert("Enter Phone Number");
docF.phno.focus();

55
return false;}
if(isNaN(docF.phno.value)){
alert(" Plz Enter Phone Number in Correct Format");
docF.phno.select();
docF.phno.focus();
return false;
}
if(docF.add.value==""){
alert("Enter Address");
docF.add.focus();
return false;
}
if(docF.add.value.length>=200){
alert("Address Should not Exceeds 200 Character");
docF.add.select();
docF.add.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<form name="f1" action="../newEmploy" onSubmit="return Validate();">
<table width="900" height="100%" align="center">
<tr><td height="100" width="100%"><jsp:include
page="../General/header.jsp" flush="true" /></td></tr>
<tr><td width="100%" height="*" align="center">
<table width="100%" height="100%" border="0">
<tr><td width="175" height="100%" valign="top">
<jsp:include page="EmployMenu.jsp" flush="true" />
</td>
<td width="100%" height="100%" align="center" valign="top"><br><br>
<table width="100%" border="0">

56
<tr> <td width="200" align="left"><font color="#001967"><strong>Add
New Employee</strong></font></td>
<td align="left" width="*"></td></tr>
<tr><td width="200" align="right"><font color="#001967">Emp ID :</font>
</td>
<td align="left"><input name="empid" type="text" id="empid"></td></tr>
<td align="left" width="*"></td></tr>
<tr><td width="200" align="right"><font color="#001967">Name :</font>
</td>
<td align="left"><input name="empname" type="text" id="empname">
</td></tr>
<tr><td width="200" align="right"><font color="#001967">Password
:</font> </td>
<td align="left"><input name="password" type="password"
id="password">
</td></tr>
<tr><td width="200" align="right"><font color="#001967">Designation
: </font></td>
<td align="left"><input name="designation" type="text" id="designation" >
</td></tr>
<tr><td width="200" align="right"><font color="#001967">Passport
Number : </font></td>
<td align="left"><input name="passno" type="text" id="passno"></td></tr>
<td width="200" align="right" valign="top" height="20">&nbsp;</td>
<td align="left">&nbsp;</td>
</tr>
<tr><td width="200" align="right"><input type="submit" value="Submit ">
</td><td align="left"> <input type="reset" value=" Clear "> </td></tr>
</table>
</td></tr>
</table>
</td></tr>
<tr><td height="50" align="center"><jsp:include page="../General/footer.jsp"
flush="true" /></td></tr>

57
</table>
</form>
</body>
</html>
<%@ page language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>Visa Processing</title>
</head>
<body>
<form name="f1" action="../newExecutive" onSubmit="return Validate();">
<table width="900" height="100%" align="center">
<tr><td height="100" width="100%"><jsp:include page="../General/header.jsp"
flush="true" /></td></tr>
<tr><td width="100%" height="*" align="center">
<table width="100%" height="100%" border="0">
<tr><td width="175" height="100%" valign="top">
<jsp:include page="menu.jsp" flush="true" />
</td>
<td width="300"><font color="#001967"><strong>Sucessfully Created New
Executive</strong></font></td>
</table>
</td>
</tr>
</td></tr>
<tr><td height="50" align="center"><jsp:include page="../General/footer.jsp"
flush="true" /></td></tr>
</table>

58
<%@ page language="java" import="java.lang.*,java.sql.*,joseph.Database" %>
<html>
<head>
<title>Visa Processing</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="900" height="100%" align="center">
<tr><td height="100" width="100%"><jsp:include page="../General/header.jsp"
flush="true" /></td></tr>
<tr><td width="100%" height="*" align="center">
<table width="100%" height="100%" border="0">
<tr><td width="175" height="100%" valign="top">
<jsp:include page="EmployMenu.jsp" flush="true" />
</td>
<td width="*" height="100%" align="center" valign="top"><br><br>
<script language="JavaScript">
function Validate(){
var docF=document.f1;
if(docF.ExeID.value==""){
alert("Plz Select Employee to Delete.");
docF.ExeID.focus();
return false;
}
else if(confirm("Conform delete Execute : "+docF.ExeID.value)){
return true;
}
return false;
}
</script>

59
<form name="f1" action="../delEmploy" onSubmit="return Validate();"
method="post">
<font color="#001967">Select Employ To Delete : </font>

<%
Database con=new Database();
ResultSet rs=con.getResultSet("select EmpID,EmpName from empdetails");
%>
<select name="ExeID">
<option value="">..Select..</option>
<%
while(rs.next()){
String ID=rs.getString("EmpID");
String Name=rs.getString("EmpName");
%>
<option value="<%= ID %>"><%= ID %>&nbsp;<%= Name %></option>
<%
}
%>
</select><br><br><br>
<input type="submit" value=" Delete ">
</form>
</td>
</tr>
</table>
</td></tr>
<tr><td height="50" align="center"><jsp:include page="../General/footer.jsp"
flush="true" /></td></tr>
</table>
</body>
</html>

60
SYSTEM TESTING

61
INTRODUCTION:

After finishing the development of any computer based system the next
complicated time consuming process is system testing. During the time of testing only
the development company can know that, how far the user requirements have been
met out, and so on.

Following are the some of the testing methods applied to this effective project:

SOURCE CODE TESTING:

This examines the logic of the system. If we are getting the output that is
required by the user, then we can say that the logic is perfect.

SPECIFICATION TESTING:

We can set with, what program should do and how it should perform under
various condition. This testing is a comparative study of evolution of system
performance and system requirements.

MODULE LEVEL TESTING:

In this the error will be found at each individual module, it encourages the
programmer to find and rectify the errors without affecting the other modules.

UNIT TESTING:

Unit testing focuses on verifying the effort on the smallest unit of software-
module. The local data structure is examined to ensure that the date stored temporarily
maintains its integrity during all steps in the algorithm’s execution. Boundary
conditions are tested to ensure that the module operates properly at boundaries
established to limit or restrict processing.

62
INTEGRATION TESTING:

Data can be tested across an interface. One module can have an inadvertent,
adverse effect on the other. Integration testing is a systematic technique for
constructing a program structure while conducting tests to uncover errors associated
with interring.

VALIDATION TESTING:

It begins after the integration testing is successfully assembled. Validation


succeeds when the software functions in a manner that can be reasonably accepted by
the client. In this the majority of the validation is done during the data entry operation
where there is a maximum possibility of entering wrong data. Other validation will be
performed in all process where correct details and data should be entered to get the
required results.

RECOVERY TESTING:

Recovery Testing is a system that forces the software to fail in variety of ways
and verifies that the recovery is properly performed. If recovery is automatic, re-
initialization, and data recovery are each evaluated for correctness.

SECURITY TESTING:

Security testing attempts to verify that protection mechanism built into system
will in fact protect it from improper penetration. The tester may attempt to acquire
password through external clerical means, may attack the system with custom
software design to break down any defenses to others, and may purposely cause
errors.

63
PERFORMANCE TESTING:

Performance Testing is used to test runtime performance of software within


the context of an integrated system. Performance test are often coupled with stress
testing and require both software instrumentation.

BLACKBOX TESTING:

Black- box testing focuses on functional requirement of software. It enables to


derive ets of input conditions that will fully exercise all functional requirements for a
program.
Black box testing attempts to find error in the following category:

 Incorrect or missing function


 Interface errors
 Errors in data structures or external database access and
performance errors.

OUTPUT TESTING:

After performing the validation testing, the next step is output testing of the
proposed system since no system would be termed as useful until it does produce the
required output in the specified format. Output format is considered in two ways, the
screen format and the printer format.

USER ACCEPTANCE TESTING:

User Acceptance Testing is the key factor for the success of any system. The

system under consideration is tested for user acceptance by constantly keeping in

touch with prospective system users at the time of developing and making changes

whenever required.

64
Test Cases

Test Input Expected Behaviour Observed Status


C.No. behaviour P = Passed
F = Failed

1 Login as Admin Home page for CEO -do- P


with correct should be displayed
login details

2 Login as Admin Error message should -do- P


with wrong login be displayed
details

3 Add a New It should add a new -do- P


Entry for an HR HR Executive in the
Executive database

4 Add an It should add a new -do- P


employee details employee details in
the database

5 Login as HR HR Executive Home -do- p


Executive Page should be
displayed

6 Enter visa Employee visa -do- p


application application details
details should be stored

7 Enter enquiry Enquiry details should -do- P


details be stored

8 Enter interview Interview details -do- P


details should be stored.

9 Enter result Results details should -do- P


details stored

10 Enter onsite Departure details -do- P


departure details should be stored

11 Enter onsite Onsite arrival details -do- P


arrival details should be stored

12 Login as Employee homepage -do- P


employee should be displayed

65
13 Put a Request for Visa renewal request -do- P
visa renewal should be sent to the
administrator

14 View visa Visa status of this -do- P


process status employee should be
displayed

15 Login as admin Visa renewal requests -do- P


and view visa should be displayed
renewals

66
SCREENS

67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
CONCLUSION

Limitations of the system

 The customer has to login and check their visa status information
 Employee payment information is not maintained in this application
 Advanced techniques are not used to check the authorization.

Future Enhancements

94
It is not possible to develop a system that makes all the requirements of the user.
User requirements keep changing as the system is being used. Some of the future
enhancements that can be done to this system are:

 As the technology emerges, it is possible to upgrade the system and can be


adaptable to desired environment.
 Because it is based on object-oriented design, any further changes can be
easily adaptable.
 Based on the future security issues, security can be improved using emerging
technologies like single sign-on.
 Employee Payment module can be added
 Employee Visa status and interview schedules should send as alert message
through automatic SMS.

95
Project Summary

The Visa Processing Information System is a web-based application for


tracking the visa transactions in a visa processing company which provide customized
solutions to meet company needs.

This application software has been computed successfully and was also tested
successfully by taking “test cases”. It is user friendly, and has required options, which
can be utilized by the user to perform the desired operations.

The software is developed using Java as front end and MySQL as back end in
Windows environment. The goals that are achieved by the software are:

 Instant access.
 Improved productivity.
 Optimum utilization of resources.
 Efficient management of records.
 Simplification of the operations.
 Less processing time and getting required information.
 User friendly.
 Portable and flexible for further enhancement.

96
BIBLIOGRAPHY

97
Bibliography

Core Java™ 2 Volume I – Fundamentals 7th Edition - Cay S. Hortsman


Pearson Education – Sun Microsystems Gary Cornell

Core Java™ 2 Volume II – Advanced - Cay S. Hortsman


Pearson Education – Sun Microsystems Gary Cornell

Head First Servlets & JSP - Eric Freeman


O’Reilly – SPD Elisabeth Freeman

The Book of JavaScript 2nd Edition - thau


SPD

Effective Java – Programming Language Guide - Joshua Bloch


Pearson Education – Sun Microsystems

Java Database Best Practices - George Reese


O’Reilly – SPD

JBoss – A Developers Notebook - Norman Richards


O’Reilly – SPD Sam Griffith

WebSites:

www.java2s.com

www.w3schools.com

98

Вам также может понравиться