Upload
devanabha
View
10.759
Download
7
Embed Size (px)
Citation preview
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
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
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
Placement Management System
CERTIFICATE
4 | P a g e
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Placement Management System
TESTING
28 | P a g e
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
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
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