You are on page 1of 27

INDEX

S. No.

SBJECT
INTRODUCTION &OBJECTIVE OF PROJECT
ABOUT JAVA
JAVA SWINGS
REQUIREMENT ANALYSIS
FEASIBILITY STUDY
DESIGN ANALYSIS
JAVA CLASSES USED IN THE PROJECT
QUALITY ASSURANCE
IMPLEMENTATION
UNIQUE FEATURES OF THE COMPONENT
CONCLUSION
REFRENCES

PREFACE
OBJECTIVE OF TRAINING

PAGENo.

The main purpose to pursue course in CORE JAVA was to gain knowledge in
Java Technologies and to achieve good command over the language which
would help me to attain good programming skills that would help me to keep
myself updated and ahead in this quick changing world of technological
advancements.
In the end not to forget to thanks our college administration & Computer
Department for providing us a great opportunity to gain and enhance my
knowledge in Java (Core) that would help me to accomplish my future
dreams.

INTRODUCTION AND OBJECTIVE OF THE


PROJECT
Introduction
contains Searching Tools. The project created by using core java. The main
components used are :

Core Java as language

Java Swings

Objective
The main objective behind the development of this project is to create
software with the following features:
Highly user-friendly
Enterprise independent
Cross-platform
Easy-to-use
Tested system to track unnoticed error
Data entry restricted to valid domains to avoid errors

JAVA
The entire component has been developed using Java technology. Java has
been chosen as the platform because of its feature rich nature. The Java
Platform provides robust end-to-end solutions for networked applications as
well as a trusted standard for embedded applications. So Java was a natural
choice for development process.

Characteristics of Java
Object Oriented:
Java is object oriented to the truest sense of the word. Everything
in Java is represented as objects. Variables and methods both are encapsulated
in objects. Java is the purest object-oriented language.
Robust:
Java is a very robust language owing to the following features.
Excellent exception handling facilities.
Memory management relief for the user. User does not have to worry about
allocation and deallocation of memory.
Strict compile-time and runtime checks for data types.

Portable and Architecture-neutral (Platform Independent):


Java is portable and platform independent so much that they satisfy write
once; run anywhere, anytime, forever. This feature is implemented in the
following ways:
Compiler generates machine independent byte-code instructions which can
be run on any machine supporting Java Virtual Machine.
Size of primitive data type is machine independent.
Multithreaded:
Programs can do many things simultaneously using different threads.
Provides a solution for multiprocess synchronization.
Allows the creation of networked and interactive programs.
Distributed:

Open access to remote objects by the use of RMI(Remote Method


Invocation).

Brings a level of abstraction to client/server programming.

Secure:

Security is achieved by confining a java program to the java execution


environment and not allowing access to other parts of the user
computer.

Absence of pointers provide memory related security as encroachment


of memory

is avoided Proper measures for prevention of viral

infection and malicious intent.


Dynamic and Extensible:
Facilitates linking in of new classes, objects and methods.
Supports native methods (methods written in other languages like C ,C++).
Programs carry with them a substantial amount of runtime type information
that is used to verify and resolve accesses to objects at run-time.
High Performance:
Just-In-Time (JIT) compilers are used to convert byte-code into native
machine code resulting in very high performance. These JIT compilers can be
used on a real time, piece by piece demand basis to perform on-the-fly
compilation of byte-code into native-code.

Compilation and Interpretation


Java programs are implemented as a two-stage system.
Compilation: Source code to byte-code and not machine instructions.
Interpretation: Byte-code to machine code (for any system that supports using
JVM)
Thus cross-platform programs can be written.

JAVA SWINGS
"Swing" refers to the new library of GUI controls (buttons, sliders,
checkboxes, etc.) that replaces the somewhat weak and inflexible AWT
controls.
The Swing classes eliminate Java's biggest weakness: its relatively primitive
user interface toolkit. Java Swing helps you to take full advantage of the
Swing classes, providing detailed descriptions of every class and interface in
the key Swing packages. It shows you how to use all of the new components,
allowing you to build state-of-the-art user interfaces and giving you the
context you need to understand what you're doing. It's more than
documentation; Java Swing helps you develop code quickly and effectively.

1. Main New Features

Lightweight. Not built on native window-system windows.

Much bigger set of built-in controls.: Trees, image buttons, tabbed panes,
sliders, toolbars, color choosers, tables, text areas to display HTML or RTF,
etc.

Much more customizable. Can change border, text alignment, or add


image to almost any control. Can customize how minor features are drawn.
Can separate internal representation from visual appearance.

"Pluggable" look and feel. Can change look and feel at runtime, or design
own look and feel.

Many miscellaneous new features. Double-buffering built in, tool tips,


dock able tool bars, keyboard accelerators, custom cursors, etc.

2. Components are named JXxx.


E.g. JFrame, JPanel, JApplet, JDialog, JButton, etc.

J Component
The J Component class is the root of the Visual component class hierarchy in
JFC. All Swing components are implemented as subclass of J components
class, which inherits from the Container class. Swing component inherit the
following functionality from J Component
a). Borders- Using the setBorder() method, you can specify the border that a
component displays around its edges. You can specify that component have
extra space around its edges using an EmptyBorder instance.
b). Double Buffering- It can improve the appearance of frequently changing
components. Now you do not have to write the double buffering code because
Swing provides it for you. By default Swing components are double buffered.
c). Tool Tips- By specifying a string with the setToolTipNext() method, you
can provide help to users of a components. When the cursor pauses over the
components, the specified string is displayed in small window near the
component.

d). Look and Feel- Subject to the security restriction, you can choose the look
and

feel

used

by

all

Swing

components

by

invoking

the

UIManager.setLookAndFeel() method.
3. There is an almost-equivalent Swing component for most AWT
components.
4. Instead of adding components directly to frames or applets, we can use the
content pane.

Add to content pane via getContentPane().add

Replace content pane via setContentPane

5. Model-View-Controller architecture let us change the internal data


representation for lists, trees, tables, etc.
6. Swing was in the com.sun.java.swing package in beta releases of 1.2.
Switched to javax.swing in 1.2 final.
7. Default "look and feel" is a Java-specific one.

Need special call to get native look

Default called "Java look & feel"

8. Mixing AWT and Swing is doomed.


AWT components are always on top, and z-ordering problems catch you in
many unexpected ways. Stick with the AWT or move completely to Swing.

REQUIREMENT ANALYSIS
For analysis of requirement for the software to be developed first of all we set
some guidelines and following those only we start analyzing in specific
manner. The whole analysis work is divided in following activities:
1. Problem Recognition
2. Problem Evaluation and Solution Synthesis
3. Modeling
4. Creation Of Specification
5. Review Of Analysis

Problem Recognition:
We deeply assess the use and technical feasibility of the software

to

be developed
We meet the users and select all the persons who will be helping in
specifying requirements and then understand their organizational bias.
Then we define the technical environment into which the product or
system was to be placed of the software.
Then we identify the Domain Constraints i.e the specific environment
needed for effective application. This helps us to limit the functionality
and performance of the software.
10

We choose the team meeting with users to elect one or more


requirement.

Problem Evaluation and Solution Synthesis:


We observe all the data objects to be used by us and according to
requirement.

Then according to the objects and functions we have analyzed we now


decided the flow of the information as per the requirements

Then we define the software functions which we must make to obtain


the flow and results with the data and achieve the projects objective.

Now we analyze the behavior of the software in context with the


software after defining all above tasks so as to fix the performance.

Now we planned and analyzed the way which we must apply to have
the asked type of user interface as per demand of the functions and data
flow we have decided to use.

Now we decide the requirements keeping in mind the system


specifications. Also keeping in mind the information which we have to
input to and output from the system so as to achieve the proper
connectivity and transparency regarding the data.

Modeling:

11

The modeling is performed by designing the DFDs for all the possible
states of the software.

Creation Of Specification:
The specifications were made as per the design analysis. It was confirmed
that:

Is each requirement consistent with the product design?


Is the requirement really necessary or just the add-on feature?
Does any requirement conflicts with the other requirements?
Is the requirement achievable in the specific technical environment?
Review Of Requirements:
In this stage we just review all the requirements listed by us and see arent we
missing any one during our calculation and logic plannings. Here also we
follow some basic guidelines:
Here we study the function and performance of computer based system
and the constraints.
The final statement of requirement was examined by the original
sources.

12

All the requirements related with a particular are listed in dependency


traceability.
The requirements which were testable were marked with tests to
exercise the requirements later.
It was made clear that the requirement is traceable to overall
system/product objectives.
The requirements associated with the system performance, behavior,
and operational characteristics were clearly stated.

FEASIBILITY ANALYSIS
Introduction of Feasibility Study:
Many feasibility studies are disillusions for both user and analysts. First , the
study often presupposed that when the feasibility of a document is being
prepared, the analyst is in a position to evaluate solution. Second, most studies
tend to overlook the confusion inherent in the system development. If the
feasibility study is to serve as a decision document, it must answer three
questions
1. Is there a new and better way to do the job that will benefit the user?
2. What are the costs and saving of the alternative(s)?
3. What is recommended?
The most successful system projects are not necessarily the biggest or most
visible in a business but rather those that truly meet user expectations. Most
projects fail because of inflated expectation than for any other reason.

13

Feasibility Study:
As not every imagination is feasible, not even in software, evanescent a sit
may appear to outsiders. On the contrary, software feasibility has five solid
dimensions:
Technical Feasibility
Is the prepared technology practical? Technical feasibility centers around the
existing computer system and to what extent it can support the proposed
addition. But in this case since earlier all the work was manual and there was
no existing system, so the system proposed is technically feasible. Also, the
new system should be brought according to the specification of the product
being designed.
Operational Feasibility
Is the problem worth solving? Will the solution to problem work? The answer
to the above question is yes. As the problem is worth solving because the
manual work is very inefficient and from the statement of the problem gives
us a clue that there is a solution to the problem and there are pretty good
chances that the solution will work.
Economic Feasibility
It is used to measure the cost effectiveness of a project which is commonly
known as cost-benefit analysis. The project is also economically feasible as
the only requirement involving expenses are related to the cost of buying a
new system and a printer for the hard copies. And the maintenance involved in
this is only the maintenance of the computer and that does not cost much. So
according to the requirements the system is economically fit.
Legal Feasibility
Legal feasibility means that the software developed is legal; it is not violating
any governmental constraints and it is following all the legal laws. Since the

14

project is developed for use within a particular college only, it can by no mean
violate any legal laws.
Therefore, it is said to be legally feasible too.
Behavioral Feasibility
Behavioral feasibility is an estimate of how strong reaction the user staff is
likely to have towards the development of a computer system. Since this
project lightens the burden of the manual work in the cell, so the end users of
the software will always be encouraging towards the use of computer. Also, no
jobs are going to be replaced in this case.

DESIGN ANALYSIS
Designing is the most important part of the software development lifecycle. It
requires careful planning and logical thinking on the part of the software
designer. Designing the software means how the various parts of the software
are going to meet the user requirement and goals. It should be done with
utmost care as a simple mistake or miscalculation at this stage can result in
errors which can be compounded manifold as the development process moves
up the development hierarchy. This compounded error can result in low
performance, more processing time, and more coding and extra load.
System Design attempts to accomplish the following:
Improve productivity of analysts and programmers.
Improve

documentation

and

subsequent

enhancements.
Cut down drastically on cost over runs and delays.
15

maintenance

and

Improved communication among the users ,analysts, designers and


programmers
Standardize the approach to analysis and design
Simplify design by segmentation

CODING

16

OUTPUT WINDOW

QUALITY ASSURANCE

17

There are basically three levels of Quality Assurance, namely, testing,


validation and certification. Each of these is described below:

1 Testing
The purpose of system testing is to identify and correct errors in the system
and also to judge

if the system meets the requirements of the user or not.

There are three levels of system testing. They are as follows:


Unit Testing:
This type of testing focuses on the verification of the smallest unit of software
design namely the module. Using the procedural description as a guide,
important control paths are tested to uncover the errors within the boundary of
a module. Unit testing is normally white-box oriented, and the steps can be
conducted in parallel for multiple modules. In this project the sub-modules
have been individually tested.
Following checks were made:

Given set of data was taken as input to the module and the output was
observed

Logic and boundary conditions for input and output were also checked

Interfaces between two modules were also checked

18

Runtime Exceptions were thrown which were detected and rectified by


taking the Stack Trace

Also all the possible situation were anticipated with the help of the user to
conduct thorough tests of the system.

Integration Testing:
In this type of testing the main aim is to take the unit tested modules and build
a program structure which can be directed and dictated by the design.
This includes:

Top-down Testing

Bottom-up testing

Regression Testing

The last of the above was particularly important in this project which helped
in ensuring changes without introducing unintended behavior in addition.
System Testing:
This type of testing consists of a series of tests whose primary purpose is to
fully exercise the computer based system all work to verify that system
elements have been properly integrated and that they perform specified
functions.

19

When the individual program modules are working, we combined the modules
into single working system. This integration was planned and conducted in
such a way that whenever an error occurs we get an idea about the source of it.
The entire system was viewed as a hierarchy of modules. We began with the
module at the highest level of design and worked down. Then the next
modules to be tested were those that called previously tested modules.
Functional Testing:
Once it was certain that information passed between modules according to the
design description, the system was tested to assure whether the functions
describing the requirement specification were performed by the system.
Acceptance Testing:
When the functional test completes. The user gets involved to make sure that
the system works according to the users expectation.

2 Validation
System validation checks the quality of the software in both simulated and live
environments. It has two phases.
Alpha Testing:
In this the software goes through a phase in which errors and failures based
on simulated user requirements are verified and studied. The modified
software is then subjected to Beta Testing.
20

Beta Testing:
This is testing the software in the actual users site or a live environment .The
system is used regularly with live transaction .After a scheduled time, failures
and errors are documented and final correction and enhancements are made
before the package is released for use.
Checks & Constraints:
There are many validations and checks to control input and navigational
errors. These are as follows:
Input validations are done for the following cases:
Essential fields
Character numeric Input
Choosing from certain range of values
Non-repetition of primary key values
No-input or wrong input

3 Certification
The third level of quality assurance is to certify that the program or software
package is correct and conforms to standards.

21

IMPLEMENTATION
1 Hardware Requirements:
Pentium III / IV Processor
256 MB RAM or higher
Printer
Mouse
Keyboard

2 Software Requirements:Jdk1.3 or higher version


Notepad

UNIQUE FEATURES OF THE COMPONENT

Platform independent
The component is mostly developed using Java Technology which is
essentially Platform Independent. The fact that on compilation java files get
converted into machine independent byte-code makes it a cross-platform
technology. The byte code can then be run on any machine having the JVM
(Java virtual Machine).

22

It becomes very easy to reuse the component .Thus it is a completely


pluggable component which can be plugged into any other related system with
very little modification.
Users can perform their operations asynchronously as relational database
tables are used at the back end, which support data integrity and uniformity
Concurrent access anomaly problem is also taken care of.

Highly flexible and customizable


This component can work with any database connection as prior to
installation; users have to provide their database configuration
When the application is first started, the user is asked to provide all the
information regarding the kind of database, username, password etc.

Enterprise Independent
This is a Enterprise Independent Product. So the component can work for any
legacy system. The users just have to provide the connection (Database) name
where their tables are stored. The component can then easily customize itself
so as to work in conjunction with the legacy system.
Any no. of connections can be used in the component. The table can have any
number of fields. Irrespective of the type and number of columns in the legacy
table, the component can work successfully.

23

The extensive use of graphical representation makes the component simple


and easy to work with. The GUI is simple yet powerful. The whole hierarchy
of the product is represented as a tree. The various branches of the tree
represent the physical branches of the organization. The root of the tree
represents the Database of the organization. The leaf nodes represent the tables
present in a store -room. The layout of a particular node is
represented graphically on a simple mouse click. The view can be either frontview, back-view or cross-sectional view. The racks, levels and the cells can be
customized graphically; the results are displayed in Graphical form

SECURITY OF THE SYSTEM


The following levels of security were provided in order to guard against
unauthorized and malicious use, modification and destruction of data.

Data Level:
At each functional stage the users have access to only those portions of the
data that are necessary for those functions.

24

Application /Functionality Level:


Only authorized users are allowed to get involved in this application.
Moreover a particular functionality on the application is allowed to be used by
only those users to whom permission has been granted to access and use it.

CONCLUSION

From a proper analysis of the positive points and constraints on the


component, it can be safely concluded that the product is a highly efficient
GUI based component. This component can be easily being plugged in many
other systems.
Also the component is highly user friendly. Generally the search and updating
in stores are done by non-technical people. So it is in the best interest of the
organization to use such software which their employees can handle easily.
25

This software comes with just that solution. Being mostly GUI based, this
component can be used very easily. With very little training, users can learn
the usage of the product. Also the search results are presented in numerous
forms like report format, graphical format etc which makes it versatile. Again
the GUI based system is certainly more eye-catching and attractive. Nowadays
most of the companies are going global .So their business has also become
distributed and diverse.

REFRENCES

1. The Complete Reference JAVA- Herbert Schildt


2. JDBC OReilly
3. Java Swing Eckstein, Loy, Wood; OReilly
4. Database management System -Korth

26

27

You might also like