system design - DSpace at CUSAT - Cochin University of Science ...
system design - DSpace at CUSAT - Cochin University of Science ...
system design - DSpace at CUSAT - Cochin University of Science ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
PROJECT REPORT Callipers – The Training Manager<br />
Project Report For Completion Of 4 th Semester Mini Project<br />
CALLIPERS - THE TRAINING MANAGER<br />
for<br />
Department <strong>of</strong> Computer Applic<strong>at</strong>ions, <strong>CUSAT</strong><br />
Submitted By:-<br />
Sheeba.k.a.<br />
4 th<br />
semester,Reg No-95580048<br />
DEPARTMENT OF COMPUTER APPLICATIONS,<br />
cus<strong>at</strong><br />
- 1 -
PROJECT REPORT Callipers – The Training Manager<br />
CERTIFICATE<br />
This is to certify th<strong>at</strong> the project entitled<br />
--callipers-the training manager-- submitted to <strong>Cochin</strong> <strong>University</strong> <strong>of</strong><br />
<strong>Science</strong> and Technology in partial fulfillment <strong>of</strong> the requirements for the<br />
award <strong>of</strong> the degree <strong>of</strong> Master <strong>of</strong> Computer Applic<strong>at</strong>ions is the bona<br />
fide record <strong>of</strong> the project work<br />
done by ----sheeba.k.a.-------------------- under our supervision and<br />
guidance during ------------------- to -----------------.<br />
Sign<strong>at</strong>ure <strong>of</strong> Internal Guide Sign<strong>at</strong>ure <strong>of</strong> External Guide<br />
Name and Design<strong>at</strong>ion Name and Design<strong>at</strong>ion<br />
Head <strong>of</strong> Department<br />
Official Address<br />
Internal Examiner External Examiner<br />
- 2 -
PROJECT REPORT Callipers – The Training Manager<br />
ACKNOWLEDGEMENT<br />
The s<strong>at</strong>isfaction and euphoria th<strong>at</strong> accompany the<br />
successful completion <strong>of</strong> any task would be incomplete<br />
without mentioning the names <strong>of</strong> people who made it possible, whose constant<br />
guidance and encouragement crowns<br />
all efforts with our success.<br />
I extend my gr<strong>at</strong>itude to Dr. K.V. Pramod,<br />
Head- Department <strong>of</strong> Computer Applic<strong>at</strong>ions, <strong>Cochin</strong> <strong>University</strong><br />
<strong>of</strong> <strong>Science</strong> and Technology, Kochi, Kerala for providing<br />
me with excellent infrastructure and awesome environment<br />
th<strong>at</strong> laid potentially strong found<strong>at</strong>ion for my pr<strong>of</strong>essional life.<br />
I would like to express my pr<strong>of</strong>ound thanks to<br />
Mr. A. SreeKumar, who guided me through out the project<br />
tenure, provided me each and every details, references, and technical helps<br />
without which it was impossible to complete<br />
this project. I am also thankful to Pr<strong>of</strong>essor Dr. B. Kannan, and<br />
Mrs. S. Mal<strong>at</strong>hi for their help and guidance<br />
throughout my project future.<br />
Finally. I also wish to thank all guest faculties and non-teaching staffs for<br />
supporting me during my whole project work.<br />
- 3 -<br />
Sheeba.K.A.
PROJECT REPORT Callipers – The Training Manager<br />
SYNOPSIS<br />
- 4 -
PROJECT REPORT Callipers – The Training Manager<br />
SYNOPSIS<br />
The project entitled “Callipers – The Training Manager” is<br />
a secure online portal th<strong>at</strong> allows users to manage and control all facets <strong>of</strong> the<br />
training and knowledge <strong>of</strong> employees through one easy to use <strong>system</strong>,<br />
immedi<strong>at</strong>ely reducing time consuming administr<strong>at</strong>ion costs. It provides a web-<br />
based interface and supports tasks such as on-line registr<strong>at</strong>ion, workflow and self-<br />
service training programs. It gives clients direct access to innov<strong>at</strong>ive solutions for<br />
the deployment, tracking and reporting <strong>of</strong> training services company-wide or<br />
worldwide.<br />
‗Callipers‘ is a web based tracking and collabor<strong>at</strong>ion <strong>system</strong> for<br />
administr<strong>at</strong>ors, trainers, course deleg<strong>at</strong>es and their nomin<strong>at</strong>ed colleagues. The<br />
administr<strong>at</strong>ors can set up the details <strong>of</strong> each training program and this inform<strong>at</strong>ion<br />
can be accessed online by the trainers and deleg<strong>at</strong>es. Course deleg<strong>at</strong>es can provide<br />
and receive inform<strong>at</strong>ion. Trainers can assess d<strong>at</strong>a provided by the deleg<strong>at</strong>es and<br />
their nomin<strong>at</strong>ed colleagues. Administr<strong>at</strong>ors can monitor progress and the flow <strong>of</strong><br />
inform<strong>at</strong>ion.<br />
This simple to use tool empowers administr<strong>at</strong>ors, trainers and<br />
trainees by making inform<strong>at</strong>ion regarding classes, course requirements and<br />
programs available on a website and not just via the HR department. With no on-<br />
going monthly costs, this intuitive, highly autom<strong>at</strong>ed, powerful tool is the perfect<br />
training solution to help ensure th<strong>at</strong> your employees receive the training they<br />
need. It has everything you need to effectively manage your training programs.<br />
Ensure your employees receive the training they need on time.<br />
- 5 -
PROJECT REPORT Callipers – The Training Manager<br />
CONTENTS<br />
- 6 -
PROJECT REPORT Callipers – The Training Manager<br />
CONTENTS<br />
1. Introduction 7<br />
2. System Analysis 9<br />
2.1. Feasibility Study 10<br />
2.2. Existing System 11<br />
2.3. Proposed System 13<br />
3. System Specific<strong>at</strong>ion 15<br />
3.1. Benefits <strong>of</strong> <strong>system</strong> specific<strong>at</strong>ion 16<br />
3.2. Specific<strong>at</strong>ion for Callipers 17<br />
4. Pl<strong>at</strong>form 18<br />
4.1 Java 19<br />
4.2 JSP 20<br />
4.3 Struts 21<br />
4.4 HTML 23<br />
4.5 JBDC 23<br />
4.6 MySQL 24<br />
4.7 Apache Tomc<strong>at</strong> 25<br />
4.8 Other Technologies used behind the System 25<br />
4.8.1 Javascript 25<br />
4.8.2 XHTML 26<br />
4.8.3 Cascading Style Sheets 27<br />
- 7 -
PROJECT REPORT Callipers – The Training Manager<br />
5. System Design 28<br />
5.1. Input Design 30<br />
5.2 Output Design 30<br />
5.3 D<strong>at</strong>abase Design 31<br />
5.4 Process Design 31<br />
5.5 Logical Level System Design 32<br />
5.6 Physical Level System Design 32<br />
5.7 Architectural Design 33<br />
5.8 Design <strong>of</strong> Callipers 33<br />
5.9 Module Description 34<br />
5.10 D<strong>at</strong>a Flow Diagram 36<br />
6. Testing and Implement<strong>at</strong>ion 44<br />
6.1 Testing Methods 45<br />
6.2 Testing in Callipers 48<br />
6.3 Implement<strong>at</strong>ion Frameworks 50<br />
7. Future Enhancements 53<br />
8. Conclusion 55<br />
9. Appendix 57<br />
9.1 D<strong>at</strong>abase Schema 58<br />
9.2 Table Description 59<br />
9.3 Forms (screen Shots)<br />
9.3 Forms 69<br />
10. Bibliography 84<br />
- 8 -
PROJECT REPORT Callipers – The Training Manager<br />
INTRODUCTION<br />
INTRODUCTION<br />
- 9 -
PROJECT REPORT Callipers – The Training Manager<br />
Inform<strong>at</strong>ion processing is a major social activity with the<br />
advent <strong>of</strong> industrial revolution, which brought ever-increasing amount <strong>of</strong> d<strong>at</strong>a to<br />
be processed in shorter and shorter times. Every business and industry regardless<br />
<strong>of</strong> the size <strong>of</strong> the size or purpose is concerned with processing d<strong>at</strong>a in faster,<br />
cheaper and more efficient methods in order to provide current accur<strong>at</strong>e<br />
inform<strong>at</strong>ion.<br />
Computers have become the essential part <strong>of</strong> the<br />
organiz<strong>at</strong>ional inform<strong>at</strong>ion processing because <strong>of</strong> the power <strong>of</strong> technology and<br />
volume <strong>of</strong> d<strong>at</strong>a to be processed. Current challenge in inform<strong>at</strong>ion processing is to<br />
use the capabilities <strong>of</strong> computers to support knowledge work including managerial<br />
activities and decision-making.<br />
Callipers – The Training Manager is an online portal for<br />
online training administr<strong>at</strong>ion, which is one among them. One <strong>of</strong> the important<br />
objectives <strong>of</strong> the <strong>system</strong> is to manage and control all facets <strong>of</strong> the training and<br />
knowledge <strong>of</strong> employees through one easy to use <strong>system</strong>, immedi<strong>at</strong>ely reducing<br />
time consuming administr<strong>at</strong>ion costs.<br />
- 10 -
PROJECT REPORT Callipers – The Training Manager<br />
SYSTEM ANALYSIS<br />
SYSTEM ANALYSIS<br />
- 11 -
PROJECT REPORT Callipers – The Training Manager<br />
System Analysis is the first step in developing and<br />
managing <strong>system</strong>s. The first step in the <strong>system</strong> development life cycle is the<br />
identific<strong>at</strong>ion <strong>of</strong> a need. This is a user‘s request to change, improve or enhance an<br />
existing <strong>system</strong>. The preliminary investig<strong>at</strong>ion is one way <strong>of</strong> handling this. The<br />
objective is to determine whether the request is valid and feasible before a<br />
recommend<strong>at</strong>ion is reached to do nothing, improve or modify the existing <strong>system</strong><br />
or build a new one. Once the request is approved, a project proposal will be<br />
prepared.<br />
It‘s a detailed <strong>of</strong> various oper<strong>at</strong>ions performed by a <strong>system</strong><br />
and their rel<strong>at</strong>ionship within and outside <strong>of</strong> the <strong>system</strong>. The main aspect <strong>of</strong><br />
analysis is defining the boundaries <strong>of</strong> the <strong>system</strong> and its interaction with other<br />
<strong>system</strong>s. D<strong>at</strong>a are collected from files available, transaction handled by the present<br />
<strong>system</strong> and so on. The various tools used are d<strong>at</strong>aflow-diagrams, interviews, and<br />
questionnaires etc. Training, experience and common sense are required for<br />
inform<strong>at</strong>ion collection. At the end <strong>of</strong> this phase, a firm understanding <strong>of</strong> wh<strong>at</strong> is to<br />
be done is obtained.<br />
2.1 Feasibility Study<br />
Feasibility represents the overall logic to construct s<strong>of</strong>tware depending<br />
upon the knowledge implied by the requirement analysis. The idea here is to<br />
whether it is really possible to achieve the st<strong>at</strong>ed objectives or objectives th<strong>at</strong> are<br />
quiet vague in terms <strong>of</strong> their practicability. In other words it is to be determined if<br />
the st<strong>at</strong>ed goals are too ambiguous or actually are less ambiguous, whether they<br />
are clear or provide confused pictures in real terms.<br />
2.1.1 Economic Feasibility<br />
- 12 -
PROJECT REPORT Callipers – The Training Manager<br />
Economic analysis is the most frequently used method for evalu<strong>at</strong>ing the<br />
effectiveness <strong>of</strong> a candid<strong>at</strong>e <strong>system</strong>. More commonly known as cost/benefit<br />
analysis, the procedure is to determine the benefits and savings th<strong>at</strong> are expected<br />
from a candid<strong>at</strong>e <strong>system</strong> and compare them with costs. By using our <strong>system</strong>, there<br />
are no physical documents are carried and we shall not want usually go to our HR<br />
department to communic<strong>at</strong>e with the administr<strong>at</strong>or. These costs can definitely be<br />
saved.<br />
2.1.2 Technical Feasibility<br />
Technical feasibility centers on the existing computer <strong>system</strong> (hardware,<br />
s<strong>of</strong>tware, etc.) and wh<strong>at</strong> extend it can support the proposed addition. For example,<br />
the hardware and s<strong>of</strong>tware configur<strong>at</strong>ion are necessary for running the <strong>system</strong> is<br />
minimum.<br />
2.1.3 Behavioral Feasibility<br />
Behavioral feasibility involves the estim<strong>at</strong>ion <strong>of</strong> how strong a reaction the<br />
user staff is likely to have towards the development <strong>of</strong> a computerized <strong>system</strong>.<br />
The <strong>system</strong> is preferred more, because it reduces the difficulty <strong>of</strong> administr<strong>at</strong>or,<br />
trainer as well as <strong>of</strong> trainee.<br />
2.2 Existing System<br />
All <strong>of</strong> us are familiar with <strong>of</strong>fline training administr<strong>at</strong>ion. Offline training<br />
administr<strong>at</strong>ion has its own demerits. First an administr<strong>at</strong>or wanted to get direct<br />
contacts with both trainees and trainers. An administr<strong>at</strong>or is a person, who<br />
controls all the training process. For example, in the case <strong>of</strong> a school, an<br />
administr<strong>at</strong>or may be the principal or the manager <strong>of</strong> the school. Sometimes the<br />
trainers and trainees can‘t be getting hold <strong>of</strong> the administr<strong>at</strong>or.<br />
- 13 -
PROJECT REPORT Callipers – The Training Manager<br />
Secondly, both trainers and trainees needed to hold physical documents like<br />
<strong>at</strong>tendance sheet, certific<strong>at</strong>es, grade report etc. with their self. Broadly speaking<br />
it‘s a tedious m<strong>at</strong>ter. Thirdly, sometimes we can‘t clean out our doubts in various<br />
subjects completely. Also we can‘t communic<strong>at</strong>e with all the trainers and trainees<br />
in an institution. From the view <strong>of</strong> an administr<strong>at</strong>or, he/she may not control each<br />
and every person in an institution and also he/she may not get a chance to look<br />
closer their touchstones. Among all these demerits, keeping up the records <strong>of</strong> each<br />
and every person is the most deadening fact. Also we can maintain a better<br />
rel<strong>at</strong>ionship among others by sending messages and by clearing out the doubts<br />
through callipers forum.<br />
2.2.1 Requirement Analysis and Specific<strong>at</strong>ion<br />
This involves understanding the user‘s requirements within the<br />
framework <strong>of</strong> the organiz<strong>at</strong>ion, objectives and environment in which the <strong>system</strong><br />
being installed.<br />
During this stage, I understood the existing <strong>system</strong> by means <strong>of</strong> extensive<br />
discussions. I also understood the manual processes rel<strong>at</strong>ed to the existing <strong>system</strong>.<br />
Thus I have an idea <strong>of</strong> wh<strong>at</strong> is done in the entire network <strong>of</strong> the organiz<strong>at</strong>ion and<br />
how many peoples are included and functions <strong>of</strong> each. I enquired the problems<br />
and needs <strong>of</strong> the users <strong>of</strong> the <strong>system</strong>. Interviews are most common and most<br />
s<strong>at</strong>isfactory way <strong>of</strong> obtaining inform<strong>at</strong>ion, particularly to obtain inform<strong>at</strong>ion<br />
about objectives, problems and failures in the existing <strong>system</strong>. So I also made an<br />
interview with the manager <strong>of</strong> the website and thus I could understand the<br />
problems and failures in the existing <strong>system</strong>.<br />
2.2.2 Disadvantages <strong>of</strong> the existing <strong>system</strong><br />
- 14 -
PROJECT REPORT Callipers – The Training Manager<br />
First <strong>of</strong> all, in <strong>of</strong>fline training administr<strong>at</strong>ion, there must be a presence <strong>of</strong> an<br />
administr<strong>at</strong>or, which is not possible always.<br />
The administr<strong>at</strong>or may not keep up the complete details <strong>of</strong> each and every<br />
person in the organiz<strong>at</strong>ion/institution.<br />
In this kind <strong>of</strong> training scheme, a trainer may not able to communic<strong>at</strong>e with<br />
all <strong>of</strong> his/her trainees, which is a drastic problem. Because, communic<strong>at</strong>ion is<br />
one <strong>of</strong> the crucial part <strong>of</strong> training.<br />
Also trainees can not get time to clear up entire doubts, because they cannot<br />
get a chance to communic<strong>at</strong>e each other after their class time or training hours.<br />
Finally, restraining all documents physically is a major problem. By using<br />
Callipers, it‘s very easy to carrying all upd<strong>at</strong>es on up to d<strong>at</strong>e.<br />
2.3 Proposed System<br />
The proposed <strong>system</strong> focus on efficient use <strong>of</strong> resources, resulting in<br />
improved performance. It keeps one up-to-d<strong>at</strong>e about the impact <strong>of</strong> ones learning<br />
initi<strong>at</strong>ives by giving an insight <strong>of</strong> trainee‘s strengths and weaknesses. ‗Callipers‘<br />
has everything you need to effectively manage training for your organiz<strong>at</strong>ion. This<br />
robust, role-oriented, self-service training management s<strong>of</strong>tware manages the<br />
entire training process and can be configured to meet your specific procedures,<br />
curriculum and requirements. Ensure your employees receive the training they<br />
need on time, every time with Callipers – The Training Manager.<br />
This, in turn, empowers you to modify the learning str<strong>at</strong>egy <strong>of</strong><br />
your employees in accordance with the changing requirements <strong>of</strong> your projects.<br />
Corpor<strong>at</strong>e risk is also reduced by maintaining track records and plainly expressing<br />
performance expect<strong>at</strong>ions and results. Track who took wh<strong>at</strong>, and to ensure all<br />
training requirements are met.<br />
2.3.1 Advantages <strong>of</strong> the Proposed System<br />
- 15 -
PROJECT REPORT Callipers – The Training Manager<br />
Track employee and non-employee training requirements, current<br />
enrollments and programs.<br />
Self-service portal allows access to inform<strong>at</strong>ion and functionality by the<br />
trainee, trainer or administr<strong>at</strong>or.<br />
Autom<strong>at</strong>ed supervisor approval process streamlines communic<strong>at</strong>ion and<br />
reduces delays.<br />
Ease <strong>of</strong> process flow with advanced autom<strong>at</strong>ion <strong>of</strong> administr<strong>at</strong>ive<br />
processes and built in communic<strong>at</strong>ion tools.<br />
Curriculum cre<strong>at</strong>ion allows set up <strong>of</strong> logical flow <strong>of</strong> required classes<br />
and programs, allowing users to track when trainees are in the process <strong>of</strong><br />
completing requirements.<br />
Dubiousness can be cleared by inbuilt messaging <strong>system</strong> and also with<br />
the help <strong>of</strong> Callipers discussion forum.<br />
- 16 -
PROJECT REPORT Callipers – The Training Manager<br />
SYSTEM SPECIFICATION<br />
SYSTEM SPECIFICATION<br />
- 17 -
PROJECT REPORT Callipers – The Training Manager<br />
One job <strong>of</strong> the System specific<strong>at</strong>ion is to define the full<br />
functionality <strong>of</strong> the <strong>system</strong>. In many <strong>system</strong>s we work on, some functionality is<br />
performed in hardware and some in s<strong>of</strong>tware. It is the job <strong>of</strong> the System<br />
specific<strong>at</strong>ion to define the full functionality and like the performance<br />
requirements, to set in motion the trade-<strong>of</strong>fs and preliminary <strong>design</strong> studies to<br />
alloc<strong>at</strong>e these functions to the different disciplines.<br />
Another function <strong>of</strong> the System specific<strong>at</strong>ion is to specify<br />
performance. For example, if the <strong>system</strong> is required to move a mechanism to a<br />
particular position accur<strong>at</strong>e to a repe<strong>at</strong>ability <strong>of</strong> ± 1 millimeter, which is a<br />
<strong>system</strong>‘s requirement. It is the job <strong>of</strong> the System specific<strong>at</strong>ion to provide th<strong>at</strong><br />
requirement and to set in motion the partitioning between mechanical hardware,<br />
electronics, and s<strong>of</strong>tware.<br />
3.1 Benefits <strong>of</strong> System Specific<strong>at</strong>ion<br />
Establish the basis for agreement between the customers and the<br />
suppliers on wh<strong>at</strong> the s<strong>of</strong>tware product is to do.<br />
Reduce the development effort.<br />
Provide a baseline for valid<strong>at</strong>ion and verific<strong>at</strong>ion.<br />
Facilit<strong>at</strong>e transfer<br />
Serve as a basis for enhancement.<br />
3.2 Specific<strong>at</strong>ion for Callipers<br />
The minimal requirements for the working <strong>of</strong> this <strong>system</strong> are given below.<br />
- 18 -
PROJECT REPORT Callipers – The Training Manager<br />
3.2.1 Hardware Specific<strong>at</strong>ion<br />
Processor : Intel Pentium or above<br />
Memory : 64 MB DDR or above<br />
Processor Speed : 1.8 GHz<br />
Hard Disk : 20 GB or above<br />
Keyboard : Standard 104 keys<br />
Monitor : SVGA or Monochrome<br />
3.2.2 S<strong>of</strong>tware Specific<strong>at</strong>ion<br />
Oper<strong>at</strong>ing System : Windows XP SP2 or higher<br />
Front End : Java, JSP, Struts, HTML, Javascript<br />
Back End : MySQL Server 5.1<br />
IDE : NetBeans 6.8<br />
Web Server : Apache Tomc<strong>at</strong><br />
- 19 -
PROJECT REPORT Callipers – The Training Manager<br />
PLATFORM<br />
PLATFORM<br />
- 20 -
PROJECT REPORT Callipers – The Training Manager<br />
This project is a Web applic<strong>at</strong>ion, which will be developed using the<br />
JEE5 technologies like Servlets, JSP, JDBC, and Struts Framework.<br />
4.1 JAVA<br />
Java is a programming language originally developed by James Gosling <strong>at</strong><br />
Sun Micro<strong>system</strong>s and released in 1995 as a core component <strong>of</strong> Sun<br />
Micro<strong>system</strong>s' Java pl<strong>at</strong>form. The language derives much <strong>of</strong> its syntax from C and<br />
C++ but has a simpler object model and fewer low-level facilities. Java<br />
applic<strong>at</strong>ions are typically compiled to byte code th<strong>at</strong> can run on any Java virtual<br />
machine (JVM) regardless <strong>of</strong> computer architecture.<br />
Java has emerged as one <strong>of</strong> the major programming languages for Internet<br />
applic<strong>at</strong>ions in recent years. The main advantage <strong>of</strong> Java is th<strong>at</strong> it is pl<strong>at</strong>form<br />
independent and it is simple to use. Java is the first programming language<br />
<strong>design</strong>ed from ground up with network programming in mind. The core API for<br />
Java includes classes and interfaces th<strong>at</strong> provide uniform access to a diverse set <strong>of</strong><br />
network protocols. Internet helped Java to emerge to the forefront <strong>of</strong> the<br />
programming and Java, in turn has a pr<strong>of</strong>ound effect on the Internet.<br />
The original and reference implement<strong>at</strong>ion Java compilers, virtual machines, and<br />
class libraries were developed by Sun from 1995. As in compliance with the<br />
specific<strong>at</strong>ions <strong>of</strong> the Java Community Process, Sun made available most <strong>of</strong> their<br />
Java technologies as free s<strong>of</strong>tware under the GNU General Public License. Others<br />
have also developed altern<strong>at</strong>ive implement<strong>at</strong>ions <strong>of</strong> these Sun technologies, such<br />
as the GNU Compiler for Java and GNU Class p<strong>at</strong>h.<br />
4.2 JSP<br />
- 21 -
PROJECT REPORT Callipers – The Training Manager<br />
Java Server Pages (JSP) is a Java technology th<strong>at</strong> allows s<strong>of</strong>tware<br />
developers to cre<strong>at</strong>e dynamically-gener<strong>at</strong>ed web sites, with HTML, XML, or other<br />
document types, in response to a Web client request. The technology allows Java<br />
code and certain pre-defined actions to be embedded into st<strong>at</strong>ic content.<br />
The JSP syntax adds additional XML-like tags, called JSP actions, to be<br />
used to invoke built-in functionality. Additionally, the technology allows for the<br />
cre<strong>at</strong>ion <strong>of</strong> JSP tag libraries th<strong>at</strong> act as extensions to the standard HTML or XML<br />
tags. Tag libraries provide a pl<strong>at</strong>form independent way <strong>of</strong> extending the<br />
capabilities <strong>of</strong> a Web server.<br />
JSPs are compiled into Java Servlets by a JSP compiler. A JSP compiler<br />
may gener<strong>at</strong>e a servlet in Java code th<strong>at</strong> is then compiled by the Java compiler, or<br />
it may gener<strong>at</strong>e byte code for the servlet directly. JSPs can also be interpreted on-<br />
the-fly, reducing the time taken to reload changes.<br />
4.3 STRUTS<br />
- 22 -
PROJECT REPORT Callipers – The Training Manager<br />
Apache Struts is an open source web applic<strong>at</strong>ion framework for<br />
developing Java EE web Applic<strong>at</strong>ions. It uses and extends the Java Servlet API to<br />
encourage developers to adopt model view Controller (MVC) architecture. It was<br />
originally cre<strong>at</strong>ed by Craig McClanahan and don<strong>at</strong>ed to the Apache Found<strong>at</strong>ion in<br />
May, 2000.<br />
In a standard java EE web applic<strong>at</strong>ion, the client will typically submit<br />
inform<strong>at</strong>ion to the server via a web form. The inform<strong>at</strong>ion is then either handed<br />
over to a Java Servlet which processes it, interacts with a d<strong>at</strong>abase and produces<br />
an HTML form<strong>at</strong>ted response, or it is given to a Java Server Pages (JSP)<br />
document which blends HTML and Java code to achieve the same result.<br />
Both approaches are <strong>of</strong>ten considered inadequ<strong>at</strong>e for large projects<br />
because they mix applic<strong>at</strong>ion logic with present<strong>at</strong>ion and make maintenance<br />
difficult. The goal <strong>of</strong> Struts is to cleanly separ<strong>at</strong>e the model (applic<strong>at</strong>ion logic th<strong>at</strong><br />
interacts with a d<strong>at</strong>abase) from the view (HTML pages presented to the client) and<br />
the controller (instance th<strong>at</strong> passes inform<strong>at</strong>ion between view and model). Struts<br />
provides the controller (a servlet known as ActionServlet) and facilit<strong>at</strong>es the<br />
writing <strong>of</strong> templ<strong>at</strong>es for the view or present<strong>at</strong>ion layer (typically in JSP, but<br />
XML/XSLT and Velocity are also supported). The web applic<strong>at</strong>ion programmer is<br />
responsible for writing the model code, and for cre<strong>at</strong>ing a central configur<strong>at</strong>ion<br />
file struts-config.xml which binds together model, view and controller.<br />
Requests from the client are sent to the controller in the form <strong>of</strong><br />
"Actions" defined in the configur<strong>at</strong>ion file; if the controller receives such a request<br />
it calls the corresponding Action class which interacts with the applic<strong>at</strong>ion-<br />
specific model code. The model code returns an "Action Forward", a string telling<br />
the controller which output page to send to the client. Inform<strong>at</strong>ion is passed<br />
between model and view in the form <strong>of</strong> special java beans. A powerful custom tag<br />
- 23 -
PROJECT REPORT Callipers – The Training Manager<br />
library allows it to read and write the content <strong>of</strong> these beans from the present<strong>at</strong>ion<br />
layer without the need for any embedded Java code.<br />
Struts also supports intern<strong>at</strong>ionaliz<strong>at</strong>ion, provides facilities for the<br />
valid<strong>at</strong>ion <strong>of</strong> d<strong>at</strong>a submitted by web forms, and includes a templ<strong>at</strong>e mechanism<br />
called "tiles" which (for instance) allows the present<strong>at</strong>ion layer to be composed<br />
from independent header, footer, and content components.<br />
4.4 HTML<br />
- 24 -
PROJECT REPORT Callipers – The Training Manager<br />
HTML, which stands for Hypertext Markup Language, is the<br />
predominant markup language for web pages. It provides a means to cre<strong>at</strong>e<br />
structured documents by denoting structural semantics for text such as headings,<br />
paragraphs, lists etc as well as for links, quotes, and other items. It allows images<br />
and objects to be embedded and can be used to cre<strong>at</strong>e interactive forms. It is<br />
written in the form <strong>of</strong> HTML elements consisting <strong>of</strong> "tags" surrounded by angle<br />
brackets within the web page content. It can include or can load scripts in<br />
languages such as JavaScript, which affect the behavior <strong>of</strong> HTML processors like<br />
Web browsers, and Cascading Style Sheets (CSS) to define the appearance and<br />
layout <strong>of</strong> text and other m<strong>at</strong>erial. The use <strong>of</strong> CSS is encouraged over explicit<br />
present<strong>at</strong>ional markup.<br />
4.5 JDBC<br />
Java D<strong>at</strong>abase Connectivity (JDBC) is an API for the Java<br />
programming language th<strong>at</strong> defines how a client may access a d<strong>at</strong>abase. It<br />
provides methods for querying and upd<strong>at</strong>ing d<strong>at</strong>a in a d<strong>at</strong>abase. JDBC is oriented<br />
towards rel<strong>at</strong>ional d<strong>at</strong>abases.<br />
JDBC allows multiple implement<strong>at</strong>ions to exist and be used by the same<br />
applic<strong>at</strong>ion. The API provides a mechanism for dynamically loading the correct<br />
Java packages and registering them with the JDBC Driver Manager. The Driver<br />
Manager is used as a connection factory for cre<strong>at</strong>ing JDBC connections.<br />
JDBC connections support cre<strong>at</strong>ing and executing st<strong>at</strong>ements. These may<br />
be upd<strong>at</strong>e st<strong>at</strong>ements such as SQL's CREATE, INSERT, UPDATE and DELETE,<br />
or they may be query st<strong>at</strong>ements such as SELECT. Additionally, stored<br />
procedures may be invoked through a JDBC connection. JDBC represents<br />
st<strong>at</strong>ements using one <strong>of</strong> the following classes:<br />
St<strong>at</strong>ement – the st<strong>at</strong>ement is sent to the d<strong>at</strong>abase server each and every<br />
time.<br />
- 25 -
PROJECT REPORT Callipers – The Training Manager<br />
Prepared St<strong>at</strong>ement – the st<strong>at</strong>ement is cached and then the execution<br />
p<strong>at</strong>h is pre determined on the d<strong>at</strong>abase server allowing it to be executed<br />
multiple times in an efficient manner.<br />
Callable St<strong>at</strong>ement – used for executing stored procedures on the<br />
d<strong>at</strong>abase.<br />
Upd<strong>at</strong>e st<strong>at</strong>ements such as INSERT, UPDATE and DELETE return an<br />
upd<strong>at</strong>e count th<strong>at</strong> indic<strong>at</strong>es how many rows were affected in the d<strong>at</strong>abase. These<br />
st<strong>at</strong>ements do not return any other inform<strong>at</strong>ion.<br />
Query st<strong>at</strong>ements return a JDBC row result set. The row result set is<br />
used to walk over the result set. Individual columns in a row are retrieved either<br />
by name or by column number. There may be any number <strong>of</strong> rows in the result<br />
set. The row result set has metad<strong>at</strong>a th<strong>at</strong> describes the names <strong>of</strong> the columns and<br />
their types.<br />
4.6 MySQL<br />
MySQL is a rel<strong>at</strong>ional d<strong>at</strong>abase management <strong>system</strong> (RDBMS) which<br />
has more than 6 million install<strong>at</strong>ions. MySQL stands for "My Structured Query<br />
Language". The program runs as a server providing multi-user access to a number<br />
<strong>of</strong> d<strong>at</strong>abases. The project has made its source code available under the terms <strong>of</strong> the<br />
GNU General Public License. MySQL is owned and sponsored by a single for-<br />
pr<strong>of</strong>it firm, the Swedish company MySQL AB, now a subsidiary <strong>of</strong> Sun<br />
Micro<strong>system</strong>s. MySQL commonly fe<strong>at</strong>ures as part <strong>of</strong> free s<strong>of</strong>tware projects which<br />
require a full-fe<strong>at</strong>ured d<strong>at</strong>abase management <strong>system</strong>, such as WordPress, phpBB<br />
and other s<strong>of</strong>tware built on the LAMP s<strong>of</strong>tware stack. It is also used in very high-<br />
scale World Wide Web products including Wikipedia, Google and Facebook.<br />
Several high-traffic web sites including Flickr, Facebook, Wikipedia,<br />
Google (though not for searches), Nokia, Auctionmarts and YouTube use MySQL<br />
- 26 -
PROJECT REPORT Callipers – The Training Manager<br />
for d<strong>at</strong>a storage and logging <strong>of</strong> user d<strong>at</strong>a. MySQL code uses C and C++. The SQL<br />
parser uses yacc and a home-brewed lexer, sql_lex.cc. MySQL works on many<br />
different <strong>system</strong> pl<strong>at</strong>forms. A port <strong>of</strong> MySQL to OpenVMS also exists. All major<br />
programming languages with language-specific APIs include Libraries for<br />
accessing MySQL d<strong>at</strong>abases. The MySQL server and <strong>of</strong>ficial libraries are mostly<br />
implemented in ANSI C/ANSI C++.<br />
4.7 Apache Tomc<strong>at</strong><br />
Apache is an opensource web server and can be run on Widows or<br />
Linux, although it‘s commonly associ<strong>at</strong>ed with Linux. Its comp<strong>at</strong>ibility makes it<br />
makes it the most widely used server on the Internet. Furthermore, Apache is<br />
scalable so th<strong>at</strong> it can be configured to run on a home or <strong>of</strong>fice PC. It is a web<br />
server th<strong>at</strong> is incorpor<strong>at</strong>ed within some Micros<strong>of</strong>t Windows oper<strong>at</strong>ing <strong>system</strong>s. It<br />
has various benefits including reliability and security. Its disadvantages are th<strong>at</strong> it<br />
is bound to Windows pl<strong>at</strong>forms and is expensive. It therefore was not appropri<strong>at</strong>e<br />
for this project. Now it is comp<strong>at</strong>ible with Windows pl<strong>at</strong>forms. Here I use Apache<br />
Tomc<strong>at</strong> as the web server for this project.<br />
4.8 Other Technologies used behind the System<br />
4.8.1 Javascript<br />
JavaScript is an object-oriented scripting language used to<br />
enable programm<strong>at</strong>ic access to objects within both the client applic<strong>at</strong>ion and<br />
other applic<strong>at</strong>ions. It is primarily used in the form <strong>of</strong> client-side JavaScript,<br />
implemented as an integr<strong>at</strong>ed component <strong>of</strong> the web browser, allowing the<br />
development <strong>of</strong> enhanced user interfaces and dynamic websites. JavaScript is<br />
a dialect <strong>of</strong> the ECMA Script standard and is characterized as a dynamic, weakly<br />
typed, prototype-based language with first-class functions. JavaScript was<br />
- 27 -
PROJECT REPORT Callipers – The Training Manager<br />
influenced by many languages and was <strong>design</strong>ed to look like Java, but to be easier<br />
for non-programmers to work with.<br />
4.8.2 XHTML<br />
Extensible Hypertext Markup Language, or XHTML, is a family<br />
<strong>of</strong> XML markup languages th<strong>at</strong> mirror or extend versions <strong>of</strong> the widely<br />
used Hypertext Markup Language (HTML), the language in which web pages are<br />
written.<br />
While HTML (prior to HTML 5) was defined as an applic<strong>at</strong>ion<br />
<strong>of</strong> Standard Generalized Markup Language (SGML), a very flexible markup<br />
language framework, XHTML is an applic<strong>at</strong>ion <strong>of</strong> XML, a more restrictive subset<br />
<strong>of</strong> SGML. Because XHTML documents need to be well-formed, they can be<br />
processed using standard XML tools—unlike HTML, which requires a rel<strong>at</strong>ively<br />
complex, lenient, and generally custom parser.<br />
XHTML 1.0 became a World Wide Web Consortium (W3C)<br />
Recommend<strong>at</strong>ion on January 26, 2000. XHTML 1.1 became a W3C<br />
Recommend<strong>at</strong>ion on May 31, 2001. XHTML 5 is undergoing development as <strong>of</strong><br />
September 2009, as part <strong>of</strong> the HTML 5 specific<strong>at</strong>ion.<br />
4.8.3 Cascading Style Sheets (CSS)<br />
- 28 -
PROJECT REPORT Callipers – The Training Manager<br />
Cascading Style Sheets (CSS) is a style sheet language used to<br />
describe the present<strong>at</strong>ion semantics (th<strong>at</strong> is, the look and form<strong>at</strong>ting) <strong>of</strong> a<br />
document written in a markup language. Its most common applic<strong>at</strong>ion is to<br />
style web pages written in HTML and XHTML, but the language can be applied<br />
to any kind <strong>of</strong> XML document.CSS is <strong>design</strong>ed primarily to enable the separ<strong>at</strong>ion<br />
<strong>of</strong> document content (written in HTML or a similar markup language) from<br />
document present<strong>at</strong>ion, including elements such as the colors, fonts, and layout.<br />
This separ<strong>at</strong>ion can improve content accessibility, provide more flexibility and<br />
control in the specific<strong>at</strong>ion <strong>of</strong> present<strong>at</strong>ion characteristics, enable multiple pages<br />
to share form<strong>at</strong>ting, and reduce complexity and repetition in the structural content.<br />
CSS specifies a priority scheme to determine which style rules apply<br />
if more than one rule m<strong>at</strong>ches against a particular element. In this so-<br />
called cascade, priorities or weights are calcul<strong>at</strong>ed and assigned to rules, so th<strong>at</strong><br />
the results are predictable.<br />
The CSS specific<strong>at</strong>ions are maintained by the World Wide Web<br />
Consortium (W3C). Internet media type (MIME type) text/css is registered for use<br />
with CSS by RFC 2318.<br />
- 29 -
PROJECT REPORT Callipers – The Training Manager<br />
SYSTEM DESIGN<br />
- 30 -
PROJECT REPORT Callipers – The Training Manager<br />
SYSTEM DESIGN<br />
Following the requirements, the <strong>design</strong> stage addressed how to<br />
build the <strong>system</strong>s. The <strong>design</strong> <strong>of</strong> the <strong>system</strong> had to incorpor<strong>at</strong>e the functional and<br />
non-functional requirements mentioned in the analysis. System <strong>design</strong> is a phase<br />
where we accomplish the detailed <strong>design</strong> <strong>of</strong> the <strong>system</strong> selected in the <strong>system</strong><br />
study. The key question in this phase is ‗how the problem should be solved‘. The<br />
<strong>system</strong> objectives outlined during the feasibility study serve as the basis from<br />
which the work <strong>of</strong> <strong>system</strong> <strong>design</strong> is initi<strong>at</strong>ed.<br />
Input and output <strong>design</strong> is a part <strong>of</strong> overall <strong>system</strong> <strong>design</strong>, which<br />
requires special <strong>at</strong>tention. Input screen has to be <strong>design</strong>ed so th<strong>at</strong> the user can<br />
enter relevant d<strong>at</strong>a easily. Entered d<strong>at</strong>a has to be checked for their accuracy and on<br />
detection <strong>of</strong> errors appropri<strong>at</strong>e error message have to be displayed. It is very easy<br />
to navig<strong>at</strong>e through the screen and various reports used in the <strong>system</strong>. Report<br />
form<strong>at</strong>s must not be cumbrous and d<strong>at</strong>a presented must easily understand. Screen<br />
layouts and reports are provided.<br />
The <strong>system</strong> <strong>design</strong> aims to:<br />
The <strong>design</strong> objective th<strong>at</strong> includes effectiveness, efficiency and<br />
security.<br />
The constraints, which include the hardware, s<strong>of</strong>tware, budget, time<br />
scales and interfaces with other <strong>system</strong>s.<br />
The processing techniques, which include b<strong>at</strong>ch processing, real time<br />
processing and online processing.<br />
- 31 -
PROJECT REPORT Callipers – The Training Manager<br />
System <strong>design</strong> has four phases:<br />
Input Design<br />
Output Design<br />
D<strong>at</strong>abase Design<br />
Process Design<br />
5.1 Input Design<br />
Input screen has to be <strong>design</strong>ed so simple th<strong>at</strong> the use can enter the<br />
d<strong>at</strong>a easily. The input <strong>design</strong> involves determining wh<strong>at</strong> the inputs are, how the<br />
d<strong>at</strong>a should be performed, how to valid<strong>at</strong>e d<strong>at</strong>a, how to minimize d<strong>at</strong>a, how to<br />
minimize d<strong>at</strong>a entry and how to provide a multi user facility. In accur<strong>at</strong>e input,<br />
d<strong>at</strong>a are the most common cause <strong>of</strong> errors in d<strong>at</strong>a processing. Errors entered by<br />
d<strong>at</strong>a entry oper<strong>at</strong>ors can be controlled by input <strong>design</strong>. Input <strong>design</strong> is the process<br />
<strong>of</strong> converting the user-origin<strong>at</strong>ed inputs to a computer-based form<strong>at</strong>. Input d<strong>at</strong>a are<br />
collected and organized into groups <strong>of</strong> similar d<strong>at</strong>a. Once identified, appropri<strong>at</strong>e<br />
input media are selected for processing.<br />
The input medium used is keyboard. The main input forms <strong>of</strong><br />
―Callipers – The training Manager‖ are details <strong>of</strong> adding, editing and deleting <strong>of</strong><br />
courses, trainers and trainees. The forms for messaging and discussion forums are<br />
also important. These screens are provided in the appendix.<br />
5.2 Output Design<br />
The output <strong>of</strong> a <strong>system</strong> is primary contact between the <strong>system</strong> and<br />
most <strong>of</strong> the users. And the output <strong>of</strong> the <strong>system</strong> is <strong>of</strong> interest <strong>of</strong> users; wh<strong>at</strong> is the<br />
end product <strong>of</strong> processing? Wh<strong>at</strong> inform<strong>at</strong>ion is available from the <strong>system</strong>? Wh<strong>at</strong><br />
input is required to produce the desired output? The output should be in such a<br />
- 32 -
PROJECT REPORT Callipers – The Training Manager<br />
way th<strong>at</strong> the user can see it by the screen and take a hard copy by the help <strong>of</strong> a<br />
printer. Efficient, intelligible output <strong>design</strong> will improve the <strong>system</strong>‘s rel<strong>at</strong>ionship<br />
with the user and help in decision making.<br />
5.3 D<strong>at</strong>abase Design<br />
D<strong>at</strong>abase <strong>design</strong> refers to the storage <strong>of</strong> necessary d<strong>at</strong>a into the<br />
d<strong>at</strong>abase. The d<strong>at</strong>abase must be <strong>design</strong>ed in such a way th<strong>at</strong> the user must be<br />
s<strong>at</strong>isfied so th<strong>at</strong> he/she can access the required d<strong>at</strong>a. Normaliz<strong>at</strong>ion is the process<br />
<strong>of</strong> decomposing the <strong>at</strong>tributes in an applic<strong>at</strong>ion, which results in a set <strong>of</strong> tables<br />
with very simple structure. The purpose <strong>of</strong> normaliz<strong>at</strong>ion is to make tables as<br />
simple as possible. Normaliz<strong>at</strong>ion is carried out in this <strong>system</strong> for the following<br />
reasons:<br />
To structure the d<strong>at</strong>a so th<strong>at</strong> there is no repetition <strong>of</strong> d<strong>at</strong>a, this helps in<br />
saving space.<br />
To permit simple retrieval <strong>of</strong> d<strong>at</strong>a in response to query and report<br />
request.<br />
To simplify the maintenance <strong>of</strong> the d<strong>at</strong>a through upd<strong>at</strong>es, insertions and<br />
deletions. Primary Key is assigned for this purpose. The primary key fields in<br />
almost all the tables help to ease the search and improve efficiency.<br />
5.4 Process <strong>design</strong><br />
The process performed in this <strong>system</strong> is managing the particulars <strong>of</strong><br />
courses, trainers and trainees. Before the management <strong>of</strong> these particulars, the<br />
administr<strong>at</strong>or must enter the details <strong>of</strong> entire courses, trainers and trainees. By<br />
signed into the <strong>system</strong> using the username and password, each trainee and trainer<br />
has the provision to see the details <strong>of</strong> courses. The trainer can evalu<strong>at</strong>e his/her<br />
trainee by grading and marking the <strong>at</strong>tendance. Also the trainee has the provision<br />
- 33 -
PROJECT REPORT Callipers – The Training Manager<br />
to assess his/her trainer. All these details can be viewed and edited by the<br />
administr<strong>at</strong>or.<br />
5.5 Logical Level System Design<br />
Logical <strong>design</strong> covers the following:<br />
Reviews the current physical <strong>system</strong>-its d<strong>at</strong>aflow, file content etc.<br />
Prepares input specific<strong>at</strong>ions-form<strong>at</strong>, content and most <strong>of</strong> the input<br />
functions. This includes determining the flow <strong>of</strong> the document form input<br />
d<strong>at</strong>a source to the actual input loc<strong>at</strong>ions.<br />
Prepares edit, security and control specific<strong>at</strong>ions. This includes<br />
specifying the rules for edit correction, back up procedures and the controls<br />
th<strong>at</strong> ensure processing and file integrity.<br />
Specifies the implement<strong>at</strong>ion plan.<br />
Prepares a logical <strong>design</strong> walkthrough to the inform<strong>at</strong>ion flow, output,<br />
Input controls and implement<strong>at</strong>ion plan.<br />
Reviews benefits, cost, target d<strong>at</strong>es and <strong>system</strong> constraints.<br />
5.6 Physical Level System Design<br />
An applic<strong>at</strong>ion <strong>system</strong> physical <strong>design</strong> approach can be easily<br />
understood by users and easily used by programmer analysts during<br />
implement<strong>at</strong>ion. Both overall <strong>system</strong>s level and program level physical <strong>design</strong>s<br />
are normally cre<strong>at</strong>ed from D<strong>at</strong>a Flow Diagram (DFD) and Entity Rel<strong>at</strong>ionship<br />
Diagram (ERD) based logical <strong>design</strong>s, by separ<strong>at</strong>ing processes and d<strong>at</strong>a stores by<br />
time (such as daily vs. monthly, day vs. night), place (client or server, centralized<br />
vs. distributed), online vs. b<strong>at</strong>ch, and manual vs. autom<strong>at</strong>ed. Using a physical<br />
<strong>design</strong> we are able to easily cre<strong>at</strong>e detailed program level <strong>design</strong>s needed to<br />
implement the <strong>system</strong>. The key point in the methodology is th<strong>at</strong> users can<br />
- 34 -
PROJECT REPORT Callipers – The Training Manager<br />
immedi<strong>at</strong>ely understand and approve it and programmers can immedi<strong>at</strong>ely start<br />
program and procedure <strong>design</strong>.<br />
A good <strong>design</strong> must have the following characteristics:<br />
The <strong>design</strong> should exhibit hierarchical represent<strong>at</strong>ion <strong>of</strong> d<strong>at</strong>a and<br />
procedure.<br />
The <strong>design</strong> should be modular.<br />
The <strong>design</strong> should contain distinct represent<strong>at</strong>ion <strong>of</strong> d<strong>at</strong>a and procedure.<br />
The <strong>design</strong> should have more modules exhibiting independent<br />
functional characteristics.<br />
The <strong>design</strong> should minimize the complexity <strong>of</strong> interfaces.<br />
5.7 Architectural Design<br />
Architectural <strong>design</strong> has the goal <strong>of</strong> <strong>design</strong>ing well structured,<br />
modular s<strong>of</strong>tware <strong>system</strong>. Modulariz<strong>at</strong>ion allows the <strong>design</strong> to decompose a<br />
<strong>system</strong> into a functional unit to impost hierarchical ordering on function usage, to<br />
implement d<strong>at</strong>a abstraction and to develop independently useful sub <strong>system</strong>s. In<br />
addition modulariz<strong>at</strong>ion can be used to isol<strong>at</strong>e machine dependencies to improve<br />
the performance <strong>of</strong> s<strong>of</strong>tware or erase debugging, testing and modific<strong>at</strong>ion <strong>of</strong> the<br />
<strong>system</strong>.<br />
5.8 Design <strong>of</strong> Callipers<br />
Many users will not be p<strong>at</strong>ient enough to learn the layout <strong>of</strong> Callipers<br />
through trial and error. It has to be obviously clear to them wh<strong>at</strong> is available and<br />
how to get there. Good usability is especially vital for this project because the<br />
s<strong>of</strong>tware must be so splendid th<strong>at</strong> <strong>at</strong>tracts its users. There is a link to user‘s home<br />
page from anywhere he stands inside the <strong>system</strong>. Also a logout link is available<br />
- 35 -
PROJECT REPORT Callipers – The Training Manager<br />
from all pages. For a gentle <strong>system</strong>, menus and submenus are must. In Callipers, I<br />
use navig<strong>at</strong>ional menus for the easiness <strong>of</strong> user.<br />
5.9 Module Description<br />
Callipers – The Training Manager can be classified into three modules.<br />
Each module has its own relevance and existence in this project. The three<br />
modules are namely:<br />
Administr<strong>at</strong>or Module<br />
Trainer Module<br />
Trainee Module<br />
5.9.1 Administr<strong>at</strong>or Module<br />
The administr<strong>at</strong>or can have a wide range <strong>of</strong> privileges. He has an<br />
exclusive username and a password, which helps him to enter into the <strong>system</strong>.<br />
Above all, the existence <strong>of</strong> more than one administr<strong>at</strong>or is allowed. An<br />
administr<strong>at</strong>or has the following preferences.<br />
He can cre<strong>at</strong>e new courses with a precise syllabus. He can also edit and<br />
delete courses.<br />
He can add, edit, delete and manage the trainers as well as the trainees.<br />
He can search both trainers and trainees just by one click.<br />
He can successively consign courses to trainers.<br />
He can also alloc<strong>at</strong>e number <strong>of</strong> trainees to a particular trainer.<br />
He can communic<strong>at</strong>e with all the trainers and also with the trainees by<br />
sending messages.<br />
- 36 -
PROJECT REPORT Callipers – The Training Manager<br />
He could check the st<strong>at</strong>us <strong>of</strong> each trainee and trainer and substanti<strong>at</strong>e<br />
their performances by checking their <strong>at</strong>tendance and grades.<br />
He can listen to the complaints th<strong>at</strong> are come out from trainers and<br />
trainees.<br />
He can add a new topic in the discussion forum and listen to various<br />
responses.<br />
5.9.2 Trainer Module<br />
A trainer is a person who trains his/her trainees and bear out each<br />
trainee‘s performance. A trainer also has a particular username and an explicit<br />
password. A trainer also has his own privileges.<br />
He can observe the detailed facts <strong>of</strong> each trainee.<br />
He can mark the <strong>at</strong>tendance <strong>of</strong> trainees.<br />
He can also grade his trainees.<br />
He can be in touch with all his trainees and certify their performances.<br />
He could perceive the complete training program.<br />
He can complain on his trainees to the <strong>system</strong> administr<strong>at</strong>or.<br />
He can write his doubts and solutions to the questions in the forum.<br />
5.9.3 Trainee Module<br />
A trainee is a person who requires training in its best manner. A trainee<br />
also has an individual username and a priv<strong>at</strong>e password. He has the following<br />
options.<br />
He can look into the syllabus and the entire course details.<br />
He can explore the list <strong>of</strong> trainers.<br />
- 37 -
PROJECT REPORT Callipers – The Training Manager<br />
He can communic<strong>at</strong>e with his colleagues, with his trainer and also with<br />
the administr<strong>at</strong>or.<br />
He can check his grade and <strong>at</strong>tendance marked by his trainer.<br />
He can also write his complaints about teaching as well as about his<br />
trainer.<br />
He can write his doubts and solutions to the questions in the forum.<br />
5.10 D<strong>at</strong>a Flow Diagram<br />
A D<strong>at</strong>a Flow Diagram is a modeling tool th<strong>at</strong> allows us to picture a<br />
<strong>system</strong> as a network th<strong>at</strong> describes the flow <strong>of</strong> d<strong>at</strong>a and processes th<strong>at</strong> change, or<br />
transform d<strong>at</strong>a throughout the <strong>system</strong>. DFD is constructed by using a set <strong>of</strong><br />
symbols th<strong>at</strong> do not imply a physical implement<strong>at</strong>ion.DFD models a <strong>system</strong> by<br />
using external entities from which d<strong>at</strong>a flows to a process, which transfer the d<strong>at</strong>a<br />
and cre<strong>at</strong>es output-d<strong>at</strong>a flows, which go to other external entities or files. The<br />
main merits <strong>of</strong> DFD is th<strong>at</strong> it can provide an overview <strong>of</strong> the <strong>system</strong> requirements,<br />
wh<strong>at</strong> d<strong>at</strong>a a <strong>system</strong> would process, wh<strong>at</strong> transform<strong>at</strong>ion <strong>of</strong> d<strong>at</strong>a are done, wh<strong>at</strong><br />
files are used, and where the results flow.<br />
5.10.1 DFD Design Not<strong>at</strong>ions<br />
Square<br />
The Square defines the source or destin<strong>at</strong>ion <strong>of</strong> d<strong>at</strong>a.<br />
Arrow<br />
The arrow defines the flow <strong>of</strong> d<strong>at</strong>a.<br />
- 38 -
PROJECT REPORT Callipers – The Training Manager<br />
Circle<br />
A circle represents a process th<strong>at</strong> transforms incoming d<strong>at</strong>a into outgoing flow.<br />
Open Rectangle<br />
An open rectangle shows d<strong>at</strong>a store/d<strong>at</strong>abase.<br />
Level 0 (Context Level) – Login Process<br />
- 39 -
PROJECT REPORT Callipers – The Training Manager<br />
Level 1 – Logging into Callipers<br />
- 40 -
PROJECT REPORT Callipers – The Training Manager<br />
Level 2.1 – Admin Console<br />
- 41 -
PROJECT REPORT Callipers – The Training Manager<br />
Level 2.2 - Trainer Console<br />
- 42 -
PROJECT REPORT Callipers – The Training Manager<br />
Level 2.3 - Trainee Console<br />
- 43 -
PROJECT REPORT Callipers – The Training Manager<br />
Level 2.1.1 – Course Manger<br />
Level 2.1.2 – Trainer Manager<br />
- 44 -
PROJECT REPORT Callipers – The Training Manager<br />
Level 2.1.3 – Trainee Manager<br />
Level 2.4 – Messages<br />
- 45 -
PROJECT REPORT Callipers – The Training Manager<br />
TESTING<br />
AND<br />
IMPLEMENTATION<br />
- 46 -
PROJECT REPORT Callipers – The Training Manager<br />
TESTING<br />
S<strong>of</strong>tware Testing is an empirical investig<strong>at</strong>ion conducted to provide<br />
stakeholders with inform<strong>at</strong>ion about the quality <strong>of</strong> the product or service under<br />
test, with respect to the context in which it is intended to oper<strong>at</strong>e. S<strong>of</strong>tware<br />
Testing also provides an objective, independent view <strong>of</strong> the s<strong>of</strong>tware to allow the<br />
business to appreci<strong>at</strong>e and understand the risks <strong>at</strong> implement<strong>at</strong>ion <strong>of</strong> the s<strong>of</strong>tware.<br />
S<strong>of</strong>tware Testing can also be st<strong>at</strong>ed as the process <strong>of</strong> valid<strong>at</strong>ing and verifying th<strong>at</strong><br />
a s<strong>of</strong>tware program/applic<strong>at</strong>ion/product<br />
(1) meets the business and technical requirements th<strong>at</strong> guided its <strong>design</strong> and<br />
development;<br />
(2) Works as expected; and<br />
(3) Can be implemented with the same characteristics.<br />
S<strong>of</strong>tware Testing, depending on the testing method employed, can<br />
be implemented <strong>at</strong> any time in the development process, however most <strong>of</strong> the test<br />
effort occurs after the requirements have been defined and the coding process has<br />
been completed.<br />
6.1 Testing methods<br />
S<strong>of</strong>tware testing methods are traditionally divided into black box<br />
testing and white box testing. These two approaches are used to describe the point<br />
<strong>of</strong> view th<strong>at</strong> a test engineer takes when <strong>design</strong>ing test cases.<br />
6.1.1 Black Box Testing<br />
Black box testing tre<strong>at</strong>s the s<strong>of</strong>tware as a "black box"—without any<br />
knowledge <strong>of</strong> internal implement<strong>at</strong>ion.<br />
- 47 -
PROJECT REPORT Callipers – The Training Manager<br />
Types <strong>of</strong> Black Box Testing<br />
Equivalence partitioning<br />
Boundary Value Analysis<br />
All-pairs testing<br />
Fuzz testing<br />
Model-based testing<br />
Traceability M<strong>at</strong>rix<br />
Explor<strong>at</strong>ory testing<br />
Specific<strong>at</strong>ion-based testing<br />
6.1.2 White Box Testing<br />
White box testing is when the tester has access to the internal d<strong>at</strong>a<br />
structures and algorithms including the code th<strong>at</strong> implement these.<br />
Types <strong>of</strong> white Box Testing<br />
API Testing<br />
Code coverage<br />
Fault Injection Methods<br />
Mut<strong>at</strong>ion testing Methods<br />
St<strong>at</strong>ic testing<br />
S<strong>of</strong>tware testing can also be divided into<br />
Grey Box Testing<br />
Integr<strong>at</strong>ion Testing<br />
Regression Testing<br />
- 48 -
PROJECT REPORT Callipers – The Training Manager<br />
Acceptance Testing<br />
Non Functional S<strong>of</strong>tware Testing<br />
Stability Testing<br />
Usability Testing<br />
Security Testing<br />
Destructive Testing<br />
Testing can also be done on the following levels:<br />
6.1.3 Unit Testing<br />
Unit testing tests the minimal s<strong>of</strong>tware component, or module. Each unit<br />
(basic component) <strong>of</strong> the s<strong>of</strong>tware is tested to verify th<strong>at</strong> the detailed <strong>design</strong> for<br />
the unit has been correctly implemented. In an object-oriented environment, this is<br />
usually <strong>at</strong> the class level, and the minimal unit tests include the constructors and<br />
destructors.<br />
6.1.4 Integr<strong>at</strong>ion Testing<br />
Integr<strong>at</strong>ion testing exposes defects in the interfaces and interaction<br />
between integr<strong>at</strong>ed components (modules). Progressively larger groups <strong>of</strong> tested<br />
s<strong>of</strong>tware components corresponding to elements <strong>of</strong> the architectural <strong>design</strong> are<br />
integr<strong>at</strong>ed and tested until the s<strong>of</strong>tware works as a <strong>system</strong>.<br />
6.1.5 System Testing<br />
System testing tests a completely integr<strong>at</strong>ed <strong>system</strong> to verify th<strong>at</strong> it<br />
meets its requirements.<br />
- 49 -
PROJECT REPORT Callipers – The Training Manager<br />
6.1.6 System Integr<strong>at</strong>ion Testing<br />
System integr<strong>at</strong>ion testing verifies th<strong>at</strong> a <strong>system</strong> is integr<strong>at</strong>ed to any<br />
external or third party <strong>system</strong>s defined in the <strong>system</strong> requirements.<br />
Before shipping the final version <strong>of</strong> s<strong>of</strong>tware, alpha and beta testing are <strong>of</strong>ten done<br />
additionally:<br />
6.1.7 Alpha Testing<br />
Alpha testing is simul<strong>at</strong>ed or actual oper<strong>at</strong>ional testing by potential<br />
users/customers or an independent test team <strong>at</strong> the developers' site. Alpha testing<br />
is <strong>of</strong>ten employed for <strong>of</strong>f-the-shelf s<strong>of</strong>tware as a form <strong>of</strong> internal acceptance<br />
testing, before the s<strong>of</strong>tware goes to beta testing.<br />
6.1.8 Beta Testing<br />
Beta testing comes after alpha testing. Versions <strong>of</strong> the s<strong>of</strong>tware, known<br />
as beta versions, are released to a limited audience outside <strong>of</strong> the programming<br />
team. The s<strong>of</strong>tware is released to groups <strong>of</strong> people so th<strong>at</strong> further testing can<br />
ensure the product has few faults or bugs. Sometimes, beta versions are made<br />
available to the open public to increase the feedback field to a maximal number <strong>of</strong><br />
future users.<br />
6.2 Testing in Callipers<br />
Here, I use black box testing to valid<strong>at</strong>e this applic<strong>at</strong>ion to check out whether<br />
it meets its all requirements and works as expected. I also use the help <strong>of</strong> a client<br />
side scripting language namely javascript to valid<strong>at</strong>e my applic<strong>at</strong>ion.<br />
- 50 -
PROJECT REPORT Callipers – The Training Manager<br />
The use <strong>of</strong> javascript helps me to downplay maximum number <strong>of</strong> errors th<strong>at</strong><br />
would occur due to careless d<strong>at</strong>a entry oper<strong>at</strong>ion. For example, in my login page,<br />
one cannot enter into the <strong>system</strong> without entering a valid username and password.<br />
Besides this, leaving those fields empty is not allowed. And also the person must<br />
select one <strong>of</strong> the user types. When we are trying to leave those fields, an alert will<br />
be displayed and th<strong>at</strong> ensures the username and password fields can‘t be left<br />
blank. I made Black Box testing in all forms to valid<strong>at</strong>e my applic<strong>at</strong>ion entirely.<br />
- 51 -
PROJECT REPORT Callipers – The Training Manager<br />
IMPLEMENTATION<br />
A product s<strong>of</strong>tware implement<strong>at</strong>ion method is a blueprint to get users<br />
and/or organiz<strong>at</strong>ions running with a specific s<strong>of</strong>tware product. The method is a set<br />
<strong>of</strong> rules and views to cope with the most common issues th<strong>at</strong> occur when<br />
implementing a s<strong>of</strong>tware product: business alignment from the organiz<strong>at</strong>ional<br />
view and acceptance from the human view. The implement<strong>at</strong>ion <strong>of</strong> product<br />
s<strong>of</strong>tware, as the final link in the deployment chain <strong>of</strong> s<strong>of</strong>tware production, is in a<br />
financial perspective <strong>of</strong> a major issue.<br />
6.3 Implement<strong>at</strong>ion Frameworks<br />
Apart from implement<strong>at</strong>ion methods serving as the set <strong>of</strong> rules to<br />
implement a specific product or service, implement<strong>at</strong>ion frameworks serve as the<br />
project managed structure to define the implement<strong>at</strong>ion phase in time, budget and<br />
quality.<br />
Several project management methods can serve as a basis to perform<br />
the implement<strong>at</strong>ion method. Since this entry focuses on the implement<strong>at</strong>ion <strong>of</strong><br />
product s<strong>of</strong>tware, the best project management methods suitable for supporting<br />
the implement<strong>at</strong>ion phase are project management methods th<strong>at</strong> focus on s<strong>of</strong>tware<br />
and inform<strong>at</strong>ion <strong>system</strong>s itself as well. The applicability <strong>of</strong> using a framework for<br />
implement<strong>at</strong>ion methods is clarified by the examples <strong>of</strong> using DSDM and Prince2<br />
as project management method frameworks.<br />
- 52 -
PROJECT REPORT Callipers – The Training Manager<br />
6.3.1 DSDM<br />
The power <strong>of</strong> DSDM is th<strong>at</strong> the method uses the principles <strong>of</strong> iter<strong>at</strong>ion<br />
and incremental value, meaning th<strong>at</strong> projects are carried out in repe<strong>at</strong>ing phases<br />
where each phase adds value to the project. In this way implement<strong>at</strong>ion phases can<br />
be carried out incrementally, adding value to for example the degree <strong>of</strong><br />
acceptance, awareness and skills within every increment. Besides in the<br />
management <strong>of</strong> chance scope, increments are also usable in the process modeling<br />
scope <strong>of</strong> implement<strong>at</strong>ion phases. Using increments can align process models <strong>of</strong><br />
business architectures and product s<strong>of</strong>tware as adding more detail in every<br />
increment <strong>of</strong> the phase draws both models closer.<br />
6.3.2 Prince2<br />
As DSDM does, the Prince2 method acknowledges implement<strong>at</strong>ion as a<br />
phase within the method. Prince2 consists <strong>of</strong> a set <strong>of</strong> processes, <strong>of</strong> which 3<br />
processes are especially meant for implement<strong>at</strong>ion. The processes <strong>of</strong> controlling a<br />
stage, managing product delivery and managing stage boundaries enable an<br />
implement<strong>at</strong>ion process to be detailed in with factors as time and quality. The<br />
Prince2 method can be carried out iter<strong>at</strong>ively but is also suitable for a straight<br />
execution <strong>of</strong> the processes.<br />
The pr<strong>of</strong>its for any implement<strong>at</strong>ion process being framed in a project<br />
management framework are:<br />
Clarity<br />
An implement<strong>at</strong>ion framework <strong>of</strong>fers the process to be detailed in with<br />
factors such as time, quality, budget and feasibility.<br />
- 53 -
PROJECT REPORT Callipers – The Training Manager<br />
Iter<strong>at</strong>ive, incremental approach<br />
As explained, the possibility to execute different phases <strong>of</strong> the<br />
implement<strong>at</strong>ion process iter<strong>at</strong>ively enables the process to be executed by<br />
incrementally aligning the product to be implemented with the end-user<br />
(organiz<strong>at</strong>ion).<br />
- 54 -
PROJECT REPORT Callipers – The Training Manager<br />
FUTURE<br />
ENHANCEMENTS<br />
- 55 -
PROJECT REPORT Callipers – The Training Manager<br />
FUTURE SCOPE<br />
In modern life, the need for flexible, efficient and reliable<br />
management/administr<strong>at</strong>ion <strong>system</strong>s for telecom <strong>of</strong>fices is increasing day by day.<br />
The computeriz<strong>at</strong>ion <strong>of</strong> online training administr<strong>at</strong>ion will result in further<br />
improvement <strong>of</strong> customer services. The primary merit <strong>of</strong> this <strong>system</strong> is everything<br />
goes online. The administr<strong>at</strong>or can get a close view <strong>of</strong> each and every person in<br />
the <strong>system</strong>. This project aims <strong>at</strong> single oper<strong>at</strong>or-many customer rel<strong>at</strong>ion.<br />
Although the major components <strong>of</strong> this project are complete,<br />
associ<strong>at</strong>ed components are in various stages <strong>of</strong> planning or <strong>design</strong>. The Project<br />
can be added various c<strong>at</strong>egories <strong>of</strong> products which are not available in open<br />
market now a days. The project can be make adapted to search for second hand<br />
products or home made products which are rare in open market. Also, on adding<br />
an online teaching module to this product brings out immense effect.<br />
- 56 -
PROJECT REPORT Callipers – The Training Manager<br />
CONCLUSION<br />
- 57 -
PROJECT REPORT Callipers – The Training Manager<br />
CONCLUSION<br />
“Calipers – The Training Manager”, is a web-based, role<br />
orient<strong>at</strong>ed training management <strong>system</strong> <strong>design</strong>ed to manage employee training<br />
requirements and enrollments, easily and accur<strong>at</strong>ely. This simple to use tool<br />
empowers supervisors/administr<strong>at</strong>ors, trainers and trainees by making inform<strong>at</strong>ion<br />
regarding classes, course requirements, programs and certific<strong>at</strong>ions available on a<br />
website and not just via the HR department. With no on-going monthly costs, this<br />
intuitive, highly autom<strong>at</strong>ed, powerful tool is the perfect training solution to help<br />
ensure th<strong>at</strong> your employees receive the training they need. It has everything you<br />
need to effectively manage your training programs. Ensure your employees<br />
receive the training they need on time.<br />
- 58 -
PROJECT REPORT Callipers – The Training Manager<br />
APPENDIX<br />
- 59 -
PROJECT REPORT Callipers – The Training Manager<br />
9.1 D<strong>at</strong>abase Schema<br />
A d<strong>at</strong>abase is a collection <strong>of</strong> interrel<strong>at</strong>ed d<strong>at</strong>a stored with minimum<br />
redundancy to serve many users quickly and efficiently. During d<strong>at</strong>abase <strong>design</strong><br />
analyst studies the d<strong>at</strong>a to determine which d<strong>at</strong>a will require store on external<br />
storage device. Here, the analyst is responsible for <strong>design</strong>ing a control <strong>system</strong> to<br />
prevent tampering with the d<strong>at</strong>a stored by the computer.<br />
This activity deals with the <strong>design</strong> <strong>of</strong> the physical d<strong>at</strong>abase. A<br />
d<strong>at</strong>abase is an integr<strong>at</strong>ed collection <strong>of</strong> d<strong>at</strong>a and provides a centralized access to the<br />
d<strong>at</strong>a from the program, which sends it, making it possible to tre<strong>at</strong> d<strong>at</strong>a as separ<strong>at</strong>e<br />
resource. Usually centralized d<strong>at</strong>a managing s<strong>of</strong>tware is called a Rel<strong>at</strong>ional<br />
d<strong>at</strong>abase Management System. The most significant difference between an<br />
RDBMS and other type <strong>of</strong> d<strong>at</strong>abase management <strong>system</strong> is the separ<strong>at</strong>ion <strong>of</strong> d<strong>at</strong>a<br />
as seen by the program and d<strong>at</strong>a as store on the direct access storage device. This<br />
is the difference between logical and physical d<strong>at</strong>a.<br />
I use MySQL server 5.1 for my project as the d<strong>at</strong>abase. I also use<br />
SQLyog Community Edition as MySQL GUI. In my project, there are 13 tables to<br />
store necessary d<strong>at</strong>a.<br />
SQLyog is a GUI tool for the RDBMS MySQL. It is cre<strong>at</strong>ed by the<br />
s<strong>of</strong>tware development company Webyog, based in Bangalore, India. SQLyog v0.9<br />
was first released for public in the year 2001 as closed source free s<strong>of</strong>tware after 8<br />
months <strong>of</strong> development. SQLyog is now available in two editions: Enterprise and<br />
- 60 -
PROJECT REPORT Callipers – The Training Manager<br />
Free Community Edition. From version 5.2 Community Edition has been<br />
available as Open Source .Current version <strong>of</strong> SQLyog Enterprise is 8.x.<br />
Prominent fe<strong>at</strong>ures <strong>of</strong> SQLyog are:<br />
Visual Schema Designer<br />
Visual Query Builder<br />
Smart Autocomplete<br />
Intelligent Code Completion<br />
HTTP/HTTPs Tunneling<br />
SSH Tunneling<br />
SSL Connections<br />
Wizard driven Migr<strong>at</strong>ion Tool<br />
D<strong>at</strong>a/Structure Synchroniz<strong>at</strong>ion<br />
Fully Unicode support.<br />
9.2 Table Description<br />
1. admin_login<br />
Purpose: To Keep the details <strong>of</strong> a single administr<strong>at</strong>or or a number <strong>of</strong><br />
administr<strong>at</strong>ors.<br />
FIELD<br />
NAME<br />
DESCRIPTION DATA TYPE SIZE<br />
id administr<strong>at</strong>or id int<br />
username username <strong>of</strong> the<br />
administr<strong>at</strong>or<br />
- 61 -<br />
(primary key)<br />
varchar<br />
(unique)<br />
11<br />
30
PROJECT REPORT Callipers – The Training Manager<br />
password password <strong>of</strong> the<br />
2. <strong>at</strong>tendance<br />
administr<strong>at</strong>or<br />
- 62 -<br />
varchar 30<br />
Purpose: To keep the details <strong>of</strong> trainee‘s <strong>at</strong>tendance marked by their trainers.<br />
FIELD<br />
NAME<br />
DESCRIPTION<br />
<strong>at</strong>tn_no <strong>at</strong>tendance entry id<br />
DATA<br />
TYPE<br />
int<br />
(primary key)<br />
SIZE<br />
trainee_id id <strong>of</strong> trainee int 11<br />
trainee_name name <strong>of</strong> trainee varchar 30<br />
course_name name <strong>of</strong> the course varchar 30<br />
d<strong>at</strong>e d<strong>at</strong>e <strong>of</strong> <strong>at</strong>tendance varchar 30<br />
time course b<strong>at</strong>ch time varchar 30<br />
<strong>at</strong>tendance <strong>at</strong>tendance st<strong>at</strong>us varchar 30<br />
3. complaints<br />
Purpose: To keep the details <strong>of</strong> the complaints written by trainers/trainees th<strong>at</strong><br />
can only be read by the administr<strong>at</strong>or.<br />
FIELD<br />
NAME<br />
cid complaints entry id<br />
DESCRIPTION DATA TYPE SIZE<br />
int<br />
(primary key)<br />
11<br />
11
PROJECT REPORT Callipers – The Training Manager<br />
cfrom<br />
name <strong>of</strong> the person who<br />
has written the<br />
complaint<br />
- 63 -<br />
varchar 30<br />
csubject subject <strong>of</strong> the complaint varchar 30<br />
complaints body <strong>of</strong> the complaint varchar 500<br />
cd<strong>at</strong>e<br />
ctime<br />
4. course_registr<strong>at</strong>ion<br />
d<strong>at</strong>e on which the<br />
complaint has been<br />
written<br />
time on which the<br />
complaint has been<br />
written<br />
Purpose: To keep the details <strong>of</strong> each course.<br />
varchar 30<br />
varchar 30<br />
FIELD NAME DESCRIPTION DATA TYPE SIZE<br />
course_id id <strong>of</strong> each course<br />
course_name name <strong>of</strong> the course<br />
c<strong>at</strong>egory<br />
course_dur<strong>at</strong>ion<br />
papers<br />
c<strong>at</strong>egory <strong>of</strong> the<br />
course<br />
dur<strong>at</strong>ion <strong>of</strong> the<br />
course<br />
number <strong>of</strong> papers <strong>of</strong><br />
the course<br />
int<br />
(primary key)<br />
varchar<br />
(unique)<br />
11<br />
30<br />
varchar 30<br />
int 11<br />
int 11
PROJECT REPORT Callipers – The Training Manager<br />
syllabus<br />
5. forum_questions<br />
complete syllabus <strong>of</strong><br />
the course<br />
- 64 -<br />
varchar 500<br />
Purpose: To keep the details <strong>of</strong> questions posted on the discussion forum.<br />
FIELD<br />
NAME<br />
qstn_id id <strong>of</strong> the question<br />
DESCRIPTION DATA TYPE SIZE<br />
int<br />
(primary key)<br />
qstn the actual question varchar 500<br />
qstn_by<br />
qstn_d<strong>at</strong>e<br />
qstn_time<br />
6. forum_answers<br />
name <strong>of</strong> the person by<br />
whom the question has<br />
been asked<br />
d<strong>at</strong>e on which the<br />
question has been asked<br />
time on which the<br />
question has been asked<br />
11<br />
varchar 30<br />
varchar 30<br />
varchar 30<br />
Purpose: To keep the details <strong>of</strong> answers posted on the discussion forum.<br />
FIELD<br />
NAME<br />
DESCRIPTION DATA TYPE SIZE
PROJECT REPORT Callipers – The Training Manager<br />
ans_id id <strong>of</strong> the answer<br />
- 65 -<br />
int<br />
(primary key)<br />
ans the actual answer varchar 500<br />
ans_by<br />
ans_d<strong>at</strong>e<br />
ans_time<br />
name <strong>of</strong> the person by<br />
whom the ans was<br />
posted<br />
d<strong>at</strong>e on which the ans<br />
was posted<br />
time on which the ans<br />
was posted<br />
qstn_id id <strong>of</strong> the question<br />
7. grade_trainees<br />
11<br />
varchar 30<br />
varchar 30<br />
varchar 30<br />
int (foreign key<br />
references to<br />
qstion_id <strong>of</strong><br />
forum_questions)<br />
Purpose: To keep the details <strong>of</strong> trainee‘s grades marked by their trainers.<br />
FIELD<br />
NAME<br />
grade_id grade entry id<br />
DESCRIPTION DATA TYPE SIZE<br />
int<br />
(primary key)<br />
trainee_id id <strong>of</strong> the trainee int 11<br />
username username <strong>of</strong> the trainee varchar 30<br />
11<br />
11
PROJECT REPORT Callipers – The Training Manager<br />
start_d<strong>at</strong>e<br />
course start d<strong>at</strong>e <strong>of</strong><br />
trainee<br />
- 66 -<br />
varchar 30<br />
course name <strong>of</strong> the course varchar 30<br />
grade grade <strong>of</strong> the trainee varchar 30<br />
trainer_na<br />
me<br />
8 .trainer_registraion<br />
name <strong>of</strong> the trainer varchar 30<br />
Purpose: To keep the details <strong>of</strong> registered trainers.<br />
FIELD<br />
NAME<br />
trainer_id id <strong>of</strong> the trainer<br />
username username <strong>of</strong> the trainer<br />
DESCRIPTION DATA TYPE SIZE<br />
int<br />
(primary key)<br />
varchar<br />
(unique)<br />
password password <strong>of</strong> the trainer varchar 30<br />
trainer_name name <strong>of</strong> the trainer varchar 30<br />
gender gender <strong>of</strong> the trainer varchar 30<br />
course trainer‘s course varchar 30<br />
qualific<strong>at</strong>ion<br />
qualific<strong>at</strong>ion <strong>of</strong> the<br />
trainer<br />
11<br />
30<br />
varchar 30<br />
email_id email id <strong>of</strong> the trainer varchar 30<br />
phno<br />
phone number <strong>of</strong> the<br />
trainer<br />
varchar 30<br />
description trainer‘s description varchar 300
PROJECT REPORT Callipers – The Training Manager<br />
acc_no<br />
9 .trainer_applic<strong>at</strong>ion<br />
trainer‘s bank account<br />
number<br />
Purpose: To keep the details <strong>of</strong> trainer applicants.<br />
FIELD<br />
NAME<br />
DESCRIPTION<br />
app_id applic<strong>at</strong>ion id<br />
- 67 -<br />
varchar 30<br />
DATA<br />
TYPE<br />
int<br />
(primary<br />
key)<br />
SIZE<br />
trainer_name name <strong>of</strong> the applicant varchar 30<br />
address address <strong>of</strong> the applicant varchar 300<br />
course applicant‘s course name varchar 30<br />
phno<br />
phone number <strong>of</strong><br />
applicant<br />
11<br />
varchar 30<br />
email email id <strong>of</strong> applicant varchar 30<br />
qualific<strong>at</strong>ion qualific<strong>at</strong>ion <strong>of</strong> applicant varchar 30<br />
experience applicant‘s experience int 11<br />
still_employee job st<strong>at</strong>us <strong>of</strong> applicant varchar 30<br />
org<br />
organiz<strong>at</strong>ion in which<br />
applicant was working<br />
varchar 30<br />
cur_ctc current salary varchar 30<br />
exp_ctc expected salary varchar 30
PROJECT REPORT Callipers – The Training Manager<br />
notice_period notice period <strong>of</strong> joining int 11<br />
acc_no<br />
10. trainer_evalu<strong>at</strong>ion<br />
trainer‘s bank account<br />
number<br />
- 68 -<br />
varchar 30<br />
Purpose: To keep the details <strong>of</strong> assessment about a trainer by his/her trainees.<br />
FIELD NAME DESCRIPTION<br />
eid id <strong>of</strong> evalu<strong>at</strong>ion<br />
DATA<br />
TYPE<br />
int<br />
(primary<br />
key)<br />
SIZE<br />
trainer_name name <strong>of</strong> the trainer varchar 30<br />
trainee_username<br />
username <strong>of</strong> the<br />
trainee<br />
11<br />
varchar 30<br />
trainee_name name <strong>of</strong> the trainee varchar 30<br />
course_name name <strong>of</strong> the course varchar 30<br />
evalu<strong>at</strong>ion<br />
11. trainee_applic<strong>at</strong>ion<br />
evalu<strong>at</strong>ion by<br />
trainees<br />
Purpose: To keep the details <strong>of</strong> trainee applicants.<br />
FIELD<br />
NAME<br />
varchar 30<br />
DESCRIPTION DATA TYPE SIZE
PROJECT REPORT Callipers – The Training Manager<br />
app_id applic<strong>at</strong>ion id<br />
- 69 -<br />
int<br />
(primary key)<br />
name name <strong>of</strong> applicant varchar 30<br />
age age <strong>of</strong> applicant int 11<br />
gender gender <strong>of</strong> applicant varchar 30<br />
qualific<strong>at</strong>ion<br />
qualific<strong>at</strong>ion <strong>of</strong><br />
applicant<br />
11<br />
varchar 30<br />
address address <strong>of</strong> applicant varchar 300<br />
phno<br />
phone number <strong>of</strong><br />
applicant<br />
varchar 30<br />
email email id <strong>of</strong> applicant varchar 30<br />
course name <strong>of</strong> the course varchar 30<br />
time b<strong>at</strong>ch time <strong>of</strong> the course varchar 30<br />
d<strong>at</strong>e<br />
starting d<strong>at</strong>e <strong>of</strong> the<br />
course<br />
varchar 30<br />
loc<strong>at</strong>ion applicant‘s loc<strong>at</strong>ion varchar 30<br />
job_st<strong>at</strong>us job st<strong>at</strong>us <strong>of</strong> applicant varchar 30<br />
org<br />
12. trainee_registr<strong>at</strong>ion<br />
organiz<strong>at</strong>ion in which<br />
the applicant is working<br />
Purpose: To keep the details <strong>of</strong> registered trainees<br />
FIELD<br />
NAME<br />
DESCRIPTION DATA<br />
varchar 30<br />
TYPE<br />
SIZE
PROJECT REPORT Callipers – The Training Manager<br />
trainee_id<br />
id <strong>of</strong> the registered trainee int<br />
- 70 -<br />
(primary<br />
key)<br />
username username <strong>of</strong> trainee varchar 30<br />
password password <strong>of</strong> trainee varchar 30<br />
trainee_name name <strong>of</strong> trainee varchar 30<br />
age age <strong>of</strong> trainee int 11<br />
gender gender <strong>of</strong> trainee varchar 30<br />
qualific<strong>at</strong>ion qualific<strong>at</strong>ion <strong>of</strong> trainee varchar 30<br />
address address <strong>of</strong> trainee varchar 300<br />
trainer_name name <strong>of</strong> the trainer varchar 30<br />
course<br />
name <strong>of</strong> the course the<br />
applicant wishes to join<br />
11<br />
varchar 30<br />
dur<strong>at</strong>ion dur<strong>at</strong>ion <strong>of</strong> the course int 11<br />
time b<strong>at</strong>ch time <strong>of</strong> the course varchar 30<br />
d<strong>at</strong>e starting d<strong>at</strong>e <strong>of</strong> the course varchar 30<br />
loc<strong>at</strong>ion trainee‘s preferred loc<strong>at</strong>ion varchar 30<br />
phno phone number <strong>of</strong> trainee varchar 30<br />
email email id <strong>of</strong> trainee varchar 30<br />
description<br />
13. messages<br />
more description about the<br />
trainee<br />
Purpose: To send and receive messges.<br />
FIELD<br />
NAME<br />
DESCRIPTION DATA<br />
varchar 300<br />
TYPE<br />
msg_id id <strong>of</strong> messages int<br />
(primary key)<br />
SIZE<br />
11
PROJECT REPORT Callipers – The Training Manager<br />
msg_sub subject <strong>of</strong> the message varchar 30<br />
message Message varchar 3000<br />
msg_from sender‘s name varchar 30<br />
msg_to receivers name varchar 30<br />
msg_d<strong>at</strong>e message sending d<strong>at</strong>e varchar 30<br />
msg_time message sending time varchar 30<br />
9.3 Forms (Screen Shots)<br />
Login<br />
Cre<strong>at</strong>e Course<br />
- 71 -
PROJECT REPORT Callipers – The Training Manager<br />
Edit Trainee<br />
- 72 -
PROJECT REPORT Callipers – The Training Manager<br />
Trainer Applic<strong>at</strong>ion Form<br />
Trainee Details<br />
- 73 -
PROJECT REPORT Callipers – The Training Manager<br />
Mark Attendance<br />
Send Complaints<br />
- 74 -
PROJECT REPORT Callipers – The Training Manager<br />
Assess Trainer<br />
Callipers Forum<br />
- 75 -
PROJECT REPORT Callipers – The Training Manager<br />
Answering a Question in the Forum<br />
- 76 -
PROJECT REPORT Callipers – The Training Manager<br />
BIBLIOGRAPHY<br />
- 77 -
PROJECT REPORT Callipers – The Training Manager<br />
www.sun.java.com<br />
www.roseindia.com<br />
www.w3schools.com<br />
BIBLIOGRAPHY<br />
The J2EE 1.4 Tutorial – Eric Armstrong, Jennifer Ball<br />
Java 2, The complete reference, Fifth Edition – Herbert Schildt<br />
HTML & XHTML, The Complete Reference, Fourth Edition –<br />
Thomas A. Powell<br />
Struts, The Complete Reference – James Holmes<br />
Fundamentals <strong>of</strong> d<strong>at</strong>abase <strong>system</strong>s – Nav<strong>at</strong>he, Elmasri<br />
S<strong>of</strong>tware Engineering - Pressman, Roger<br />
An Integr<strong>at</strong>ed Approach To S<strong>of</strong>tware Engineering - Jalote, Pankaj<br />
- 78 -