16.08.2013 Views

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

SHOW MORE
SHOW LESS

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 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!