PAS Documentation

88
Performance Appraisal System 2006 RNS Institute of Technology Department of MCA Page: 1 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.

Transcript of PAS Documentation

Page 1: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 1

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.

Page 2: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 2

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.

Page 3: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 3

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

Page 4: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 4

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.

Page 5: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 5

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

Page 6: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 6

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.

Page 7: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 7

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

Page 8: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 8

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

Page 9: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 9

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

Page 10: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 10

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.

Page 11: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 11

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.

Page 12: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 12

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

Page 13: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 13

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.

Page 14: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 14

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.

Page 15: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 15

Presentation Controller Model Helper DatabaseCLIENT

POST

RECIVE REQUEST

INSTANTIATE MODEL

CALL ACTION BUSINESS LOGIC METHOD

PERFORM BUSINESS LOGIC BASED ON CODING STRATERGY

REQUEST /MANIPULATE DATA

PROVIDE DATARETURN SUCCESS OR FAILURE

OBTAIN REQUESTED VIEW

OBTAIN STATUS

FLOW DIAGRAM: STEPS FOLLOWED FOR CODING

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.

Page 16: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 16

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

Page 17: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 17

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

Page 18: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 18

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,

Page 19: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 19

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.

Page 20: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 20

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.

Page 21: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 21

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:

Page 22: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 22

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

Page 23: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 23

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.

Page 24: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 24

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.

Page 25: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 25

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

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

User

Database System Application programs / Queires

Stored Database Stored Data Definitions

DBMS

Software

Software to process Queries / Programs

Software to access stored data

Page 26: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 26

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

Page 27: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 27

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

Page 28: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 28

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

Page 29: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 29

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.

Page 30: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 30

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.

Page 31: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 31

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

Page 32: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 32

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.

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

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

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

Server Root

Doc Root (of the webapps)

Page 33: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 33

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

Page 34: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 34

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

Page 35: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 35

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

Page 36: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 36

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.

Page 37: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 37

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.

Page 38: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 38

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.

Page 39: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 39

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

Page 40: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 40

Client side Requirement:

Operating System: Windows 2000/NT/XP

Browser: Internet Explorer 5.0 or above

LAN Connection

Page 41: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 41

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

Page 42: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 42

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.

Page 43: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 43

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

Page 44: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 44

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

Page 45: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 45

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)

Page 46: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 46

Start

Login

Success

Supervisor?

Employee?HR ?

Enter the Employee & Dept details

Modify or Delete the

Details

Setup the Appraisal

Period

Completion of HR Tasks

Task Allocation for an Employee

Self Appraisal

Employee's Self Appraisal

Completed?

Task Allocation Completed?

YES

NO

Assessment

YES

NO

Open Discussion

Employee's & Supervisor's Appraisal

Completed?

YESNO

NO

Logout

Figure 5- 1 Shows the Functional Overview of PAS

Page 47: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 47

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.

Page 48: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 48

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

Page 49: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 49

5.2 Architectural Diagram

Ethernet

User's Browser

Jsp Pages

Apache Tomcat Server 5.0

Servlet Container

Multiple Users Environment

DatabasedbpasPages Converted

into Servlets

Performance Appraisal System Architecture

Requests and Responses

User's Browser

User's BrowserUser's Browser

Web.xml File

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

Page 50: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 50

5.3.1 Context Diagram

1

HR

3

Employee

2

Supervisor

Performance Appraisal System

1

Login

Login

Login

1 Data base

Figure 6- 2 Shows the Data Flow of PAS

5.3.2 Level 1 Data Flow Diagram

2Supervisor

1HR

3

Employee

Employee & Department Registration

1

Modification

2

Appraisal Setup

3

Task Allocation

1Appraisal

2Open

Discussion

3

Self Appraisal

1

1 Data base

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

Page 51: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 51

5.3.3 Level 2 Data Flow Diagrams:

HR Module

Modify

2

1 Data base (dbpas)

1

HRRegistration

1

Employee Registration

1.1

Department Registration

1.2

2 dbpas(tempinfo)

3 dbpas(tdeptmaster)

insert(empname, supervisorname, accessrights, deptid, userid)

insert(deptname)

Modify Department

Details

2.2

Modify Employee

Details

2.1

4 dbpas(tempinfo)

5 dbpas(tdeptmaster)

Deletion3

Delete Department

Details

2.2

Delete Employee

Details

2.1

6 dbpas(tempinfo)

7 dbpas(tdeptmaster)

update(empname, supervisorname, accessrights, deptid, userid)

update(deptname)

delete(empname, supervisorname, accessrights, deptid, userid)

delete(deptname)

Appraisal Setup

48 dbpas(tsetup)

insert(appraisalfrom, appraisal to, selfappraisal, supappraisal)

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

Page 52: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 52

Supervisor Module

2

Supervisor

1 Data base(dbpas)

Task Allocation

1

Select the Employee

Details

1.12 dbpas(tempinfo)

Enter the Task Description

1.1.13 dbpas(tmastertask)

Supervisor Assessment

2

Select the Employee

2.1 2 dbpas(tempinfo)

Enter the Appraisal Ratting for Completion

of tasks, Technical Skills, Soft Skills

2.1.1

userid, taskdesc, year

userid, statuskey

empid, empname, dept

5 dbpas(tsupappraisalheader)

Open Discussion

3

6 dbpas(tsetup)

Review the Appraisal Ratting given by Employee,

Supervisor

3.1

Select the Appraisal Year

& Employee

3.1

9 dbpas(tsupappraisaldetail,tsupappraisalhear)

8 dbpas(tempinfo)

7 dbpas(tppraisaldetail,tappraisalheader)

Enter the Details for Trainnig

3.1.110

dbpas(ttrainingpal), dbpas(ttrainngdetails)

3 dbpas(tappraisaldetail)

4 dbpas(tmastertask)

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

Page 53: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 53

Employee Module

3

Employee

1 Data base(dbpas)

Self Appraisal

1

Ratting for Completion of

Assigned Tasks

1.1

Ratting for Technical Skills

1.2

Ratting for Soft Skills

1.3

3 dbpas(tempappraisaldetails)

Insert(userid, empratting, taskdesc)

4 dbpas(tempappraisalheader)

Insert(userid, empratting)

2 dbpas(tmastertask)

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

Page 54: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 54

5.4 Use Case Diagram

HR Manager

Modify

Delete

New Registrations

Appraisal Setup

Task Allocation

Supervisor

Open Discussion

Employee

Database

Assessment

Self Appraisal

Page 55: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 55

5.5 Sequence Diagram

: HR

: Supervisor

: Employee

1: Employee & Department Registrations

2: Appraisal Setup

3: Request for Task Allocation

4: Task Allocation

7: Supervisor Assessment

5: Request for Employee Self Appraisal

6: Completion of Employee Self Appraisal

8: Call for Open Discussion

9: Open Discussion

10: Completion of Appraisal

Page 56: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 56

5.6 Collaboration Diagram

: HR

: Supervisor

: Employee

1: Employee & Department Registrations2: Appraisal Setup

4: Task Allocation7: Supervisor Assessment

9: Open Discussion

3: Request for Task Allocation

5: Request for Employee Self Appraisal8: Call for Open Discussion

6: Completion of Employee Self Appraisal

10: Completion of Appraisal

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

Page 57: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 57

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)

Page 58: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 58

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 unique

Key name

Seq in index

Column name

Collation Cardinality Sub part

Packed Null Index type

Comment

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

Page 59: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 59

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 unique

Key name

Seq in index

Column name

Collation Cardinality Sub part

Packed Null Index type

Comment

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

Page 60: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 60

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 unique

Key name

Seq in index

Column name

Collation Cardinality Sub part

Packed Null Index type

Comment

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

Page 61: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 61

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

Page 62: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 62

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.

Page 63: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 63

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

Page 64: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 64

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

Page 65: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 65

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.

Page 66: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 66

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.

Page 67: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 67

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

Page 68: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 68

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

with the following fields

Passed

1. Label UserId, Password Passed

2. Text box - for UsedId,

Password

Passed

3. Button Submit Passed

Enter some characters in

the password filed

The entered characters

appeared as asterisk

Passes

Enter either wrong

Userid, Password

Error Message Displayed as

Invalid UserId & Password

Passed

Leave UserId, Password Error Message Displayed as

Enter the valid UserId and

Password

Passed

Enter a right UserId,

Password

1.Login information is

Transmitted

Passed

2. Loads the Main screen

according to Information

Provided

Passed

Page 69: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 69

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

Screen

On Click on New Link The Submenus in the New

should open

Passed

On Click on Department

Registration

The Registration page for

Department should be opened

with the following fields

Passed

1. Label Department Name,

Text Box to Enter the

Department Name

Passed

2. Button Submit Passed

On Click on Employee

Registration

Employee Registration page

must be opened with the

following fields

Passed

1. Label Employee Name,

Text Box to Enter

Employee Name

Passed

2. Label Employee Id, Text

Box to Enter Employee ID

Passed

3. Label Joining Date, Text

Box to Enter the Joining

date in the format (dd-mm-

yyyy)

Passed

4. Label Select the

Department, Select Box

with the Department Names

Passed

Page 70: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 70

5. Label Select the Access

Rights, Select Box with all

available access rights

Passed

5. Label Select the

Supervisor, Select Box with

all the Supervisors Names

Passed

6. Button Submit Passed

Invalid Joining Date Error Message displayed

Invalid Date (dd-mm-yyyy)

Passed

On Click Setup The Appraisal Setup Page

must be Opened with the

following fields

Passed

1.Label Date for Task

Allocation, Text Box to

enter the Date in the format of

(dd-mm-yyyy)

Passed

2. Label Date for Employee

Self Appraisal, Text Box to

enter the Date in the format of

(dd-mm-yyyy)

Passed

3. Label Date for

Supervisor Appraisal, Text

Box to enter the Date in the

format of (dd-mm-yyyy)

Passed

4. Label Date for Open

Discussion, Text Box to

enter the Date in the format of

(dd-mm-yyyy)

Passed

5. Button Submit Passed

Invalid Date Format Error Message displayed as Passed

Page 71: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 71

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

Main Screen

On Click on Task Allocation The page to select the

Employee should open

with the Following

fields

Passed

1. Label Select the

Employee, Select box

with the Employee

Names, Select Box

with Supervisor Names,

Select Box with

Department Names

Passed

The Page for Task

Allocation must be

Displayed with the

following fields

Passed

1. Label Enter the

Task Description, Text

Areas for entering the

Task description

Passed

2. Label Significant Passed

Page 72: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 72

Achievements, Text

area to enter the

Significant

Achievements

3. Button Add More Passed

4. Button Save &

Logout

Passed

5. Button Submit Passed

4. Button Cancel Passed

On Click on Assessment The page for Supervisor

Appraisal Must Open

with the following fields

Passed

1. Text Areas with all

Task Descriptions

Passed

2. Text Areas to enter

the Appraisal, and Text

Box to enter the

Ratting

Passed

3. Button Next Passed

4. Button Save &

Logout

Passed

Next Page for Technical

Skills must be displayed

with the following fields

Passed

1. Radio buttons for

select the appraisal

ratting

Passed

2. Button Save &

Logout

Passed

3.Button Next Passed

Page 73: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 73

Next Page for Soft

Skills must be displayed

with the following fields

Passed

1. Radio buttons for

select the appraisal

ratting

Passed

2. Button Save &

Logout

Passed

3.Button Next Passed

Next Page for

Significant

Observations must be

displayed with the

following fields

Passed

1. Label - Areas to

Improve, Text Area to

enter the Areas to

Improve of an

Employee

Passed

2. Label - Areas of

Strengths, Text Area to

enter the Areas to

Improve of an

Employee

Passed

3.Button

Save &

Logout

Passed

4. Button Submit Passed

5. Link for Training Passed

On Click on Logout Application must close Passes

Page 74: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 74

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

Employee

Login

Enter Self Appraisal The page for Self

Appraisal should be

Opened with the

following fields

Passed

1. Text areas to enter

the self appraisal and

ratting

Passed

2. Text area for

Significant

Achievements

Passed

3. Text Boxes for

Appraisal Ratting

Passed

Next Page for Technical

Skills must be displayed

with the following fields

Passed

1. Radio buttons for

select the appraisal

ratting

Passed

2. Button Save &

Logout

Passed

3.Button Next Passed

Next Page for Soft

Skills must be displayed

with the following fields

Passed

Page 75: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 75

1. Radio buttons for

select the appraisal

ratting

Passed

2. Button Save &

Logout

Passed

3.Button Next Passed

Next Page for

Significant

Observations must be

displayed with the

following fields

Passed

1. Label - Areas to

Improve, Text Area to

enter the Areas to

Improve of an

Employee

Passed

2. Label - Areas of

Strengths, Text Area to

enter the Areas to

Improve of an

Employee

Passed

3.Button Save &

Logout

Passed

4. Button Submit Passed

5. Link for Password Passed

On Click on Logout Application must close Passed

Page 76: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 76

7. USER INTERFACES

Login Page

HR Login

Page 77: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 77

Supervisor Login

Page 78: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 78

Page 79: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 79

Page 80: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 80

Page 81: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 81

Open Discussion

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

Page 82: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 82

Page for Training Details

Page 83: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 83

Employee Login

Page 84: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 84

Page 85: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 85

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.

Page 86: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 86

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...

Page 87: PAS Documentation

Performance Appraisal System 2006

RNS Institute of Technology Department of MCA Page: 87

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

Page 88: PAS Documentation

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.