You are on page 1of 88

Performance Appraisal System 2006

1. INTRODUCTION
1.1 About the Project
Performance Appraisal System (PAS) is a web-enabled system used to track the performance of the
employee. This system will provide a very easy and friendly environment for assigning tasks, giving
appraisal for an employee, and for reviewing the employee s performance in all factors. This will
automatically calculates the overall Employee s appraisal rating in different factors. This will help
managers to take a decision about training, etc...This system will also used by employee for his task
description view, and self appraisal.

The main objectives of this application are


To automate the present manual appraisal system
To create a friendly and easy environment for tracking an employee s performance within an
appraisal period
To make the data management easy

An Employee s Performance will be calculated on the following factors.


1. Completion of the allocated tasks.
2. Weather he/she completed all tasks allocated by the supervisor.
3. Employee s Technical Skills.
4. Employee s Soft Skills.

This system will have 3 logins:


1. HR
2. Supervisor
3. Employee

Scheduling of appraisal period, Employee, Department Registrations will be taken care by


HR Manager.

RNS Institute of Technology Department of MCA Page: 1


Performance Appraisal System 2006

Supervisor is the person who can allocate the tasks for all his Subordinates within an
appraisal period. After completion of task allocation. Employee can login into the system and can
view the task descriptions.

Employee, he can view the list of tasks allocated by his supervisor to be done within an
appraisal period. After completion of all tasks allocated to him, employee can give self appraisal
(Ratting his performance himself). Then, supervisor can give his appraisal to an employee who
completed self appraisal.

After completion of Employee s self appraisal, and Supervisor s appraisal. Supervisor can
call for an Open Discussion where they will review all the Performance factors and their ratting
respectively, and decide on Employee s Area s to Improve , which will be specified in Significant
Observation, weather to provide any training for employee or not. Providing training or not, will
depends on the appraisal ratting of respective employee.

1.2 Organization Profile


Name: Ciber

CIBER, Inc. (NYSE: CBR), is an international system integrator dedicated to building, integrating
and supporting mission-critical business applications for private and public clients. Founded in 1974,
CIBER serves client businesses from our worldwide offices.

An Integrated Approach to Custom Solutions


CIBER's strength is building, integrating and supporting mission-critical applications and systems to
deliver solutions that achieve business objectives. Our integrated practices, blended with our best-of-
breed tools, standardized processes and skilled resources, enable us to provide a consolidated, end-
to-end focus for your IT systems. Whatever your objectives, CIBER has the knowledge and expertise
to deliver throughout the project lifecycle.

RNS Institute of Technology Department of MCA Page: 2


Performance Appraisal System 2006

Custom Solutions
Application Development and Management (ADM)
Delivers full lifecycle solutions by leveraging core competencies in custom application development
in both client server and mainframe environments. Service-oriented architecture development (J2EE,
.NET) services, managed content services, and wireless solutions are also available to ensure an end-
to-end solution.

Enterprise Integration (EI)


Designs and integrates data and applications to deliver fully functional and integrated business
environments that offer competitive advantage and maximize return on investment. If you need
enterprise architecture, business intelligence/data warehousing, entese application integration, or
system integration (Web services), CIBER can deliver it.

IT Operations (ITO)
Manages, maintains and enhances applications and infrastructure through various global distributed
delivery options. ITO significantly decreases operating costs by applying standard methodologies to
eliminate inefficiencies and mitigate risks. Application and technical services include application
maintenance, support, and enhancement, production support, help desk services, and data center
hosting.

Security
Assesses your security challenges, and defines, achieves, and maintains security objectives to
provide the best protection for your specific risks. Offering more than firewall and perimeter
protection, we incorporate security into application design and implementation, so security is an
integrated element of good business.

Packaged Enterprise Solutions


With more than 20 years as a leading enterprise software consulting provider, CIBER Enterprise
Solutions (CES) has helped clients around the world and in a wide range of industries manage
change. CES is a software-agnostic consulting firm that understands the products of SAP, Oracle
(including JD Edwards and PeopleSoft) and Lawson, as well as several supply chain products. In

RNS Institute of Technology Department of MCA Page: 3


Performance Appraisal System 2006

addition, CES Technology Solutions helps clients in multiple industries select, design and
implement the most appropriate infrastructure technology for their environments.

Government Solutions
State & Local Government
CIBER s State & Local Government Solutions Practice has more than 25 years of experience helping
more than 45 states and 600 state agencies achieve their goals. CIBER s in-depth understanding of
government processes and regulations, and our extensive expertise in a variety of technology
solutions has delivered highquality, cost-effective solutions for customers in Health and Human
Services, Homeland Security, Law and Justice, Transportation, and Finance & Administration.

Federal Government
CIBER s Federal Solutions Practice consistently delivers services and solutions that improve
productivity, streamline services and reduce costs. Whether the client is from a civilian, defense or
intelligence agency, CIBER s approach focuses on effective collaboration and measurable results.
CIBER Federal Solutions focuses on four business sectors: Defense/Aerospace, Outsourcing, Human
Resources & Financial Systems, and Strategy & Enterprise Services.

CIBERsites
CIBERsites are CIBER s value-priced application development and management centers, which are
strategically located throughout the United States and India. CIBERsites leverage the technical
proficiency, education and ingenuity of IT professionals throughout the world to provide clients with
value-priced global distributed delivery options and secure, compliant IT solutions

CIBERsites are local domestic and offshore solution centers that provide our clients choices in how
services are delivered. Strategically located in both the U.S. and India, CIBERsites focus on
providing application development and management and IT operations support on both an a la carte
or comprehensive integrated basis.

RNS Institute of Technology Department of MCA Page: 4


Performance Appraisal System 2006

CIBER s Unique Model for Distributed Delivery


With 30 years of application development and support experience, CIBER possesses the full range of
processes, tools and methodologies required to deliver on-time and on-budget. With our experience
in providing offsite services to Fortune 100 clients, CIBER has developed an approach to distributed
delivery that overcomes some of its unique requirements, such as ensuring that the work is
distributed correctly based on the business need and crisply managing requirements during the
engagement. To determine the optimal way to distribute work, CIBER uses its
Optimized Delivery Model (ODM). Starting with the customers unique business needs and
environmental factors, this approach provides a resource-optimized solution delivered onsite, offsite,
CIBERsite, offshore or in a hybrid blended combination. CIBER s ODM combines strong delivery
management processes with local service and global access to resources, maximizing project success
while balancing quality, cost and customer needs. It is also the way to get started in evaluating and
using distributed delivery management processes with local service and global access to resources,
maximizing project success while balancing quality, cost and customer needs. It is also the way to
get started in evaluating and using distributed delivery. To effectively manage requirements, CIBER
has developed its CIBER s Requirements Engineering Process that addresses the challenge of
requirement quality, clarity, traceability and change. The result is fewer surprises and met
expectations.

CIBER s Methodologies

CIBER Application Process (CAP)


Quality development begins with an understanding of a client s wants and needs. With this in mind,
CIBER developed CAP to serve as our software development life cycle (SDLC) for application
development. Built on commercial best practices and continually refined through lessons learned,
CAP is structured to be either a complete, standalone software development lifecycle or can serve as
a framework to support your preferred SDLC, existing tools or licensed software for modeling,
testing and configuration management. CIBER s Project Management Methodology Integrated with
CAP is CIBER s project management methodology, which ensures projects are delivered on time and
within budget, meeting requirements and quality expectations. CIBER s project management
methodology focuses on three essential elements: progress management, communications and risk
mitigation. This methodology, designed specifically for IT projects and based on industry best

RNS Institute of Technology Department of MCA Page: 5


Performance Appraisal System 2006

practices from the Project Management Institute (PMI)and the Software Engineering Institute (SEI),
embraces change control and issue control management of your projects.

Application Management Services


At the core of CIBER's Application Management service offering is a proven approach for rapidly
assuming responsibility for client operations and providing on-going performance-based application
support focused on quality, process, accountability and results. Each engagement is governed by a
service contract that is the combination of a Statement of Work, which defines the scope of the
service, and an SLA, which defines CIBER's service performance commitments. Our accelerated
Transition process enables meaningful results quickly.

RNS Institute of Technology Department of MCA Page: 6


Performance Appraisal System 2006

2. LITERATURE STUDY

2.1 Introduction
This is the first major milestone of the project. In general, the process of fact finding (the
professional projects) or literature (for research projects) aims at identifying what other
works has been carried out in the same area and relating the objectives of the project to that
work.

2.2 Java
JAVA is an ideal language for distribution executable programs via the world wide web. It is also a
general purpose programming language used for developing platform-portable and easily usable
code.The feature of JAVA includes:-

The essentials: Objects, Strings, thread, numbers, input and output, data structures,
system properties, date and time and so on.
Applets: The set of conventions used by applets.
Networking: URL s, TCP, UDP sockets, Internet and IP addresses.
Internationalization: Help for writing programs that can be localized for users world
wide.
Security: Both low level and high level, including electronic signatures, public and private
key management, access control and certificates.
Software components: Known as JavaBeans, can plug into existing component
architectures.
Object serialization: Allows lightweight persistence and communication via remote
method invocation(RMI).
Java Database Connectivity (JDBC): Provides uniform access to a wide range of
relational database.

2.3 J2EE Overview


TODAY, more and more developers want to write distributed transactional applications for the
enterprise and thereby leverage the speed, security, and reliability of server-side technology. If you

RNS Institute of Technology Department of MCA Page: 7


Performance Appraisal System 2006

are already working in this area, you know that in the fast-moving and demanding world of e-
commerce and information technology, enterprise applications must be designed, built, and produced
for less money, with greater speed, and with fewer resources than ever before.

To reduce costs and fast-track application design and development, the Java 2 Platform, Enterprise
Edition (J2EE ) provides a component-based approach to the design, development, assembly, and
deployment of enterprise applications. The J2EE platform offers a multitiered distributed application
model, reusable components, a unified security model, flexible transaction control, and web services
support through integrated data interchange on Extensible Markup Language (XML)-based open
standards and protocols.

Not only can you deliver innovative business solutions to market faster than ever, but also your
platform-independent J2EE component-based solutions are not tied to the products and application
programming interfaces (APIs) of any one vendor. Vendors and customers enjoy the freedom to
choose the products and components that best meet their business and technological requirements.
This tutorial uses examples to describe the features and functionalities available
in the J2EE platform version 1.4 for developing enterprise applications. Whether you are a new or an
experienced developer, you should find the examples and accompanying text a valuable and
accessible knowledge base for creating your own solutions.

If you are new to J2EE enterprise application development, this chapter is a good place to start. Here
you will review development basics, learn about the J2EE architecture and APIs, become acquainted
with important terms and concepts, and find out how to approach J2EE application programming,
assembly, and deployment.

Distributed Multitiered Applications


The J2EE platform uses a distributed multitiered application model for enterprise applications.
Application logic is divided into components according to function, and the various application
components that make up a J2EE application are installed on different machines depending on the
tier in the multitiered J2EE environment to which the application component belongs. Figure 1 1

RNS Institute of Technology Department of MCA Page: 8


Performance Appraisal System 2006

shows two multitiered J2EE applications divided into the tiers described in the following list. The
J2EE application parts shown in Figure 1 1 are presented in J2EE Components.
Client-tier components run on the client machine. Web-tier components run on the J2EE server.
Business-tier components run on the J2EE server.
Enterprise information system (EIS)-tier software runs on the EIS server.
Although a J2EE application can consist of the three or four tiers shown in Figure 1 1, J2EE
multitiered applications are generally considered to be threetiered applications because they are
distributed over three locations: client machines, the J2EE server machine, and the database or
legacy machines at the back end. Three-tiered applications that run in this way extend the standard
twotiered client and server model by placing a multithreaded application server
between the client application and back-end storage.

DISTRIBUTED MULTITIERED APPLICATIONS 3

Figure 2 1 Multitiered Applications

RNS Institute of Technology Department of MCA Page: 9


Performance Appraisal System 2006

J2EE Components
J2EE applications are made up of components. A J2EE component is a self-contained functional
software unit that is assembled into a J2EE application with its related classes and files and that
communicates with other components. The J2EE specification defines the following J2EE
components:

Application clients and applets are components that run on the client.
Java Servlet and JavaServer Pages (JSP ) technology components are web components that run
on the server.
Enterprise JavaBeans (EJB ) components (enterprise beans) are business components that run
on the server.

J2EE components are written in the Java programming language and are compiled in the same way
as any program in the language. The difference between J2EE components and standard Java
classes is that J2EE components are assembled into a J2EE application, are verified to be well
formed and in compliance with the J2EE specification, and are deployed to production, where they
are run and managed by the J2EE server.

J2EE Server Communications


Figure 1 2 shows the various elements that can make up the client tier. The client communicates
with the business tier running on the J2EE server either directly or, as in the case of a client running
in a browser, by going through JSP pages or servlets running in the web tier.
Your J2EE application uses a thin browser-based client or thick application client. In deciding which
one to use, you should be aware of the trade-offs between keeping functionality on the client and
close to the user (thick client) and offloading as much functionality as possible to the server (thin
client). The more functionality you off-load to the server, the easier it is to distribute, deploy, and
manage the application; however, keeping more functionality on the client can make for a better
perceived user experience.

RNS Institute of Technology Department of MCA Page: 10


Performance Appraisal System 2006

Figure 2 2 Server Communications

2.4 Java Server Pages (JSP)


JavaServer Pages (JSP) technology enables Web developers and designers to rapidly develop and
easily maintain, information-rich, dynamic Web pages that leverage existing business systems. As
part of the Java technology family, JSP technology enables rapid development of Web-based
applications that are platform independent. JSP technology separates the user interface from content
generation, enabling designers to change the overall page layout without altering the underlying
dynamic content.

2.4.1 Jsp Architecture


JSPs are built on top of Sun s servlet technology. JSPs are essentially an HTML page with
special JSP tags embedded. Here JSP tags can contain Java code. The JSP file extension is
.jsp. The JSP engine parses the .jsp and creates a Java servlet source file. It then compiles the
source file into a class file, this is done the first time and this is why the JSP is probably
slower the first time it is accessed. Any time after this the special compiled servlet is
executed and is therefore returns faster.

RNS Institute of Technology Department of MCA Page: 11


Performance Appraisal System 2006

Jsp Model 2 Architecture


The Model 2 architecture, shown in below, is a hybrid approach for serving dynamic content, since it
combines the use of both Servlets and JSP. It takes advantage of the predominant strengths of both
technologies, using JSP to generate the presentation layer and servlets to perform process-intensive
tasks. Here, the Servlet acts as the controller and is in charge of the request processing and the
creation of any beans or objects used by the JSP, as well as deciding, depending on the user's actions,
which JSP page to forward the request to. Note particularly that there is no processing logic within
the JSP page itself; it is simply responsible for retrieving any objects or beans that may have been
previously created by the Servlet, and extracting the dynamic content from that Servlet for insertion
within static templates, this approach typically results in the cleanest separation of presentation from
content, leading to clear delineation of the roles and responsibilities of the developers and page
designers on programming team. In fact, the more complex be the application, the greater the
benefits of using the Model 2 architecture should be.

Figure 2-3: JSP Model 2 architecture

For Automation of CMS Tool, the above Model is used to reduce the complexity of application and
improve the clear separation.
As example of the File Representation used to realize the above scenario:

Presentation Layer : Filename.jsp

Controller : FilenameController.java

RNS Institute of Technology Department of MCA Page: 12


Performance Appraisal System 2006

Model : FilenameModel.java

Working of Presentation Layer


In this Layer user visible data can be displayed based on the dynamic request. It should contain the
JSP and HTML combination gives clear pictorial separation between processing Logic to reduce the
complexity of debugging.
In the Development of the CMS Tool, it is ensured all the presentation layer in JSP and no business
logic is included as part of the presentation layer.
e.g: Filename.jsp
A JSP page is basically a web page with traditional HTML and bits of Java code. The file extension
of a JSP page is .jsp rather than .html or .htm, which tells the server that this page requires special
handling that will be accomplished by a server extension or a plug-in.
When a JSP page is called, it will be compiled (by the JSP engine) into a Java servlet. At this point
the servlet is handled by the servlet engine, just like any other servlet. The servlet engine then loads
the servlet class (using a class loader) and executes it to create dynamic HTML to be sent to the
browser, as shown in following. The servlet creates any necessary object, and writes any object as a
string to an output stream to the browser
The next time the page is requested, the JSP engine executes the already-loaded servlet unless the
JSP page has changed, in which case it is automatically recompiled into a servlet and executed

Coding Strategy through Controller


Its main purpose is to instantiate the beans and Forward to appropriate JSP based on the client
request. It should ensure that proper action events should be triggered based on the request provided
by the client.
In the Development of the CMS Tool, Controller is a pure servlet code.
e.g: FilenameController.java
The succession of views that a Web application user sees is called screen flow. A Web-tier controller
controls screen flow by selecting the next view a user sees. In static Web sites, screens (usually Web
pages) are statically linked to one another. By contrast, a controller dynamically chooses the "next"
screen in response to both user actions and model operation results.

RNS Institute of Technology Department of MCA Page: 13


Performance Appraisal System 2006

In this section, the term "view" means a Web resource with a URL from which Web content is
available. A view might be a JSP page, a servlet, static content, or some combination of the three,
assembled into a page. Typically, the "next" view to display depends on one or more of:
The current view
The results of any operation on the application model, returned by model method
invocations
Possibly other server-side state, kept in PageContext, ServletRequest, HttpSession,
and ServletContext.
The controller uses this data to determine which view to display next. A Web controller "displays a
view" by forwarding the request to a JSP page, servlet, or other component that renders the view in a
format compatible with the client; for example, returning HTML to a browser.

The diagram shows the following sequence of calls for application developed in MVC.
1. The controller receives a POST from the client.
2. The controller obtains request and action need to be handle
3. The Controller Instantiates the Model.
4. The controller calls appropriate Helper Methods method.
5. Perform business logic in the Helper class.
6. Based on the business logic it performs operation in the requested database.
7. Obtain the data and returns the success or failure to the controller.

RNS Institute of Technology Department of MCA Page: 14


Performance Appraisal System 2006

FLOW DIAGRAM: STEPS FOLLOWED FOR CODING

CLIENT Presentation Controller Model Helper Database

POST
RECIVE REQUEST
INSTANTIATE MODEL
CALL ACTION BUSINESS LOGIC METHOD

PERFORM BUSINESS LOGIC BASED ON CODING STRATERGY

REQUEST /MANIPULATE DATA

PROVIDE DATA
RETURN SUCCESS OR FAILURE

OBTAIN S TA TUS

OBTAIN REQUESTED VIEW

Figure 2-4: Flow Diagram of Controller

Model Representation
Its main purpose to allocate memory for data objects used in the development application. In this
setter and getter method should be written with business logic. For more clarification, this has been
divided into two components such as pure setter and getter methods (Java Bean) and methods having
helper classes (Java Helper classes) used for writing business logic.
In the Development of CMS Tool, pure core Java code is used.
e.g: FilenameModel.java (for pure setter and getter methods)
FilenameHelper.java (for business logic)
In this main business logic is required to incorporate.

2.4.2 Benefits for Developers:


If you are a Web page developer or designer who is familiar with HTML, you can:
Use JSP technology without having to learn the Java language:
You can use JSP technology without learning how to write Java scriplets. Although scriptlets are no
longer required to generate dynamic content, they are still supported to provide backward
compatibility.

RNS Institute of Technology Department of MCA Page: 15


Performance Appraisal System 2006

Extend the JSP language:


Java tag library developers and designers can extend the JSP language with "simple tag handlers,"
which utilize a new, much simpler and cleaner, tag extension API. This spurs the growing number of
pluggable, reusable tag libraries available, which in turn reduces the amount of code needed to write
powerful Web applications.

Easily write and maintain pages:


The JavaServer Pages Standard Tag Library (JSTL) expression language is now integrated into JSP
technology and has been upgraded to support functions. The expression language can now be used
instead of scriptlet expressions.

JSP Technology and Java Servlets


JSP technology uses XML-like tags that encapsulate the logic that generates the content for the page.
The application logic can reside in server-based resources (such as JavaBeans component
architecture) that the page accesses with these tags. Any and all formatting (HTML or XML) tags are
passed directly back to the response page. By separating the page logic from its design and display
and supporting a reusable component-based design, JSP technology makes it faster and easier than
Ever to build Web-based applications.

JavaServer Pages technology is an extension of the Java Servlet technology. Servlets are platform-
independent, server-side modules that fit seamlessly into a Web server framework and can be used to
extend the capabilities of a Web server with minimal overhead, maintenance, and support. Unlike
other scripting languages, servlets involve no platform-specific consideration or modifications; they
are application components that are downloaded, on demand, to the part of the system that needs
them. Together, JSP technology and servlets provide an attractive alternative to other types of
dynamic Web scripting/programming by offering: platform independence; enhanced performance;
separation of logic from display; ease of administration; extensibility into the enterprise; and, most
importantly, ease of use.

Today servlets are a popular choice for building interactive Web applications. Third-party servlet
containers are available for Apache Web Server, Microsoft IIS, and others. Servlet containers are

RNS Institute of Technology Department of MCA Page: 16


Performance Appraisal System 2006

usually a component of Web and application servers, such as BEA WebLogic Application Server,
IBM WebSphere, Sun Java System Web Server, Sun Java System Application Server, and others.

Community Background
The JSP specification is the product of industry-wide collaboration with industry leaders in the
enterprise software and tools markets, led by Sun Microsystems. Sun has made the JSP specification
freely available to the developer community, with the goal that every Web server and application
server will support the JSP interface. JSP pages share the "Write Once, Run Anywhere" advantages
of Java technology. JSP technology is a key component in the Java 2 Platform, Enterprise Edition,
Sun's highly scalable architecture for enterprise applications.

2.4.3 Predefined Variables of a Jsp Page


To simplify code in JSP expressions and scriptlets, you are supplied with eight automatically defined
variables, sometimes called implicit objects. The available variables are request, response, out,
session, application, config, pageContext, and page. Details for each are given
below.

Request (HTTP Request)

What is HTTP?

HTTP stands for Hypertext Transfer Protocol. It's the network protocol used to deliver virtually all
files and other data (collectively called resources) on the World Wide Web, whether they're HTML
files, image files, query results, or anything else. Usually, HTTP takes place through TCP/IP sockets
(and this tutorial ignores other possibilities).

A browser is an HTTP client because it sends requests to an HTTP server (Web server), which then
sends responses back to the client. The standard (and default) port for HTTP servers to listen on is
80, though they can use any port.

When you type a URL into a web browser, it sends a request for the item named by that URL to the
server. Request can mean the entire request or specifically the name of the item contained in the
request. This is the HttpServletRequest associated with the request, and lets you look at the request

RNS Institute of Technology Department of MCA Page: 17


Performance Appraisal System 2006

parameters (via getParameter), the request type (GET, POST, HEAD, etc.), and the incoming HTTP
headers (cookies, Referer, etc.). Strictly speaking, request is allowed to be a subclass of
ServletRequest other than HttpServletRequest, if the protocol in the request is something other than
HTTP. This is almost never done in practice.

HTTP defines eight methods indicating the desired action to be performed on the identified resource.

GET Requests a representation of the specified resource. By far the most common method
used on the Web today.
HEAD Asks for the response identical to the one that would correspond to a GET request,
but without the response body. This is useful for retrieving meta-information written in
response headers, without having to transport the entire content.
POST Submits user data (e.g. from a HTML form) to the identified resource. The data is
included in the body of the request.
PUT Uploads a representation of the specified resource.
DELETE Deletes the specified resource (rarely implemented).
TRACE Echoes back the received request, so that a client can see what intermediate
servers are adding or changing in the request.
OPTIONS Returns the HTTP methods that the server supports. This can be used to check
the functionality of a web server.
CONNECT For use with a proxy that can change to being an SSL tunnel.

Response
This is the HttpServletResponse associated with the response to the client. Note that, since the output
stream (see out below) is buffered, it is legal to set HTTP status codes and response headers; even
though this is not permitted in regular servlets once any output has been sent to the client.

Out
This is the PrintWriter used to send output to the client. However, in order to make the
response object (see the previous section) useful, this is a buffered version of PrintWriter
called JspWriter. Note that you can adjust the buffer size, or even turn buffering off, through use of
the buffer attribute of the page directive. Also note that out is used almost exclusively in scriptlets,

RNS Institute of Technology Department of MCA Page: 18


Performance Appraisal System 2006

since JSP expressions automatically get placed in the output stream, and thus rarely need to refer to
out explicitly.

Session
This is the HttpSession object associated with the request. Recall that sessions are created
Automatically, so this variable is bound even if there was no incoming session reference. The one
exception is if you use the session attribute of the page directive to turn sessions off, in which case
attempts to reference the session variable cause errors at the time the JSP page is translated into a
servlet.

Application
This is the ServletContext as obtained via getServletConfig().getContext().

Config
This is the ServletConfig object for this page.

pageContext
JSP introduced a new class called PageContext to encapsulate use of server-specific features like
higher performance JspWriters. The idea is that, if you access them through this class rather than
directly, your code will still run on "regular" servlet/JSP engines.

Page
This is simply a synonym for this, and is not very useful in Java. It was created as a placeholder for
the time when the scripting language could be something other than Java.

Actions
JSP actions use constructs in XML syntax to control the behavior of the servlet engine. You can
dynamically insert a file, reuse JavaBeans components, forward the user to another page, or generate
HTML for the Java plugin.
Available actions include:
jsp:include - Include a file at the time the page is requested.

RNS Institute of Technology Department of MCA Page: 19


Performance Appraisal System 2006

jsp:useBean - Find or instantiate a JavaBean.


jsp:setProperty - Set the property of a JavaBean.
jsp:getProperty - Insert the property of a JavaBean into the output.
jsp:forward - Forward the requester to a new page.
jsp:plugin - Generate browser-specific code that makes an OBJECT or EMBED tag
for the Java plugin.

These actions are described in more detail below. Remember that, as with XML in general, the
element and attribute names are case sensitive.

2.4.4 Advantages of Jsp


JSP has a number of advantages over many of its alternatives. Here are a few of them.

Versus Active Server Pages (ASP)


ASP is a competing technology from Microsoft. The advantages of JSP are twofold. First, the
dynamic part is written in Java, not VBScript or another ASP-specific language, so it is more
powerful and better suited to complex applications that require reusable components. Second, JSP is
portable to other operating systems and Web servers.

Versus PHP
PHP is a free, open-source HTML-embedded scripting language that is somewhat similar to both
ASP and JSP. The advantage of JSP is that the dynamic part is written in Java, which already has an
extensive API for networking, database access, distributed objects, and the like, whereas PHP
requires learning an entirely new language.

Versus Pure Servlets


JSP doesn t provide any capabilities that couldn t in principle be accomplished with a servlet. JSP
documents are automatically translated into servlets behind the scenes. By separating the
presentation from the contents, we can put assign people with specific tasks based on their strength,
for example: web page design experts can build the HTML using familiar tools and leave places for
servlet programmers to insert the dynamic contents.

RNS Institute of Technology Department of MCA Page: 20


Performance Appraisal System 2006

Versus JavaScript
JavaScript, which is completely distinct from the Java programming language, is normally used to
generate HTML dynamically on the client, building parts of the Web page as the browser loads the
document. This is a useful capability but only handles situations where the dynamic information is
based on the client s environment. With the exception of cookies, the HTTP request data is not
available to client-side JavaScript routines. And, since JavaScript lacks routines for networking
programming, JavaScript code on the client cannot access server-side resources like databases and
more. JavaScript can also be used on the server, most notably on Netscape servers.

Versus Static HTML


Regular HTML cannot contain dynamic information; so static HTML pages cannot be based upon
user input or server-side data sources. JSP on the other hand is so easy and convenient that it
increases the usability by the insertion of dynamic data.

2.5 Java Script


JavaScript is a scripting language developed by Netscape that gives Web authors the ability to design
interactive sites. JavaScript interacts with HTML source code, providing a means to create dynamic
content that reacts to user actions. Because JavaScript is an open source language, anyone can use
the language without purchasing a license.
With JavaScript, a Web page can react to what the user is doing. Images can swap when the mouse
moves over them, form elements can influence each other on the fly, and calculations can be made
without having to resort to a CGI script. In fact, a great deal can be accomplished with very little
programming. There is no need for a fancy computer, complex software, or access to a Web server;
all the work can be done and tested right on the local computer.

JavaScript is an object-oriented language that makes certain tasks in HTML much easier. JavaScript
follows in the footsteps of the other scripting languages like PERL, providing an interpreted text
programming language that is easy to use fairly rich.
JavaScript offers a way to add intelligence and interactivity to web pages. With JavaScript, you can:

RNS Institute of Technology Department of MCA Page: 21


Performance Appraisal System 2006

Process data collected in HTML forms right on the user s computer, without involving a server (
or a programmer with advanced Perl, C, or other programming language skills )
Create and store data on the user s machine
Add interactivity to graphics
Change page elements on the fly based on user input; and integrate HTML data more tightly with
other web technologies

JavaScript is used for:


Building self-validating forms
JavaScript enables intelligent, self-validating forms that instantaneously warn the user when the
entered data is incorrect. Because client-side JavaScript is inline with HTML, the user is forewarned
before the data is submitted to the server, saving both the user and the server time and resources.

Creating pages in which images change dynamically


JavaScript controls the source of an image, thereby allowing the designer to automatically swap
images in response to the user s actions.

Enabling dynamic calculations within forms


As the user fills out a form, calculations can automatically update based on the user s input. For
example, as the user checks products he/she wishes to order, JavaScript s control of a field s display
instantaneously updates the total cost.

Opening and Closing Windows


JavaScript code can create new windows and display appropriate information in that new window.
For example, when the user moves her mouse over a word, a small window with the word s
definition could appear, linger for 10 seconds, and then disappear. One common use of the pop-up
window is to display ads, as America Online s site does at http://www.aol.com

RNS Institute of Technology Department of MCA Page: 22


Performance Appraisal System 2006

Changing the displayed URL


JavaScript code can be used to change the URL displayed by a window or frame, without the user
having to click on a hyperlink. This change could be triggered in response to selecting an item in a
pull-down menu, as a result of a timer elapsing, or in response to some other action.

Client-side vs. Server-side JavaScript


Client-side JavaScript refers to JavaScript code that is executed by the browser (client).Server-side
JavaScript is also possible, which is scripting code that executes on the server. Netscape Web
servers, if equipped with LiveWire Pro, support server-side applications written in JavaScript. In
case of Microsoft Internet Explorer, Microsoft Internet Information Server (IIS) supports similar
server-side JavaScript applications, called Active Server Pages.

Difference between a CGI Script and Client-side JavaScript


CGI (Common Gateway Interface) scripts are executed on the Web server (much like server-side
JavaScript), whereas client-side JavaScript is executed within the browser. CGI scripts are better
suited for completing tasks that require information to be stored on the server or exchanged over the
network (e.g., with a database). On the other
hand, client-side JavaScript is designed for simple tasks that do not require interaction with the
server, and therefore can be executed instantaneously. JavaScript can handle many of the same
responsibilities that a CGI script can manage; the benefit to using
JavaScript is that it is executed on the client side and does not require further interaction with the
server.

2.6 HTML (Hyper Text Markup Language)


HTML is a markup language, which means that you embed special tags- formatting commands in
the text to describe how the text should be rendered (that is, displayed or printed).
The idea of markup languages has been around for a while. Before the day of graphical interfaces,
typesetting with the computer meant preparing a text file with embedded typesetting commands and
then processing that marked-up text file with a computer program that generated commands for the
output device: a printer or some other typesetter.

RNS Institute of Technology Department of MCA Page: 23


Performance Appraisal System 2006

There is, in fact, a Standard Generalized Markup Language (SGML) that standardizes the concept of
generalized markup language by defines a document and the way tags are used to define a
document s layout. SGML was standardized by the International Standards Organization (ISO) in
1986. HTML is an SGML-derived language with a set of tags that includes support for hypertext
links (also known as hyperlinks).
HTML includes tags to denote parts of a document such as headers, bulleted lists, and parts that
should be emphasized. The web browser interprets these tags and displays a formatted document. In
addition to tags that control the document s layout, HTML includes tags that enable you to embed
images and even applications (such as java applets) in a document. You can also ask the user for
input and have the web browser send the user s response back to the web server.
On UNIX Systems, HTML files usually have the .html file extension. On Windows95 and Windows
NT, you would use a .HTM extension for HTML files.
In HTML, angle brackets (< >) enclose the tags. For example, you can see how the document title
appears within a pair of tags (<TITLE> and </TITLE>).

2.7 Database
2.7.1 Introduction
Modern day computer based information systems (IS) are capable of serving a verity of complex
tasks in a coordinated manner. The heart of the IS id Database Management. This is because most IS
have to handle massive amounts of data. This core module of an IS is called as Database
Management System (DBMS). A DBMS provides for storage, retrieval and updating of data in an
organized manner.
Data: known facts that can be recorded and that have implicit meaning
Database: Collection of related data

2.7.2 Introduction to DBMS


Database Management System: A computerized record keeping system
A DBMS is a collection of programs that facilitates the process of defining, constructing and
manipulating databases. Defining a database involves the types of data to be stored in the database.
Constructing a database is the process of storing the data.

RNS Institute of Technology Department of MCA Page: 24


Performance Appraisal System 2006

Benefits if DBMS
Redundancy can be reduced
Inconsistency can be avoided
Data can be shared
Standards can be enforced
Security restrictions can be applied
Integrity can be maintained
Data independence can be provided

Database Management System Architecture

User

Database System
Application programs / Queires

DBMS
Software to process Queries / Programs
Software

Software to access stored data

Stored Data Definitions Stored Database

Figure 4- 1 Shows the Structure of a Data base Management System

The DBMS is a complex piece of software that usually consists of a number of modules. The DBMS
may be considered as a n agent that allows communication between the various types of users with
the physical database and the Operating System without the users being aware of every detail of how
it is done. To enable the DBMS to fulfill its tasks, the database management system must maintain
information about the data itself that is stored in the system. This information would normally

RNS Institute of Technology Department of MCA Page: 25


Performance Appraisal System 2006

include what data is stored, how it is stored, who has access to what parts of it and so on. The
information about the data in a database is called the metadata. This metadata helps management in
maintaining an effective and efficient database system.

Three broad of Users


Application Programmers: Responsible for writing application programs that use the database.
End users: Interact with the system form workstations or terminals. A given end user can access the
database via one of the applications, or can use an interface provided as an integral part of the
database system software.
Database Administrator (DBA): Creates the actual database and implements technical controls
needed to enforce various policy decisions. The DBA is also responsible for ensuring that the system
operates with adequate performance and for providing a variety of other related technical services.

The main components of DBMS are


A Query language and a Data Description Language (DDL) to provide users the access to database.
Query Processor translates statements in a query language into low-level instructions that the DB
manager understands
Database Manager provides interface between the low level data stored in the database and the
application programs and queries submitted to the system

2.7.3 Introduction to RDBMS

Edgar F. Codd at IBM invented the relational database in 1970. Referred to as RDBMS, the
relational model extended two previous database systems, the hierarchical and the network models.
After Codd s development, prototype RDBMS were developed at IBM and UC-Berkeley, and
several vendors were offering relational database products shortly thereafter.

The relational model is based on the structure of a database. A database is simply a collection of one
or more relations or tables with columns and rows. The use of set theory allows for data to be
structured in a series of tables that has both columns and rows. Each column corresponds to an

RNS Institute of Technology Department of MCA Page: 26


Performance Appraisal System 2006

attribute of that relation, while each row corresponds to a record that contains data values for an
entity.

The main elements of RDBMS are based on Ted Codd s 13 rules for a relational system, the concept
of relational integrity, and normalization. The three fundamentals of a relational database are that all
information must be held in the form of a table, where all data are described using data values. The
second fundamental is that each value found in the table columns does not repeat. The final
fundamental is the use of Standard Query Language (SQL).

Benefits of RDBMS are that the system is simple, flexible, and productive. Because the tables are
simple, data is easier to understand and communicate with others. RDBMS are flexible because users
do not have to use predefined keys to input information. Also, RDBMS are more productive because
SQL is easier to learn. This allows users to spend more time inputting instead of learning. More
importantly, RDBMS s biggest advantage is the ease with which users can create and access data and
extend it if needed. After the original database is created, new data categories can be added without
the existing application being changed.

There are limitations to the relational database management system. First, relational databases do not
have enough storage area to handle data such as images, digital and audio/video. The system was
originally created to handle the integration of media, traditional fielded data, and templates. Another
limitation of the relational database is its inadequacy to operate with languages outside of SQL. After
its original development, languages such as C++ and JavaScript were formed. However, relational
databases do not work efficiently with these languages. A third limitation is the requirement that
information must be in tables where relationships between entities are defined by values.

Today, the relational model is the dominant data model as well as the foundation for the leading
DBMS products, which include IBM s DB2 family, Informix, Oracle, Sybase, Microsoft s Access,
My Sql and SQLServer, as well as FoxBase and Paradox. RDBMS represent close to a multibillion-
dollar industry alone.

2.7.4 Introduction to My Sql


MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by MySQL AB. MySQL AB is a commercial company, founded by the

RNS Institute of Technology Department of MCA Page: 27


Performance Appraisal System 2006

MySQL developers. It is a second generation Open Source company that unites Open Source values
and methodology with a successful business model.

The MySQL Web site (http://www.mysql.com/) provides the latest information about MySQL
software and MySQL AB.

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 standalone 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. The SQL standard has been evolving since 1986 and several
versions exist. In this manual, SQL-92 refers to the standard released in 1992,
SQL:1999 refers to the standard released in 1999, and SQL:2003 refers to the current version of
the standard. We use the phrase the SQL standard to mean the current version of the SQL Standard
at any time.

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.fsf.org/licenses/, to define what you may and may not do
with the software in different situations. If you feel uncomfortable with the

RNS Institute of Technology Department of MCA Page: 28


Performance Appraisal System 2006

GPL or need to embed MySQL code into a commercial application, you can buy a commercially
licensed version from us. See the MySQL Licensing Overview for more information
(http://www.mysql.com/company/legal/licensing/).

The MySQL Database Server is very fast, reliable, and easy to use
If that is what you are looking for, you should give it a try. 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 originally
developed to handle large databases much faster than existing solutions and has been successfully
used in highly demanding production environments for several years. Although under constant
development, MySQL Server today offers a rich and useful set of functions. Its connectivity, speed,
and security make MySQL Server highly suited for accessing databases on the Internet.

MySQL Server works in client/server or embedded systems


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 application programming interfaces (APIs). We also provide MySQL Server as
an embedded multi-threaded library that you can link into your application to get a smaller, faster,
easier-to-manage standalone product.

The Performance Appraisal System s database is designed by using MySQL server 4.1 version. We
have used JDBC Drivers version 1.4 for connecting the PAS application with MySQL Server.

2.7.5 What is JDBC?

JDBC technology is an API (included in both J2SE and J2EE) that provides cross-DBMS
connectivity to a wide range of SQL databases and access to other tabular data sources, such as
spreadsheets or flat files.

RNS Institute of Technology Department of MCA Page: 29


Performance Appraisal System 2006

2.8 About Apache Tomcat Server


Apache Tomcat Server 5.0

Apache Tomcat is the servlet container that is used in the official Reference Implementation for the
Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages
pecifications are developed 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 bestof- breed
developers from around the world. We invite you to participate in this open development project.

Tomcat version 5 implements the Servlet 2.4 and Java Server Pages 2.0 specifications from
the Java Community Process, and includes many additional features, which make it a useful platform
for developing and deploying web applications and web services.

JSP Custom Tag Pooling - The java objects instantiated for JSP Custom Tags can now be
pooled and reused. This significantly boosts the performance of JSP pages which use custom
tags.
Background JSP compilation - If you make a change to a JSP page which had already been
compiled Jasper 2 can recompile that page in the background. The previously compiled JSP
page will still be available to serve requests. Once the new page has been compiled
successfully it will replace the old page. This helps improve availablity of your JSP pages on
a production server.
Recompile JSP when included page changes - Jasper 2 can now detect when a page
included at compile time from a JSP has changed and then recompile the parent JSP.
JDT used to compile JSP pages - The Eclipse JDT Java compiler is now used to perform
JSP java source code compilation. This compiler loads source dependencies from the
container class loader. Ant and javac can still be used.

Jasper is implemented using the servlet class org.apache.jasper.servlet.JspServlet.

The following Diagram shows how a Jsp file is executed on a Web Server.

RNS Institute of Technology Department of MCA Page: 30


Performance Appraisal System 2006

Figure 3- 1 Shows the Basic Execution of a Jsp Page on Apache Tomact Server

Client : Typically a web browser


Web Server : Handles the HTTP protocol to/from the client
Servlet Engine : Supports the execution of servlets
Jsp Engine : Supports the translation and complication of Jsp file into Servlets

Let s take the case of a request that maps to a Jsp file. As with Servlets, the web server must have a
mapping definition that tells it what files to pass to the Jsp Engine. Typically a default map will
translate all URLs ending with *.jsp to the Jsp Engine.

The web server passes the request to the Jsp Engine. The Jsp Engine performs the following
processing for each request it receives:

Locates the Jsp file

RNS Institute of Technology Department of MCA Page: 31


Performance Appraisal System 2006

If the file is newer than the corresponding Servlet (or) if the corresponding Servlet
doesn t exist. The Engine translates the Jsp file into a Servlet.
Complies the Servlet and registers it with the Servlet Engine
Transfers control to the newly registered Servlet and passes it the request

The following diagram shows how the URL is Mapped with an Jsp file in Tomcat Web Server.

URL http://localhost:8080/ <webapp name> / <pathname> / <filename>

File CATALINA_HOME\webapps\<webapp name> \ <pathname> \ <filename>

Server Root

Doc Root (of the webapps)

Figure 3- 2 Shows the Basic Folder Structure of Apache Tomcat Server 5.0

RNS Institute of Technology Department of MCA Page: 32


Performance Appraisal System 2006

3. SOFTWARE REQUIREMENT SPECIFICATION

3.1 Introduction

The purpose of the Software Requirement Specification is to bridge the communication gap between
the client and the user. SRS is the medium through which the client and the user needs are accurately
specified. SRS forms the basis of Software development. SRS document is a contract between the
development team and the customer. Once the SRS document is approved by the customer any
subsequent controversies are settled by referring the SRS document.

Purpose

The purpose of this document is to describe the function and design of the project designed by the
group. The purpose of this SRS is to supply the team with an outline of the tool. Developer uses this
as the reference if any of the requirements undergo change in future.

Scope

The Scope of the SRS is limited to the requirements of the Performance Appraisal System taking
place in the group. The System shall enable the Manager to track the employee s performance in
various factors.

Definitions, Acronyms, Abbreviations


PAS Performance Appraisal System
HTML-Hyper Text Markup Language
JSP- Java Server Pages
UI- User Interface
HR Human Resource Manager

RNS Institute of Technology Department of MCA Page: 33


Performance Appraisal System 2006

3.2 General Description

Product Perspective

The PAS is the tool that automated the Employee s Performance Tracking process with in an
Appraisal Period. It helps the Team Head or Supervisor to find the capabilities of an Employee under
him and to encourage or motivate them towards work, for the better quality of a product.

Product Function

The HR will create the database with the Employee and Department details. And He will schedule
the total Appraisal for the year. The supervisor will assign the tasks for an employee to be done
within an Appraisal Period. The employee can view his Task Descriptions and can rate himself by
giving the self appraisal. Then, the supervisor can give appraisal ratting to the particular employee
who has finished the self appraisal. At last, the supervisor will call for an Open Discussion about the
overall appraisal ratting of an employee in different factors. There they will decide weather to
provide any training for an employee to improve his satisfaction or not. If the employee s
performance is satisfactory they will go the next appraisal s task allocation.

User Characteristics

The users of the system are as follows

HR

Supervisor

Employee

HR:
HR Operations
Employee Registration
Department Registration

RNS Institute of Technology Department of MCA Page: 34


Performance Appraisal System 2006

Modify and delete the Employee & Department Details


Appraisal Period Setup

HR Manager is Responsible for Employee, Department Registrations, Modifying the Employee,


Department Details, and Scheduling of appraisal period.

In case of Employee Registration, HR needs to enter all the Employee Details into the Data base,
they are empname, supname, dept, designation, accessrights, etc In case of Department
Registration he needs to enter the Department Name into the Database. After successfully registering
the Employee details and department details, he can also change the details or delete the details, if
required.

In case of Scheduling the Appraisal Period, he need to specify the Date for Employee s Self
Appraisal, Date for Supervisor Appraisal, Date for Open Discussion, and Appraisal From, To.

After Successful completion of Registrations, Appraisal Setup. The Supervisor could login into the
system and he could allocate the task for an employee.

Supervisor:
Supervisor Operations
Task Allocation
Supervisor Assessment
Open Discussion

Supervisor is the person who can allocate the tasks for all his Subordinates within an appraisal
period. After completion of task allocation. Employee can login into the system and can view the
task descriptions. After completion of Employee s Self Appraisal supervisor can give the ratting for
employee s performance in three factors
Completion of Assigned Tasks
Technical Skills
Soft Skills

RNS Institute of Technology Department of MCA Page: 35


Performance Appraisal System 2006

Significant Observations (Areas of Strengths, Areas to Improve)

Employee:
Employee Operations
Self Appraisal
Participating in Open Discussion with Supervisor

Employee, he can view the list of tasks allocated by his supervisor to be done within an appraisal
period. After completion of all tasks allocated to him, employee can give self appraisal (Ratting his
performance himself). Then, supervisor can give his appraisal to an employee who completed self
appraisal.

General Requirements
The look & feel of the PAS Tool should be as per the CIBER standards. The application
should reference.
The PAS Tool pages should be accessible on browsers such as Internet Explorer & Netscape.

3.3 Functional Requirements

The overall functionality of the Performance Appraisal System is as the following


PAS is used to give the feedback on the employee s performance in the Organization within an
appraisal period. Each employee will be rated by his supervisor; the supervisor is the person, who
will allocate the tasks for an employee to be done within an appraisal period. After completion of
appraisal ratting supervisor call each of his Subordinates (or) Employees for an Open Discussion, in
which they will take the decisions for future. Like, Training to improve employee s Technical Skills,
Soft Skills, etc...According to his employee s performance appraisal ratting.

An Employee s Performance will calculate on the following factors.


1. Time taken for completion of the allocated tasks.
2. Weather he/she completed all tasks allocated by the supervisor.
3. Employee s Technical Skills.

RNS Institute of Technology Department of MCA Page: 36


Performance Appraisal System 2006

4. Employee s Soft Skills.

Modules in PAS
The Performance Appraisal System has the following Modules
This system will have 3 logins:
1. HR Module
2. Supervisor Module
3. Employee Module
4. Open Discussion Module

HR Module
HR Operations
Employee Registration
Department Registration
Modify and delete the Employee & Department Details
Appraisal Period Setup

HR Manager is Responsible for Employee, Department Registrations, Modifying the Employee,


Department Details, and Scheduling of appraisal period.

In case of Employee Registration, HR needs to enter all the Employee Details into the Data base,
they are empname, supname, dept, designation, accessrights, etc In case of Department
Registration he needs to enter the Department Name into the Database. After successfully registering
the Employee details and department details, he can also change the details or delete the details, if
required.

In case of Scheduling the Appraisal Period, he need to specify the Date for Employee s Self
Appraisal, Date for Supervisor Appraisal, Date for Open Discussion, and Appraisal From, To.

After Successful completion of Registrations, Appraisal Setup. The Supervisor could login into the
system and he could allocate the task for an employee.

RNS Institute of Technology Department of MCA Page: 37


Performance Appraisal System 2006

Supervisor Module
Supervisor Operations
Task Allocation
Supervisor Assessment
Open Discussion

Supervisor is the person who can allocate the tasks for all his Subordinates within an appraisal
period. After completion of task allocation. Employee can login into the system and can view the
task descriptions. After completion of Employee s Self Appraisal supervisor can give the ratting for
employee s performance in three factors
Completion of Assigned Tasks
Technical Skills
Soft Skills
Significant Observations (Areas of Strengths, Areas to Improve)

Employee Module
Employee Operations
Self Appraisal
Participating in Open Discussion with Supervisor

Employee, he can view the list of tasks allocated by his supervisor to be done within an appraisal
period. After completion of all tasks allocated to him, employee can give self appraisal (Ratting his
performance himself). Then, supervisor can give his appraisal to an employee who completed self
appraisal.

Open Discussion Module


After completion of Employee s self appraisal, and Supervisor s appraisal. Supervisor can call for an
Open Discussion where they will review all the Performance factors and their ratting respectively,
and decide on Employee s Area s to Improve , which will be specified in Significant Observation,
weather to provide any training for employee or not. Providing training or not, will depends on the
appraisal ratting of respective employee.

RNS Institute of Technology Department of MCA Page: 38


Performance Appraisal System 2006

3.5 System Requirements


Hardware Environment
In order to implement the new system the choice of a processor with maximum possible sped is
made. There should be sufficient memory to store large amount of data and software tools for
efficient processing. Since the software is developed in window based package it needs a pointing
device also. A keyboard is necessary to enter the input data. For fulfilling the above needs the system
with the following configuration is chosen.

Server Side Requirements:


Processor: Intel Pentium Processor or Equivalent
Operating System: Windows 2000/NT/XP
RAM: 128 MB or above
HDD Capacity: 5 GB or above

Client Side Requirements:


Processor: Intel Pentium Processor or Equivalent
Operating System: Windows 2000/NT/XP
RAM: 64 MB or above
HDD Capacity: Min 1 GB or above

Software for Development & Deployment


Server side Requirements:
Operating System: Windows 2000/NT/XP
Web Server: Apache Tomcat 5.0
Database Server: MySQL Server 4.1
Tools: Java, HTML, Java Script, and Jsp
Editors: Edit Plus 2.0
Browser: Internet Explorer 5.0 or above
JDBC drivers loaded for communication with database server

RNS Institute of Technology Department of MCA Page: 39


Performance Appraisal System 2006

Client side Requirement:


Operating System: Windows 2000/NT/XP
Browser: Internet Explorer 5.0 or above
LAN Connection

RNS Institute of Technology Department of MCA Page: 40


Performance Appraisal System 2006

4. SYSTEM ANALYSIS
4.1 Existing System and its Limitations

Existing system is a manual system, the employee s performance appraisal ratting will be
given in Excel sheets my manually entering the ratting values from 1 to 5. After completion of
employee s self appraisal and supervisor s appraisal, they are manually calculating the overall
percentage of appraisal ratting, and the supervisor will call for open discussion, where they will
review all the appraisal sheets to take the future decisions.

Limitations of the Existing System


Data Management
Irrelevant structure and methodologies
Very time Consuming, not properly scheduled
Not accurately calculating the overall percentage of Appraisal ratting
Lack of easy and friendly environment

4.2 Proposed System

The proposed system is to develop a web based application, which will overcome all the
above limitations of Existing system, where the user can feel easy. Which will automate the all the
activities of basic Appraisal system. This will satisfy all the requirements of a manager to trace his
employee s Performance.

HR Module

The functions provided by this module are

Employee Registration
Department Registration
Modification or Deletion of Details
Setup the Appraisal

RNS Institute of Technology Department of MCA Page: 41


Performance Appraisal System 2006

Supervisor Module

The functions provide by this module are

Task Allocation
Assessment (after the employee s self appraisal)
Open Discussion

Employee Module

The functions provide by this module are

Self Appraisal
Participate in Open Discussion

4.3 Analysis

System Analysis

The analysis is intended to capture and describe all the requirements of the system, and to make a
model that defines the key domain classes in the system. The purpose is to provide an understanding
and to enable a communication about the system between the developers and the people establishing
the requirements. Therefore, the analysis is typically conducted in cooperation with the user or
customer.

The developer shouldn t think in terms of the code or problems during this phase: it is just the first
step toward really understanding the requirements and reality of the system under design.

The following steps were followed in the analysis phase:

Feasibility analysis was done to see if the system was feasible.


The input to be given was analyzed.
The output required by the system was analyzed.
The process the converts the input and available data to the necessary output was analyzed.

RNS Institute of Technology Department of MCA Page: 42


Performance Appraisal System 2006

4.3.1 Feasibility Study

Technical Feasibility

It is a study of function, performance, and constraints that may affect the ability to achieve an
acceptable system. Types of hardware and software are assessed to determine whether they can
support the task required.

Basic configuration of Performance Appraisal System was developed using Jsp and MySQL which
never days becoming famous for web application. The most important thing is that they are free of
cost.

Economical Feasibility

Cost needed to develop the system is very less, since the system doesn t use the things to be brought
from the outside. And most of the software need to develop the system is free of cost.

4.4 Functional Overview


The user can access this application by giving the URL at the address bar in Internet Explorer. The
first page will be login page; the user can log in as an HR Manager (or) Employee (or) Supervisor.

In HR login, he can view the following links


New (Registrations)
Modify
Delete
Setup (Appraisal Period)

While registering the Employee details, HR needs to enter the Employee Name, Employee ID,
Supervisor Name, Department, Designation, and Access Rights of an Employee. When he clicks on
submit button all the employee details will be stored in the database. While registering the
department he needs to enter the name of the department and click on submit to save the department
name in the database. If he wants to modify or delete the details of Employee he can click on Modify
or Delete links, he need to select the employee name, all the details of selected employee will be

RNS Institute of Technology Department of MCA Page: 43


Performance Appraisal System 2006

displayed in the text boxes displayed on the page, he can enter the new details and can click on
submit to update the details.

Incase of Appraisal Setup, he need to specify the dates for Employee s self appraisal, Supervisor
appraisal, Open Discussion, and from and to dates of Appraisal Period. After successfully
completing all HR operations, Supervisor can login.

In Supervisor Login, he can view three Links


Task Allocation
Appraisal Assessment
Open Discussion

When he goes for Task Allocation, he needs to select the employee name, department. When he click
on Submit Button, The task allocation page will be displayed with the employee details, based on the
employee, Department name selected in the previous page. There will be a text area enabled, where
the supervisor can give the task description for an employee. After Completion of Task Allocation,
He can click Save & Logout button, to save the task descriptions, with this option he can again do the
task allocation. If, the allocation is completed He can click on Submit.

After the Task Allocation done by Supervisor, the Employee needs to login into the system, in the
main page in employee login, the first page will be show the task descriptions given by his
supervisor, the employee needs rate himself in this page for each task, he needs to give the appraisal
ratting. After giving the ratting for the task completion, he can click on next, this will save the
appraisal ratting and will view the Technical Skills page, where an employee needs to give self
ratting for his Technical Skills in different factors, the ratings will specified in option boxes, by
selecting the option boxes, the overall percentage will be calculated automatically. After Completion
of self appraisal for Technical Skills, he can click on Next button; this will save the overall
percentage of his Technical ratting, and will view the page for Soft Skills where he can give his self
ratting as same as done for Technical Skills, after completion of Ratting for his Soft Skills, he can
click on Next Button, it will save the overall percentage of his ratting in soft skills, and will go to the

RNS Institute of Technology Department of MCA Page: 44


Performance Appraisal System 2006

last page in employee login. This page is named as Significant Observations, where he needs to
specify the Area of Improvements, and the Area of Strengths in the text areas displayed in this page.
In this page the Overall Percentage of Employee s self appraisal ratings will be calculated by using
the following formula:

Final Ratting (%): (A*0.60) + (B*0.20) + (C*0.20)

Here, A is the overall percentage of rates calculated in the task completion page, B is the overall
percentage of rates calculated in the Technical Skills page, and C is the overall percentage of rates
calculated in the Soft Skills page.

Finally he can click on Submit for saving all the details of His self appraisal. Or if it not completed
he can click on Save & Logout, which will allow him to login again, and to do the Self Appraisal
Again in all the Factors.

Now, Supervisor can login and can do the Appraisal Assessment for an Employee who completed his
Self Appraisal. Again the same pages which are displayed for Employee self appraisal, with enabled
text areas where the supervisor can enter his appraisal ratting. After Completion of Appraisal
Assessment and submitting the pages to save all the Supervisor Appraisal details. The Supervisor can
call for Open Discussion.

In case of Open Discussion, the Supervisor and Employee will sit together and can review all the
Performance factors, for which both Employee s and Supervisor s Appraisals has been given. In
every page both the ratting given by Employee and given by Supervisor will be displayed. Here, they
can take a decision weather to provide any Training for Employee or to Assign Tasks for the Next
Appraisal period.

The decision to provide training for an employee will depends on the Percentage of overall appraisal
ratting, if they have decide to provide any training, they can go for the link named as Training &
Development placed below the Submit Button.
The following Figure shows the overall functionality of Performance Appraisal System (PAS)

RNS Institute of Technology Department of MCA Page: 45


Performance Appraisal System 2006

Start

Login

Success

Completion of
HR Tasks
HR ? Supervisor? Employee?

Enter the Task


Employee & Allocation for Task Allocation
an Employee NO Completed?
Dept details

Modify or YES
Delete the NO
Details
Employee's Self NO Self
Appraisal Appraisal
Completed?

Setup the
Appraisal
Period
YES

Assessment

Employee's &
Supervisor's Appraisal
Completed?

YES
NO
Open
Discussion

Logout

Figure 5- 1 Shows the Functional Overview of PAS

RNS Institute of Technology Department of MCA Page: 46


Performance Appraisal System 2006

5. SYSTEM DESIGN

5.1 Introduction

After the Software Requirements and the feasibility study report when frozen, the next vital step was
design of the software. This is the most crucial part of the software development and the success of
any system depends upon how efficiently the system has been designed

The main design of the Performance Appraisal System undergoes through these phases of the system
development.

Logical design.
Physical design.
Architectural design.
Detailed design.

Logical Design

This phase of system design is used to define the boundaries of the system. Generally a data flow
diagram is used to depict the logical phase of the system. This illustration of logical phase how the
logical flow of the data in system, for our system describes the input, output, database.

Using this phase of design maximum care is taken that the user needs are specified at a detailed level
that virtually determined the flow of information into and out of the system and from the data
sources.

During the logical design of this, all this design issues used to a greater extent and effort always
persisted t abide to general procedure as part of this phase initially the current physical system which
was manual was reviewed dataflow the contents of files which were used to maintain the system
were extensively studied and then several discussions were carried out with the people who are
related to the organization to get a clear idea about the various functionalities of the company. Next
the output for each module within the system was specified the screen layout the output contents the
terminal specification and its location.

RNS Institute of Technology Department of MCA Page: 47


Performance Appraisal System 2006

Physical Design

The final working system can be understood from the physical design of the system. This catalog for
the programs for what the system must exactly do in different situations. In turn the programmers
write the programs keeping in mind all the necessary validations to be taken care of.

Architectural design

Network based architecture

The network-based architecture is client server architecture and can be classified into

Two tier architecture


Three tier architecture

Here the front end is HTML provides a means for the users to request for information to the back
end MYSQL. Which is posted in the forms in the form of queries? The retrieved results are then
displayed in the front end.

Detailed Design

System analysis is the process of gathering and interpreting facts, diagnosing problems and using the
information to recommend improvements to the system. Structured Analysis is done using the aid of
detail design, which includes

Architecture Diagram
Data Flow Diagram
Use Case Diagram
Sequence Diagram
Collaboration Diagram

RNS Institute of Technology Department of MCA Page: 48


Performance Appraisal System 2006

5.2 Architectural Diagram

Performance Appraisal System Architecture

User's Browser User's Browser


Web.xml File
Multiple Users Environment

Ethernet
Jsp Pages
Requests and Responses
Database
Servlet Pages Converted dbpas
Container into Servlets

User's Browser User's Browser


Apache Tomcat Server 5.0
Figure 6- 1 Shows the Architecture of Performance Appraisal System

5.3 Data Flow Diagram (DFD):


Graphically illustrate movement of data between external entities and the processes and data stores
within a system Differing high- or low-level views of the system (levels of abstraction) can be shown
using DFDs. The data flow diagram is graphical representation that depicts information flow and the
transforms that are applied as data move from input to output. The DFD thus provide a mechanism
form functional modeling as well as information flow modeling.

The following Data Flow Diagrams are drawn using the notations of Gane and Sarson

RNS Institute of Technology Department of MCA Page: 49


Performance Appraisal System 2006

5.3.1 Context Diagram

1
HR

Login

1
2 Performance
Superviso Login 1 Data base
Appraisal System
r

Login

3
Employee

Figure 6- 2 Shows the Data Flow of PAS

5.3.2 Level 1 Data Flow Diagram

1
1 2 3
HR Employee & Modification Appraisal
Department Setup
Registration

2 1 2 3
Supervisor Task Allocation Appraisal Open 1 Data base
Discussion

1
3
Employee Self Appraisal

Figure 6- 3 Shows the First Level Data Flow Diagram of PAS

RNS Institute of Technology Department of MCA Page: 50


Performance Appraisal System 2006

5.3.3 Level 2 Data Flow Diagrams:

HR Module

1 Data base (dbpas)


1
1
HR
Registration

1.1
insert(empname, supervisorname,
Employee 2 dbpas(tempinfo)
accessrights, deptid, userid)
Registration

1.2
insert(deptname)
Department 3 dbpas(tdeptmaster)
Registration

2
Modify

2.1
Modify update(empname, supervisorname,
4 dbpas(tempinfo)
Employee accessrights, deptid, userid)
Details

2.2
update(deptname)
Modify 5 dbpas(tdeptmaster)
Department
Details

3
Deletion

2.1
Delete delete(empname, supervisorname,
6 dbpas(tempinfo)
Employee accessrights, deptid, userid)
Details

2.2
delete(deptname)
Delete 7 dbpas(tdeptmaster)
Department
Details

4
insert(appraisalfrom, appraisal to,
Appraisal selfappraisal, supappraisal) 8 dbpas(tsetup)
Setup

Figure 6- 4 Shows the HR Module s Data Flow in PAS

RNS Institute of Technology Department of MCA Page: 51


Performance Appraisal System 2006

Supervisor Module

1 Data base(dbpas)

2
Supervisor
1
Task
Allocation

1.1 empid, empname,


2 dbpas(tempinfo)
Select the dept
Employee
Details

1.1.1 userid, taskdesc, 3 dbpas(tmastertask)


Enter the Task year
Description

2
Supervisor
Assessment

2.1 userid, statuskey 2 dbpas(tempinfo)


Select the
3 dbpas(tappraisaldetail)
Employee

2.1.1 4 dbpas(tmastertask)
Enter the Appraisal
Ratting for Completion 5 dbpas(tsupappraisalheader)
of tasks, Technical
Skills, Soft Skills

3
Open
Discussion
6 dbpas(tsetup)

7 dbpas(tppraisaldetail,tappraisalheader)
3.1
Select the 8 dbpas(tempinfo)
Appraisal Year
& Employee
9 dbpas(tsupappraisaldetail,tsupappraisalhear)

3.1
Review the Appraisal
Ratting given by Employee,
Supervisor

3.1.1
dbpas(ttrainingpal),
Enter the Details for 10
dbpas(ttrainngdetails)
Trainnig

Figure 6- 5 Shows the Supervisor Module s Data Flow of PAS

RNS Institute of Technology Department of MCA Page: 52


Performance Appraisal System 2006

Employee Module

1 Data base(dbpas)

3
1 2 dbpas(tmastertask)
Employee
Self Appraisal

1.1 1.2 1.3


Ratting for Ratting for Ratting for Soft
Completion of Technical Skills Skills
Assigned Tasks

Insert(userid,
empratting, taskdesc)
Insert(userid,
empratting)

3 dbpas(tempappraisaldetails)

4 dbpas(tempappraisalheader)

Figure 6- 6 Shows the Employee Module s Data Flow of PAS

RNS Institute of Technology Department of MCA Page: 53


Performance Appraisal System 2006

5.4 Use Case Diagram

New Registrations

Modify

HR Manager

Delete

Appraisal Setup

Task Allocation
Database

Supervisor Employee
Self Appraisal

Assessment

Open Discussion

RNS Institute of Technology Department of MCA Page: 54


Performance Appraisal System 2006

5.5 Sequence Diagram

: HR : Supervisor : Employee

1: Employee & Department Registrations

2: Appraisal Setup

3: Request for Task Allocation

4: Task Allocation

5: Request for Employee Self Appraisal

6: Completion of Employee Self Appraisal

7: Supervisor Assessment

8: Call for Open Discussion

9: Open Discussion

10: Completion of Appraisal

RNS Institute of Technology Department of MCA Page: 55


Performance Appraisal System 2006

5.6 Collaboration Diagram

4: Task Allocation
1: Employee & Department Registrations 7: Supervisor Assessment
2: Appraisal Setup 9: Open Discussion

3: Request for Task Allocation


: HR : Supervisor

10: Completion of Appraisal

6: Completion of Employee Self Appraisal

5: Request for Employee Self Appraisal


8: Call for Open Discussion

: Employee

5.7 Database Design

Since the system is managing huge volume of data, so the underlying structure has to store
and retrieve large amount of information. To support data storage for the system, an efficient
RDBMS MYSQL is used.

The database design is done according to the following procedure. The database design
transforms the information domain model created during the analysis into the data structures that will
be required to implement the system or software. The database design is made up of two levels

Conceptual level.
Normalization

RNS Institute of Technology Department of MCA Page: 56


Performance Appraisal System 2006

Conceptual level

This level represents the major data object and relationship between them. It describes the
essential features of the system data. Various entities, which are distinct in the system, are identified.
Attributes of these entities are also identified. Relationships between the entities are drawn and these
make up the database structure

Normalization

Organizing the structure of the database into a good shape is called normalization. The
normalization simplified the entries, removes redundancies from the system data, and finally builds a
data structure, which is both flexible and adaptable to the system. Primary key is defined for every
entity that has unique identification property. Foreign keys are also defined whenever applicable to
ensure data integrity and data consistency.

Basic steps in Normalization are


First normal form (1NF)
Second normal form (2NF)
Third normal form (3 NF)

First Normal Form (1NF)


Identify the repeating groups of fields
Remove repeating groups to a separate table
Identify the keys for tables
Key of parent table is bought as part of the concatenated key of the 2nd table

Second Normal Form (2 NF)


Check if all fields are dependent on the whole key
Remove fields that depend on part of the key
Group partially-dependent fields as a separate table
Name the tables
Identify key(s) to the table(s)

RNS Institute of Technology Department of MCA Page: 57


Performance Appraisal System 2006

Schema Representation of Database tables

deptmaster

Fields
Field Type Collation Null Key Default Extra Privileges Comment
deptid int(10) NULL PRI (NULL) auto_increment select,insert,update,references
deptName varchar(50) latin1_swedish_ci YES (NULL) select,insert,update,references
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
deptmaster 0 PRIMARY 1 deptid A 3 (NULL) (NULL) BTREE

tapprisaldetail

Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci select,insert,update,references
taskid varchar(10) latin1_swedish_ci YES (NULL) select,insert,update,references
emp_assessment text latin1_swedish_ci YES (NULL) select,insert,update,references
emp_rating int(1) NULL YES (NULL) select,insert,update,references
superuser_assess text latin1_swedish_ci YES (NULL) select,insert,update,references
superuser_rating int(1) NULL YES (NULL) select,insert,update,references
superuserflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
empflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
contflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
Indexes

tempapprisalheader
Fields
Field Type Collation Null Key Default Extra Privileges Comment
empid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
appr_period date NULL YES (NULL) select,insert,update,references
empanalytical int(1) NULL YES (NULL) select,insert,update,references
empcreativity int(1) NULL YES (NULL) select,insert,update,references
empteam_build int(1) NULL YES (NULL) select,insert,update,references
empplan_org int(1) NULL YES (NULL) select,insert,update,references
empclient_focus int(1) NULL YES (NULL) select,insert,update,references
empfun_exp int(1) NULL YES (NULL) select,insert,update,references
empcont_pro int(1) NULL YES (NULL) select,insert,update,references
emplead_qty int(1) NULL YES (NULL) select,insert,update,references
emptech_exp int(1) NULL YES (NULL) select,insert,update,references
empproactive int(1) NULL YES (NULL) select,insert,update,references
empcomm_eff int(1) NULL YES (NULL) select,insert,update,references
empdesire int(1) NULL YES (NULL) select,insert,update,references
empwill int(1) NULL YES (NULL) select,insert,update,references

RNS Institute of Technology Department of MCA Page: 58


Performance Appraisal System 2006

empassert int(1) NULL YES (NULL) select,insert,update,references


empwp int(1) NULL YES (NULL) select,insert,update,references
empdepend int(1) NULL YES (NULL) select,insert,update,references
empcreate int(1) NULL YES (NULL) select,insert,update,references
empbuild_rel int(1) NULL YES (NULL) select,insert,update,references
emppresent int(1) NULL YES (NULL) select,insert,update,references
empshare_k int(1) NULL YES (NULL) select,insert,update,references
empmanage_c int(1) NULL YES (NULL) select,insert,update,references
empteam int(1) NULL YES (NULL) select,insert,update,references
contflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
emperuserflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
empstrength text latin1_swedish_ci YES (NULL) select,insert,update,references
empuser_weakness text latin1_swedish_ci YES (NULL) select,insert,update,references
appr_to date NULL YES (NULL) select,insert,update,references
cp_selfappr date NULL YES (NULL) select,insert,update,references
emp_ach text latin1_swedish_ci YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
Indexes

tempinfo

Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci PRI select,insert,update,references
password varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
Name varchar(20) latin1_swedish_ci YES (NULL) select,insert,update,references
Desg varchar(25) latin1_swedish_ci YES (NULL) select,insert,update,references
deptname varchar(30) latin1_swedish_ci YES (NULL) select,insert,update,references
superuserid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
accesflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
qualification varchar(20) latin1_swedish_ci YES (NULL) select,insert,update,references
location varchar(25) latin1_swedish_ci YES (NULL) select,insert,update,references
doj varchar(10) latin1_swedish_ci YES (NULL) select,insert,update,references
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
tempinfo 0 PRIMARY 1 userid A 103 (NULL) (NULL) BTREE

tmastertask

Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
taskid varchar(10) latin1_swedish_ci YES (NULL) select,insert,update,references
taskassigned text latin1_swedish_ci YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
status char(2) latin1_swedish_ci select,insert,update,references

RNS Institute of Technology Department of MCA Page: 59


Performance Appraisal System 2006

Indexes

tsetup

Fields
Field Type Collation Null Key Default Extra Privileges Comment
selfappr date NULL YES (NULL) select,insert,update,references
supappr date NULL YES (NULL) select,insert,update,references
reviewmgmt date NULL YES (NULL) select,insert,update,references
empdisc date NULL YES (NULL) select,insert,update,references
apprfrom date NULL YES (NULL) select,insert,update,references
apprto date NULL YES (NULL) select,insert,update,references
hrarch date NULL YES (NULL) select,insert,update,references
year int(4) NULL PRI 0 select,insert,update,references
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
tsetup 0 PRIMARY 1 year A 3 (NULL) (NULL) BTREE

tsupapprisalheader

Fields
Field Type Collation Null Key Default Extra Privileges Comment
supuserid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
empid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
appr_period date NULL YES (NULL) select,insert,update,references
supanalytical int(1) NULL YES (NULL) select,insert,update,references
supcreativity int(1) NULL YES (NULL) select,insert,update,references
supteam_build int(1) NULL YES (NULL) select,insert,update,references
supplan_org int(1) NULL YES (NULL) select,insert,update,references
supclient_focus int(1) NULL YES (NULL) select,insert,update,references
supfun_exp int(1) NULL YES (NULL) select,insert,update,references
supcont_pro int(1) NULL YES (NULL) select,insert,update,references
suplead_qty int(1) NULL YES (NULL) select,insert,update,references
suptech_exp int(1) NULL YES (NULL) select,insert,update,references
supproactive int(1) NULL YES (NULL) select,insert,update,references
supcomm_eff int(1) NULL YES (NULL) select,insert,update,references
supdesire int(1) NULL YES (NULL) select,insert,update,references
supwill int(1) NULL YES (NULL) select,insert,update,references
supassert int(1) NULL YES (NULL) select,insert,update,references
supwp int(1) NULL YES (NULL) select,insert,update,references
supdepend int(1) NULL YES (NULL) select,insert,update,references
supcreate int(1) NULL YES (NULL) select,insert,update,references
supbuild_rel int(1) NULL YES (NULL) select,insert,update,references
suppresent int(1) NULL YES (NULL) select,insert,update,references
supshare_k int(1) NULL YES (NULL) select,insert,update,references

RNS Institute of Technology Department of MCA Page: 60


Performance Appraisal System 2006

supmanage_c int(1) NULL YES (NULL) select,insert,update,references


supteam int(1) NULL YES (NULL) select,insert,update,references
contflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
tech_overallrate float(4,2) NULL YES (NULL) select,insert,update,references
softskill_rate float(4,2) NULL YES (NULL) select,insert,update,references
perform_overallrate float(5,2) NULL YES (NULL) select,insert,update,references
superuserflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
superuser_strength text latin1_swedish_ci YES (NULL) select,insert,update,references
superuser_weakness text latin1_swedish_ci YES (NULL) select,insert,update,references
appr_to date NULL YES (NULL) select,insert,update,references
cp_supappr date NULL YES (NULL) select,insert,update,references
reviewmgmt date NULL YES (NULL) select,insert,update,references
dissemp date NULL YES (NULL) select,insert,update,references
sup_ach text latin1_swedish_ci YES (NULL) select,insert,update,references
appr_rate float(4,2) NULL YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
Indexes

ttrainingdetail

Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
areaimprove tinytext latin1_swedish_ci YES (NULL) select,insert,update,references
trainingtype varchar(50) latin1_swedish_ci YES (NULL) select,insert,update,references
duration varchar(50) latin1_swedish_ci YES (NULL) select,insert,update,references
result varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
Indexes

ttrainingplan

Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci select,insert,update,references
planneddate tinytext latin1_swedish_ci YES (NULL) select,insert,update,references
empAcceptance char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
empremarks varchar(100) latin1_swedish_ci YES (NULL) select,insert,update,references
supuserremarks varchar(100) latin1_swedish_ci YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
Indexes

RNS Institute of Technology Department of MCA Page: 61


Performance Appraisal System 2006

6. SYSTEM TESTING
6.1 System testing

System testing is the important phase. The developed system is tested and changes are made
accordingly. The testing phase involves testing of the developed system using various kinds of data.

An elaborate testing of the data s prepared and systems tested using the test data. Whole testing
errors are noted and corrections are made. Testing is the process of execution a program with the
intent of finding error . A good test case is one that has a high capability of finding yet
undiscovered errors. The guiding principle to testing in the business change life cycle is that it takes
place throughout the life cycle, regardless of whether the approach is iterative or more traditional
waterfall method, and is based on good software. It will also greatly reduce the risk of liabilities
associated with poor quality software, such as poor user productivity, data entry and calculation
errors and unacceptable functional behavior.

6.2 The Strategy

When planning a software test strategy there are some basic concepts to be remembered testing is to
prove deficiencies exist. Testing is creative and difficult since you can never prove that software is
correct. You can only prove the presence of bugs but not their absence.

Complete testing is not possible. There are too many possible combinations of inputs to any non-
trivial system. Testing can only cover a percentage of these in any realistic time scale.

Good testing requires the establishment of what ought to be tested. Therefore the overall strategy and
approach to testing, including the degree of comprehensiveness required, must be documented and
reviewed.

Test plans for each level of testing specified should be reviewed and proved before each stage of
testing begins.

RNS Institute of Technology Department of MCA Page: 62


Performance Appraisal System 2006

Testing requires independence. At the lowest level, unless there are safety critical implications, this
simply means that a programmer should review another programmer s unit testing. At the highest
level this could mean independent groups being set up.

Testing is an activity in which a lot of time and money needs to be devoted, so it is imperative that it
is well planned, cost effective and control. However, the level and depth of testing will be dependent
upon a project s size and any time bound considerations. It is therefore important that a suitable
strategy for approaching the testing activities is documented during the business study phase of a
project s life cycle. It is within this strategy that the overall shape, purpose and responsibilities for
testing are defined.

6.3 Testing Principles

When defining a testing strategy it must be remembered that testing takes place throught the lifecycle
and is based on good software engineering principles.
Those principles are:

Validation
The overriding of testing at all stages is to check that a system is fit for business purpose. The
correctness of test results is judged at all stages of development against whether the system performs
in a way that meets the business needs, whether or not statements of requirement are accurately
represented in baseline documents.

In order to achieve a business-oriented measure of fitness for purpose, the emphasis in validation
should be placed on whether the business process, with its supporting computer system, meets the
objectives for the development. The validity of business process should be re-visited when new
requirements emerge or when changes are made.

Benefit-directed testing
Testing the part of a system that delivers the key business benefits is the highest priority. Testing is
always subject to constraint of time and resource, and even if there were ample time and resource

RNS Institute of Technology Department of MCA Page: 63


Performance Appraisal System 2006

available, no amount of testing would be sufficient to locate all error. Testing should be targeted at
the system feature that delivers the key business benefits.

Error-centric testing
The objective of designing and running a test is to find an error. Testing can never prove that
software is correct. It can only prove that presence of bugs not their absence. Confidence in the
system is derived from finding errors, which are then fixed. Testing must be performed on all
products at all stages of the development process. Software products and associated design and user
documents emerge through out the development process. Therefore testing must be planned as an
integral part of the iterative lifecycle.

Independent testing
A product should be tested by some one other than its creator. Independent testing is more effective
than testing performed by the author of a product. At the lowest lever, unless there are safety critical
implications, this simply means that a programmer will review another programmer s unit testing. At
the highest level this could mean independent

Repeatable testing
Tests must be repeatable. Although tests may become obsolete as new prototypes evolve, in many
circumstances earlier teats remain useful. Re running earlier tests is essential where a prototype is
extended. It is always possible that there will be a need to resurrect a supporting design and user
documentation, but also the test suite that is pertinent to the configuration being established.

To make a test repeatable, it must be documented. There may also be a requirement to retain a record
of the best run and the results for the formal validation purposes.

6.4 Types of Testing


Unit Testing:
Unit testing focuses verification effort on the smallest unit of software design module. The relative
complexity of the test and uncovered errors is limited by the constrained scope established for unit
testing. The module interface is tested to ensure that information properly flow into and out of the

RNS Institute of Technology Department of MCA Page: 64


Performance Appraisal System 2006

program unit under test. The local data structure is examined to ensure that data stored temporarily
maintains its integrity during all steps in an algorithm s execution. Boundary conditions are tested to
ensure that the module operate poorly at boundaries established to restrict processing. All
independent paths through the control structure are exercised to ensure that al statements in the
module have been executed at least once. Finally, all error handling paths are tested.

Integration Testing:
Data can be tested across an interface; one module can have inadvertent adverse effect on the other.
Sub functions, when combined together may not produce the desired results. Individually accepted
impression may be magnified to an unacceptable level.

Integrating testing is a systematic technique for constructing the program structure while conducting
test to discover uncovered errors associated with interfacing. The objective is to atke unit tested
modules and builds program structure that has been dictated by design.

Validation Testing
At the validation or system level, the details of class disappear. Like conventional validation, the
validation of object oriented software focuses on user visible actions and user recognizable output
from the system. Conventional black box can be used to drive validations tests. In addition, tests may
be derived from the object behavior model and from event flow diagram.

Black Box Testing


This is conducted at the software interfaces. This test is designed to uncover errors, is also used to
demonstrate the software functions are operational, input is properly accepted and output are
produced correctly and thus the integrity of external information is maintained.
Black box testing is performed to find:
Incorrect or missing functions.
Interface error.
Errors on database access.
Performance errors.
Termination errors.

RNS Institute of Technology Department of MCA Page: 65


Performance Appraisal System 2006

Accordingly, all inputs to each of the modules were checked and likewise all the outputs were tested
to meet the requirements of the system under development.

White Box Testing


White box testing of software is predicted on close examination of procedural details. Providing test
cases that exercise specific test of conditions and or loops test logical paths thought the software.
White box testing attempts to guarantee that all independent paths within the module have been
exercised at least once. Thus the different units that were tested are put together to se its functionality
and flow of data from module to module. The analysis of the code can be used to find how many test
cases are needed to guarantee that all of the statements in the program or component are executed at
least once during the testing process.

Output Testing
After performing the validation testing, the next step is output testing of the proposed system, as no
system would be termed useful if it does not produce the requested output in specific format.
According to the format required by the users, they test the output generated or displayed by the
system under consideration. Here the output format is considered into two ways. One is on the screen
and another is printed. The output format on the screen is found to be correct as the format was
designed in the system phase according to the users need. So as a hard copy the output comes out
according to the specified requirements of the work.

User Acceptance Testing


User acceptance of the system is the key factor for the success of any system. The system under
consideration is tested for user acceptance by constantly keeping I touch with prospective system
users at the time of developing and making changes whatever required whatever required. This is
done with regard to
Input screen designs.
Output screen designs.
On-line messages to guide the users.
Menu driven system.
Format the output.

RNS Institute of Technology Department of MCA Page: 66


Performance Appraisal System 2006

6.5 Test Cases and Results

Project Details

Project Name: Performance Appraisal System

Document ID: Test Case Design Doc

Prepared By: Naresh Chintagunta

Test Item: Performance Appraisal System

Type of Test: System

Scope: Limited to Functional Specification

RNS Institute of Technology Department of MCA Page: 67


Performance Appraisal System 2006

Login Page

Table 1Test Cases and Results for Login Page


Functional Specification Login Screen
Preconditions User details are present in login database
Post Conditions User is either logged in or Error Message Displayed
Sl. No Requirements Test Case Expected Result Result
1 Login Enter the User Details Login Page will be Displayed Passed
with the following fields
1. Label UserId, Password Passed

2. Text box - for UsedId, Passed


Password
3. Button Submit Passed
Enter some characters in The entered characters Passes
the password filed appeared as asterisk
Enter either wrong Error Message Displayed as Passed
Userid, Password Invalid UserId & Password
Leave UserId, Password Error Message Displayed as Passed
Enter the valid UserId and
Password
Enter a right UserId, 1.Login information is Passed
Password Transmitted
2. Loads the Main screen Passed
according to Information
Provided

RNS Institute of Technology Department of MCA Page: 68


Performance Appraisal System 2006

HR Login

Table 2 Test Cases and Results for HR Login


Functional Specification Main Screen of Employee Loaded
Preconditions HR should logged in
Post Conditions HR should be able to switch to his interested pages
Sl. No Requirements Test Case Expected Result Result
2 HR Main On Click on New Link The Submenus in the New Passed
Screen should open
On Click on Department The Registration page for Passed
Registration Department should be opened
with the following fields
1. Label Department Name, Passed
Text Box to Enter the
Department Name
2. Button Submit Passed
On Click on Employee Employee Registration page Passed
Registration must be opened with the
following fields
1. Label Employee Name, Passed
Text Box to Enter
Employee Name
2. Label Employee Id, Text Passed
Box to Enter Employee ID
3. Label Joining Date, Text Passed
Box to Enter the Joining
date in the format (dd-mm-
yyyy)
4. Label Select the Passed
Department, Select Box
with the Department Names

RNS Institute of Technology Department of MCA Page: 69


Performance Appraisal System 2006

5. Label Select the Access Passed


Rights, Select Box with all
available access rights
5. Label Select the Passed
Supervisor, Select Box with
all the Supervisors Names
6. Button Submit Passed
Invalid Joining Date Error Message displayed Passed
Invalid Date (dd-mm-yyyy)
On Click Setup The Appraisal Setup Page Passed
must be Opened with the
following fields
1.Label Date for Task Passed
Allocation, Text Box to
enter the Date in the format of
(dd-mm-yyyy)
2. Label Date for Employee Passed
Self Appraisal, Text Box to
enter the Date in the format of
(dd-mm-yyyy)
3. Label Date for Passed
Supervisor Appraisal, Text
Box to enter the Date in the
format of (dd-mm-yyyy)
4. Label Date for Open Passed
Discussion, Text Box to
enter the Date in the format of
(dd-mm-yyyy)
5. Button Submit Passed
Invalid Date Format Error Message displayed as Passed

RNS Institute of Technology Department of MCA Page: 70


Performance Appraisal System 2006

Invalid Date Format (dd-


mm-yyyy)
On Click on Logout Application should close Passed

Supervisor Login

Table 3 Test Cases and Results for Supervisor Login


Functional Specification Main Screen of Supervisor Login
Preconditions Supervisor should logged in
Post Conditions Supervisor should be able to switch to his interested pages
Sl. No Requirements Test Case Expected Result Result
3 Supervisor On Click on Task Allocation The page to select the Passed
Main Screen Employee should open
with the Following
fields
1. Label Select the Passed
Employee, Select box
with the Employee
Names, Select Box
with Supervisor Names,
Select Box with
Department Names
The Page for Task Passed
Allocation must be
Displayed with the
following fields
1. Label Enter the Passed
Task Description, Text
Areas for entering the
Task description
2. Label Significant Passed

RNS Institute of Technology Department of MCA Page: 71


Performance Appraisal System 2006

Achievements, Text
area to enter the
Significant
Achievements
3. Button Add More Passed
4. Button Save & Passed
Logout
5. Button Submit Passed
4. Button Cancel Passed
On Click on Assessment The page for Supervisor Passed
Appraisal Must Open
with the following fields
1. Text Areas with all Passed
Task Descriptions
2. Text Areas to enter Passed
the Appraisal, and Text
Box to enter the
Ratting
3. Button Next Passed
4. Button Save & Passed
Logout
Next Page for Technical Passed
Skills must be displayed
with the following fields
1. Radio buttons for Passed
select the appraisal
ratting
2. Button Save & Passed
Logout
3.Button Next Passed

RNS Institute of Technology Department of MCA Page: 72


Performance Appraisal System 2006

Next Page for Soft Passed


Skills must be displayed
with the following fields
1. Radio buttons for Passed
select the appraisal
ratting
2. Button Save & Passed
Logout
3.Button Next Passed
Next Page for Passed
Significant
Observations must be
displayed with the
following fields
1. Label - Areas to Passed
Improve, Text Area to
enter the Areas to
Improve of an
Employee
2. Label - Areas of Passed
Strengths, Text Area to
enter the Areas to
Improve of an
Employee
3.Button Save & Passed
Logout
4. Button Submit Passed
5. Link for Training Passed
On Click on Logout Application must close Passes

RNS Institute of Technology Department of MCA Page: 73


Performance Appraisal System 2006

Employee Login
Table 4 Test Cases and Results for Employee Login
Functional Specifications Main Screen in Employee Login
Preconditions Employee must be logged in
Post Conditions Supervisor should be able to give his self appraisal
Sl. No Requirement Test Case Expected Result Result
4 Main Screen for Enter Self Appraisal The page for Self Passed
Employee Appraisal should be
Login Opened with the
following fields
1. Text areas to enter Passed
the self appraisal and
ratting
2. Text area for Passed
Significant
Achievements
3. Text Boxes for Passed
Appraisal Ratting
Next Page for Technical Passed
Skills must be displayed
with the following fields
1. Radio buttons for Passed
select the appraisal
ratting
2. Button Save & Passed
Logout
3.Button Next Passed
Next Page for Soft Passed
Skills must be displayed
with the following fields

RNS Institute of Technology Department of MCA Page: 74


Performance Appraisal System 2006

1. Radio buttons for Passed


select the appraisal
ratting
2. Button Save & Passed
Logout
3.Button Next Passed
Next Page for Passed
Significant
Observations must be
displayed with the
following fields
1. Label - Areas to Passed
Improve, Text Area to
enter the Areas to
Improve of an
Employee
2. Label - Areas of Passed
Strengths, Text Area to
enter the Areas to
Improve of an
Employee
3.Button Save & Passed
Logout
4. Button Submit Passed
5. Link for Password Passed
On Click on Logout Application must close Passed

RNS Institute of Technology Department of MCA Page: 75


Performance Appraisal System 2006

7. USER INTERFACES

Login Page

HR Login

RNS Institute of Technology Department of MCA Page: 76


Performance Appraisal System 2006

Supervisor Login

RNS Institute of Technology Department of MCA Page: 77


Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 78


Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 79


Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 80


Performance Appraisal System 2006

Open Discussion

All the above pages will be reviewed and the changes will be as follows

RNS Institute of Technology Department of MCA Page: 81


Performance Appraisal System 2006

Page for Training Details

RNS Institute of Technology Department of MCA Page: 82


Performance Appraisal System 2006

Employee Login

RNS Institute of Technology Department of MCA Page: 83


Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 84


Performance Appraisal System 2006

8. CONCLUSION
The new system Performance Appraisal System is designed, keeping in view the requirements
of the company. It has been friendly with the help of simple user interface. It eliminates the manual
work of filling the appraisal sheets, keeping the employee details in files, the system is greatly
improved the security.

The goals that have been achieved are:


Simplifies the operation. Avoid some manual work from the existing system.
User friendly input screens to enter data.
Able to track the employee s performance.

Disadvantages:
System is not ending with any final decision except allocating the training.

This project development helped me to gain the knowledge about the web applications and a great
experience with IT industry like CIBERsites India Private Limited.

RNS Institute of Technology Department of MCA Page: 85


Performance Appraisal System 2006

9. FUTURE ENHANCEMENT
As this application Performance Appraisal System is developed within a small period of time,
though this application satisfies the user requirements this application have some enhancements.

This application was developed by using Jsp and MySQL; this can be developed by using
Struts Framework for better and accurate functionality.
By, using struts in web application development we can provide the better security for the
data. Now, the application is working on LAN only, it can further enhance to work on
Internet, which will be very easy to use.
In the present system we are not ending up with a final decision about employee except
providing the training, so, this application can be enhanced as making decisions as salary
increments for an employee depending on his performance appraisal ratting, or giving him a
better work which suites his performance or putting him into a better project, etc...

RNS Institute of Technology Department of MCA Page: 86


Performance Appraisal System 2006

10. BIBLIOGRAPHY
Text Books Refereed

Java2 Complete Reference

Authors: Patrick Naughton, and Herbert Schildt

Professional JSP 2nd Edition

Authors: Brown, Burdick, Falkner, and Galbraith

Core Jsp

Author: Damin Hougland, and Aaron Tavistock

Java Script 1.5

Author: Michael Moncur

MySql Manual

Author: www.mysql.com

Websites Refereed

www.google.com
www.javazoom.net
www.jguru.com
www.apache.com
www.sun.com
www.forum.java.com
www.programmersheaven.com
www.sorcecodesworld.com
www.mysql.com

RNS Institute of Technology Department of MCA Page: 87


This document was created with Win2PDF available at http://www.win2pdf.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.

You might also like