SlideShare una empresa de Scribd logo
1 de 64
Annexure-1
TECHNICAL RESOURCE PORTAL
A Project Report
Submitted by:
JUHI(1288226)
in partial fulfillment for the award of the degree
of
BACHELOR OF TECHONOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
at
SHAHEED UDHAM SINGH COLLEGE OF ENGINEERING AND TECHNOLOGY
TANGORI (MOHALI), PUNJAB (INDIA) - 140306
AFFILIATED TO PUNJAB TECHNICAL UNIVERSITY, JALANDHAR, PUNJAB (INDIA)
May 2015
Annexure-2
DECLARATION
I hereby certify that Juhi, Roll no. 1288226 of Shaheed Udham Singh Engineering College, Tangori has
undergone six month industrial training from 15 January 2015 to 15 June 2014 at Appin Technology,
Chandigarh to fulfill the requirements for the award of degree of B.Tech(CSE). She works on the Core &
Advance Java project named “Technical Resource Portal” during the training under the supervision
working. We wish her the great success in the future.
Signature of the Student
Place: Mohali Juhi
Date:
Annexure-3
CERTIFICATE
This is to certify that the project titled “Technical Resource portal” is the bona fide work carried out by
JUHI, a student of B Tech (CSE) of Shaheed Udham Singh College of Engineering and Technology,
Tangori (Mohali) affiliated to Punjab Technical University, Jalandhar, Punjab(India) during the academic
year 2013-14, in partial fulfillment of the requirements for the award of the degree of Bachelor of
Technology (Computer Science and Engineering )
Signature of the Guide
Place:
Date:
Annexure-4
ABSTRACT
Project work is major part of course. It is a period in which we are introduced to the actual process of
making a project successful. In other words, we can say that project lab course training is provided for the
familiarization with the environment in which the development of an actual project is done. In the
department of computer engineering, we introduced the process of software engineering, which is we
owed and includes not only the process but actual process of software development.
During the period of B.Tech in computer engineering, this semester, we have studied all the topics, which
are required for the development of software or some other design. But this is the time when we put our
knowledge to actual work and learn how to combine all the aspects of software engineering.
The objectives of doing project work is to raise the level of performance in one or more of its aspects and
this may be achieved by careful learning of the process of software engineering. Furthermore motivation
for new learning of group relation, coordination and cooperation provides an overview of the total
development process.
Project work is an important part of theoretical studies. It covers all that remains incurred in the
classroom i.e. without it out studies remains ineffective and incomplete. Also it explores a student to own
invaluable creasier of experience and offer an exposure to real management in an organization.
Annexure-5
ACKNOWLEDGEMENT
The satisfaction that accompanies that the successful completion of any task would be incomplete without
the mention of people whose ceaseless cooperation made it possible, whose constant guidance and
encouragement crown all efforts with success.
I am grateful to my project guide Miss. Rajandeep Kaur for the guidance, inspiration and constructive
suggestions that helpful me in the preparation of this project. He has helped me at each moment whenever
we were in need of him. We are also very thankful to our department for inspiring us for this project.
We signs of gratitude go out to our family and our friends, who had encouraged & inspired us with their
blessings and consistent coordination.
Our acknowledgements would not be complete without expressing our personal belief in and gratitude
towards God, our creator. None of this would have been possible without His blessings.
Juhi
Annexure-6
Table of Contents
1 INTRODUCTION 1
Problem Defination
Objective
Hardware Specification
Software Specification
1.1
1.2
1.3
1.4
2 LITERATURE SURVEY 2
Existing System
Proposed System
Feasibility Study .
2.1
2.2
2.3
3 SYSTEM ANALYSIS & DESIGN 3
Requirement Specification
Users of the System
Services or Modules Content
Technology Used
DFDs and Types
ER-Diagram
Coding Process
Testing Process
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
4 RESULTS/OUTPUTS 4
SNAPSHOTS
Implementation
Maintenance
4.1
4.2
4.3
5 CONCLUSIONS 5
Conclusion
Scope
5.1
5.2
6 REFERENCES 6
Bibliography 6.1
7 APPENDICES 7
JAVA BUZZ WORD
Annexure-7
INTRODUCTION
1.1Problem Definition
Very often we need to work on a file which is available on our local system. But what if we are
geographically dispersed and unable to take our system with all the docs along. In that case we need to
have all our required docs on a drive which is accessible on web. To overcome this problem “Technical
Resource Portal” is being developed.
Technical Resource Portal” will provide its users a platform as like Net bean IDE where Users can
create their programs online. In this project we are providing the platform where user can write, compile,
debug, run, save, upload, and download, and open the project online. We do not require any memory and
platform of system. These all above feature of the project makes it unique.
Apart from managing the programs on web drive users will be able to share their files with other users.
All the operations such as upload/download file, add/remove folders etc. will be done by users according
to the rights assigned to them. Apart from this portal provides another services like prepare online,
Tutor on demand, Technical Discussion Forum.
It will be enterprise application with web and mobile interfaces, so it will be distributed and data centric.
It is designed on the basis of enterprise application architecture. In this application, My SQL database will
be used to store data.
It will be developed using Java, JEE technologies.
Annexure-8
1.2Objective
Online environment provided by “Technical Resource Portal” support its users to create their own
program, get prepare for online mock test and get online certification, and also get help from tutors and
discuss their queries in a technical discussion forum Online Web IDE allows a user to save and run
program on server machine. User able to rename a folder and also he will be able to create new folders on
the drive. Users able to upload and download a file from the server machine Apart from managing the
files and folders on web drive users able to share their files with other users. All the operations such as
upload/download file, add/remove folders etc. will be done by users according to the rights assigned to
them. It enterprise application with web and mobile interfaces, so it is distributed and data centric. It is
designed on the basis of enterprise application architecture. In this application, My SQL database is used
to store data.
It is developed using Java, JEE technologies.
 Providing user friendly interface.
 Easy access of data.
 Easy maintenance.
 Preparation by online mock test.
 Providing better performance.
 Discuss their queries in Technical Discussion forum.
 Source of Earning.
Annexure-9
1.3 Software Specification
1. JDK 1.7
 Net Beans 7.4
2. Database
 My SQL Database Server 5.6.14
3. Reports
 I Report plug-in 5.1.0
4. Web Server
 Apache Tomcat 7.0
5. Application Server
 Glassfish v4.0
6. Testing Tool
 J Unit 4.8.2
7. Deployment Tool
 Ant 1.9.1
8. Operating System
 Windows 7 / Windows 8/Windows 8.1/Window xp
1.4 Hardware Specification
 Intel P4 processor with minimum 2.0 GHz Speed or any equivalent processor.
 RAM: Minimum 512MB.
 Hard Disk: Minimum 30GB
Annexure-10
2. LITERATURE SURVEY
2.1Existing System
In the Current systems programs are provided to use but for that we have to require platform first
installed in our computer like to run online programs. Current systems required memory space to install
the software and run application of that software. The current system is very time consuming because its
first have to install only then can we use. The current system is required extra memory space to work; this
is more difficult for those systems having limited memory. The current systems are not fully on line.
Limitations of Existing System
1. The current system is very time consuming.
2. The current system is required extra memory space to work this is more difficult for those systems
having limited memory.
3. The current system required insulation first in the computer to use the application.
4. The current systems are not fully on line.
Annexure-11
2.2ProposedSystem
1. Login: Users of the system would be required to login into the system. After
Authentication user would be able to login into the system and use the functionality for which he would
be authorized.
2. Maintain User Account: Users of the system would be able to edit/update their account details.
3. Download/Upload program: Using this user will be able to upload and download program from
server. All the functionality to manage uploading and downloading program will be achieved by this
Online Web IDE.
4. Create/Open Program: Users of the system will be able to create new program and projects. Users
can also be able to open the exiting program and project from their own login. All the functionality to
manage new program and open program will be achieved by this Online Web IDE.
5. Save/Delete Program: Users of the system will be able to save and delete program. All the
functionality to manage save and delete program will be achieved by this Online Web IDE.
6. Compile/Run Program: The platforms are also provided which is required to compile and run. All the
functionality to manage compile and run program will be achieved by this Online Web IDE.
7. Help: Users can also take help regarding any code and option.
Annexure-12
2.3Feasibility Study
In feasibility study we analyze our proposed solution for being feasible or not. The term “feasibility study”
is used as a convenient description for the output for the work done; users of this toolkit should not apply
preconceived notions of what a feasibility study consists of. Stated as simply as possible, the work done
here must show that the project:
 is in accordance with predetermined needs;
 is the most suitable technical solution to the needs;
 can be implemented within any capacity constraints of the Institution which operates;
A feasibility study is the test of a system proposal according to the workability impact on
organization, ability to meet user needs and effective use of resources. The objective of the
feasibility study is not to solve the problems but to acquire the sense of scope. During the study,
the problem definition is crystallized and the aspects the problem to be included in the system is
determined. After the initial investigation of the system that helped to have the depth study of
existing system, understanding its strengths and weaknesses and the requirements for the new
proposed system. Under this we take into consideration three types of feasibility studies.
 Behavioral Feasibility
 Technical Feasibility
 Economic Feasibility
 ECONOMICAL FEASIBILITY:-
Economic feasibility is the most frequently used method for evaluating the effectiveness of candidate
system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and
savings that are expected from a candidate system and compare them with the costs. If benefits outweigh
the costs, then the decision is made to design and implement the system. The project is economically
feasible as the only cost involved is having a computer with the minimum requirements mentioned
earlier. For the users to access the application, the only cost involved will be in getting access to the
Internet. Our project “Online Web IDE” is economical feasible. In this project we use the java language
and for data storage we use the My SQL. it is economical feasible because Java is open source means
license free so there is no need to buy Java software externally. The data storage we do not need to buy
the MY SQL, because it is also free.
Annexure-13
 TECHNICAL FEASIBILITY:
Technical feasibility centers on the existing computer system. (Hardware/Software) and to what extent it
can support the proposed addition also the organization already has sufficient high end machines to serve
the processing requirements of the proposed system.
The project is technically feasible as the technology involved in the project is easily available. To deploy
the application, the only technical aspects needed are mentioned below:
Operating Environment any Operating system
Platform java
Database SQL management
For Users: Internet Browser & Internet Connection
Our project Online Web IDE is technical feasible because in this project to manage programs and project
on web server and these can access on any system from drive, Where users can manage programs and
project same as local drive. Different Web Drive Plans provided to users. All users are managed by admin
or employee.
1. OPERATINAL FEASIBILITY:-
Operational feasibility is evaluation is to determine whether system is operationally acceptable during this
study, it determine whether the system will operate in the way that user wants or not. Our project is also
operational feasible because in this project we provide the graphical user interface (GUI) which is easy to
understand & operate. It also provides the user friendly interface. The user will easily use the system .In
this project we use the buttons, text box, images which is easily understandable for end user.
The system will be used if it is developed well skill then be resistance for
Users that undetermined.
 No major training and new skills required as it is based on DBMS model.
 It will help in the time saving and fast processing and applications.
 Improved information, better management and collection of the reports.
Annexure-14
System Design
Systems design is the process or art of defining the architecture, components, modules, interfaces, and
data for a system to satisfy specified requirements. One could see it as the application of systems theory
to product development. There is some overlap with the disciplines of systems analysis, systems
architecture and systems engineering.
1. The External Design:-
External design consists of conceiving, planning out and specifying the externally observable
characteristics of the software product. These characteristics include user displays or user interface forms
and the report formats, external data sources and the functional characteristics, performance requirements
etc. External design begins during the analysis phase and continues into the design phase.
2. Physical design:-
The physical design relates to the actual input and output processes of the system. This is laid down in
terms of how data is input into a system, how it is verified/ authenticated, how it is processed, and how it
is displayed as output. Physical design, in this context, does not refer to the tangible physical design of an
information system. To use an analogy, a personal computer's physical design involves input via a
keyboard, processing within the CPU, and output via a monitor, printer, etc. It would not concern the
actual layout of the tangible hardware, which for a PC would be a monitor, CPU, motherboard, hard
drive, modems, video/graphics cards, USB slots, etc.
3. Logical design:-
The logical design of a system pertains to an abstract representation of the data flows, inputs and outputs
of the system. This is often conducted via modeling, which involves a simplistic (and sometimes
graphical) representation of an actual system. The most creative & challenging phase of the system life
cycles System design. It involves the conceiving, planning out & specifying the externally observable
characteristics of the software product. It is the most time consuming phase & includes user displays
report format external data sources & functional characteristics.
The term design describes the final system & the process by which it is develop. System design is the
process of the problem solving & planning for software solution.
The first step is to determine how the output is to be produced& in what format. Samples of the
output are also presented & second step input data & database have to be design to meet the requirement
of the purposed output.
Annexure-15
The actual description of the problem, how the job will be solved, what is the procedure for solving the
problem are main issues.
A procedure can be explained with flow charts, dataflow diagram more easily.
Modules
Various modules of the Online Web IDE would be :
 Administration: Admin module is the central module of the system. This module will allow
admin users to configure the system with required information like roles of users, their access
rights. This module will be used by admin to manage all the users of Online Web IDE.
 User Manager : Two types of users :-
1. Guest User: These users can only visit the site.
2. Registered: These users can use all the features of the project
.
Annexure-16
3.SYSTEM ANALYSIS & DESIGN
3.1Input Requirements of the System
 Internet facility
 Code
 User
 java language
Output Requirements of the System
 Proper output according to user requirement.
 Online compiler, interpreter, debugger.
 Online memory space for saving the code.
 Download facility to keep record for further use in absence of network.
 Upload the programs to continue programs and projects.
Annexure-17
3.2 Users of the System
The different users of the system are:
 Administrator: Administrator is the super user of the application. Administrator will manage
different users of the application and their access rights. Privileges allocation to users will also be
managed by the administrator.
 Registered User: These are the registered users of the application. Each user will have a space on
the server where they will be able to upload files and also they will be able to download files from
the allocated space. Users will also be able to share files and folders. They will be able to perform
the tasks according to the rights assigned by the administrator
 Guest User: These are those users which are not registered on application. These users can view
the project only can’t access the web IDE page. To use the Web IDE page user has to first
registration.
Annexure-18
3.3 Services
 Online Web IDE
 Prepare Online
 Tutor On Demand
 Technical Discussion Forum
On line Web IDE
Online Web IDE will provide its users a platform as like Net bean IDE where
Users can create their programs online. In this project we are providing the platform where user can write,
compile, debug, run, save, upload, and download, and open the project online. We do not require any
memory and platform of system. These all above feature of the project makes it unique.
Apart from managing the programs on web drive users will be able to share their files with other users.
All the operations such as upload/download file, add/remove folders etc. will be done by users according
to the rights assigned to them. Online Web IDE allows a user to save and run program on server machine.
User able to rename a folder and also he will be able to create new folders on the drive. Users able to
upload and download a file from the server machine Apart from managing the files and folders on web
drive users able to share their files with other users. All the operations such as upload/download file,
add/remove folders etc. will be done by users according to the rights assigned to them. It enterprise
application with web and mobile
 Providing user friendly interface.
 Easy access of data.
 Easy maintenance.
 Maintaining data consistency.
 Providing better performance.
 Increasing the efficiency through automation.
 Adequate validation checks for data entry.
Annexure-19
Prepare Online
This is the second service of the project Technical Resource Portal. Any user can use this service after
registering itself. With the help of this service any user can prepare for any language like java, html, css
etc. The
User can select the further subcategories like core java and advance java from java category. Apart from
this user can select further topics from subcategories like oops, constructor, polymorphism from core
java.
After giving the online mock test user can get online certification too. This service also provides the
source of earning because it has two type of mock test one is freeware and other is paid by which the user
will pay the money for give test and get certificates also.
 Providing user friendly interface.
 Easy access of data.
 Easy maintenance.
 Preparation by online mock test.
 Providing better performance.
 Discuss their queries in Technical Discussion forum.
 Source of Earning
Annexure-20
Tutor on Demand
Tutor on Demand is a module which will provide Online Tutoring. Online tutoring is the process of
tutoring in an online, virtual environment or networked environment in which teachers and learners are
interacting. Students can get tutoring service of any subject teacher any time. Students just need to pay
online to tutor for lecture they want to avail through video chat, and then they can start their Interaction.
It will be designed and developed based upon 3-tier architecture (i.e. MVC design pattern). In this web
application can store the data in the database to store the data related to various students &tutors etc Since
database will be on Server, so any number of users can work simultaneously.
Annexure-21
Technical Discussion Forum
Discussion forum, or message board, is an online discussion site where people can hold conversations in
the form of posted messages. They differ from chat rooms in that messages are often longer than one line
of text, and are at least temporarily archived. Also, depending on the access level of a user or the forum
set-up, a posted message might need to be approved by a moderator before it becomes visible.
It is designed and developed bases upon 3-tier architecture (i.e. MVC design pattern). In this web
application can store the data in the database to store the data or Queries related to various students,
various types of questions, their results etc since database will be on Server, so any number of users can
work simultaneously and can share their data with each other.
Present system is manual. The Project Metrics has to enter all the details of project, documents, and tasks.
It also maintenance the team information and also efforts estimation. For this purpose the organization
maintain the size of the document, source code and update the information about team member’s details
manually. Which is much of time consuming process and more importantly it is error prone. Limitations
of the Manual system
 It is time consuming
 It leads to error prone results
 It consumes lot of manpower to better results
 It lacks of data security
 Retrieval of data takes lot of time
 Percentage of accuracy is less
 Reports take time to produce
Hence Computerization of the existing system is proposed. The new system completely removes all
manual burdens and provide efficient on the entry system.
Characteristic of Proposed system
To generate the quick reports
To make accuracy and efficient calculations
To provide proper information briefly
To provide data security
To provide huge maintenance of records
Flexibility of transactions can be completed in time
After understanding the existing system and understanding the need for developing a new system
different people involved in the related activities have been consulted. The data needed for the study has
been collected from company records.
The computerization of this system would avoid the wrong interpretation and bad calculation of data .The
system help the user to see any documents, source code, tasks, activities, team information with details at
the click of a button. The record data is maintained and backed up such a way that data is not loss. The
speed of the system could also increased.
Annexure-22
3.4 Technologies to be used
1. Java: Java is Platform Independent, Secure, Object Oriented, Scalable, and Robust Programming
Language.
It consists of two parts:
 JVM stands for Java Virtual Machine, which is run time environment to execute the java
programs.
 Java API (Application Programming Interface) that consists of inbuilt classes used in java
programs.
2. JDBC
 JDBC (Java Database Connectivity) is an API, which is used for the communication of java
programs with different databases.
3. Java Mail API
 The Java Mail API provides a platform-independent and protocol-independent framework to
build mail and messaging applications.
4. Servlets
 Servlets are basically a part of Java Platform, Enterprise Edition (Java EE) and is a technology
that is used for extending the functionality of the servers that host application access via request-
response programming model.
5. JSP
 JSP (Java Server Pages) a technology of Java Platform, Enterprise Edition (Java EE) is used for
server-side programming and with the help of JSP we can segregate the work of a web designer
and a developer.
6. My SQL
 SQL Management is used as database, used to store data.
7. Scripting Languages
 CSS
 JavaScript
 AJAX
Annexure-23
3.5 DFDs
A data flow diagram, in the simple words, is a hierarchical graphical modal of a system that shows the
different processing activities or functions that system performs and the data interchange in this function.
In the DFD terminology, it is useful to consider each function as process that consumes some input data
& produces some output data.
The DFD (also known as the bubble chart) is a simple graphical formalism that can be used to represent a
system in terms of the input data to the system, various processing carried out on this data & output data
generated by the system. DFD is very simple formalism. It simple to understand & use. A is use very
limited number of primitive symbols to represent the functions performed by a system & the data flow
among these functions.
Human mind is such that it can easily understand any hierarchical model of a system, because in a
hierarchical model, starting with a very simple & abstract model of a system; different details of the
system can be slowly introduced through different hierarchies.
Primitive symbols Used For Constructing DFD’s
 Function symbol:-
 A function symbol is representing as circle. This symbol is called a PROCESS or a BUBBLE.
Bubbles are annotated with the names of corresponding Functions. It represents a process that
transforms incoming data flow into the outgoing data flow.
 2.External entity Symbol:-
An external entity such as a manager, customer etc. is represented by a rectangle. The external entities
are essentially those physical entities external to the software, which interact with the system by inputting
External Entity
Process
Annexure-24
data to the system or by consuming the data produced by the system. In other words, it defines the source
or destination of the system data.
3.Data Flow Symbol:-
An arrow identifies data flow in the motion. A arrow represent the data flow occurring between two
processes, in which direction of the data flow arrow.
4. Data Store Symbol:-
An open rectangle is a data store – data at rest, or a temporary repository of data.
Annexure-25
DFD Types:
1. 0 Level DFD(Context Diagram):
2. 1 Level DFD:
2Level DFD:
Annexure-26
Annexure-27
 Online Web IDE
Annexure-28
 Prepare Online
Annexure-29
 Tutor on Demand
Annexure-30
 TechnicalDiscussionForum
Annexure-31
Annexure-32
3.6ER-DIAGRAM’S
ER-Diagramof Tables user_details_info and userprogram_info:-
Annexure-33
Contact US:
About US:
Feedback:
Annexure-34
3.7Coding
The design is complete; most of the major decisions about the system have been made. After designing
the new system, the whole system is required to be converted into computer understanding
language. The goal of the coding phase is to translate the design of the system into code in a given
programming language for a given design. The aim of this phase is to implement the design in the best
possible manner. The coding phase affects both the testing & maintenance profoundly. A well written
code reduce the testing & maintenance effort .since the testing &maintenance cost of software are much
higher then coding cost .During the coding focus should be on developing programs that are easy to write
The design must be translated into machine readable form. The code generation step performs this task
if the design is performed in a detailed manner, code generation can be accomplished without Much
complication, programming language are used for coding & the right programming language is chosen
This is also called programming phase in which the programmer convert the program specification into
computer instruction which be refer as programs. The program coordinates the data movements &
controls the entire process in a system.
It is generally felt that the program must be modular in nature. This helps in fast development,
maintenance & future change, if required. This means program construction with procedural specification
has finished and the coding for the program begins:
 Once the design 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 optimal code.
Following points were kept into consideration while coding:
Coding Style: 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 labor of writing it again and again.
Annexure-35
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
contents and purpose of variable.
 The function names are also given meaningful name that can be easily understood by the user.
Indentation: Judicious use of indentation can make the task of reading and understanding a program
much simpler. Indentation is an essential part of a good program. If code id intended without thought it
will seriously affect the readability of the program.
 The higher –level statements like the definition of the variables, constants and the function are
intended, with each nested block intended, starting their purpose in the code.
 Blank line is also left between each function definition to make the code look neat.
 Indentation for each source file starting the purpose of the file is also done.
Three-Tier Web Application Development
In web application development, weuse three-tier architecture refers to separating the application process
into three specific layers. What the user sees via a web browser is called the presentation tier and is
content served from a web server. The middle tier performs the business logic processing that occurs, for
example, when a user submits a form. The back end consists of the data tier which handles the database
processing and access to the data. We'll take a simplistic look at each of these.
~ Presentation Tier:The Presentation Tier or User Interface is the portion the user sees when they open a
web page in the browser. It is as simple as you reading this article all the way to searching a catalog and
purchasing a product using a shopping cart. It is what is presented to the user on the client side within
their web browser. Languages used in this layer are HTML, CSS and JavaScript,JSP.
~ Business Logic or Application Tier:The Business Logic, Functional Process Logic, Business Rules
(all pertaining to the same thing), are kept in a separate layer. In Java, this is where you define your
classes and source code. This can be in the App_Code folder for your classes and methods. In this layer
you typically define your classes, functions, sub procedures, properties, etc.
~ Data Access Tier: the Data Access layer is where you define your typed datasets and table adapters. It
is where you define your queries or stored procedures. The business tier may then make use of this
Annexure-36
functionality. In your classes, rather than defining ad hoc queries, you may use a JDBC to access the Data
Access Layer.
Benefits:
When utilized properly, using a multi-tier architecture improves performance and scalability. If a web
page needs an update or redesign, all of this may be handled by altering the CSS and HTML, without
affecting the business or data logic. Any of the three tiers may be replaced or upgraded individually
without affecting the other tiers. For instance, if you change the database on the back end, it wouldn't
affect the presentation or business logic tiers, other than changing the database connection.
Annexure-37
3.8Testing
Project testing is an investigation conducted to determine the quality of the project and the
services provided by the project. Testing is the process of analyzing a project to detect the
differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the
features of the project. After complete development of the project it is mandatory to test the project. The
main motive of the project testing is to identify whether project is able to meet user requirements or not.
To know the better performance of “Benefit & Insurance Quote” we have to develop various Test
Cases. Now, designing good test cases is a complex art. The complexity comes from three sources:
 Test cases help us discover information. Different types of tests are more effective for different
classes of information.
 Test cases can be “good” in a variety of ways. No test case will be good in all of them.
 Our tend to create test cases according to certain testing styles, such as domain testing or risk-
based testing. Good domain tests are different from good risk-based tests.
Functional Testing:
Functional testing refers to activities that verify a specific action or function of the code.
Functional (Integration) testing is usually first test phase that a test organization is responsible for during
any given release. Requirements based Function Test is one approach to Function.
Integration test - it is a powerful and effective testing approach, which will significantly reduce the
number of undetected defects (faults) being released into production. The objective of function test is
to measure the quality of the functional (business) components of the system". Tests verify that the
system behaves correctly from the user / business perspective and functions according to the
requirements, models, storyboards, or any other design paradigm used to specify the application. Black
box testing: Black-box testing is a method of software testing that tests the functionality of an application
as opposed to its internal structures or workings. Specific knowledge of the application's
code/internal structure and programming knowledge in general is not required. Test cases are built around
specifications and requirements, i.e., what the application is supposed to do. It uses external
descriptions of the software, including specifications, requirements, and designs to derive test cases.
Annexure-38
Structural Testing:
Software structural testing is meant to challenge the decisions made by the program with test
cases based on the structure and logic of the design and source code. Structural testing should be done at
the unit, integration, and system levels of testing. Structural testing assures the program’s statements and
decisions are fully exercised by code execution. White Box testing: White-box testing is a method of
testing software that tests internal structures or workings of an application. In white-box testing an
internal perspective of the system, as well as programming skills, are required and used to design test
cases. While white-box testing can be applied at the unit, integration and system levels of the
software testing process, it is usually done at the unit level.
Levels of testing:
There are 5 levels of testing in a software environment. They are as
Follows:
1. Unit level Testing: A unit is defined as smallest part of an application. In this level of testing, each
and every program will be tested in order to confirm whether the conditions, functions and loops etc. are
working fine or not. Usually the white box testers or developers are the performers at this level.
2. Module level Testing: A module is defined as a group of related features to perform a major task. At
this level the modules are sent to the testing department and the test engineers will be validating
the functional part of the modules
3. Integration level Testing: At this level the developers will be developing the interfaces in order to
integrate the tested modules. While Integrating the modules they will test whether the interfaces that
connect the modules are functionally working or not.
4. System Testing: System testing is testing conducted on a complete, integrated system to evaluate the
system’s compliance with it Specified requirements. System testing falls within the scope of Black Box
testing, and as such, should require no knowledge of the inner Design of the code. System testing is
actually done to the entire system. Against the Functional Requirement Specifications (FRS) and/or
theSystem Requirement Specification (SRS).
5. Acceptance Testing: User Acceptance Testing (UAT) is performed by Users or on behalf of the
users to ensure that the Software functions in accordance with the Business Requirement
Document. UAT focuses on the Software functions in accordance with the Business Requirement
Document. UAT focuses on the Software functions in accordance with the Business Requirement
Document. UAT focuses on the users to ensure that the following aspects:
a) All functional requirements are satisfied.
b) All performance requirements are achieved.
Annexure-39
c) Other requirements like transportability, compatibility, error
Recovery etc. Are satisfied.
d) Acceptance criteria specified by the user is met.
4 .RESULTS / OUTPUTS
4.1SNAPSHOTS
1.Home Page
2.Registration Page:
Annexure-40
3.Login Page
4.Ist Service(online web ide)
Annexure-41
5.Create Project
6.Second Service(Prepare Online)
Annexure-42
7.Select Sub Category and Further Topic
8.Instructions For Test
Annexure-43
9.Online Mock Test
10.Test Results
Annexure-44
12.Third Service(Tutor On Demand)
 Home Page
Annexure-45
13.Tutor Login
14.Fourth Service(Technical Discussion Forum)
 Home Page
Annexure-46
 Tags
 Question Tags
Annexure-47
 Ask Question
DATABASE
1.User Details Table
Annexure-48
2.User Program Table
3.FeedBack Table
4.Category Table
Annexure-49
5.Sub Category Table
6.topic_info Table
7.Quiz_info Table
Annexure-50
8.question_table
9. tempresult_info table
Annexure-51
10.quizresult_info table
Annexure-52
4.2 Introduction to Implementation
System implementation is the stage when the user has thoroughly tested the system and approves
all the features provided only after all the requirements are meet and the user is satisfied.
The new system may be totally new; replacing an existing manual or automated system, or it may
be a major modification to an existing system. In either case, proper implementation is essential to
provide a reliable system to provide a reliable system to meet organizational requirements.
Successful implementation is successful implementation may not guarantee improvement in the
organization using the new system, but improper will prevent it.
Implementation is the process of having system personal check out and put new equipment into
use, train users, installs the new application and constructs any files of data needed to use it. This
phase is less creative than system design. Depending on the size of the organization that will be
involved in using the application and the risk involved in its use, system developers may choose to
test the operation in only one area of the firm with only one or two persons. Sometimes, they will
run both old and new system in parallel way to com-pare the results. In still other situations,
system developers stop using the old system one day and start using the new one the next.
The implementation of web based project has some extra step at the time of implementation. We
need to configure the system according the requirement of the software.
For the project we need to install and configure web logic server 9.1 database servers, and the
deployment directory for the project.
Implementation Tools
The project was implemented using JEE-7 technology. The implementation work was carried out
in window XP/2000 server platform.
1) Java Front End
2) SQL management Backend
Annexure-53
System Implementation
A crucial phase in the system development life cycle is the successful implementation of the new
designed system implementation. It includes all those activities that take place to convert from the
old system to the new system. The new system is here replacing an existing manual system. The
proper implementation become necessary so that a reliable system based on the requirement of the
organization can be provided. Successful implementation guarantees improvement in the
organization working.
Implementation Activities
 Acquisition of hardware, software &services
 Software development or modification
 End user training
 Implementation of the Project:
Very often we need to work on a file which is available on our local system drive. But what if
we are geographically dispersed and unable to take our system with all the docs along. In that
case we need to have all our required docs on a drive which is accessible on web. To
overcome this problem, Online Web IDE is being developed. Online Web IDE will provide its
users with a web drive where users will be able to store manipulate and read their files in the
same way as they do it on their local system. Online environment provided by Online Web IDE
will support its users to browse their data saved on a drive on the server machine.
Online Web IDE will allow a user to place or remove a file on the server Machine.User will be
able to rename a folder and also he will be able to create new folders on the drive. Users will be
able to upload and download a file from the server machine Apart from managing the files and
folders on web drive users will be able to share their files with other users.
All the operations such as upload/download file, add/remove folders etc. will be done by Users
according to the rights assigned to them In the Project Online Web IDE implementation starts
with the Administrator. Administrator will be the super user of the application who will
configure system information such as Manage all employees, allusers, all plans. There will
be the different interface for the Employee can manage all users, all web drive Plans where
Users can manage all their files and folders same as they do it on their local machine, users can
also share files with other users through emails.
Annexure-54
4.3 Maintenance
In order for a software system to remain useful in its environment it may be necessary to carry
out a wide range of maintenance activities upon it. There are bugs to fix, enhancement to add
and optimization to make, changes has to be done in older version to make it application for
current use of current version to cater the need of future.
Maintenance can be of three types: -
1) Corrective Maintenance
Changes necessitated by actual errors (defects or residual "bugs") in a system are termed
corrective maintenance. These defects manifest themselves when the system does not operate as
it was designed or advertised to do. A defect or “bug” can result from design errors, logic errors
and coding errors. Design errors occur when for example changes made to the software
are incorrect, incomplete, wrongly communicated or the change request misunderstood. In the
event of a system failure due to an error, actions are taken to restore operation of the software
system. The approach here is to locate the original specifications in order to determine what the
system was originally designed to do.
2) Adaptive Maintenance
Any effort that is initiated as a result of changes in the environment in which a software system
must operate is termed adaptive change. Adaptive change is a change driven by the need to
accommodate modifications in the environment of the software system, without which the
system would become increasingly less useful until it became obsolete. The term environment in
this context refers to all the conditions and influences which act from outside upon the system,
for example business rules, government policies, work patterns, software and hardware
operating platforms. A change to the whole or part of this environment will warrant a
corresponding modification of the software.
3) Perfective Maintenance
This is actually the most common type of maintenance encompassing enhancements both to the
function and the efficiency of the code and includes all changes, insertions, deletions,
modifications, extensions, and enhancements made to a system to meet the evolving
and/or expanding needs of the user. A successful piece of software tends to be subjected to a
succession of changes resulting in an increase in its requirements. the scope for which it was.
Annexure-55
5.CONCLUSION
Online environment provided by “Technical Resource Portal” support its users to create their own
program, get prepare for online mock test and get online certification, and also get help from tutors and
discuss their queries in a technical discussion forum Online Web IDE allows a user to save and run
program on server machine. User able to rename a folder and also he will be able to create new folders on
the drive. Users able to upload and download a file from the server machine Apart from managing the
files and folders on web drive users able to share their files with other users. All the operations such as
upload/download file, add/remove folders etc. will be done by users according to the rights assigned to
them. It enterprise application with web and mobile interfaces, so it is distributed and data centric. It is
designed on the basis of enterprise application architecture. In this application, My SQL database is used
to store data.
Java has significant advantages not only as a commercial language but also as a teaching language. It
allows students to learn object-oriented programming without exposing them to the complexity of C++. It
provides the kind of rigorous compile-time error checking typically associated with Pascal. It allows
instructors to introduce students to GUI programming, networking, threads, and other important concepts
used in modern-day software.
5.1Future Scope of Project
Scope of this project is very broad as follows:-
 Can be used anywhere any time as it is a web based application(user
Location doesn’t matter).
 No restriction to use.
 It is easy to use.
 Available Online each every time.
 The proposed system is very secure.
 Providing user friendly interface.
 Easy access of data.
 Easy maintenance.
 Preparation by online mock test.
 Providing better performance.
 Discuss their queries in Technical Discussion forum.
 Source of Earning.
Annexure-56
6.REFERENCES
Bibliography
 http://www.oracle.com
 https://netbeans.org/
 http://java.sun.com
 http://developers.sun.com/java
Java Tutorials from Sun
 http://java.sun.com/docs/books/tutorial/ - Official Sun JavaTutorial (index of
pages: http://java.sun.com/docs/books/tutorial/reallybigindex.html)
 http://java.sun.com/webservices/tutorial.html - Java Web Services Tutorial
 http://java.sun.com/javaee/reference/tutorials/ - JavaEnterpriseEdition Tutorials
 http://java.sun.com/developer/onlineTraining/GUI/ - GUI Tutorial from Sun
 http://java.sun.com/developer/onlineTraining/Media/ - graphics and media tutorials
 http://java.sun.com/developer/onlineTraining/collections/index2.html -
JavaCollections tutorials
 http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf - JavaGenerics tutorial
 http://java.sun.com/developer/onlineTraining/distributed/ -
DistributedComputing tutorials
 http://java.sun.com/developer/onlineTraining/Beans/ - JavaBeans tutorials
 http://java.sun.com/developer/onlineTraining/Security/ - Java Security tutorials from
Sun
 http://java.sun.com/products/jndi/tutorial/ -
JavaNamingAndDirectoryInterface (JNDI) tutorial
 http://java.sun.com/developer/onlineTraining/ - Sun's index of tutorials
 http://java.sun.com/learning - Java Technology Learning
Other Java Tutorials and Learning Sites
 http://tutorialspoint.com/java - Quick Java Tutorial
 http://www.programmingtutorials.com/java.aspx - Java sectionof
programmingtutorials.com
 http://notes.corewebprogramming.com/ - Core Web Programming: Training Course
Notes
Annexure-57
 http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/ - Quick JavaSwing Tutorial for
AWT Programmers
 http://www.dickbaldwin.com/toc.htm - Java tutorials (and also other languages)
 http://www.javabeginner.com - Java Beginner Tutorial
 http://java.about.com - tutorials, tips etc.
 http://en.wikibooks.org/wiki/Java_Programming - Java Learning WikiBook?
 http://en.wikibooks.org/wiki/Java_Persistence - JavaPersistence WikiBook?
 http://en.wikibooks.org/wiki/Subject:Java_programming_language - Other Java
WikiBook?s
 http://www.particle.kth.se/~lindsey/JavaCourse/Book/courseMap.html - Introduction
to Java + Technical Applications
 http://www.vogella.de - Java, EclipseIde, JavaUnit tutorials
 http://www.mkyong.com - Java,Hibernate, SpringFramework tutorials, etc.
 http://www.javacodegeeks.com - Java Programming, LearnJava Online
 http://math.hws.edu/javanotes/ - Introduction to Programming Using Java (5th
Edition)
 http://www.javamex.com - Java tutorials
 http://www.java67.blogspot.com - Java Programming Tutorials and Examples
 http://www.kodejava.org - Learn Java Programming by Examples
 http://www.coreservlets.com - J2EE tutorials and trainings
 http://www.javafaq.nu - Programming articles and tips
 http://www.javacoffeebreak.com - articles and tutorials
 http://www.javaexperience.com - Java, Eclipse, Android, HTML tutorials
 http://tutorials.jenkov.com - Java Tutorials (and also others)
 http://javarevisited.blogspot.com - Java tutorials and interview questions
 http://www.javasprint.com/java_training_tutorial_blog/object_oriented_programmin
g_oops.htm
Annexure-58
7. APPENDICES
JAVA BUZZ WORD
1. Simple: java inherits most of features from C++ and also inherits its object oriented concept. Java
eliminates most of the confusing concept from C++.
2. Robust: java provides facility to the user to develop the program under multiple environments
means to say that you can execute java application on different architecture machine. Since java
application is a strictly typed language so there is very less chance to create programming error.
3. Object oriented: java is completely object oriented programming language. In the oops concept it
provides facility to create class, object, inheritance, polymorphism, package, interface etc.
4. Architectural neutral: java program provides the facility to compile and run your program any
where anytime because java has its own environment to execute the program.
5. Dynamic: in the dynamic concept java create an object at run time of program.
Compiler: compiler is a system software .it is used to check system error of the program. If any syntax
error founds, it reports to the user about the error. It checks all the program at a time to find the syntax
error. Compiler displays all the errors of program at a time. “Just in time” is the compiler name of java. It
is called “JIT” compiler.
Interpreter: It is also system software which checks the program line by line. It is basically used to check
runtime error.
JVM (java virtual machine) in an interpreter of your byte code and it converts the byte code into machine
understandable form.
Byte code: byte code is the set of instructions which will be understood by only java. Byte code is not
machine code.
Points:
When you compile the program java program, java follows the following steps as per described below:
1. Using the JIT compiler the class converts into java understandable form ie byte code.
2. After successfully compilation of the program, the byte code should be convert into machine
understandable form.
3. We use java virtual machine to covert byte code into machine understandable form.
4. Javac command uses file name which has an extension .java to convert into byte code.
5. Java command uses class file to convert byte code into executable form to run the program.
6. javac command uses JIT compiler and java command uses JVM (java virtual machine )
interpreter.
7. You have not to use extension of class file with java command.
Annexure-59
Tokens: - It defines about the operator, variable, constants, identifier, keyword, literals and comment.
Identifiers: - The java compiler wants to know the name of items in the program. As the name suggests
identifier identify the name of variables, methods and elements of classes. Identifiers are either reserved
word or variable name, constant name, method and classes.
Reserved words are name which is provided by the Java .If the programmer uses the reserve word for
own purpose then java will generate the error because reserve words have special task that is defined by
the java. Identifier can be begins with alphabet character, underscore (_) or dollar sign ($);
Keywords: - keywords are reserve word which is given by the java and it has special task which will be
performed by the java only means to say that you can not use keywords in the program for other
purpose.It is a special tokens and they are always represent in lowercase.Keywords are used in flow
controls, identifiers, class and expression.
Data declaration keywords
Boolean,byte,char,do,float,int, long,short
Loop key words
Break,continue,do,for,while.
Conditional keyword
Case ,if,else,switch.
Exception keyword
Catch,finally,through,try.
Structure keyword
Abstract class,default extends implements,instance of,interface.
Modify and access keywords.
Final,nativem new,private,protected,public,static,synchronized,threadsafe,void.
Miscellaneous keyword
False,import,null,package,return,super,true.
CLASS AND OBJECT
The fundamental idea behind the object oriented language is to combine into a single unit both
data(member data) and the method (member method) where member method operates on the data such
unit is called an object.
Annexure-60
An object provides the only way to access the member of class. The data is hidden and is
save from accidental alteration. Data and method are encapsulated into a single entity. Data encapsulation
and data hiding are the key terms used for describing an object oriented programming language.
OOPS is a software development technique that has gained popularity because of the
potential gains in program productivity over conventional software development methodology. To
support the principle of object oriented programming, all oops language must support following three
common features.
 Encapsulation
 Polymorphism
 Inheritance
Encapsulation: Encapsulation is a mechanism that binds together code and the data; it manipulates and
keeps both safe from outside interference and misuse.For an object oriented language code and data
maybe combines in such a way that a self contained black box is created when code and data are linked
together in the fashion to create an object.In other words an object is the device that supports
encapsulation.
Polymorphism:
All object oriented programming language support polymorphism, i.e one interface multiple method. In
simple term polymorphism is an attribute that has one interface control access to a general class of action.
Inheritance:
Inheritance is a process by which object can acquire the properties of another object. This is important
because it supports the concept of classification.
Other Features of Java
THIS TEXTBOOK does not claim to cover all the features of the Java programming language, or even to
give comprehensive coverage to the features that it does cover. The primary purpose of the book is to
explain programming, not Java. Nevertheless, it can serve as a good starting point for learning Java. This
appendix briefly surveys some of the features of Java that were not covered in the book. It will acquaint
you with some of the terms you might hear when people discuss Java, and it will point you towards some
of the things you might want to learn more about as you continue your study of Java programming.
JAR Files and Resources
Each programming example in this book uses just a few class files, at most. A large Java project might
use hundreds. People might hesitate to welcome a program that comes in hundreds of small files onto
their hard drives. Fortunately, Java makes it possible to combine a collection of files into a single Java
archive file, or "JAR" file. If all the class files needed to run a Java program are placed into a JAR file,
then only that one file will be needed. Many Java programming environments can be configured to make
Annexure-61
JAR files when they compile a program. The command-line programming environment, in which the
"javac" command is used for compilation, also has a "jar" command for making JAR files. For example,
the following command makes a JAR file named "myprog.jar" and copies all the class files in the current
directory into that JAR file:
jar cfv myprog.jar *.class
The "cfv" means "Create a jar archive as a File and be Verbose about telling me what you are doing." The
"*.class" matches all files that end with ".class". The contents of a JAR file are compressed, by default, so
the JAR file actually takes up less space than the files it contains.
A JAR file can be used for an applet. It just has to be specified in the <applet> tag:
<applet archive="myprog.jar" code="MyApplet.class"
width=200 height=100>
</applet>
A JAR file can be used for a stand-alone application by specifying it as part of the "classpath":
java -classpath myprog.jar MyApplication
In addition to class files, a JAR file can contain images, sounds, and other resource files needed by a
program. It's fairly easy to load such resources into a program. An image resource, for example can be
loaded in almost the same way as an independent image file, using the getImage() method of an applet or
a Toolkit. The location of the resource just has to be specified differently. For example, if an applet class
named MyApplet is loaded from a JAR file, and that file contains an image file named "icon.gif", then the
following command will load the image:
Image icon = getImage( MyApplet.class.getResource("icon.gif") );
The getResource() method is used to locate a resource. It returns a URL that specifies the location of the
resource. (The getResource() method in this example is an instance method in an object,MyApplet.class,
that represents the class to which the applet belongs. Objects that represent classes are another feature of
Java that I haven't mentioned before. The idea is that the system will look for the image file in the same
places it looked for the class and will find it in the same JAR file.)
dashed lines, filling a shape with a texture (this is, with a repeated image), filling a shape with a gradient,
and drawing translucent objects that will blend with their background.
In the Graphics class, coordinates are specified as integers and are based on pixels. The shapes that are
used with Graphics2D use real numbers for coordinates, and they are not necessarily bound to pixels. In
fact, you can change the coordinate system and use any coordinates that are convenient to your
application. In computer graphics terms, you can apply a "transformation" to the coordinate system. The
transformation can be any combination of translation, scaling, and rotation.
Annexure-62
Javadoc
A program that is well-documented is much more valuable than the same program without the
documentation. Java comes with a tool called javadoc that can make it easier to produce the
documentation is a readable and organized format. Javadoc is especially useful for documenting classes
and packages of classes that are meant to be used by other programmers. A programmer who wants to use
pre-written classes shouldn't need to search through the source code to find out how to use them. If the
documentation in the source code is in the correct format, javadoc can separate out the documentation and
make it into a set of web pages. The web pages are automatically formatted and linked into an easily
browseable Web site. Sun Microsystem's on-line documentation for the standard Java API was produced
using javadoc.
Javadoc is actually very easy to use. In a source code file, javadoc documentation looks like a regular
multi-line comment, except that it begins with "/**" instead of with "/*". Each such comment is
associated with some class, member variable, or method. The documentation for each item must be
placed in a comment that precedes the item. (This is how javadoc knows which item the comment is for.)
The comments can include certain special notations. For example, the notation "@return" is used to begin
the description of the return value of a function. And "@param <parameter-name>" marks the beginning
of the description of a parameter of a method. For example, here is a short utility method with a javadoc
Sun's Java Software Development Kit includes javadoc as a program that can be used on the command
line. This program takes one or more Java source code files, extracts the javadoc comments from them,
and prepares Web pages containing the documentation. Integrated development environments for Java
typically include a menu command for generating javadoc documentation.
Internationalization
If the World-Wide Web -- and information technology in general -- is to be a truly global phenomenon, it
shouldn't be tied to one country's language or customs. An internationalized computer program or applet
is one that can adapt itself to the locale where it is being run. A locale in Java is specified as a language
together with a country. These, in turn, are designated by standard two-letter codes, such as "en" for
English, "es" for Spanish, "US" for the United States, "ES" for Spain, and "MX" for Mexico. The locale
determines not only the language that is used but also details such as the output format of dates and
numbers. A Java virtual machine has a default locale built into it. If it's running in the United States, the
default locale is probably en_US. In Mexico, it would be es_MX.
The classes java.text.DateFormat and java.text.NumberFormat make it possible to display dates and
numbers in a form that is appropriate for the default locale (or some other locale if you want). For
example, the commands
DateFormat df = DateFormat.getDateTimeInstance();
String now = df.format( new Date() );
System.out.println(now);
print the current date and time (as returned by "new Date()"), formatted according the conventions of the
default locale. The output will look different in different countries.
Any text that is displayed to the user by a program -- labels on buttons, commands in menus, messages in
dialog boxes, and so on -- should be in the language that is appropriate for the locale where the program is
being run. Java makes it possible to put all the strings used by a program into a resource bundle and to use
Annexure-63
JavaBeans
A JavaBean is a component that can be combined with other components to make a complete program.
JavaBeans can be assembled into a program using a visual development environment, which allows a
programmer to add beans to a program, configure them, and set up interactions between them by dragging
icons, using menus, clicking buttons, and so on. Sophisticated programs can be assembled with little or no
programming. If you use an integrated development environment for Java programming, there's a good
chance that it has some support for visual programming.
JavaBeans are objects, not classes. Many JavaBeans are GUI components, but this is not a requirement
and a JavaBean might have no visual representation at all. Objects belonging to Java's standard GUI
component classes are JavaBeans and can be used in visual development environments.
JavaBeans can be defined by any class that follows a few rules. The class should have a default
constructor (one with no parameters). This allows a visual development environment to create a new bean
in a default state without providing any information to the constructor. To be useful, a bean should have
one or more properties, which are just values associated with the bean. Beans are configured by setting
the values of their properties. A visual development environment recognizes a property by the fact that
there are "get" and "set" methods for the bean. For example, if a bean has methods:
String getTitle();
void setTitle(String title);
then the bean has a property named "Title" of type String. You don't have to do anything else to define a
property; just provide the "get" and "set" methods. Beans can, optionally, usePropertyChangeEvents to
communicate. When a property of a bean is changed, it can emit an event. Other beans can register to
listen for these events, so that they can respond when the property changes. Of course, beans might also
generate other types of events, such as ActionEvents. A visual development environment should make it
possible to route these events to other beans or possibly to write some code to respond to the events.
JavaBeans exist to enable the production of reusable objects and to promote the development of an
"object economy" in which such objects are widely distributed and readily available.
Distributed Computing
Java is a language that was designed from the beginning to work in a networked computing environment.
Applets can be downloaded over a network, and basic network communication is supported by
the java.net package. But this is just the beginning. Java has built-in support for distributed computing. In
distributed computing, a program uses more than one computer. Different parts of the program run on
different computers and communicate over a network. The program has access to much larger computing
resources than are available on any one computer.
In Java, this is made possible by allowing a method that is running on one computer to call a method in an
object that is on another computer. The parameters for the method are transmitted across the network, and
the return value is sent back after the method has completed.
Annexure-64
Java has support for two types of distributed object computing. RMI (Remote Method Invocation) is used
for communication between two Java objects running on different computers. Java also
supports CORBA (Common Object Request Broker Architecture), a standard that allows communication
between objects written in different programming languages.
Servlets and JSP
Java is most visible on the client side of the Web, in the form of applets running in Web browsers.
However, Java is also very useful on the server side. A servlet is a Java program that is meant to be
executed by a Web server. This is similar to the way that applets are executed by a Web browser. If a
Web server is capable of executing servlets, then its capabilities can be extended indefinitely by writing
new servlets for it. Java is certainly not the only programming language used in this way, but it is an
attractive choice because of its security, network-awareness, and large collection of APIs.
Servlets are often used to generate Web pages. Many Web pages are static -- they are simple, unchanging
HTML files. When a server receives a request for such a page from a Web browser, all it has to do is send
the HTML file to the browser. However, there are also dynamic Web pages. A dynamic web page is
generated on demand each time the page is requested. The content of the page can be different each time
it is requested. This can happen, for example, because the content depends on data that was typed into a
Web form by the user or on information from a database. To serve up a dynamic page, the server has to
run a program. Servlets can be used in this way. The servlet decides what should be on the page and
creates the HTML code for displaying that content. The server then sends this HTML code to the Web
browser that requested the page.
More Features
Java has APIs (Application Programming Interfaces) for many more features, and the list seems to be
growing all the time. It's unlikely that any one person can master them all. What can be mastered are the
principles and techniques on which they are all built. After that, it's just a matter of poking around in the
documentation.... Here are a few more of the things you might run into:
 Multimedia. The packages java.awt.image and javax.swing.sound contain classes for
manipulating images and sounds.
 Drag-and-Drop. Drag-and-drop refers to dragging an item that is to be processed and dropping it
onto the item that you want to process it. An example is dragging a file and dropping it into the
trash. Drag-and-Drop support in Java is provided in the package java.awt.dnd.
 Accessibility. Not everyone can see a computer screen, hear sounds, use a mouse, and type on a
keyboard. A typical user interface is not accessible to these people. Java has an infrastructure that
can be used to make programs accessible. It is defined in the package javax.accessibility.
 Security. The package java.security can be used for secure, encrypted network communication.
 Database. JDBC (Java DataBase Connectivity) refers to set of classes that is used to connect to
databases and retrieve information from them. The basic classes are defined in the
packagejava.sql (but to use them, you also need a "driver" for the specific type of database that
you want to connect to).
 XML. XML is a data representation format that is similar to HTML. Like HTML, it can be used
to describe documents. But it is also used to represent arbitrary structured data. With the release of
Java Version 1.4, XML is a standard part of Java. Currently, XML is probably generating more
excitement and hype than any other single computing technology.

Más contenido relacionado

La actualidad más candente

Feedback System in PHP
Feedback System in PHPFeedback System in PHP
Feedback System in PHPPrince Kumar
 
Online Exam System_Industrial Report
Online Exam System_Industrial ReportOnline Exam System_Industrial Report
Online Exam System_Industrial ReportManmeet Sinha
 
Internship Project Report
Internship Project ReportInternship Project Report
Internship Project ReportRishabh Shukla
 
Assesmment System - project report
Assesmment System - project reportAssesmment System - project report
Assesmment System - project reportArpit Pandya
 
Software requirement specification for online examination system
Software requirement specification for online examination systemSoftware requirement specification for online examination system
Software requirement specification for online examination systemkarthik venkatesh
 
Final sds of academic a webpage based android application
Final sds of academic a webpage based android applicationFinal sds of academic a webpage based android application
Final sds of academic a webpage based android applicationpreeta sinha
 
CS2810Team6GroupReport
CS2810Team6GroupReportCS2810Team6GroupReport
CS2810Team6GroupReportDan Coles
 
Online quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlitesOnline quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlitesDanish Anwar
 
Rethinking student feedback
Rethinking student feedbackRethinking student feedback
Rethinking student feedbackMalcolm Murray
 
WEB APPLICATION USING PHP AND MYSQL
WEB APPLICATION USING PHP AND MYSQLWEB APPLICATION USING PHP AND MYSQL
WEB APPLICATION USING PHP AND MYSQLAakash Khandelwal
 
Major File On web Development
Major File On web Development Major File On web Development
Major File On web Development Love Kothari
 
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...ijseajournal
 

La actualidad más candente (20)

DebarghyaNag_Resume
DebarghyaNag_ResumeDebarghyaNag_Resume
DebarghyaNag_Resume
 
Feedback System in PHP
Feedback System in PHPFeedback System in PHP
Feedback System in PHP
 
Online Exam System_Industrial Report
Online Exam System_Industrial ReportOnline Exam System_Industrial Report
Online Exam System_Industrial Report
 
SurajResume
SurajResumeSurajResume
SurajResume
 
Internship Project Report
Internship Project ReportInternship Project Report
Internship Project Report
 
Online cet
Online cetOnline cet
Online cet
 
Assesmment System - project report
Assesmment System - project reportAssesmment System - project report
Assesmment System - project report
 
Software requirement specification for online examination system
Software requirement specification for online examination systemSoftware requirement specification for online examination system
Software requirement specification for online examination system
 
Final sds of academic a webpage based android application
Final sds of academic a webpage based android applicationFinal sds of academic a webpage based android application
Final sds of academic a webpage based android application
 
Muthukumaar_Resume
Muthukumaar_ResumeMuthukumaar_Resume
Muthukumaar_Resume
 
Resume_Pratheeshkumar
Resume_PratheeshkumarResume_Pratheeshkumar
Resume_Pratheeshkumar
 
CS2810Team6GroupReport
CS2810Team6GroupReportCS2810Team6GroupReport
CS2810Team6GroupReport
 
Online quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlitesOnline quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlites
 
Naveen Gudapati Resume
Naveen Gudapati ResumeNaveen Gudapati Resume
Naveen Gudapati Resume
 
Goal setting
Goal settingGoal setting
Goal setting
 
Rethinking student feedback
Rethinking student feedbackRethinking student feedback
Rethinking student feedback
 
WEB APPLICATION USING PHP AND MYSQL
WEB APPLICATION USING PHP AND MYSQLWEB APPLICATION USING PHP AND MYSQL
WEB APPLICATION USING PHP AND MYSQL
 
Major File On web Development
Major File On web Development Major File On web Development
Major File On web Development
 
Prakasha_Resume
Prakasha_ResumePrakasha_Resume
Prakasha_Resume
 
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
 

Similar a TECHNICAL RESOURCE PORTAL_JUHI

Online examination management system..pdf
Online examination management system..pdfOnline examination management system..pdf
Online examination management system..pdfKamal Acharya
 
quiz game project report.pdf
quiz game project report.pdfquiz game project report.pdf
quiz game project report.pdfzccindia
 
Online Quiz System Project Report
Online Quiz System Project Report Online Quiz System Project Report
Online Quiz System Project Report Kishan Maurya
 
Synopsis on Online examination system using php
Synopsis on Online examination system using phpSynopsis on Online examination system using php
Synopsis on Online examination system using phpArchana Jha
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGSangeetha Rangarajan
 
College Management System project
College Management System projectCollege Management System project
College Management System projectManish Kushwaha
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination systemlunarrain
 
The quality & richness of E-Education
The quality & richness of E-EducationThe quality & richness of E-Education
The quality & richness of E-EducationSuraj Mehta
 
SCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.doc
SCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.docSCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.doc
SCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.docbosed0737
 
14.project online eamination system
14.project online eamination system14.project online eamination system
14.project online eamination systemjbpatel7290
 
Priyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh
 
Synopsis of online Attendance System
Synopsis of online Attendance SystemSynopsis of online Attendance System
Synopsis of online Attendance SystemShyam Sundar Pandey
 
Slambook report
Slambook reportSlambook report
Slambook reportritu garg
 

Similar a TECHNICAL RESOURCE PORTAL_JUHI (20)

Sample report
Sample reportSample report
Sample report
 
Online examination management system..pdf
Online examination management system..pdfOnline examination management system..pdf
Online examination management system..pdf
 
Bright
BrightBright
Bright
 
Bright copy
Bright   copyBright   copy
Bright copy
 
Ecommerce srs
Ecommerce  srsEcommerce  srs
Ecommerce srs
 
quiz game project report.pdf
quiz game project report.pdfquiz game project report.pdf
quiz game project report.pdf
 
Online Quiz System Project Report
Online Quiz System Project Report Online Quiz System Project Report
Online Quiz System Project Report
 
Synopsis on Online examination system using php
Synopsis on Online examination system using phpSynopsis on Online examination system using php
Synopsis on Online examination system using php
 
student supervision system
student supervision systemstudent supervision system
student supervision system
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
 
College Management System project
College Management System projectCollege Management System project
College Management System project
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination system
 
The quality & richness of E-Education
The quality & richness of E-EducationThe quality & richness of E-Education
The quality & richness of E-Education
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
SCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.doc
SCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.docSCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.doc
SCHOOL_MANAGEMENT_SYSTEM_This_Report_Pre.doc
 
14.project online eamination system
14.project online eamination system14.project online eamination system
14.project online eamination system
 
Priyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh_testing_resume
Priyanka Singh_testing_resume
 
Synopsis of online Attendance System
Synopsis of online Attendance SystemSynopsis of online Attendance System
Synopsis of online Attendance System
 
projectreport.pdf
projectreport.pdfprojectreport.pdf
projectreport.pdf
 
Slambook report
Slambook reportSlambook report
Slambook report
 

TECHNICAL RESOURCE PORTAL_JUHI

  • 1. Annexure-1 TECHNICAL RESOURCE PORTAL A Project Report Submitted by: JUHI(1288226) in partial fulfillment for the award of the degree of BACHELOR OF TECHONOLOGY IN COMPUTER SCIENCE AND ENGINEERING at SHAHEED UDHAM SINGH COLLEGE OF ENGINEERING AND TECHNOLOGY TANGORI (MOHALI), PUNJAB (INDIA) - 140306 AFFILIATED TO PUNJAB TECHNICAL UNIVERSITY, JALANDHAR, PUNJAB (INDIA) May 2015
  • 2. Annexure-2 DECLARATION I hereby certify that Juhi, Roll no. 1288226 of Shaheed Udham Singh Engineering College, Tangori has undergone six month industrial training from 15 January 2015 to 15 June 2014 at Appin Technology, Chandigarh to fulfill the requirements for the award of degree of B.Tech(CSE). She works on the Core & Advance Java project named “Technical Resource Portal” during the training under the supervision working. We wish her the great success in the future. Signature of the Student Place: Mohali Juhi Date:
  • 3. Annexure-3 CERTIFICATE This is to certify that the project titled “Technical Resource portal” is the bona fide work carried out by JUHI, a student of B Tech (CSE) of Shaheed Udham Singh College of Engineering and Technology, Tangori (Mohali) affiliated to Punjab Technical University, Jalandhar, Punjab(India) during the academic year 2013-14, in partial fulfillment of the requirements for the award of the degree of Bachelor of Technology (Computer Science and Engineering ) Signature of the Guide Place: Date:
  • 4. Annexure-4 ABSTRACT Project work is major part of course. It is a period in which we are introduced to the actual process of making a project successful. In other words, we can say that project lab course training is provided for the familiarization with the environment in which the development of an actual project is done. In the department of computer engineering, we introduced the process of software engineering, which is we owed and includes not only the process but actual process of software development. During the period of B.Tech in computer engineering, this semester, we have studied all the topics, which are required for the development of software or some other design. But this is the time when we put our knowledge to actual work and learn how to combine all the aspects of software engineering. The objectives of doing project work is to raise the level of performance in one or more of its aspects and this may be achieved by careful learning of the process of software engineering. Furthermore motivation for new learning of group relation, coordination and cooperation provides an overview of the total development process. Project work is an important part of theoretical studies. It covers all that remains incurred in the classroom i.e. without it out studies remains ineffective and incomplete. Also it explores a student to own invaluable creasier of experience and offer an exposure to real management in an organization.
  • 5. Annexure-5 ACKNOWLEDGEMENT The satisfaction that accompanies that the successful completion of any task would be incomplete without the mention of people whose ceaseless cooperation made it possible, whose constant guidance and encouragement crown all efforts with success. I am grateful to my project guide Miss. Rajandeep Kaur for the guidance, inspiration and constructive suggestions that helpful me in the preparation of this project. He has helped me at each moment whenever we were in need of him. We are also very thankful to our department for inspiring us for this project. We signs of gratitude go out to our family and our friends, who had encouraged & inspired us with their blessings and consistent coordination. Our acknowledgements would not be complete without expressing our personal belief in and gratitude towards God, our creator. None of this would have been possible without His blessings. Juhi
  • 6. Annexure-6 Table of Contents 1 INTRODUCTION 1 Problem Defination Objective Hardware Specification Software Specification 1.1 1.2 1.3 1.4 2 LITERATURE SURVEY 2 Existing System Proposed System Feasibility Study . 2.1 2.2 2.3 3 SYSTEM ANALYSIS & DESIGN 3 Requirement Specification Users of the System Services or Modules Content Technology Used DFDs and Types ER-Diagram Coding Process Testing Process 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 4 RESULTS/OUTPUTS 4 SNAPSHOTS Implementation Maintenance 4.1 4.2 4.3 5 CONCLUSIONS 5 Conclusion Scope 5.1 5.2 6 REFERENCES 6 Bibliography 6.1 7 APPENDICES 7 JAVA BUZZ WORD
  • 7. Annexure-7 INTRODUCTION 1.1Problem Definition Very often we need to work on a file which is available on our local system. But what if we are geographically dispersed and unable to take our system with all the docs along. In that case we need to have all our required docs on a drive which is accessible on web. To overcome this problem “Technical Resource Portal” is being developed. Technical Resource Portal” will provide its users a platform as like Net bean IDE where Users can create their programs online. In this project we are providing the platform where user can write, compile, debug, run, save, upload, and download, and open the project online. We do not require any memory and platform of system. These all above feature of the project makes it unique. Apart from managing the programs on web drive users will be able to share their files with other users. All the operations such as upload/download file, add/remove folders etc. will be done by users according to the rights assigned to them. Apart from this portal provides another services like prepare online, Tutor on demand, Technical Discussion Forum. It will be enterprise application with web and mobile interfaces, so it will be distributed and data centric. It is designed on the basis of enterprise application architecture. In this application, My SQL database will be used to store data. It will be developed using Java, JEE technologies.
  • 8. Annexure-8 1.2Objective Online environment provided by “Technical Resource Portal” support its users to create their own program, get prepare for online mock test and get online certification, and also get help from tutors and discuss their queries in a technical discussion forum Online Web IDE allows a user to save and run program on server machine. User able to rename a folder and also he will be able to create new folders on the drive. Users able to upload and download a file from the server machine Apart from managing the files and folders on web drive users able to share their files with other users. All the operations such as upload/download file, add/remove folders etc. will be done by users according to the rights assigned to them. It enterprise application with web and mobile interfaces, so it is distributed and data centric. It is designed on the basis of enterprise application architecture. In this application, My SQL database is used to store data. It is developed using Java, JEE technologies.  Providing user friendly interface.  Easy access of data.  Easy maintenance.  Preparation by online mock test.  Providing better performance.  Discuss their queries in Technical Discussion forum.  Source of Earning.
  • 9. Annexure-9 1.3 Software Specification 1. JDK 1.7  Net Beans 7.4 2. Database  My SQL Database Server 5.6.14 3. Reports  I Report plug-in 5.1.0 4. Web Server  Apache Tomcat 7.0 5. Application Server  Glassfish v4.0 6. Testing Tool  J Unit 4.8.2 7. Deployment Tool  Ant 1.9.1 8. Operating System  Windows 7 / Windows 8/Windows 8.1/Window xp 1.4 Hardware Specification  Intel P4 processor with minimum 2.0 GHz Speed or any equivalent processor.  RAM: Minimum 512MB.  Hard Disk: Minimum 30GB
  • 10. Annexure-10 2. LITERATURE SURVEY 2.1Existing System In the Current systems programs are provided to use but for that we have to require platform first installed in our computer like to run online programs. Current systems required memory space to install the software and run application of that software. The current system is very time consuming because its first have to install only then can we use. The current system is required extra memory space to work; this is more difficult for those systems having limited memory. The current systems are not fully on line. Limitations of Existing System 1. The current system is very time consuming. 2. The current system is required extra memory space to work this is more difficult for those systems having limited memory. 3. The current system required insulation first in the computer to use the application. 4. The current systems are not fully on line.
  • 11. Annexure-11 2.2ProposedSystem 1. Login: Users of the system would be required to login into the system. After Authentication user would be able to login into the system and use the functionality for which he would be authorized. 2. Maintain User Account: Users of the system would be able to edit/update their account details. 3. Download/Upload program: Using this user will be able to upload and download program from server. All the functionality to manage uploading and downloading program will be achieved by this Online Web IDE. 4. Create/Open Program: Users of the system will be able to create new program and projects. Users can also be able to open the exiting program and project from their own login. All the functionality to manage new program and open program will be achieved by this Online Web IDE. 5. Save/Delete Program: Users of the system will be able to save and delete program. All the functionality to manage save and delete program will be achieved by this Online Web IDE. 6. Compile/Run Program: The platforms are also provided which is required to compile and run. All the functionality to manage compile and run program will be achieved by this Online Web IDE. 7. Help: Users can also take help regarding any code and option.
  • 12. Annexure-12 2.3Feasibility Study In feasibility study we analyze our proposed solution for being feasible or not. The term “feasibility study” is used as a convenient description for the output for the work done; users of this toolkit should not apply preconceived notions of what a feasibility study consists of. Stated as simply as possible, the work done here must show that the project:  is in accordance with predetermined needs;  is the most suitable technical solution to the needs;  can be implemented within any capacity constraints of the Institution which operates; A feasibility study is the test of a system proposal according to the workability impact on organization, ability to meet user needs and effective use of resources. The objective of the feasibility study is not to solve the problems but to acquire the sense of scope. During the study, the problem definition is crystallized and the aspects the problem to be included in the system is determined. After the initial investigation of the system that helped to have the depth study of existing system, understanding its strengths and weaknesses and the requirements for the new proposed system. Under this we take into consideration three types of feasibility studies.  Behavioral Feasibility  Technical Feasibility  Economic Feasibility  ECONOMICAL FEASIBILITY:- Economic feasibility is the most frequently used method for evaluating the effectiveness of candidate system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with the costs. If benefits outweigh the costs, then the decision is made to design and implement the system. The project is economically feasible as the only cost involved is having a computer with the minimum requirements mentioned earlier. For the users to access the application, the only cost involved will be in getting access to the Internet. Our project “Online Web IDE” is economical feasible. In this project we use the java language and for data storage we use the My SQL. it is economical feasible because Java is open source means license free so there is no need to buy Java software externally. The data storage we do not need to buy the MY SQL, because it is also free.
  • 13. Annexure-13  TECHNICAL FEASIBILITY: Technical feasibility centers on the existing computer system. (Hardware/Software) and to what extent it can support the proposed addition also the organization already has sufficient high end machines to serve the processing requirements of the proposed system. The project is technically feasible as the technology involved in the project is easily available. To deploy the application, the only technical aspects needed are mentioned below: Operating Environment any Operating system Platform java Database SQL management For Users: Internet Browser & Internet Connection Our project Online Web IDE is technical feasible because in this project to manage programs and project on web server and these can access on any system from drive, Where users can manage programs and project same as local drive. Different Web Drive Plans provided to users. All users are managed by admin or employee. 1. OPERATINAL FEASIBILITY:- Operational feasibility is evaluation is to determine whether system is operationally acceptable during this study, it determine whether the system will operate in the way that user wants or not. Our project is also operational feasible because in this project we provide the graphical user interface (GUI) which is easy to understand & operate. It also provides the user friendly interface. The user will easily use the system .In this project we use the buttons, text box, images which is easily understandable for end user. The system will be used if it is developed well skill then be resistance for Users that undetermined.  No major training and new skills required as it is based on DBMS model.  It will help in the time saving and fast processing and applications.  Improved information, better management and collection of the reports.
  • 14. Annexure-14 System Design Systems design is the process or art of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. One could see it as the application of systems theory to product development. There is some overlap with the disciplines of systems analysis, systems architecture and systems engineering. 1. The External Design:- External design consists of conceiving, planning out and specifying the externally observable characteristics of the software product. These characteristics include user displays or user interface forms and the report formats, external data sources and the functional characteristics, performance requirements etc. External design begins during the analysis phase and continues into the design phase. 2. Physical design:- The physical design relates to the actual input and output processes of the system. This is laid down in terms of how data is input into a system, how it is verified/ authenticated, how it is processed, and how it is displayed as output. Physical design, in this context, does not refer to the tangible physical design of an information system. To use an analogy, a personal computer's physical design involves input via a keyboard, processing within the CPU, and output via a monitor, printer, etc. It would not concern the actual layout of the tangible hardware, which for a PC would be a monitor, CPU, motherboard, hard drive, modems, video/graphics cards, USB slots, etc. 3. Logical design:- The logical design of a system pertains to an abstract representation of the data flows, inputs and outputs of the system. This is often conducted via modeling, which involves a simplistic (and sometimes graphical) representation of an actual system. The most creative & challenging phase of the system life cycles System design. It involves the conceiving, planning out & specifying the externally observable characteristics of the software product. It is the most time consuming phase & includes user displays report format external data sources & functional characteristics. The term design describes the final system & the process by which it is develop. System design is the process of the problem solving & planning for software solution. The first step is to determine how the output is to be produced& in what format. Samples of the output are also presented & second step input data & database have to be design to meet the requirement of the purposed output.
  • 15. Annexure-15 The actual description of the problem, how the job will be solved, what is the procedure for solving the problem are main issues. A procedure can be explained with flow charts, dataflow diagram more easily. Modules Various modules of the Online Web IDE would be :  Administration: Admin module is the central module of the system. This module will allow admin users to configure the system with required information like roles of users, their access rights. This module will be used by admin to manage all the users of Online Web IDE.  User Manager : Two types of users :- 1. Guest User: These users can only visit the site. 2. Registered: These users can use all the features of the project .
  • 16. Annexure-16 3.SYSTEM ANALYSIS & DESIGN 3.1Input Requirements of the System  Internet facility  Code  User  java language Output Requirements of the System  Proper output according to user requirement.  Online compiler, interpreter, debugger.  Online memory space for saving the code.  Download facility to keep record for further use in absence of network.  Upload the programs to continue programs and projects.
  • 17. Annexure-17 3.2 Users of the System The different users of the system are:  Administrator: Administrator is the super user of the application. Administrator will manage different users of the application and their access rights. Privileges allocation to users will also be managed by the administrator.  Registered User: These are the registered users of the application. Each user will have a space on the server where they will be able to upload files and also they will be able to download files from the allocated space. Users will also be able to share files and folders. They will be able to perform the tasks according to the rights assigned by the administrator  Guest User: These are those users which are not registered on application. These users can view the project only can’t access the web IDE page. To use the Web IDE page user has to first registration.
  • 18. Annexure-18 3.3 Services  Online Web IDE  Prepare Online  Tutor On Demand  Technical Discussion Forum On line Web IDE Online Web IDE will provide its users a platform as like Net bean IDE where Users can create their programs online. In this project we are providing the platform where user can write, compile, debug, run, save, upload, and download, and open the project online. We do not require any memory and platform of system. These all above feature of the project makes it unique. Apart from managing the programs on web drive users will be able to share their files with other users. All the operations such as upload/download file, add/remove folders etc. will be done by users according to the rights assigned to them. Online Web IDE allows a user to save and run program on server machine. User able to rename a folder and also he will be able to create new folders on the drive. Users able to upload and download a file from the server machine Apart from managing the files and folders on web drive users able to share their files with other users. All the operations such as upload/download file, add/remove folders etc. will be done by users according to the rights assigned to them. It enterprise application with web and mobile  Providing user friendly interface.  Easy access of data.  Easy maintenance.  Maintaining data consistency.  Providing better performance.  Increasing the efficiency through automation.  Adequate validation checks for data entry.
  • 19. Annexure-19 Prepare Online This is the second service of the project Technical Resource Portal. Any user can use this service after registering itself. With the help of this service any user can prepare for any language like java, html, css etc. The User can select the further subcategories like core java and advance java from java category. Apart from this user can select further topics from subcategories like oops, constructor, polymorphism from core java. After giving the online mock test user can get online certification too. This service also provides the source of earning because it has two type of mock test one is freeware and other is paid by which the user will pay the money for give test and get certificates also.  Providing user friendly interface.  Easy access of data.  Easy maintenance.  Preparation by online mock test.  Providing better performance.  Discuss their queries in Technical Discussion forum.  Source of Earning
  • 20. Annexure-20 Tutor on Demand Tutor on Demand is a module which will provide Online Tutoring. Online tutoring is the process of tutoring in an online, virtual environment or networked environment in which teachers and learners are interacting. Students can get tutoring service of any subject teacher any time. Students just need to pay online to tutor for lecture they want to avail through video chat, and then they can start their Interaction. It will be designed and developed based upon 3-tier architecture (i.e. MVC design pattern). In this web application can store the data in the database to store the data related to various students &tutors etc Since database will be on Server, so any number of users can work simultaneously.
  • 21. Annexure-21 Technical Discussion Forum Discussion forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are often longer than one line of text, and are at least temporarily archived. Also, depending on the access level of a user or the forum set-up, a posted message might need to be approved by a moderator before it becomes visible. It is designed and developed bases upon 3-tier architecture (i.e. MVC design pattern). In this web application can store the data in the database to store the data or Queries related to various students, various types of questions, their results etc since database will be on Server, so any number of users can work simultaneously and can share their data with each other. Present system is manual. The Project Metrics has to enter all the details of project, documents, and tasks. It also maintenance the team information and also efforts estimation. For this purpose the organization maintain the size of the document, source code and update the information about team member’s details manually. Which is much of time consuming process and more importantly it is error prone. Limitations of the Manual system  It is time consuming  It leads to error prone results  It consumes lot of manpower to better results  It lacks of data security  Retrieval of data takes lot of time  Percentage of accuracy is less  Reports take time to produce Hence Computerization of the existing system is proposed. The new system completely removes all manual burdens and provide efficient on the entry system. Characteristic of Proposed system To generate the quick reports To make accuracy and efficient calculations To provide proper information briefly To provide data security To provide huge maintenance of records Flexibility of transactions can be completed in time After understanding the existing system and understanding the need for developing a new system different people involved in the related activities have been consulted. The data needed for the study has been collected from company records. The computerization of this system would avoid the wrong interpretation and bad calculation of data .The system help the user to see any documents, source code, tasks, activities, team information with details at the click of a button. The record data is maintained and backed up such a way that data is not loss. The speed of the system could also increased.
  • 22. Annexure-22 3.4 Technologies to be used 1. Java: Java is Platform Independent, Secure, Object Oriented, Scalable, and Robust Programming Language. It consists of two parts:  JVM stands for Java Virtual Machine, which is run time environment to execute the java programs.  Java API (Application Programming Interface) that consists of inbuilt classes used in java programs. 2. JDBC  JDBC (Java Database Connectivity) is an API, which is used for the communication of java programs with different databases. 3. Java Mail API  The Java Mail API provides a platform-independent and protocol-independent framework to build mail and messaging applications. 4. Servlets  Servlets are basically a part of Java Platform, Enterprise Edition (Java EE) and is a technology that is used for extending the functionality of the servers that host application access via request- response programming model. 5. JSP  JSP (Java Server Pages) a technology of Java Platform, Enterprise Edition (Java EE) is used for server-side programming and with the help of JSP we can segregate the work of a web designer and a developer. 6. My SQL  SQL Management is used as database, used to store data. 7. Scripting Languages  CSS  JavaScript  AJAX
  • 23. Annexure-23 3.5 DFDs A data flow diagram, in the simple words, is a hierarchical graphical modal of a system that shows the different processing activities or functions that system performs and the data interchange in this function. In the DFD terminology, it is useful to consider each function as process that consumes some input data & produces some output data. The DFD (also known as the bubble chart) is a simple graphical formalism that can be used to represent a system in terms of the input data to the system, various processing carried out on this data & output data generated by the system. DFD is very simple formalism. It simple to understand & use. A is use very limited number of primitive symbols to represent the functions performed by a system & the data flow among these functions. Human mind is such that it can easily understand any hierarchical model of a system, because in a hierarchical model, starting with a very simple & abstract model of a system; different details of the system can be slowly introduced through different hierarchies. Primitive symbols Used For Constructing DFD’s  Function symbol:-  A function symbol is representing as circle. This symbol is called a PROCESS or a BUBBLE. Bubbles are annotated with the names of corresponding Functions. It represents a process that transforms incoming data flow into the outgoing data flow.  2.External entity Symbol:- An external entity such as a manager, customer etc. is represented by a rectangle. The external entities are essentially those physical entities external to the software, which interact with the system by inputting External Entity Process
  • 24. Annexure-24 data to the system or by consuming the data produced by the system. In other words, it defines the source or destination of the system data. 3.Data Flow Symbol:- An arrow identifies data flow in the motion. A arrow represent the data flow occurring between two processes, in which direction of the data flow arrow. 4. Data Store Symbol:- An open rectangle is a data store – data at rest, or a temporary repository of data.
  • 25. Annexure-25 DFD Types: 1. 0 Level DFD(Context Diagram): 2. 1 Level DFD: 2Level DFD:
  • 34. Annexure-34 3.7Coding The design is complete; most of the major decisions about the system have been made. After designing the new system, the whole system is required to be converted into computer understanding language. The goal of the coding phase is to translate the design of the system into code in a given programming language for a given design. The aim of this phase is to implement the design in the best possible manner. The coding phase affects both the testing & maintenance profoundly. A well written code reduce the testing & maintenance effort .since the testing &maintenance cost of software are much higher then coding cost .During the coding focus should be on developing programs that are easy to write The design must be translated into machine readable form. The code generation step performs this task if the design is performed in a detailed manner, code generation can be accomplished without Much complication, programming language are used for coding & the right programming language is chosen This is also called programming phase in which the programmer convert the program specification into computer instruction which be refer as programs. The program coordinates the data movements & controls the entire process in a system. It is generally felt that the program must be modular in nature. This helps in fast development, maintenance & future change, if required. This means program construction with procedural specification has finished and the coding for the program begins:  Once the design 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 optimal code. Following points were kept into consideration while coding: Coding Style: 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 labor of writing it again and again.
  • 35. Annexure-35 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 contents and purpose of variable.  The function names are also given meaningful name that can be easily understood by the user. Indentation: Judicious use of indentation can make the task of reading and understanding a program much simpler. Indentation is an essential part of a good program. If code id intended without thought it will seriously affect the readability of the program.  The higher –level statements like the definition of the variables, constants and the function are intended, with each nested block intended, starting their purpose in the code.  Blank line is also left between each function definition to make the code look neat.  Indentation for each source file starting the purpose of the file is also done. Three-Tier Web Application Development In web application development, weuse three-tier architecture refers to separating the application process into three specific layers. What the user sees via a web browser is called the presentation tier and is content served from a web server. The middle tier performs the business logic processing that occurs, for example, when a user submits a form. The back end consists of the data tier which handles the database processing and access to the data. We'll take a simplistic look at each of these. ~ Presentation Tier:The Presentation Tier or User Interface is the portion the user sees when they open a web page in the browser. It is as simple as you reading this article all the way to searching a catalog and purchasing a product using a shopping cart. It is what is presented to the user on the client side within their web browser. Languages used in this layer are HTML, CSS and JavaScript,JSP. ~ Business Logic or Application Tier:The Business Logic, Functional Process Logic, Business Rules (all pertaining to the same thing), are kept in a separate layer. In Java, this is where you define your classes and source code. This can be in the App_Code folder for your classes and methods. In this layer you typically define your classes, functions, sub procedures, properties, etc. ~ Data Access Tier: the Data Access layer is where you define your typed datasets and table adapters. It is where you define your queries or stored procedures. The business tier may then make use of this
  • 36. Annexure-36 functionality. In your classes, rather than defining ad hoc queries, you may use a JDBC to access the Data Access Layer. Benefits: When utilized properly, using a multi-tier architecture improves performance and scalability. If a web page needs an update or redesign, all of this may be handled by altering the CSS and HTML, without affecting the business or data logic. Any of the three tiers may be replaced or upgraded individually without affecting the other tiers. For instance, if you change the database on the back end, it wouldn't affect the presentation or business logic tiers, other than changing the database connection.
  • 37. Annexure-37 3.8Testing Project testing is an investigation conducted to determine the quality of the project and the services provided by the project. Testing is the process of analyzing a project to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the project. After complete development of the project it is mandatory to test the project. The main motive of the project testing is to identify whether project is able to meet user requirements or not. To know the better performance of “Benefit & Insurance Quote” we have to develop various Test Cases. Now, designing good test cases is a complex art. The complexity comes from three sources:  Test cases help us discover information. Different types of tests are more effective for different classes of information.  Test cases can be “good” in a variety of ways. No test case will be good in all of them.  Our tend to create test cases according to certain testing styles, such as domain testing or risk- based testing. Good domain tests are different from good risk-based tests. Functional Testing: Functional testing refers to activities that verify a specific action or function of the code. Functional (Integration) testing is usually first test phase that a test organization is responsible for during any given release. Requirements based Function Test is one approach to Function. Integration test - it is a powerful and effective testing approach, which will significantly reduce the number of undetected defects (faults) being released into production. The objective of function test is to measure the quality of the functional (business) components of the system". Tests verify that the system behaves correctly from the user / business perspective and functions according to the requirements, models, storyboards, or any other design paradigm used to specify the application. Black box testing: Black-box testing is a method of software testing that tests the functionality of an application as opposed to its internal structures or workings. Specific knowledge of the application's code/internal structure and programming knowledge in general is not required. Test cases are built around specifications and requirements, i.e., what the application is supposed to do. It uses external descriptions of the software, including specifications, requirements, and designs to derive test cases.
  • 38. Annexure-38 Structural Testing: Software structural testing is meant to challenge the decisions made by the program with test cases based on the structure and logic of the design and source code. Structural testing should be done at the unit, integration, and system levels of testing. Structural testing assures the program’s statements and decisions are fully exercised by code execution. White Box testing: White-box testing is a method of testing software that tests internal structures or workings of an application. In white-box testing an internal perspective of the system, as well as programming skills, are required and used to design test cases. While white-box testing can be applied at the unit, integration and system levels of the software testing process, it is usually done at the unit level. Levels of testing: There are 5 levels of testing in a software environment. They are as Follows: 1. Unit level Testing: A unit is defined as smallest part of an application. In this level of testing, each and every program will be tested in order to confirm whether the conditions, functions and loops etc. are working fine or not. Usually the white box testers or developers are the performers at this level. 2. Module level Testing: A module is defined as a group of related features to perform a major task. At this level the modules are sent to the testing department and the test engineers will be validating the functional part of the modules 3. Integration level Testing: At this level the developers will be developing the interfaces in order to integrate the tested modules. While Integrating the modules they will test whether the interfaces that connect the modules are functionally working or not. 4. System Testing: System testing is testing conducted on a complete, integrated system to evaluate the system’s compliance with it Specified requirements. System testing falls within the scope of Black Box testing, and as such, should require no knowledge of the inner Design of the code. System testing is actually done to the entire system. Against the Functional Requirement Specifications (FRS) and/or theSystem Requirement Specification (SRS). 5. Acceptance Testing: User Acceptance Testing (UAT) is performed by Users or on behalf of the users to ensure that the Software functions in accordance with the Business Requirement Document. UAT focuses on the Software functions in accordance with the Business Requirement Document. UAT focuses on the Software functions in accordance with the Business Requirement Document. UAT focuses on the users to ensure that the following aspects: a) All functional requirements are satisfied. b) All performance requirements are achieved.
  • 39. Annexure-39 c) Other requirements like transportability, compatibility, error Recovery etc. Are satisfied. d) Acceptance criteria specified by the user is met. 4 .RESULTS / OUTPUTS 4.1SNAPSHOTS 1.Home Page 2.Registration Page:
  • 42. Annexure-42 7.Select Sub Category and Further Topic 8.Instructions For Test
  • 44. Annexure-44 12.Third Service(Tutor On Demand)  Home Page
  • 52. Annexure-52 4.2 Introduction to Implementation System implementation is the stage when the user has thoroughly tested the system and approves all the features provided only after all the requirements are meet and the user is satisfied. The new system may be totally new; replacing an existing manual or automated system, or it may be a major modification to an existing system. In either case, proper implementation is essential to provide a reliable system to provide a reliable system to meet organizational requirements. Successful implementation is successful implementation may not guarantee improvement in the organization using the new system, but improper will prevent it. Implementation is the process of having system personal check out and put new equipment into use, train users, installs the new application and constructs any files of data needed to use it. This phase is less creative than system design. Depending on the size of the organization that will be involved in using the application and the risk involved in its use, system developers may choose to test the operation in only one area of the firm with only one or two persons. Sometimes, they will run both old and new system in parallel way to com-pare the results. In still other situations, system developers stop using the old system one day and start using the new one the next. The implementation of web based project has some extra step at the time of implementation. We need to configure the system according the requirement of the software. For the project we need to install and configure web logic server 9.1 database servers, and the deployment directory for the project. Implementation Tools The project was implemented using JEE-7 technology. The implementation work was carried out in window XP/2000 server platform. 1) Java Front End 2) SQL management Backend
  • 53. Annexure-53 System Implementation A crucial phase in the system development life cycle is the successful implementation of the new designed system implementation. It includes all those activities that take place to convert from the old system to the new system. The new system is here replacing an existing manual system. The proper implementation become necessary so that a reliable system based on the requirement of the organization can be provided. Successful implementation guarantees improvement in the organization working. Implementation Activities  Acquisition of hardware, software &services  Software development or modification  End user training  Implementation of the Project: Very often we need to work on a file which is available on our local system drive. But what if we are geographically dispersed and unable to take our system with all the docs along. In that case we need to have all our required docs on a drive which is accessible on web. To overcome this problem, Online Web IDE is being developed. Online Web IDE will provide its users with a web drive where users will be able to store manipulate and read their files in the same way as they do it on their local system. Online environment provided by Online Web IDE will support its users to browse their data saved on a drive on the server machine. Online Web IDE will allow a user to place or remove a file on the server Machine.User will be able to rename a folder and also he will be able to create new folders on the drive. Users will be able to upload and download a file from the server machine Apart from managing the files and folders on web drive users will be able to share their files with other users. All the operations such as upload/download file, add/remove folders etc. will be done by Users according to the rights assigned to them In the Project Online Web IDE implementation starts with the Administrator. Administrator will be the super user of the application who will configure system information such as Manage all employees, allusers, all plans. There will be the different interface for the Employee can manage all users, all web drive Plans where Users can manage all their files and folders same as they do it on their local machine, users can also share files with other users through emails.
  • 54. Annexure-54 4.3 Maintenance In order for a software system to remain useful in its environment it may be necessary to carry out a wide range of maintenance activities upon it. There are bugs to fix, enhancement to add and optimization to make, changes has to be done in older version to make it application for current use of current version to cater the need of future. Maintenance can be of three types: - 1) Corrective Maintenance Changes necessitated by actual errors (defects or residual "bugs") in a system are termed corrective maintenance. These defects manifest themselves when the system does not operate as it was designed or advertised to do. A defect or “bug” can result from design errors, logic errors and coding errors. Design errors occur when for example changes made to the software are incorrect, incomplete, wrongly communicated or the change request misunderstood. In the event of a system failure due to an error, actions are taken to restore operation of the software system. The approach here is to locate the original specifications in order to determine what the system was originally designed to do. 2) Adaptive Maintenance Any effort that is initiated as a result of changes in the environment in which a software system must operate is termed adaptive change. Adaptive change is a change driven by the need to accommodate modifications in the environment of the software system, without which the system would become increasingly less useful until it became obsolete. The term environment in this context refers to all the conditions and influences which act from outside upon the system, for example business rules, government policies, work patterns, software and hardware operating platforms. A change to the whole or part of this environment will warrant a corresponding modification of the software. 3) Perfective Maintenance This is actually the most common type of maintenance encompassing enhancements both to the function and the efficiency of the code and includes all changes, insertions, deletions, modifications, extensions, and enhancements made to a system to meet the evolving and/or expanding needs of the user. A successful piece of software tends to be subjected to a succession of changes resulting in an increase in its requirements. the scope for which it was.
  • 55. Annexure-55 5.CONCLUSION Online environment provided by “Technical Resource Portal” support its users to create their own program, get prepare for online mock test and get online certification, and also get help from tutors and discuss their queries in a technical discussion forum Online Web IDE allows a user to save and run program on server machine. User able to rename a folder and also he will be able to create new folders on the drive. Users able to upload and download a file from the server machine Apart from managing the files and folders on web drive users able to share their files with other users. All the operations such as upload/download file, add/remove folders etc. will be done by users according to the rights assigned to them. It enterprise application with web and mobile interfaces, so it is distributed and data centric. It is designed on the basis of enterprise application architecture. In this application, My SQL database is used to store data. Java has significant advantages not only as a commercial language but also as a teaching language. It allows students to learn object-oriented programming without exposing them to the complexity of C++. It provides the kind of rigorous compile-time error checking typically associated with Pascal. It allows instructors to introduce students to GUI programming, networking, threads, and other important concepts used in modern-day software. 5.1Future Scope of Project Scope of this project is very broad as follows:-  Can be used anywhere any time as it is a web based application(user Location doesn’t matter).  No restriction to use.  It is easy to use.  Available Online each every time.  The proposed system is very secure.  Providing user friendly interface.  Easy access of data.  Easy maintenance.  Preparation by online mock test.  Providing better performance.  Discuss their queries in Technical Discussion forum.  Source of Earning.
  • 56. Annexure-56 6.REFERENCES Bibliography  http://www.oracle.com  https://netbeans.org/  http://java.sun.com  http://developers.sun.com/java Java Tutorials from Sun  http://java.sun.com/docs/books/tutorial/ - Official Sun JavaTutorial (index of pages: http://java.sun.com/docs/books/tutorial/reallybigindex.html)  http://java.sun.com/webservices/tutorial.html - Java Web Services Tutorial  http://java.sun.com/javaee/reference/tutorials/ - JavaEnterpriseEdition Tutorials  http://java.sun.com/developer/onlineTraining/GUI/ - GUI Tutorial from Sun  http://java.sun.com/developer/onlineTraining/Media/ - graphics and media tutorials  http://java.sun.com/developer/onlineTraining/collections/index2.html - JavaCollections tutorials  http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf - JavaGenerics tutorial  http://java.sun.com/developer/onlineTraining/distributed/ - DistributedComputing tutorials  http://java.sun.com/developer/onlineTraining/Beans/ - JavaBeans tutorials  http://java.sun.com/developer/onlineTraining/Security/ - Java Security tutorials from Sun  http://java.sun.com/products/jndi/tutorial/ - JavaNamingAndDirectoryInterface (JNDI) tutorial  http://java.sun.com/developer/onlineTraining/ - Sun's index of tutorials  http://java.sun.com/learning - Java Technology Learning Other Java Tutorials and Learning Sites  http://tutorialspoint.com/java - Quick Java Tutorial  http://www.programmingtutorials.com/java.aspx - Java sectionof programmingtutorials.com  http://notes.corewebprogramming.com/ - Core Web Programming: Training Course Notes
  • 57. Annexure-57  http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/ - Quick JavaSwing Tutorial for AWT Programmers  http://www.dickbaldwin.com/toc.htm - Java tutorials (and also other languages)  http://www.javabeginner.com - Java Beginner Tutorial  http://java.about.com - tutorials, tips etc.  http://en.wikibooks.org/wiki/Java_Programming - Java Learning WikiBook?  http://en.wikibooks.org/wiki/Java_Persistence - JavaPersistence WikiBook?  http://en.wikibooks.org/wiki/Subject:Java_programming_language - Other Java WikiBook?s  http://www.particle.kth.se/~lindsey/JavaCourse/Book/courseMap.html - Introduction to Java + Technical Applications  http://www.vogella.de - Java, EclipseIde, JavaUnit tutorials  http://www.mkyong.com - Java,Hibernate, SpringFramework tutorials, etc.  http://www.javacodegeeks.com - Java Programming, LearnJava Online  http://math.hws.edu/javanotes/ - Introduction to Programming Using Java (5th Edition)  http://www.javamex.com - Java tutorials  http://www.java67.blogspot.com - Java Programming Tutorials and Examples  http://www.kodejava.org - Learn Java Programming by Examples  http://www.coreservlets.com - J2EE tutorials and trainings  http://www.javafaq.nu - Programming articles and tips  http://www.javacoffeebreak.com - articles and tutorials  http://www.javaexperience.com - Java, Eclipse, Android, HTML tutorials  http://tutorials.jenkov.com - Java Tutorials (and also others)  http://javarevisited.blogspot.com - Java tutorials and interview questions  http://www.javasprint.com/java_training_tutorial_blog/object_oriented_programmin g_oops.htm
  • 58. Annexure-58 7. APPENDICES JAVA BUZZ WORD 1. Simple: java inherits most of features from C++ and also inherits its object oriented concept. Java eliminates most of the confusing concept from C++. 2. Robust: java provides facility to the user to develop the program under multiple environments means to say that you can execute java application on different architecture machine. Since java application is a strictly typed language so there is very less chance to create programming error. 3. Object oriented: java is completely object oriented programming language. In the oops concept it provides facility to create class, object, inheritance, polymorphism, package, interface etc. 4. Architectural neutral: java program provides the facility to compile and run your program any where anytime because java has its own environment to execute the program. 5. Dynamic: in the dynamic concept java create an object at run time of program. Compiler: compiler is a system software .it is used to check system error of the program. If any syntax error founds, it reports to the user about the error. It checks all the program at a time to find the syntax error. Compiler displays all the errors of program at a time. “Just in time” is the compiler name of java. It is called “JIT” compiler. Interpreter: It is also system software which checks the program line by line. It is basically used to check runtime error. JVM (java virtual machine) in an interpreter of your byte code and it converts the byte code into machine understandable form. Byte code: byte code is the set of instructions which will be understood by only java. Byte code is not machine code. Points: When you compile the program java program, java follows the following steps as per described below: 1. Using the JIT compiler the class converts into java understandable form ie byte code. 2. After successfully compilation of the program, the byte code should be convert into machine understandable form. 3. We use java virtual machine to covert byte code into machine understandable form. 4. Javac command uses file name which has an extension .java to convert into byte code. 5. Java command uses class file to convert byte code into executable form to run the program. 6. javac command uses JIT compiler and java command uses JVM (java virtual machine ) interpreter. 7. You have not to use extension of class file with java command.
  • 59. Annexure-59 Tokens: - It defines about the operator, variable, constants, identifier, keyword, literals and comment. Identifiers: - The java compiler wants to know the name of items in the program. As the name suggests identifier identify the name of variables, methods and elements of classes. Identifiers are either reserved word or variable name, constant name, method and classes. Reserved words are name which is provided by the Java .If the programmer uses the reserve word for own purpose then java will generate the error because reserve words have special task that is defined by the java. Identifier can be begins with alphabet character, underscore (_) or dollar sign ($); Keywords: - keywords are reserve word which is given by the java and it has special task which will be performed by the java only means to say that you can not use keywords in the program for other purpose.It is a special tokens and they are always represent in lowercase.Keywords are used in flow controls, identifiers, class and expression. Data declaration keywords Boolean,byte,char,do,float,int, long,short Loop key words Break,continue,do,for,while. Conditional keyword Case ,if,else,switch. Exception keyword Catch,finally,through,try. Structure keyword Abstract class,default extends implements,instance of,interface. Modify and access keywords. Final,nativem new,private,protected,public,static,synchronized,threadsafe,void. Miscellaneous keyword False,import,null,package,return,super,true. CLASS AND OBJECT The fundamental idea behind the object oriented language is to combine into a single unit both data(member data) and the method (member method) where member method operates on the data such unit is called an object.
  • 60. Annexure-60 An object provides the only way to access the member of class. The data is hidden and is save from accidental alteration. Data and method are encapsulated into a single entity. Data encapsulation and data hiding are the key terms used for describing an object oriented programming language. OOPS is a software development technique that has gained popularity because of the potential gains in program productivity over conventional software development methodology. To support the principle of object oriented programming, all oops language must support following three common features.  Encapsulation  Polymorphism  Inheritance Encapsulation: Encapsulation is a mechanism that binds together code and the data; it manipulates and keeps both safe from outside interference and misuse.For an object oriented language code and data maybe combines in such a way that a self contained black box is created when code and data are linked together in the fashion to create an object.In other words an object is the device that supports encapsulation. Polymorphism: All object oriented programming language support polymorphism, i.e one interface multiple method. In simple term polymorphism is an attribute that has one interface control access to a general class of action. Inheritance: Inheritance is a process by which object can acquire the properties of another object. This is important because it supports the concept of classification. Other Features of Java THIS TEXTBOOK does not claim to cover all the features of the Java programming language, or even to give comprehensive coverage to the features that it does cover. The primary purpose of the book is to explain programming, not Java. Nevertheless, it can serve as a good starting point for learning Java. This appendix briefly surveys some of the features of Java that were not covered in the book. It will acquaint you with some of the terms you might hear when people discuss Java, and it will point you towards some of the things you might want to learn more about as you continue your study of Java programming. JAR Files and Resources Each programming example in this book uses just a few class files, at most. A large Java project might use hundreds. People might hesitate to welcome a program that comes in hundreds of small files onto their hard drives. Fortunately, Java makes it possible to combine a collection of files into a single Java archive file, or "JAR" file. If all the class files needed to run a Java program are placed into a JAR file, then only that one file will be needed. Many Java programming environments can be configured to make
  • 61. Annexure-61 JAR files when they compile a program. The command-line programming environment, in which the "javac" command is used for compilation, also has a "jar" command for making JAR files. For example, the following command makes a JAR file named "myprog.jar" and copies all the class files in the current directory into that JAR file: jar cfv myprog.jar *.class The "cfv" means "Create a jar archive as a File and be Verbose about telling me what you are doing." The "*.class" matches all files that end with ".class". The contents of a JAR file are compressed, by default, so the JAR file actually takes up less space than the files it contains. A JAR file can be used for an applet. It just has to be specified in the <applet> tag: <applet archive="myprog.jar" code="MyApplet.class" width=200 height=100> </applet> A JAR file can be used for a stand-alone application by specifying it as part of the "classpath": java -classpath myprog.jar MyApplication In addition to class files, a JAR file can contain images, sounds, and other resource files needed by a program. It's fairly easy to load such resources into a program. An image resource, for example can be loaded in almost the same way as an independent image file, using the getImage() method of an applet or a Toolkit. The location of the resource just has to be specified differently. For example, if an applet class named MyApplet is loaded from a JAR file, and that file contains an image file named "icon.gif", then the following command will load the image: Image icon = getImage( MyApplet.class.getResource("icon.gif") ); The getResource() method is used to locate a resource. It returns a URL that specifies the location of the resource. (The getResource() method in this example is an instance method in an object,MyApplet.class, that represents the class to which the applet belongs. Objects that represent classes are another feature of Java that I haven't mentioned before. The idea is that the system will look for the image file in the same places it looked for the class and will find it in the same JAR file.) dashed lines, filling a shape with a texture (this is, with a repeated image), filling a shape with a gradient, and drawing translucent objects that will blend with their background. In the Graphics class, coordinates are specified as integers and are based on pixels. The shapes that are used with Graphics2D use real numbers for coordinates, and they are not necessarily bound to pixels. In fact, you can change the coordinate system and use any coordinates that are convenient to your application. In computer graphics terms, you can apply a "transformation" to the coordinate system. The transformation can be any combination of translation, scaling, and rotation.
  • 62. Annexure-62 Javadoc A program that is well-documented is much more valuable than the same program without the documentation. Java comes with a tool called javadoc that can make it easier to produce the documentation is a readable and organized format. Javadoc is especially useful for documenting classes and packages of classes that are meant to be used by other programmers. A programmer who wants to use pre-written classes shouldn't need to search through the source code to find out how to use them. If the documentation in the source code is in the correct format, javadoc can separate out the documentation and make it into a set of web pages. The web pages are automatically formatted and linked into an easily browseable Web site. Sun Microsystem's on-line documentation for the standard Java API was produced using javadoc. Javadoc is actually very easy to use. In a source code file, javadoc documentation looks like a regular multi-line comment, except that it begins with "/**" instead of with "/*". Each such comment is associated with some class, member variable, or method. The documentation for each item must be placed in a comment that precedes the item. (This is how javadoc knows which item the comment is for.) The comments can include certain special notations. For example, the notation "@return" is used to begin the description of the return value of a function. And "@param <parameter-name>" marks the beginning of the description of a parameter of a method. For example, here is a short utility method with a javadoc Sun's Java Software Development Kit includes javadoc as a program that can be used on the command line. This program takes one or more Java source code files, extracts the javadoc comments from them, and prepares Web pages containing the documentation. Integrated development environments for Java typically include a menu command for generating javadoc documentation. Internationalization If the World-Wide Web -- and information technology in general -- is to be a truly global phenomenon, it shouldn't be tied to one country's language or customs. An internationalized computer program or applet is one that can adapt itself to the locale where it is being run. A locale in Java is specified as a language together with a country. These, in turn, are designated by standard two-letter codes, such as "en" for English, "es" for Spanish, "US" for the United States, "ES" for Spain, and "MX" for Mexico. The locale determines not only the language that is used but also details such as the output format of dates and numbers. A Java virtual machine has a default locale built into it. If it's running in the United States, the default locale is probably en_US. In Mexico, it would be es_MX. The classes java.text.DateFormat and java.text.NumberFormat make it possible to display dates and numbers in a form that is appropriate for the default locale (or some other locale if you want). For example, the commands DateFormat df = DateFormat.getDateTimeInstance(); String now = df.format( new Date() ); System.out.println(now); print the current date and time (as returned by "new Date()"), formatted according the conventions of the default locale. The output will look different in different countries. Any text that is displayed to the user by a program -- labels on buttons, commands in menus, messages in dialog boxes, and so on -- should be in the language that is appropriate for the locale where the program is being run. Java makes it possible to put all the strings used by a program into a resource bundle and to use
  • 63. Annexure-63 JavaBeans A JavaBean is a component that can be combined with other components to make a complete program. JavaBeans can be assembled into a program using a visual development environment, which allows a programmer to add beans to a program, configure them, and set up interactions between them by dragging icons, using menus, clicking buttons, and so on. Sophisticated programs can be assembled with little or no programming. If you use an integrated development environment for Java programming, there's a good chance that it has some support for visual programming. JavaBeans are objects, not classes. Many JavaBeans are GUI components, but this is not a requirement and a JavaBean might have no visual representation at all. Objects belonging to Java's standard GUI component classes are JavaBeans and can be used in visual development environments. JavaBeans can be defined by any class that follows a few rules. The class should have a default constructor (one with no parameters). This allows a visual development environment to create a new bean in a default state without providing any information to the constructor. To be useful, a bean should have one or more properties, which are just values associated with the bean. Beans are configured by setting the values of their properties. A visual development environment recognizes a property by the fact that there are "get" and "set" methods for the bean. For example, if a bean has methods: String getTitle(); void setTitle(String title); then the bean has a property named "Title" of type String. You don't have to do anything else to define a property; just provide the "get" and "set" methods. Beans can, optionally, usePropertyChangeEvents to communicate. When a property of a bean is changed, it can emit an event. Other beans can register to listen for these events, so that they can respond when the property changes. Of course, beans might also generate other types of events, such as ActionEvents. A visual development environment should make it possible to route these events to other beans or possibly to write some code to respond to the events. JavaBeans exist to enable the production of reusable objects and to promote the development of an "object economy" in which such objects are widely distributed and readily available. Distributed Computing Java is a language that was designed from the beginning to work in a networked computing environment. Applets can be downloaded over a network, and basic network communication is supported by the java.net package. But this is just the beginning. Java has built-in support for distributed computing. In distributed computing, a program uses more than one computer. Different parts of the program run on different computers and communicate over a network. The program has access to much larger computing resources than are available on any one computer. In Java, this is made possible by allowing a method that is running on one computer to call a method in an object that is on another computer. The parameters for the method are transmitted across the network, and the return value is sent back after the method has completed.
  • 64. Annexure-64 Java has support for two types of distributed object computing. RMI (Remote Method Invocation) is used for communication between two Java objects running on different computers. Java also supports CORBA (Common Object Request Broker Architecture), a standard that allows communication between objects written in different programming languages. Servlets and JSP Java is most visible on the client side of the Web, in the form of applets running in Web browsers. However, Java is also very useful on the server side. A servlet is a Java program that is meant to be executed by a Web server. This is similar to the way that applets are executed by a Web browser. If a Web server is capable of executing servlets, then its capabilities can be extended indefinitely by writing new servlets for it. Java is certainly not the only programming language used in this way, but it is an attractive choice because of its security, network-awareness, and large collection of APIs. Servlets are often used to generate Web pages. Many Web pages are static -- they are simple, unchanging HTML files. When a server receives a request for such a page from a Web browser, all it has to do is send the HTML file to the browser. However, there are also dynamic Web pages. A dynamic web page is generated on demand each time the page is requested. The content of the page can be different each time it is requested. This can happen, for example, because the content depends on data that was typed into a Web form by the user or on information from a database. To serve up a dynamic page, the server has to run a program. Servlets can be used in this way. The servlet decides what should be on the page and creates the HTML code for displaying that content. The server then sends this HTML code to the Web browser that requested the page. More Features Java has APIs (Application Programming Interfaces) for many more features, and the list seems to be growing all the time. It's unlikely that any one person can master them all. What can be mastered are the principles and techniques on which they are all built. After that, it's just a matter of poking around in the documentation.... Here are a few more of the things you might run into:  Multimedia. The packages java.awt.image and javax.swing.sound contain classes for manipulating images and sounds.  Drag-and-Drop. Drag-and-drop refers to dragging an item that is to be processed and dropping it onto the item that you want to process it. An example is dragging a file and dropping it into the trash. Drag-and-Drop support in Java is provided in the package java.awt.dnd.  Accessibility. Not everyone can see a computer screen, hear sounds, use a mouse, and type on a keyboard. A typical user interface is not accessible to these people. Java has an infrastructure that can be used to make programs accessible. It is defined in the package javax.accessibility.  Security. The package java.security can be used for secure, encrypted network communication.  Database. JDBC (Java DataBase Connectivity) refers to set of classes that is used to connect to databases and retrieve information from them. The basic classes are defined in the packagejava.sql (but to use them, you also need a "driver" for the specific type of database that you want to connect to).  XML. XML is a data representation format that is similar to HTML. Like HTML, it can be used to describe documents. But it is also used to represent arbitrary structured data. With the release of Java Version 1.4, XML is a standard part of Java. Currently, XML is probably generating more excitement and hype than any other single computing technology.