INDEX

S. No.

SBJECT

PAGENo.

1

PREFACE

4

2

OBJECTIVE OF TRAINING

5

3

INTRODUCTION &OBJECTIVE OF PROJECT

6-7

4

ABOUT JAVA

8-10

5

JAVA SWINGS

11-13

6

JDBC

14-15

7

JDBC ARCHITECTURE

16-18

8

REQUIREMENT ANALYSIS

19-21

9

FEASIBILITY STUDY

22-23

10

DESIGN ANALYSIS

24

11

THE java.sql PACKAGE

25

12

CRAETING DATA SOURCE NAME(DSN)

26-30

13

JAVA CLASSES USED IN THE PROJECT

31-40

14

BACK END

41

15

QUALITY ASSURANCE

42-45

16

IMPLEMENTATION

46

17

UNIQUE FEATURES OF THE COMPONENT

47-48

18

SECURITY OF THE SYSTEM

49

19

CONCLUSION

50

20

REFRENCES

51

PREFACE

BEACON, one of the leading training houses in Rajasthan, has interest in providing quality education and prepares IT professionals who can meet with the international standards.

Even before Beacon was formally established its staff members have been involved in preparing students for Sun Certification, Microsoft Certification, Oracle Certification. Success rate of students have been 100% so far. Some of its students have done exceptionally well and secured 100% in Microsoft & Oracle Certifications. Beacon is the pioneer in Rajasthan as far as Java Technologies are concerned.

Beacon has produced hundreds of  Sun Certified Java Professionals so far. It is the only institute that has been involved in preparing students for online exams. Students of Beacon are working in the leading IT companies all over the world and some of them have got certificate of excellence wherever they are working.

The achievement of Beacon is consolidated by the fact that the students have been coming for various courses from various parts of world including U.S.A, CANADA etc.

At Beacon the aim is to prepare professionals who have in-depth knowledge of  programming languages. Students at Beacon are taught what happens in language along with why it happens, so that students are able to develop logical approach.

At Beacon, all the staff members are certified professionals (Sun Certified Java Programmer, Microsoft Certified Solution Developer and Oracle Certified Associates). So they know how to guide students for online certifications and getting skills honed. Many of the students, who are working in leading MNC’s admit that they have learnt how to work hard and learn a programming language at Beacon. Students are so well trained and well settled that their success speaks about Beacon.

OBJECTIVE OF TRAINING

In today’s world competition is increasing more day by day. Today, in the rat race if we want to be a winner then we should have some extra achievements or extra knowledge, so that we can succeed them. This Summer Training was the little achievement for me. For some it could be a burden but for me it was a good source of knowledge. Because of only this span of summer training I was able to pursue the course in Core Java at Beacon.

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

 “Student Profile Maintenance Module For Placement & HR” contains profile of students. The project created by using core java. The main components used are :

The project will ask user name, user password to login for both students and administrator. Student has facility to maintain and update his profile and can also change his password. He/She can’t assess any other student’s profile. Administrator has right to create and delete profile of student. He can assesses profile of any student and update it as well as change his password. Administrator can also change his own login password and username.

Objective

 The main objective behind the development of this project is to create software with the following features:

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:

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:

Multithreaded:

Distributed: 

Secure:

Dynamic and Extensible:

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

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.

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.

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.

JDBC

The JDBC is a set of the database access classes. The very term JDBC stands for “Java Database Connectivity”.  It was developed by Java Soft. JDBC technology is an API (Application Program Interface) that allows virtual access to any tabular data source from the Java programming language by means of some connecting software called Drivers. It provides cross-DBMS connectivity to a wide range of SQL databases. JDBC defines a set of interfaces to enable developers to access data independently of the actual database product used to store the data. JDBC allow Java applets, Servlets, and application to access data in famous database management systems.

It also provides access to other tabular data sources, such as spreadsheets or flat files.  The JDBC API allows developers to take advantage of the Java platform's "Write Once, Run Anywhere" capabilities for industrial strength, cross-platform applications that require access to enterprise data. With a JDBC technology-enabled driver, a developer can easily connect all corporate data even in a heterogeneous environment. The JDBC API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases. The JDBC API makes it possible to do three things:

Steps in using JDBC

  1. Create a Connection type of object (A) denoting a connection to the database.
  2. Create a Statement type of object (B) using the A.
  3. Use B to execute either update the database or send a query request.
  4. The result of the query operation in step 3 is a Result Set type of object(C)
  5. C is actually a small table (D) consisting of the result of the query.
  6. D can be handled according to the user needs
  7. Close C,B and A

SQL     

 SQL stands for Structured Query Language, better known as “sequel”. It is used for:

1. querying a database by editing the SQL statements.

 2. querying a database within a program

3. defining data organization.

4. administrating data

5. accessing multiple data servers

6. managing transaction.

JDBC ARCHITECTURE

 The JDBC API contains two major sets of interfaces:

JDBC drivers are divided into four types or levels. Each type defines a JDBC driver implementation with increasingly higher levels of platform independence, performance, and deployment administration. The four types are:

Type 1: JDBC-ODBC Bridge 
 

The type 1 driver, JDBC-ODBC Bridge, translates all JDBC calls into ODBC (Open Database Connectivity) calls and sends them to the ODBC driver. As such, the ODBC driver, as well as, in many cases, the client database code, must be present on the client machine. Figure 1 shows a typical JDBC-ODBC Bridge environment.

JAVA APPLICATION

JDBC DRIVER MANAGER

JDBC/ODBC

BRIDGE

ODBC

DRIVER

DATABASE

Figure 1. Type 1: JDBC-ODBC Bridge

Pros: The JDBC-ODBC Bridge allows access to almost any database, since the database's ODBC drivers are already available. Type 1 drivers may be useful for those companies that have an ODBC driver already installed on client machines.

Cons: The performance is degraded since the JDBC call goes through the bridge to the ODBC driver, then to the native database connectivity interface. The result comes back through the reverse process. Considering the performance issue, type 1 drivers may not be suitable for large-scale applications.

The ODBC driver and native connectivity interface must already be installed on the client machine. Thus any advantage of using Java applets in an intranet environment is lost, since the deployment problems of traditional applications remain. We have used JDBC-ODBC Bridge Type Drivers

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:

Problem Evaluation and Solution Synthesis:

Modeling:

Creation Of Specification:

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

Review Of Requirements:

In this stage we just review all the requirements listed by us and see aren’t we missing any one during our calculation and logic planning’s. Here also we follow some basic guidelines:

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.

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

The java.sql PACKAGE

The implementation of JDBC is made through the java.sql package. This package contain all the JDBC classes and method that allows the developers to create databases application .The topmost class in the class hierarchy of JDBC classes is the DriverManager, which keeps the driver information, state information and more. When each driver is loaded, it is registered with the DriverManager. Whenever a connection is made, the DriverManager selects the driver depending on JDBC URL.

The JDBC URL is a string that is used by the drivers to locate and access databases. The syntax of a JDBC URL is:

jdbc:<subprtocol>:<subname>

The <protocol> defines the type of drive and <subname> provides the network-encoded name.

CREATING DATA SOURCE NAME (DSN)

Before starting the program using JDBC ODBC bridge drivers, create tables in Microsoft Access according to requirement. Let its name be emp and fields ename, design, hiredate, deptno.

 Now let’s create a DSN by name empdb, which we will use in the program based on JDBC ODBC drivers. The steps to create DSN are given below

1. Goto Control panel, click on Administrative Tool and then click on ODBC Data Sources as shown in figure 2 and 3.

Figure 2.  Selecting Administrative Tool

Figure 3. Selecting ODBC

2. Click on Add button of User DSN as shown in figure 4

Figure 4

3. Select Microsoft Access Driver & then click Finish as shown in figure 5

Figure  5. Selecting Microsoft Access Driver

4. Write Data Source name as empdb and click on Select button then select  .mdb  file where it is stored and click on  OK as shown in figure 6 and 7.

Figure 6

                                                     Figure 7

5. Now at last click on OK as shown in figure 8.

Figure 8

JAVA CLASSES USED IN THE PROJECT

1) welcome.java:-

This class is used as a welcome window to the software which is made using frames in java. This window welcome the user in this class, and the message shown is - “WELCOME “. There is one scrolling message- “Student Profile Maintenance Module For Placement & HR” which is the name of project.

Here user has two choices

1. login as administrator  

2. login as student

There are two buttons-

1 Ok

2 Quit.

  User first has to select category to login and then click on Ok button after this login window appears.

Figure 9.The welcome window

 

2 login.java:-

This class is used as a login widow .This window appears after welcome window.  In this window user is asked to enter its user name and password for both student and administrator. The user name and password is stored in a database. There are three buttons-

1.) Submit

2.) Quit

3.) Back

 When “Submit” is selected, this window is decomposes and next window is opened depending on whether user is student or administrator. When “Quit” is selected, the user exits from the software and when “Back” button is clicked welcome window appears

Figure 10 Login window

3. editprofile.java

This window appears when user login as student. This window contain complete profile of student which is already existing stored in database .This contain features like name, address, percentage etc.

Here student can change the data and update his profile .Student can also change his password here. There are two buttons in window.

1.) Update

2.) Quit

By clicking on “Update” button his profile stored in data base is updated. “Quit” button is used to exit from software.

Figure 11. Window To Update Profile By Student

4. loginwelcome.java

This window appears when user login as administrator. This window asks user what to do. User has three choices

1. Visit profile of student

2. Create new profile

3. Change administrator username or password

There are two buttons in this window

1. Ok

2. Quit

Administrator first has to select one of the choices and the click on “Ok” button. By selecting first choice Administrator can Visit profile of any student and update it. for second choice he/she can create new profile of student. In third choice there is facility to change username or password.

Figure 12.  loginwelcome window

5. editprofile2.java

This window appears when administrator chooses first choice in last window. Here Student can edit profile of any student. So first administrator has to select name of student from combo box and then edit his profile and then update it .There is also facility to change password of any student. Administrator can also delete profile of any student. There are four buttons in this window

1. Update

2. Delete

3. Back

4. Quit

Figure 13.  Window which can edit profile of any student by administrator

6. createprofile.java

This window appears when administrator chooses second option in loginwelcome window. This window is for creating new profile for student. This window contains information like username, name, percentage, email, password, address etc. So only administrator has right to create profile of student. Profile information will be stored in database.

This window contain three buttons

1. Create

2. Back

3. Quit

Figure 14. Window to create new profile

7. change.java

This window appears when administrator chooses third option in loginwelcome window. In this window administrator can change his username and password.

There are two parts of this window. Upper part is used two change username while lower part is to change password. There is “Change” button upper part to change username. In lower part there is “Ok” button to change password. Other buttons are “Quit” and “Back”.

Figure 15. Window to change administrator username and password

8. dbconnection.java : -

This class provides cross-DBMS connectivity to a wide range of SQL databases. It also provides access to other tabular data sources such as spreadsheets or flat files.

This class serves four things:  

In this case,

This class has four functions:

1) It connects to the database by openConnection() method.

public Connection openConnection()

{

     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");                

    Connection conn=DriverManager.getConnection("jdbc:odbc:stu_prof_maintainance");

     System.out.println("********connection opened*********");

     return conn;        

 }

   

2)   It executes query : -

 public ResultSet execSQLCommand (String qry, Connection conn)

{

    ResultSet rs = null;

    Statement stmt = null;

   stmt = conn.createStatement();

    rs  = stmt.execute Query(qry);  

   return rs;                  

}

3 ) It updates query : -

 public int updatetable (String qry, Connection conn)

{

    ResultSet rs = null;

   Statement stmt = null;

   stmt = conn.createStatement();

   rs  = stmt.executeUpdate(qry);  

   return retvalue;                  

}

4) It closes the Connection : -

public void closeConnection(Connection conn)

{

    conn.close();

    stmt.close();

}

BACK END

               

The back end, which is the tool used for the designing of the database required in the application was chosen to be Microsoft Access, which provides powerful tools for managing and analyzing. The various tables used are-

1. adminfo- This table contain administrator name and administrator password which are used to login through login window by administrator.

Figure 16 table containing administrator name and password

2. personaldata - This table personal information of student profile like name, password and e-mail, percentage.

Figure 17.  Table containing information about student profile

QUALITY ASSURANCE

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:

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:

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.

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 user’s 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.

Beta Testing:

This is testing the software in the actual user’s 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.

IMPLEMENTATION

1 Hardware Requirements:

Pentium III / IV Processor

256 MB RAM or higher

Printer

Mouse

Keyboard

2 Software Requirements:-

Microsoft Access

Jdk1.3 or higher version

Notepad

3  Installation:

The component comprises of several Java Classes, some image files (Java Archive).

To start using this component,

- we will save the java files in bin folder of jdk1.5.

- Provide necessary database connection details and information about the URL’s.

- Install Microsoft-Access in system.

- And save the various tables used in the project.    

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

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.

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 front-view, 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.

 

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. 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 –O’Reilly
  3. Java Swing –Eckstein, Loy, Wood; O’Reilly
  4. Database management System -Korth

- 40 -