You are on page 1of 6

CHRONOLOGICAL REPORT OF 6 MONTHS INDUSTRIAL

TRAINING

TRAINING IN - JAVA
ORGANIZATION - Cybrain Software Solutions
MENTOR - Mr Puneet Verma
TIME PERIOD - 19th Jan – 5th Feb

The first two weeks of the industrial training involved the process of familiarization with the
work environment, the tools as well as the colleagues I was to work with. The initial period
had me revisiting the concepts of core Java that had been learnt during my time at college,
and which would form the foundation in further study of the new concepts at hand. This
included a closer look at the now familiar topics of the control statements, inheritance,
applets, classes and methods. The whiteboard was our instructors preferred medium of
instruction and all candidates were required to carry personal laptops. Java 2 – A Complete
Reference by Herbert Schmidt proved useful.

The statements inside your source files are generally


executed from top to bottom, in the order that they appear. Control flow statements, however,
break up the flow of execution by employing decision making, looping, and branching,
enabling your program to conditionally execute particular blocks of code. Inheritance in java
is a mechanism in which one object acquires all the properties and behaviors of parent object.
The idea behind inheritance in java is that you can create new classes that are built upon
existing classes.

An applet is a small Internet-based program written in Java, a programming


language for the Web, which can be downloaded by any computer. The applet is also able to
run in HTML. The applet is usually embedded in an HTML page on a Web site and can be
executed from within a browser. A method is a set of code which is referred to by name and
can be called (invoked) at any point in a program simply by utilizing the method's name.
TIME PERIOD - 9TH FEB – 26TH FEB

The foray into Advanced Java started in this period with an introduction to the notions
beginning with the use of Serblets and JSPs. This involved a study if the role of web servers
and web clients and a briefing on HTML and HTTP, HTTP responses, and the use of GET
and POST. The Hypertext Transfer Protocol is designed to enable communications between
clients and servers. HTTP works as a request-response protocol between a client and server.
A web browser may be the client, and an application on a computer that hosts a web site may
be the server. GET requests a representation of the specified resource. GET may be used
arbitrarily by robots or crawlers, which should not need to consider the side effects that a
request should cause. POST submits data to be processed (e.g., from an HTML form) to the
identified resource. The data is included in the body of the request. This may result in the
creation of a new resource or the updates of existing resources or both.

The use of Servlets in comparison to CGI was studied. The process of creating a
servlet via (i) building a directory (ii) coding in a java file (iii) creating a deployment
descriptor was elucidated upon. CGI are usually executables that are native to the server’s
operating system, though servlets can also be compiled to the native OS it can be compiled to
Java bytecode which is then run on a JVM. CGI programs are platform dependent while
servlets are platform independent. CGI can directly process scripts while it needs to be
translated and compiled to before it can be run as a servlet. Servlets are Java classes which
service HTTP requests and implement the javax.servlet.Servlet interface. Web application
developers typically write servlets that extend javax.servlet.http.HttpServlet, an abstract class
that implements the Servlet interface and is specially designed to handle HTTP requests.

Containers, especially, Tomcat, were studied and their role in


(i) communications support (ii) lifecycle management (iii) multithreading (iv) declarative
security (v) JSP support was looked at. The coding of a servlet and its relation to a URL were
clarified to me, and so was the use of deployment descriptors to map URLs to servlets. Other
uses of a deployment descriptor such as in a declarative mechanism were also listed. Web
container (also known as a Servlet container) is the component of a web server that interacts
with Java servlets. A web container is responsible for managing the lifecycle of servlets,
mapping a URL to a particular servlet and ensuring that the URL requester has the correct
access rights.
TIME PERIOD - 2ND March – 16th March

I was required to conceptualise the project which would culminate in my completion of the
training process. Further studies involved the Model-View-Container Design Pattern. The
architecture and deployment environment were examined. I was tutored in the use of Adobe
Dreamweaver for the time efficient creation of jsp files. I also charted an SDLC and
architecture on which my project would be based. MVC is a software architecture - the
structure of the system - that separates domain/application/business (whatever you prefer)
logic from the rest of the user interface. It does this by separating the application into three
parts: the model, the view, and the controller.

The model manages fundamental behaviors and data


of the application. It can respond to requests for information, respond to instructions to
change the state of its information, and even to notify observers in event-driven systems
when information changes. This could be a database, or any number of data structures or
storage systems. In short, it is the data and data-management of the application. The view
effectively provides the user interface element of the application. It'll render data from the
model into a form that is suitable for the user interface.

The relationships between servlets and


containers were studied, furthermore the lifecycle methods were also looked into (i) init (ii)
service (iii) doGet ()/doPost (). The intricacies involved in the creation of servlets and
webapps were studied. The interlinking of Apache Tomcat, HTML pages and jsp files was
explained. The user/client can only request static webpage from the server. This is not good
enough, if the user wants to read the web page based on his input. The basic idea of Servlet
container is using Java to dynamically generate the web page on the server side. So servlet
container is essentially a part of a web server that interacts with the servlets.

The inventors of
HTTP saw them as very different however. GET operations must be "idempotent" which just
means they have no side effects and repeated calls should give the same result. A pure query
in other words. POST operations should be used to send information to the server that will
change the state of some object or data store.
TIME PERIOD - 17TH MARCH – 31TH MARCH

The web server needs a JSP engine i.e. container to process JSP pages. The JSP container is
responsible for intercepting requests for JSP pages. This tutorial makes use of Apache which
has built-in JSP container to support JSP pages development. A JSP container works with the
Web server to provide the runtime environment and other services a JSP needs. It knows how
to understand the special elements that are part of JSPs.

The main objective of the project is to track


down the bugs efficiently for the quality assurance of the project. The proposed system must
impose authorization constraints, it must ask for user id and password whenever the users use
the system. It must allow the bugs to be viewed and edited by the tester and developer. The
administrator should be allowed to alter the data regarding the projects, clients and users. He
can assign the projects and the respective project team to the team lead. The team lead can
view the performance reports of the members working under him. Tester can assign bugs to
the developer. The system must establish better communication between the team members.
Problem definition phase is used to define the problem of the existing system.

The feasibility analysis was conducted to know


whether the development of this project is actually required. It was done to ensure that the
development of the candidate system is a feasible solution to the prevailing problem. The
requirement analysis is done to enlist what all is required out of the project, what would be
the vital inputs and what outputs are expected out of the system. The enumeration of the user
requirements is also done in this phase. The design phase includes the designing of the
project frame, the basic structure of the project and the actual coding of the software system.
The testing is the major quality control measure used during software development. Its basic
function is to detect errors in the software. It uncovers the errors in the software coding as
well as the errors introduced during the earlier phases.
TIME PERIOD – 1ST APRIL – 14TH APRIL

Once the design phase was over, coding commenced. Coding is natural consequence of
design. Coding step translate a detailed design representation of software into a
programming language realization. Main emphasis while coding was on style so that the
end result was an optimized code. The structured programming method was used in all
the modules the project. It incorporated the following features
• The code has been written so that the definition and implementation of each function is
contained in one file.

• A group of related function was clubbed together in one file to include it when needed and
save us from the labour of writing it again and again.

Naming Convention

• As the project size grows, so does the complexity of recognizing the purpose of the
variables. Thus the variables were given meaningful names, which would help in
understanding the context and the purpose of the variable.

• The function names are also given meaningful names that can be easily understood by the
user.

The manual system is time-consuming, inefficient in large projects, requires ample amount of
manual labour and resources. Moreover, the tracking of data to be updated becomes tedious
job. Even the communication between the members of the project team is in person which is
not feasible sometimes and may cause a pause in the project development. In case of large
projects, it becomes difficult to view or refer to the bugs and their details that have already
occurred in the record.
TIME PERIOD – 15TH APRIL – 24TH APRIL

Even well designed and technically elegant systems can succeed or fail because of the way
they are used. Therefore the quality of the training received by the personnel involved with
the system in various ways helps or hinders, and may even prevent, the successful
implementation of an information system.

Since, Human Resource Recruitment Process is web-based and user friendly, not much effort
was required in training process.

So far, all the milestones that were identified initially have been successfully overcome, by
clearly defining all the roles of the users , namely, admin, project manager, tester, developer.
Their roles have been best possibly designed so that the Bug Tracking Tool works more
efficiently and it successfully overcomes all the limitations and drawbacks of the manual
system. Thereby, it gives an organisation a best possible platform for tracking of the bugs
occurring in software since even a single bug can create great havoc in the whole system.
Therefore, the bug tracking system, Bugster, is a software application that is designed to help
quality assurance and programmers keep track of reported software bugs in their work. It is
extremely valuable in software development, and can be used extensively by companies
developing software products.

•For a better communication and interactivity between team members, emailing concept has
to be added, wherein the user can communicate with other users then and there and get the
required information.

•Module for “forgot password” is also to be added, where the user on forgetting the password
need not communicate with the admin but simply answer to a question and gets logged in.

•Bugster can be integrated with other with other software project management application.

•It can be further enhanced to make it work like an Issue Tracking System.

You might also like