Professional Documents
Culture Documents
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.
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.
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.
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.
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.
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.
CIBER s Methodologies
practices from the Project Management Institute (PMI)and the Software Engineering Institute (SEI),
embraces change control and issue control management of your projects.
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.
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.
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.
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.
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:
Controller : FilenameController.java
Model : FilenameModel.java
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.
POST
RECIVE REQUEST
INSTANTIATE MODEL
CALL ACTION BUSINESS LOGIC METHOD
PROVIDE DATA
RETURN SUCCESS OR FAILURE
OBTAIN S TA TUS
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.
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
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.
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
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,
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.
These actions are described in more detail below. Remember that, as with XML in general, the
element and attribute names are case sensitive.
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 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.
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:
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
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
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
User
Database System
Application programs / Queires
DBMS
Software to process Queries / Programs
Software
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
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.
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
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.
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.
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.
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.
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.
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.
The following Diagram shows how a Jsp file is executed on a Web Server.
Figure 3- 1 Shows the Basic Execution of a Jsp Page on Apache Tomact Server
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:
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.
Server Root
Figure 3- 2 Shows the Basic Folder Structure of Apache Tomcat Server 5.0
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.
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
HR
Supervisor
Employee
HR:
HR Operations
Employee Registration
Department Registration
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
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.
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
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 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.
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.
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
Employee Registration
Department Registration
Modification or Deletion of Details
Setup the Appraisal
Supervisor Module
Task Allocation
Assessment (after the employee s self appraisal)
Open Discussion
Employee Module
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.
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.
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
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.
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
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:
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)
Start
Login
Success
Completion of
HR Tasks
HR ? Supervisor? Employee?
Modify or YES
Delete the NO
Details
Employee's Self NO Self
Appraisal Appraisal
Completed?
Setup the
Appraisal
Period
YES
Assessment
Employee's &
Supervisor's Appraisal
Completed?
YES
NO
Open
Discussion
Logout
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.
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
The network-based architecture is client server architecture and can be classified into
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
Ethernet
Jsp Pages
Requests and Responses
Database
Servlet Pages Converted dbpas
Container into Servlets
The following Data Flow Diagrams are drawn using the notations of Gane and Sarson
1
HR
Login
1
2 Performance
Superviso Login 1 Data base
Appraisal System
r
Login
3
Employee
1
1 2 3
HR Employee & Modification Appraisal
Department Setup
Registration
2 1 2 3
Supervisor Task Allocation Appraisal Open 1 Data base
Discussion
1
3
Employee Self Appraisal
HR Module
1.1
insert(empname, supervisorname,
Employee 2 dbpas(tempinfo)
accessrights, deptid, userid)
Registration
1.2
insert(deptname)
Department 3 dbpas(tdeptmaster)
Registration
2
Modify
2.1
Modify update(empname, supervisorname,
4 dbpas(tempinfo)
Employee accessrights, deptid, userid)
Details
2.2
update(deptname)
Modify 5 dbpas(tdeptmaster)
Department
Details
3
Deletion
2.1
Delete delete(empname, supervisorname,
6 dbpas(tempinfo)
Employee accessrights, deptid, userid)
Details
2.2
delete(deptname)
Delete 7 dbpas(tdeptmaster)
Department
Details
4
insert(appraisalfrom, appraisal to,
Appraisal selfappraisal, supappraisal) 8 dbpas(tsetup)
Setup
Supervisor Module
1 Data base(dbpas)
2
Supervisor
1
Task
Allocation
2
Supervisor
Assessment
2.1.1 4 dbpas(tmastertask)
Enter the Appraisal
Ratting for Completion 5 dbpas(tsupappraisalheader)
of tasks, Technical
Skills, Soft Skills
3
Open
Discussion
6 dbpas(tsetup)
7 dbpas(tppraisaldetail,tappraisalheader)
3.1
Select the 8 dbpas(tempinfo)
Appraisal Year
& Employee
9 dbpas(tsupappraisaldetail,tsupappraisalhear)
3.1
Review the Appraisal
Ratting given by Employee,
Supervisor
3.1.1
dbpas(ttrainingpal),
Enter the Details for 10
dbpas(ttrainngdetails)
Trainnig
Employee Module
1 Data base(dbpas)
3
1 2 dbpas(tmastertask)
Employee
Self Appraisal
Insert(userid,
empratting, taskdesc)
Insert(userid,
empratting)
3 dbpas(tempappraisaldetails)
4 dbpas(tempappraisalheader)
New Registrations
Modify
HR Manager
Delete
Appraisal Setup
Task Allocation
Database
Supervisor Employee
Self Appraisal
Assessment
Open Discussion
: HR : Supervisor : Employee
2: Appraisal Setup
4: Task Allocation
7: Supervisor Assessment
9: Open Discussion
4: Task Allocation
1: Employee & Department Registrations 7: Supervisor Assessment
2: Appraisal Setup 9: Open Discussion
: Employee
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
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.
deptmaster
Fields
Field Type Collation Null Key Default Extra Privileges Comment
deptid int(10) NULL PRI (NULL) auto_increment select,insert,update,references
deptName varchar(50) latin1_swedish_ci YES (NULL) select,insert,update,references
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
deptmaster 0 PRIMARY 1 deptid A 3 (NULL) (NULL) BTREE
tapprisaldetail
Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci select,insert,update,references
taskid varchar(10) latin1_swedish_ci YES (NULL) select,insert,update,references
emp_assessment text latin1_swedish_ci YES (NULL) select,insert,update,references
emp_rating int(1) NULL YES (NULL) select,insert,update,references
superuser_assess text latin1_swedish_ci YES (NULL) select,insert,update,references
superuser_rating int(1) NULL YES (NULL) select,insert,update,references
superuserflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
empflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
contflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
Indexes
tempapprisalheader
Fields
Field Type Collation Null Key Default Extra Privileges Comment
empid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
appr_period date NULL YES (NULL) select,insert,update,references
empanalytical int(1) NULL YES (NULL) select,insert,update,references
empcreativity int(1) NULL YES (NULL) select,insert,update,references
empteam_build int(1) NULL YES (NULL) select,insert,update,references
empplan_org int(1) NULL YES (NULL) select,insert,update,references
empclient_focus int(1) NULL YES (NULL) select,insert,update,references
empfun_exp int(1) NULL YES (NULL) select,insert,update,references
empcont_pro int(1) NULL YES (NULL) select,insert,update,references
emplead_qty int(1) NULL YES (NULL) select,insert,update,references
emptech_exp int(1) NULL YES (NULL) select,insert,update,references
empproactive int(1) NULL YES (NULL) select,insert,update,references
empcomm_eff int(1) NULL YES (NULL) select,insert,update,references
empdesire int(1) NULL YES (NULL) select,insert,update,references
empwill int(1) NULL YES (NULL) select,insert,update,references
tempinfo
Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci PRI select,insert,update,references
password varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
Name varchar(20) latin1_swedish_ci YES (NULL) select,insert,update,references
Desg varchar(25) latin1_swedish_ci YES (NULL) select,insert,update,references
deptname varchar(30) latin1_swedish_ci YES (NULL) select,insert,update,references
superuserid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
accesflag char(1) latin1_swedish_ci YES (NULL) select,insert,update,references
qualification varchar(20) latin1_swedish_ci YES (NULL) select,insert,update,references
location varchar(25) latin1_swedish_ci YES (NULL) select,insert,update,references
doj varchar(10) latin1_swedish_ci YES (NULL) select,insert,update,references
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
tempinfo 0 PRIMARY 1 userid A 103 (NULL) (NULL) BTREE
tmastertask
Fields
Field Type Collation Null Key Default Extra Privileges Comment
userid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
taskid varchar(10) latin1_swedish_ci YES (NULL) select,insert,update,references
taskassigned text latin1_swedish_ci YES (NULL) select,insert,update,references
year int(4) NULL YES (NULL) select,insert,update,references
status char(2) latin1_swedish_ci select,insert,update,references
Indexes
tsetup
Fields
Field Type Collation Null Key Default Extra Privileges Comment
selfappr date NULL YES (NULL) select,insert,update,references
supappr date NULL YES (NULL) select,insert,update,references
reviewmgmt date NULL YES (NULL) select,insert,update,references
empdisc date NULL YES (NULL) select,insert,update,references
apprfrom date NULL YES (NULL) select,insert,update,references
apprto date NULL YES (NULL) select,insert,update,references
hrarch date NULL YES (NULL) select,insert,update,references
year int(4) NULL PRI 0 select,insert,update,references
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
tsetup 0 PRIMARY 1 year A 3 (NULL) (NULL) BTREE
tsupapprisalheader
Fields
Field Type Collation Null Key Default Extra Privileges Comment
supuserid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
empid varchar(15) latin1_swedish_ci YES (NULL) select,insert,update,references
appr_period date NULL YES (NULL) select,insert,update,references
supanalytical int(1) NULL YES (NULL) select,insert,update,references
supcreativity int(1) NULL YES (NULL) select,insert,update,references
supteam_build int(1) NULL YES (NULL) select,insert,update,references
supplan_org int(1) NULL YES (NULL) select,insert,update,references
supclient_focus int(1) NULL YES (NULL) select,insert,update,references
supfun_exp int(1) NULL YES (NULL) select,insert,update,references
supcont_pro int(1) NULL YES (NULL) select,insert,update,references
suplead_qty int(1) NULL YES (NULL) select,insert,update,references
suptech_exp int(1) NULL YES (NULL) select,insert,update,references
supproactive int(1) NULL YES (NULL) select,insert,update,references
supcomm_eff int(1) NULL YES (NULL) select,insert,update,references
supdesire int(1) NULL YES (NULL) select,insert,update,references
supwill int(1) NULL YES (NULL) select,insert,update,references
supassert int(1) NULL YES (NULL) select,insert,update,references
supwp int(1) NULL YES (NULL) select,insert,update,references
supdepend int(1) NULL YES (NULL) select,insert,update,references
supcreate int(1) NULL YES (NULL) select,insert,update,references
supbuild_rel int(1) NULL YES (NULL) select,insert,update,references
suppresent int(1) NULL YES (NULL) select,insert,update,references
supshare_k int(1) NULL YES (NULL) select,insert,update,references
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
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.
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.
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.
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
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.
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.
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.
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.
Project Details
Login Page
HR Login
Supervisor Login
Achievements, Text
area to enter the
Significant
Achievements
3. Button Add More Passed
4. Button Save & Passed
Logout
5. Button Submit Passed
4. Button Cancel Passed
On Click on Assessment The page for Supervisor Passed
Appraisal Must Open
with the following fields
1. Text Areas with all Passed
Task Descriptions
2. Text Areas to enter Passed
the Appraisal, and Text
Box to enter the
Ratting
3. Button Next Passed
4. Button Save & Passed
Logout
Next Page for Technical Passed
Skills must be displayed
with the following fields
1. Radio buttons for Passed
select the appraisal
ratting
2. Button Save & Passed
Logout
3.Button Next Passed
Employee Login
Table 4 Test Cases and Results for Employee Login
Functional Specifications Main Screen in Employee Login
Preconditions Employee must be logged in
Post Conditions Supervisor should be able to give his self appraisal
Sl. No Requirement Test Case Expected Result Result
4 Main Screen for Enter Self Appraisal The page for Self Passed
Employee Appraisal should be
Login Opened with the
following fields
1. Text areas to enter Passed
the self appraisal and
ratting
2. Text area for Passed
Significant
Achievements
3. Text Boxes for Passed
Appraisal Ratting
Next Page for Technical Passed
Skills must be displayed
with the following fields
1. Radio buttons for Passed
select the appraisal
ratting
2. Button Save & Passed
Logout
3.Button Next Passed
Next Page for Soft Passed
Skills must be displayed
with the following fields
7. USER INTERFACES
Login Page
HR Login
Supervisor Login
Open Discussion
All the above pages will be reviewed and the changes will be as follows
Employee Login
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.
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.
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...
10. BIBLIOGRAPHY
Text Books Refereed
Core Jsp
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