43
Placement Management System PROJECT REPORT (6 weeks Project Training) (PLACEMENT MANAGEMENT SYSEM) Under the Guidance of Mr. Khanna FACULTY SLICKSOFT TECHNOLOGIES (Pvt) Ltd . SUBMITTED BY HARDEV SINGH 100983008 1 | Page

Placement Management System Report

Embed Size (px)

Citation preview

Page 1: Placement Management System Report

Placement Management System

PROJECT REPORT

(6 weeks Project Training)

(PLACEMENT MANAGEMENT SYSEM)

Under the Guidance of

Mr. Khanna

FACULTY

SLICKSOFT TECHNOLOGIES (Pvt) Ltd .

SUBMITTED BY

HARDEV SINGH

100983008

Department of Computer Science and Engineering

THAPAR UNIVERSITY, PATIALA

(Deemed University)

JUNE-JULY 2010

1 | P a g e

Page 2: Placement Management System Report

Placement Management System

DECLARATION

I hereby declare that the project work entitled “PLACEMENT MANAGEMENT SYSTEM”

is an authentic record of my own work carried out at SLICKSOFT TECHNOLOGIES

PATIALA as requirements of six weeks project term for the award of degree of B.E.

(Computer Science & Engineering), THAPAR University, PATIALA , under the guidance of

MR. KHANNA during 9 June to 18 July, 2010.

(Hardev Singh)

Roll No: 100983008

Date: 25-Jul-2010

ACKNOWLEDGEMENT

2 | P a g e

Page 3: Placement Management System Report

Placement Management System

I take this opportunity to express my gratitude and respect to all those who have helped me

throughout my training period on the project. This project would not have been possible

without the valuable guidance of my Course Instructor “Mr. Khannaa” (Faculty,Slicksoft

Technologies) who taught me the basic concepts of Core Java and Database handling(SQL)

and whose guidance throughout the entire work enabled me to complete this project

successfully.

I owe my regards to the entire faculty of the department of Computer Science at THAPAR

UNIVERSITY, PATIALA from where I have learnt the basics of Computer Science and I

express my sincere thanks to all my fellow course mates who supported me in my project

through various informal discussions which were very valuable to the successful completion

of my project.

Hardev Singh

100983008

3 | P a g e

Page 4: Placement Management System Report

Placement Management System

CERTIFICATE

4 | P a g e

Page 5: Placement Management System Report

Placement Management System

CONTENTS

List of Topics: Page No

1 Summary of Project…………………………………………………… 6

2 Introduction to the programming environment...........………………….7

3 Project………………………………………………………………….15

4 Details of the work including workprogram……………………………25

5 E-R diagram ……………………….......................................................28

6 Testing state the different test cases taken to test the project……….…29

7 Results………………………………………………………………......30

8 Conclusions…………………………………………………………......30

9 Future Scope of Work……………………………………………….....31

10 References………………………………………………………….......31

5 | P a g e

Page 6: Placement Management System Report

Placement Management System

SUMMARY OF THE PROJECT

The project named “Placement Mgmt. System”, a student/company information system is a

window based application created in Core Java. The project has been developed on the basis

of “Placement Cell” being presently used in the University for storing and retrieving the

information of students and companies who are registered in placement cell. The Placement

Cell maintains a large database of students wherein all the information of student including

the personal records and the academic performance in terms of the marks and grades is stored

and company information including resume of company and facilities it provide. The

software retrieves this data and displays as per the user requirement.

OBJECTIVE:

The Placement Management System was developed as an attempt to take a record of

company and students by restricting such a large database to that of a particular class of

students or company.. The System provides the facility of viewing both the personal and

academic information of the student and company it can also search for eligible students and

company and also insertion and deletion of records by the administrator. The GUI used for

the project provide instruction and the various actions performed on button clicks or on

selection of items, guide the user through a series of pages as in the Project.

TOOLS USED

The tools used for the development purpose are:

1. Java Development Kit 6.0- Several distinct features of Java are used which enhance usability of the project.

2. SQL SERVER as the Database

3.JCreater used as a GUI for java language.

6 | P a g e

Page 7: Placement Management System Report

Placement Management System

INTRODUCTION TO PROGRAMMING ENVIRONMENT

INTRODUCTION TO THE PROGRAMMING ENVIRONMENT

The project is developed core java and SQL.

Java is a programming language originally developed by Sun Microsystems and released in

1995. James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan

developed Java at Sun Microsystems, Inc. in 1991. This Language was initially called “Oak”

but was renamed “Java” in 1995.

The language derives much of its syntax from C and C++ but has a simpler object model and

fewer low-level facilities. From C, Java derives its syntax. Many of Java’s object oriented

features were influenced by C++. The major feature of Java is that it is platform

independent. Java applications are typically compiled to bytecode that can run on any Java

virtual machine(JVM) regardless of computer architecture.

Java Features

1. Platform Independent : The Write-Once-Run-Anywhere ideal has not been achieved (tuning

for different platforms usually required), but closer than with other languages.

2. Object Oriented : Java is pure object oriented throughout i.e. there is no coding outside of

class definitions, including main(). There is an extensive class library available in the core

language packages.

3. Compiler/Interpreter Combo: Code is compiled to bytecodes that are interpreted by a Java

virtual machines (JVM). This provides portability to any machine for which a virtual machine

has been written. The two steps of compilation and interpretation allow for extensive code

checking and improved security.

7 | P a g e

Page 8: Placement Management System Report

Placement Management System

4. Robust: Exception handling built-in, strong type checking (that is, all data must be

declared an explicit type), local variables must be initialized.

5. Several Dangerous Features of C and C++ Eliminated: No memory pointers are used. No

preprocessors defined. Array index limit checking.

6. Security:

No memory pointers.

Programs run inside the virtual machine sandbox.

Array index limit checking

7. Dynamic Binding: The linking of data and methods to where they are located, is done at

run-time. New classes can be loaded while a program is running. Linking is done on the fly.

Even if libraries are recompiled, there is no need to recompile code that uses classes in those

libraries. This differs from C++, which uses static binding. This can result in fragile classes

for cases where linked code is changed and memory pointers then point to the wrong

addresses.

8. Good Performance: Interpretation of bytecodes slowed performance in early versions, but

advanced virtual machines with adaptive and just-in-time compilation and other techniques

now typically provide performance up to 50% to 100% the speed of C++ programs.

10. Threading: Lightweight processes, called threads, can easily be spun off to perform

multiprocessing. We can take advantage of multiprocessors where available. Great for

multimedia displays.

11. Built-in Networking: Java was designed with networking in mind and comes with many

classes to develop sophisticated Internet communications.

Features such as eliminating memory pointers and by checking array limits greatly help to

remove program bugs. These and the other features can lead to a big speedup in program

development compared to C/C++ programming.

Java Platform

8 | P a g e

Page 9: Placement Management System Report

Placement Management System

A platform is the hardware or software environment in which a program runs. Most

platforms can be described as a combination of the operating system and hardware. The Java

platform differs from most other platforms in that it's a software-only platform that runs on

top of other hardware-based platforms.

The Java platform has two components:

The Java Virtual Machine (Java VM)

The Java Application Programming Interface (Java API)

Java Virtual Machine is standardized hypothetical computer, which is emulated inside our

computer by a program. It is base of Java platform and is ported onto various hardware-based

platforms.

The Java API is a large collection of ready-made software components that provide many

useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped

into libraries of related classes and interfaces; these libraries are known as packages.

Java Environment

Java environment includes large number of development tools and hundreds of classes and

methods. The development tools are part of the system known as Java Development Kit

(JDK) and the classes and methods are part of the Java Standard Library (JSL), also known

as the Application Programming Interface (API).Some of the basic concepts of Core Java are

main() method

* in Java, the main() method and the class in which it is defined should be declared public because the Java runtime environment has to access the main() method to execute a program

* The main () method should be declared static because it has to exist before any object of the class is created.

* The command line parameter is a String type variable – main(String args[]). The number of arguments is determined by the String class object.

Access specifiers used by java are public, private and protected.

9 | P a g e

Page 10: Placement Management System Report

Placement Management System

Variables, methods and blocks can be declared as static. The concept behind static is that only one copy of it exists. There is no concept of static classes.

Execution of program

* Save the file with file_name.java* Go on command prompt.* javac file_name.java. <Enter>* java file_name <Enter>

Interfaces

* Are set of abstract methods. * They are used to provide the concept of multiple inheritance. * They are used for implementing inheritance relationship between non-related

classes. * Keyword used for inheriting interfaces is implements.* Hybrid inheritance is possible through interfaces.* A class can extend only single class but can implement many interfaces.

Syntax: class class_name implements interface_name

Packages

* Java uses packages to organise related classes.* Different packages can have classes with same name.* They have hierarchical structure.* Java uses import statement to use packages in a program.

Syntax: import<package_name>.*;import<package_name>.<class_name>;

Inbuilt packages

* java.awt – Abstract Window Toolkit. Contain all graphics related classes.* javax.swing - Extension of awt. (javax is java extended). Provides component

classes like JLabel, JTextField, JButton and JComboBox.* java.awt.event – sub-package of awt. Used for event handling(like action on

button-clicking.* java.sql – Conatins database handling related classes.* java.util – Contains all the collection related classes.* java.lang – it is by default imported in each and every class.

10 | P a g e

Page 11: Placement Management System Report

Placement Management System

Exception handling

An exception is an abnormal condition that arises in a code sequence at run time. In

other words, an exception is a run-time error. In computer languages that do not

support exception handling, errors must be checked and handled manually—typically

through the use of error codes, and so on. This approach is as cumbersome as it is

troublesome. Java’s exception handling avoids these problems and, in the process,

brings run-time error management into the object-oriented world. Java has Exception

class which is root class to all the exception classes.

Some of the exceptions are:

* ArithmeticException* ArrayIndexOutOfBoundException* NullPointerException – When the object contains null reference and even

then we are calling some member using it.

Exception handling techniques

* try-catch block – try block contains suspected statements that can generate exceptions.

* throw - if we know there can be an exception, we can throw it. Syntax: throw new ArithmeticException();

* throws – this can be used only with methods. This is applied when user do not want to handle checked exceptions( exceptions which if not handled will give compilation errors)

Syntax: public static void main(String args[]) throws exception

* user defined exceptions - They are created by extending the Exception class.The throw and throws keywords are used while implementing user-defined exceptions.

Multi-threading

* The java.lang.Thread class is used to construct and access the individual threads in a multithreaded application.

* A process having more than one thread is said to be multithreaded. The multiple threads in the process run at the same time, perform different tasks, and interact with each other.

* 2 ways to create threads:o by extending the Thread class:-Syntax: public class <class_name> extends

Threado by Runnable Interface:- The Runnable interface consists of a single

method run(), which is executed when the thread is activated

11 | P a g e

Page 12: Placement Management System Report

Placement Management System

Java awt class hierarchy:

The Java AWT (Abstract Windowing Toolkit) contains the fundamental classes used for

constructing GUIs. The abstract Component class is the base class for the AWT. Many other

AWT classes are derived from it. Button, Canvas, and Container are some AWT classes

derived from Component. The JComponent class is derived from Container and is one of the

base classes of Swing. The JFrame class is derived from the AWT Frame class. It is usually

the main container for a GUI application. The JApplet class (derived from the AWT Applet

class) is sometimes used for Web programming, but the Applet class is more frequently used.

Java swings class hierarchy

Swing is a set of classes that provides more powerful and flexible components than are

possible with the AWT. In addition to the familiar components, such as buttons, check boxes,

and labels, Swing supplies several exciting additions, including tabbed panes, scroll panes,

trees, and tables. Even familiar components such as buttons have more capabilities in Swing.

For example, a button may have both an image and a text string associated with it. Unlike

AWT components, Swing components are not implemented by platform-specific code.

Instead, they are written entirely in Java and, therefore, are platform independent. The Swing-

related classes are contained in javax.swing. Some of the classes used are JApplet, JLabel,

JButton, JScrollPane, JTextArea, JTextField, JMenuBar, JMenu, JFrame. JApplet and JFrame

provides a method getContentPane() which returns a reference to their associated content

pane. So to get a reference to the JApplet’s container where user will add their GUI objects.

A brief description of the components of swing class is as follows:

JPanel is Swing's version of the AWT class Panel and uses the same default layout,

FlowLayout. JPanel is descended directly from JComponent.

JFrame is Swing's version of Frame and is descended directly from that class. The

components added to the frame are referred to as its contents; these are managed by the

contentPane. To add a component to a JFrame, we must use its contentPane instead.

12 | P a g e

Page 13: Placement Management System Report

Placement Management System

JDialog contains a rootPane hierarchy including a contentPane, and it allows layered and

glass panes. All dialogs are modal, which means the current thread is blocked until user

interaction with it has been completed. JDialog class is intended as the basis for creating

custom dialogs; however, some of the most common dialogs are provided through static

methods in the class JOptionPane.

JLabel, descended from JComponent, is used to create text labels.

JTextField allows editing of a single line of text. New features include the ability to justify

the text left, right, or center, and to set the text's font.

JPasswordField (a direct subclass of JTextField) you can suppress the display of input. Each

character entered can be replaced by an echo character. This allows confidential input for

passwords, for example. By default, the echo character is the asterisk, *.

JTextArea allows editing of multiple lines of text. JTextArea can be used in conjunction with

class JScrollPane to achieve scrolling. The underlying JScrollPane can be forced to always or

never have either the vertical or horizontal scrollbar;

JButton is a component the user clicks to trigger a specific action.

JRadioButton is similar to JCheckbox, except for the default icon for each class. A set of

radio buttons can be associated as a group in which only one button at a time can be selected.

JCheckBox is not a member of a checkbox group. A checkbox can be selected and

deselected, and it also displays its current state.

JComboBox is like a drop down box. You can click a drop-down arrow and select an option

from a list. For example, when the component has focus, pressing a key that corresponds to

the first character in some entry's name selects that entry. A vertical scrollbar is used for

longer lists.

JList provides a scrollable set of items from which one or more may be selected.

FlowLayout when used arranges swing components from left to right until there's no more

space available. Then it begins a new row below it and moves from left to right again. Each

component in a FlowLayout gets as much space as it needs and no more.

13 | P a g e

Page 14: Placement Management System Report

Placement Management System

BorderLayout places swing components in the North, South, East, West and center of a

container. You can add horizontal and vertical gaps between the areas.

GridLayout is a layout manager that lays out a container's components in a rectangular grid.

The container is divided into equal-sized rectangles, and one component is placed in each

rectangle.

SQL (STRUCTURED QUERY LANGUAGE)

SQL (Structured Query Language, is a database computer language designed for the

retrieval and management of data in relational database management systems (RDBMS),

database schema creation and modification, and database object access control management.

The SQL language is sub-divided into several language elements, including:

Statements which may have a persistent effect on schemas and data, or which may

control transactions, program flow, connections, sessions, or diagnostics.

Queries which retrieve data based on specific criteria.

Expressions which can produce either scalar values or tables consisting of columns

and rows of data.

Predicates which specify conditions that can be evaluated to SQL three-valued logic

(3VL) Boolean truth values and which are used to limit the effects of statements and

queries, or to change program flow.

Clauses, which are in some cases optional, constituent components of statements and

queries.

Whitespace is generally ignored in SQL statements and queries, making it easier to

format SQL code for readability.

SQL statements also include the semicolon (";") statement terminator. Though not

required on every platform, it is defined as a standard part of the SQL grammar.

14 | P a g e

Page 15: Placement Management System Report

Placement Management System

PROJECT

Objective of the Project Description of the Project Snap shots of the tables Details of the work ER diagrams Testing Result Conclusion Future Scope of the project

PROJECT

15 | P a g e

Page 16: Placement Management System Report

Placement Management System

The main objective of Placement Management System is to develop a student and company

information system. Although such a project has a very wide scope, this project contains the

most important part i.e. displaying the personal and academic information of a student and

company. The students and companies are also provided with the facility of editing some

fields like username and password. The project also allows a Data Base Administrator to

enter the information of a student and company which is then stored in the corresponding

tables in the main database .He can also delete the student and company information after

placement is over from the main database.

DESCRIPTION OF PROJECT

This section consists of the snapshots of the project GUIs along with their description.

16 | P a g e

Page 17: Placement Management System Report

Placement Management System

1. This is the Home page of the project which shows a menu bar showing various options

for student, company ,administrator and searching options for both .

17 | P a g e

Page 18: Placement Management System Report

Placement Management System

2.The second page of the project is a “Administraor Login Page” where in JButtons and

JTextFields ,JLabels are used on which Images have been used by using the ImageIcon

Class.

3.This page is to insert new company into database. Similar page is for student also. The

18 | P a g e

Page 19: Placement Management System Report

Placement Management System

JFrame used includes a label on which the images used have been inserted using the

ImageIcon class as well labels and textfields for displaying the text. This page is connected to

the “student and company tables” of the data base. The page displays “Saved Successfully”

message and on pressing “Save” and return to the main page. If information entered is correct

otherwise it will show an error message..

4.This page is for deletion of the student same page is for company deletion also. These page

provides the options to the administrator to delete the information of student and company

from the database.

19 | P a g e

Page 20: Placement Management System Report

Placement Management System

5.This is the login page for student similar login page is for company also.User enter its placemetn id ,username and password on clicking login button it matches the data from database whether he is authenticate or not otherwise error message will be displayed on the screen Error Occurred. There is a button home it will sent back you to the home page.

20 | P a g e

Page 21: Placement Management System Report

Placement Management System

6. This page is for updation for student similar page is for company also. In this page when user click on update student or company then this page will be open and the authenticate user can change its username and password other option is by default

21 | P a g e

Page 22: Placement Management System Report

Placement Management System

uneditable . on clicking the show button it will display all the relavent fields and on clicking on update button your work will be save into the database.

7. This page is for listing elegible companies for whom the person is elegible . Similar page is for company also he can also search for the elegible students for whom it can

22 | P a g e

Page 23: Placement Management System Report

Placement Management System

going for taking placement. I use JTabel in this field when user click on the list button a table is going to be open and it will list the information about student or company.

8. This page is for searching the particular student by its branch, starting letter of his name, his CGPA, or by his identity number. On selecting any of the combo box a list of its specific

23 | P a g e

Page 24: Placement Management System Report

Placement Management System

option will be pull down and after choosing option click on the buttons respective information will be displayed on the screen in the form of table.

DETAILS OF THE WORK INCLUDING WORK PROGRAM

24 | P a g e

Page 25: Placement Management System Report

Placement Management System

My six weeks work program from June, 2009 to July 2009 at SQL institute, Chandigarh was

based on step by step learning of Java fundamentals and implementing them on project.

WEEK 1#

Introduction to Java: Under this we were taught the difference between C

Language and Java and the difference between C++ and Java. This section also

included the features of java and the java buzzwords like simple, object oriented,

multithreaded, architecture-neutral, high performance, distributed etc.

Overview of Java: This included the abstraction and the OOPS principles. Along

with this we were taught how to write a simple java program. The control

statement and the lexical issues were also covered under this heading.

Data Types and Operators: The various data types in java like integer, floating

type, characters etc, variables and arrays were taught. Operators included

arithmetic operators, bitwise operators, relational operators, logical operators,

assignment operators and ‘?’ operator. The iteration and jump statements were

also taught under this.

Introducing classes: We were taught the basic class fundamentals and how to

declare objects. Methods were also introduced. The various types of constructors

were covered and the this keyword introduced.

Inheritance: The inheritance basics, different types of inheritance, method

overriding, abstract classes and the use of the final keyword were covered under

this heading.

WEEK 2#

25 | P a g e

Page 26: Placement Management System Report

Placement Management System

Methods and Classes: Method overloading, constructor overloading, static

keyword, final keyword, nested and inner classes and how to use command line

arguments were taught.

Access specifiers used by java are public, private and protected. How to specify

the scope of the classes and its members were covered in detail.

Packages and Interfaces: Defining a package and access protection was

discussed. Defining and implementing an interface were taught. This is a very

important application used in the project. Various packages were taught to

construct and import wherever necessary.

Exceptional Handling: The exception types, using try and catch, multiple catch

clauses, nested try statements, throw, throws and finally keyword and programs

using exceptional handing were taught. This is a very important concept used in

the project. Invalid entries, invalid cursor positions, wrong password, busy

connections etc are all handled using the exceptional handing concepts.

WEEK 3,4#

Multithreading: The java thread model, thread creation, and multiple thread

creation were taught. Setting thread priorities is another important function in

java.

Introducing the AWT and the SWING: Window fundamentals(applets,frame ,

panel etc), working with frames, controls, layouts, labels, text boxes, password

fields, buttons, check boxes, checkbox groups, dialog boxes, etc were taught. The

knowledge of these have been used in the project to make a graphical use

interface. There tools have been used to make the usage of the software easy,

convenient and user friendly.

Event handling: Actions are performed on button clicks making the work of the

user simple and easily understandable. How to use the interfaces to carry out the

button and list actions were covered in detail. This project contains multiple use of

such features.

26 | P a g e

Page 27: Placement Management System Report

Placement Management System

WEEK 5,6#

SQL: The basic SQL commands of insertion, deletion, updation and retrieval of

data were taught and the connectivity of database with java was explained. This

connectivity is the backbone of my project.

Some basics about IO Packages, File handling, Util package and Networking.

E-R DIAGRAM

27 | P a g e

Page 28: Placement Management System Report

Placement Management System

TESTING

28 | P a g e

Page 29: Placement Management System Report

Placement Management System

Various types of input data were entered in the system to test the system so that the system

accepts only valid and correct data. If the user enters an illegal value or invalid data he/she is

interrupted either by exceptions or by message dialog boxes. This does not effect the working

of the system but informs the user for invalid data and gives another chance to the user to

enter the information again.

1. The first case is while signing into the system. The user is required to enter the correct

user name and the password. If these do not match with the correct values the user is

prompted for an error “Login Failed” and password field will be blank. And if the

values match the user signs in successfully.

Otherwise an “INVALID” message is displayed across the screen.

2.For both the insertion cases checks have been placed in the data base itself, so that the DBA

would not be able to enter invalid data.

For example:

i) In case of entry of placement id ,company id., the following check has been

placed.

1.) Only numeric data is placed within text fields

2.) Unique number is entered by user if same no is typed again then error message

will be prompted for entering correct data.

3.) If user leave any mandatory field error message will be prompted for fulfil

correct and complete information.

ii) In case of password, the following check has been placed.

1.) Is Not Null

2.) All Special symbol are acceptable except ‘, ” , ! , ^ , & is unacceptable in text

field for avoiding SQL INJECTION.

iii) In case of administrator field following check has been placed

1.) For security purpose it show only administrator login if user is authenticated

then other options will be available like Insert and Delete.

RESULTS

29 | P a g e

Page 30: Placement Management System Report

Placement Management System

The system has been developed for the given condition and is found working

effectively. The developed system is flexible and changes whenever can be made easy.

Using the facilities and functionalities of Core Java, the software has been developed

in a neat and simple manner, thereby reducing the operators work.

The speed and accuracy are maintained in proper way. The user friendly nature of this

software developed in Core Java is very easy to work with both for the higher

management as well as other employees with little knowledge of computer. The

results obtained were fully satisfactory from the user point of view.

The system was verified with valid as well as invalid data in each manner. The system

is run with an insight into the necessary modifications that may require in the

CONCLUSION

“Placement Management System” has been used in the placement cell. Although the project

is just a small part of the whole system, but an effort has been made to improve upon the

existing GUI (Graphical User Interface) and to make it more attractive and user friendly and

has been appreciated by the users who tested it. The Project is user friendly in the sense that

there are buttons for navigation to each page and it has benefitted the developer in the sense

that various concepts of Core Java could be implemented as well as newer concepts of SQL

SERVER and JCREATER could be learnt while working on the project.

30 | P a g e

Page 31: Placement Management System Report

Placement Management System

FUTURE SCOPE OF THE PROJECT

The project is easily extensible and can be improved by further incremental releases

of the same.

We can extend this project by sending emails to companies and students information

regarding placement dates ,other eligibility criteria also.

New modules can be easily added as it requires only an addition of a new package on

button click.

Further it is intended in the future to develop a separate module named training that

would make use for students for their six months industrial training .

REFERENCES

The Complete Reference Java2 by Herbert Schildt

Class Notes

www.java .sun.com

www.java2s.comSQL introduction- Wikipedia, the free encyclopedia

Simplified Approach to DBMS by Prateek Bhatia

********END********

31 | P a g e