You are on page 1of 34

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

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

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

CERTIFICATE
3|Page

Placement Management System

4|Page

Placement Management System

CONTENTS
List of Topics:
1 2 3 4 5 6 7 8 9 10

Page No

Summary of Project 6 Introduction to the programming environment............7 Project.15 Details of the work including workprogram25 E-R diagram .......................................................28 Testing state the different test cases taken to test the project.29 Results......30 Conclusions......30 Future Scope of Work.....31 References.......31

5|Page

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

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 Javas 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|Page

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

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

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.

10 | P a g e

Placement Management System

* *

java.util Contains all the collection related classes. java.lang it is by default imported in each and every class.

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 manuallytypically through the use of error codes, and so on. This approach is as cumbersome as it is troublesome. Javas 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.

11 | P a g e

Placement Management System

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 Thread o by Runnable Interface:- The Runnable interface consists of a single method run(), which is executed when the thread is activated
*

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 Swingrelated 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 JApplets container where user will add their GUI objects. A brief description of the components of swing class is as follows:

12 | P a g e

Placement Management System

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. 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
13 | P a g e

Placement Management System

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

14 | P a g e

Placement Management System

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.

PROJECT

Objective of the Project Description of the Project Snap shots of the tables Details of the work ER diagrams Testing

15 | P a g e

Placement Management System

Result Conclusion Future Scope of the project

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

16 | P a g e

Placement Management System

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

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

Placement Management System

18 | P a g e

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.

19 | P a g e

Placement Management System

3.This page is to insert new company into database. Similar page is for student also. The 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..

20 | P a g e

Placement Management System

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.

21 | P a g e

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.

22 | P a g e

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

23 | P a g e

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.

24 | P a g e

Placement Management System

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

25 | P a g e

Placement Management System

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

26 | P a g e

Placement Management System

DETAILS OF THE WORK INCLUDING WORK PROGRAM


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.

27 | P a g e

Placement Management System

WEEK 2#

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 Packages and Interfaces: Defining a package and access protection was

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

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.

28 | P a g e

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.

29 | P a g e

Placement Management System

E-R DIAGRAM

30 | P a g e

Placement Management System

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

Is Not Null 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


31 | P a g e

Placement Management System

1.) For security purpose it show only administrator login if user is authenticated then other options will be available like Insert and Delete.

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

32 | P a g e

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

33 | P a g e

Placement Management System

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

34 | P a g e

You might also like