PMS Project Report
PMS Project Report
Bachelor of Technology
In
Computer Engineering
Certificate
i
Candidate’s Declaration
I hereby declare that the work, which is being presented in the Project report,
entitled “PLACEMENT MANAGEMENT SYSTEM” in partial fulfilment for
the award of Degree of “Bachelor of Technology” in Department of Computer
Science & Engineering with Specialization in Computer Engineering and
submitted to the Department of Computer Science & Engineering, Arya
Institute of Engineering & Technology, is a record of my own investigations
carried under the Guidance of Mr. Satish Kumar Alaria, Assistant Professor,
Department of Computer Science & Engineering.
(Signature of Candidate)
Candidate Name
Harsh Raj
Roll No.: 19EAICS062
ii
Abstract
The increasing advantages of automated systems now are at the highest position as a result many
manual processes are automated. Since the automated system is in demand nowadays, educational
infrastructures like colleges are making their manual or semi-automated system function
completely on a computer. One such system that concerns a college is the placement system's
automation. The project aims at developing a web application for the placement cell. The
Placement Management System provides two distinct modules for students and placement officers.
It enables students to register online and upload their academic and personal details. They will
have their portals to update information as necessary and can view recent and upcoming job
postings on their dashboard. Whereas the Placement Officers will be able to utilize it to manage the
student data as well as the hiring company's data concerning the available jobs. The benefits of the
system will be to provide enhanced facilities and assemble all the placement-related tasks carried
out on various platforms to a single application. This will give both the placement officer and
students an accurate communication channel and reduces repetitious work that must be carried out.
Additionally, email alerts can be provided to students in case if any new activity takes place which
ensures that no important announcement is missed.
From a student’s perspective, placements can bring a wide range of benefits and opportunities.
Training and management of placement is a crucial part of an educational institution in which most
of the work is done manually. Manual system in the colleges requires a lot of manpower and time.
With this project we aim to develop a web portal to solve this issue. The project is aimed at
developing an application for the placement department of the college. The system is an
application which will be accessed and effectively used throughout the organization with proper
login enabled. It can also be used as an application for the Placement Officers in the college to
manage the student information about placement thus reducing the manual work and consumes less
paperwork. The system also provides the facility of viewing the personal and academic information
of the student. The system gets the requested list of candidates for the companies who would like
to recruit the people according to their eligibility criteria. Laravel framework is used to facilitate
the process of making the program.
iii
Acknowledgement
I would like to thank the Department of Computer Science & Engineering, Arya Institute Of
Engineering & Technology, Head Of Department Dr. Manish Kumar Mukhija for providing us
the opportunity to have such a project where we could get the exposure of competing and
performing with students from other colleges and universities.
I would also like to express my heartful gratitude to Mr. Satish Kumar Alaria under whose
guidance I have been able to complete this project successfully and gain experience and
knowledge about the various topics of this.
I would also like to thank all the teaching assistants of college; they have been very helpful
throughout the process both in solving our doubts and motivating us to complete our tasks
and assignments and helping us learn.
I would also like to express my deepest appreciation for Ms. Ranu Sewda for guiding me
throughout the project and all the people who have directly or indirectly helped me to
successfully complete the project.
Harsh Raj
19EAICS062
iv
Project Objectives
v
TABLE OF CONTENTS
S. NO. TITLE PAGE NO.
Cover Page
Department Certificate i
Candidate’s Declaration ii
Abstract iii
Acknowledgement iv
Project Objectives v
List of Tables vi
vi
Chapter 1
INTRODUCTION
1.2 Purpose:
For the purpose of training and placement of the student in colleges, TPO’s have to collect the
information and CV’s of students and manages them manually and arranges them according to
various streams.
If any modification is required that is to be also done manually. So, to reduce the job required to
manage CV’s and the information of various recruiters, a new system is proposed which is
processed through computers.
1
Students can maintain their information and can update it. Notifications are sent to students
about the companies. Students can access previous information about placement.
2
Chapter 2
T&P cell mainly include the details of students. The percentage of the students must be
appropriate and true. The notices can be generated, so that we notify all the departments the
corresponding information about campus recruitment drives. The student detail can also be
viewed.
EXISTING SYSTEM:
3
Marks of each student are collected from green book (a book containing marks and
other details maintained by each department in college).
These excel sheets are used to prepare a list of students who full-fill the requirements of a
company visiting the campus and these students are eligible to attend the campus placement.
PROPOSED SYSTEM:
In the proposed system the user need not do all the hectic work. he will be provided with an
interface with which he can easily get his work done.
The following are the facilities that are provided by the system to the user.
• Notice generation
Here user must provide information to the system about company name, date and venue
at which campus drive might take place. With this information the system will generate
a notice which can be seen on students’ account to intimate students about placement
drive.
• Result analysis
Here the user can get the results which are released and store them for later usage.
• Posts
Here the user is provided to post updates or any necessary details to students or others
(for example-company officials) depending on his need.
4
2.1.2 PRODUCT FEATURES
• Complete automation is possible in this sector, which is against the main disadvantage
namely time consuming.
• Can maintain student details who have been studying in the college.
• Any kind of lists based on students’ profile can be retrieved with in less time.
• Results are uploaded directly from net so that no errors exist in calculating percentages.
• Effective and good means of communication can be facilitated as we have included mailing
module in the proposed system.
• User can also register student and can view and delete their profile.
We are overcoming the difficulty of student details which were manual in the current
system and here we generate detailed information about the students which will save our time to
inform each, and every batch and section and student profile is maintained.
A student should be able to login to the system through the first page of the application,
and mention his required username and he should get his details which he can view and update it.
An administrator can login into his account, and he will update the student information.
Usability
5
Reliability
• The system is more reliable because of the qualities that are inherited from the chosen
platform PHP. The code built by using php is more reliable.
Supportability
• The system is designed to be the cross platform supportable. The system is supported on a
wide range of hardware and any software platform. This application is being developed using
XAMPP, hence it is extremely portable.
Implementation
• The system is implemented in web environment. The apache tomcat is used as the web
server and windows XP/vista/7 is used as the platform.
Interface
• The user interface is based on the web browser. The application is developed using JS and
HTML.
• The Interface design is aimed at a flexible front-end communication to provide the user with
clear information in navigating a user-friendly interface is planned.
• The separate business logic at server side from the student interface ensures good
performance.
• The system exhibits high performance because it is well optimized. The business logic is
clearly separate from the User Interface.
• The response to the user is within seconds, providing all the information briefly.
6
2.2.5 Hardware Requirements:
7
Chapter 3
FEASIBILITY STUDY
• Technical Feasibility
• Economic Feasibility
• Operational Feasibility
8
used as a basis for assessing economic feasibility. This system needs some more initial
investment than the existing system, but it can be justifiable that it will improve quality of
service.
Our project is economically feasible. It does not require much cost to be involved in the
overall process. The overall objective is in easing out the recruitment processes.
9
Chapter 4
SYSTEM DESIGN
Definition
The most creative and challenging face of the system development is System Design. It
provides the understanding and procedural details necessary for the logical and physical stages of
development. In designing a new system, the system analyst must have a clear understanding of
the objectives, which the design is aiming to fulfill. The first step is to determine how the output
is to be produced and in what format. Second, input data and master files have to be designed to
meet the requirements of the proposed output. The operational phases are handled through
program construction and testing.
Design of the system can be defined as a process of applying various techniques and
principles for the purpose of defining a device, a process or a system in sufficient detail to permit
its physical realization. Thus system design is a solution to “how to” approach to the creation of
a new system. This important phase provides the understanding and the procedural details
necessary for implementing the system recommended in the feasibility study. The design step
provides a data design, architectural design, and a procedural design.
ER Modeling:
The schemas for the database application can be displayed by means of graphical
notation known as Entity Relationship diagram.
The ER model describes data as entities, relationships, and attributes.
10
RELATIONSHIPS BETWEEN ENTITIES
Whenever an attribute of one entity type refers to another entity type, a relationship exists. In the
initial design of entity types, relationships are typically captured in the form of attributes. As the
design is refined these attributes get converted into relationships between entity types.
In the ER diagrams the emphasis is on representing the schemas rather than the instances. This is
more useful in the database design because a database schema changes rarely, whereas contents
of the entity sets change frequently.
11
ER Diagram
12
Chapter 5
DESCRIPTION OF FRONT END
13
<HTML>
<HEAD>
<TITLE> YOUR TITLE GOES HERE</TITLE>
</HEAD>
</HTML>
6. <P>…</P> - This tag pair used to indicate the paragraph. Any text that needs to be
separated into a paragraph must be put in within a paragraph tag.
7. <B>…</B> - This tag pair is used to indicate the text within tag pair must be in bold
letters.
8. <I>…</I> - This tag pair is used to indicate the text within the tag pair must be in italic
letters.
9. <IMG SRC=” ../images/corp.gif” ALT=: LOGO” HEIGHT=”100” WIDTH=”100”> -
This tag is used to embed images in the HTML pages. The SRC attribute is used to locate the file
name under a directory, the ALT attribute is used to indicate the TOOLTIP message that must
appear, and HEIGHT and WIDTH indicate the height and the width of the images that is being
shown on the HTML pages.
10. <H1 ALIGN=” CENTER”>…</H1> - This pair of tags is used to indicate that the text
must be main title for the HTML page. The ALIGN attribute can be used to set the alignment to
“center” or “left” or “right”
11. <H1>Heading1</H1>
<H2>Heading2</H2>
<H3>Heading3</H3> - This set of tags will show the Headings in smaller fonts as the heading
increases.
12. ALIGN – The align attribute can be used for headings as well. For <P>…</P> tags also,
the ALIGN attribute can be used.
13. <BR> - Used to insert a carriage return in the HTML file. The attribute to be used for this
is the CLEAR attribute.
14. <CENTER>…</CENTER> - To center the entire block of text these tags are used.
15. <A>…</A> - Anchor Tags. These tags are used linking namely hyper linking.
Example:
14
<A HREF=http://www.ibm.com>Visit IBM Web Pages</A>
16. Images Basics: Image Tag is used to embed images in the html document. The general
syntax is
<IMG SRC=” logo.gif”>
17. Tables <TABLE>…</TABLE> - This is used to specify the table type of layout in the
HTML document.
<TABLE BORDER=”1”>
<TR>
<TH>Car</TH>
<TH>Company</TH>
</TR>
<TR>
<TH>Concorde</TH>
<TH>Chrysler</TH>
</TR>
</TABLE>
18. Fonts: The <FONT> …</FONT> tag is used to specify text in a particular font.
Example:
<FONT SIZE=”10”> this is a line of text with size 10</FONT>
Syntax :<FONT>…</FONT>
15
Chapter 6
DESCRIPTION OF SERVER LANGUAGE
Features of PHP:
History:
Licensing
PHP is free software released under the PHP License, which insists that:
Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from [email protected]. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
its "PHP Foo" or "phpfoo"
16
This restriction on use of the name PHP makes it incompatible with the GNU General Public
License (GPL).
Usage:
PHP acts primarily as a filter, taking input from a file or stream containing text and/or PHP
instructions and outputting another stream of data; most commonly the output will be HTML.
Since PHP 4, the PHP parser compiles input to produce byte code for processing by the Zend
Engine, giving improved performance over its interpreter predecessor.
Originally designed to create dynamic Web pages, PHP now focuses mainly on server-side
scripting, and it is like other server-side scripting languages that provide dynamic content from a
Web server to a client, such as Microsoft's ASP.NET, Sun Microsystems' Java Server
Pages, and mod_perl. PHP has also attracted the development of many frameworks that provide
building blocks and a design structure to promote rapid application development (RAD). Some
of these include CakePHP, Symfony, CodeIgniter, Yii Framework, and Zend Framework,
offering features like other web application frameworks.
The LAMP architecture has become popular in the Web industry as a way of deploying Web
applications. PHP is commonly used as the P in this bundle
alongside Linux, Apache, and MySQL, although the P may also refer to Python or Perl or some
17
mix of the three. Similar packages are also available for Windows and OS X, then
called WAMP and MAMP, with the first letter standing for the respective operating system.
As of April 2007, over 20 million Internet domains had Web services hosted on servers with
PHP installed and mod_php was recorded as the most popular Apache HTTP Server module.
PHP is used as the server-side programming language on 75% of all Web sites. Web content
management systems written in PHP include MediaWiki, Joomla, eZ.
Syntax:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PHP Test</title>
</head>
<body>
<?php
echo 'Hello World';
?>
</body>
</html>
The PHP interpreter only executes PHP code within its delimiters. Anything outside its
delimiters is not processed by PHP (although non-PHP text is still subject to control
structures described in PHP code). The most common delimiters are <?php to open and?> to
close PHP sections. <script language="php"> and </script> delimiters are also available, as are
the shortened forms <? or <? = (which is used to echo back a string or variable) and?> as well
as ASP-style short forms <%or <%= and %>. While short delimiters are used, they make script
files less portable as support for them can be disabled in the PHP configuration, and so they are
discouraged. The purpose of all these delimiters is to separate PHP code from non-PHP code,
including HTML.
18
The first form of delimiters, <?php and?>, in XHTML and other XML documents, creates
correctly formed XML 'processing instructions’. This means that the resulting mixture of PHP
code and other markup in the server-side file is itself well-formed XML.
Variables are prefixed with a dollar symbol, and a type does not need to be specified in advance.
Unlike function and class names, variable names are case sensitive. Both double-quoted ("")
and heredoc strings provide the ability to interpolate a variable's value into the string. PHP
treats newlines as whitespace in the manner of a free-form language (except when inside string
quotes), and statements are terminated by a semicolon. PHP has three types of comment
syntax: /* */ marks block and inline comments; //as well as # are used for one-line comments.
The echo statement is one of several facilities PHP provides to output text, e.g., to a Web
browser.
In terms of keywords and language syntax, PHP is similar to most high-level languages that
follow the C style syntax. if conditions, for and while loops, and function returns are similar in
syntax to languages such as C, C++, Java, and Perl.
Data types:
19
and values, and the two can be intermingled.PHP also supports strings, which can be used with
single quotes, double quotes, now doc or heredoc syntax.
The Standard PHP Library (SPL) attempts to solve standard problems and implements efficient
data access interfaces and classes.
Functions:
PHP has hundreds of base functions and thousands more via extensions. These functions are well
documented on the PHP site; however, the built-in library has a wide variety of naming
conventions and inconsistencies. PHP currently has no functions for thread programming,
although it does support multiprocess programming on POSIX systems.
echo 'My name is ' . myFunction() . '!'; //outputs the text and the return
variable of the
//myFunction, the function is also
called
//the result of the output will be 'My name is John Doe!'
Objects:
Basic object-oriented programming functionality was added in PHP 3 and improved in PHP 4.
Object handling was completely rewritten for PHP 5, expanding the feature set and enhancing
performance. In previous versions of PHP, objects were handled like value types. The drawback
of this method was that the whole object was copied when a variable was assigned or passed as a
parameter to a method. In the new approach, objects are referenced by handle, and not by value.
PHP 5 introduced private and protected member variables and methods, along with abstract
classes, final classes, abstract methods, and final methods. It also introduced a standard way of
declaring constructors and destructors, like that of other object-oriented languages such as C++,
and a standard exception handling model. Furthermore, PHP 5 added interfaces and allowed for
multiple interfaces to be implemented. There are special interfaces that allow objects to interact
20
with the runtime system. Objects implementing Array Access can be used with array syntax and
objects implementing Iterator or Iterator Aggregate can be used with the foreach language
construct. There is no virtual table feature in the engine, so static variables are bound with a
name instead of a reference at compile time.
class Person {
public $firstName;
public $lastName;
The visibility of PHP properties and methods refers to visibility in PHP. It is defined using
the keywords public, private, and protected. The default is public, if only var is used; var is a
21
synonym for public. Items declared public can be accessed everywhere. protected limits access
to inherited classes (and to the class that defines the item). private limits visibility only to the
class that defines the item. Objects of the same type have access to each other's private and
protected members even though they are not the same instance. PHP's member visibility features
have sometimes been described as "highly useful."However, they have also sometimes been
described as "at best irrelevant and at worst positively harmful."
Speed optimization:
PHP source code is compiled on-the-fly to an internal format that can be executed by the PHP
engine. In order to speed up execution time and not have to compile the PHP source code every
time the Web page is accessed, PHP scripts can also be deployed in executable format using
a PHP compiler.
Code optimizers aim to enhance the performance of the compiled code by reducing its size,
merging redundant instructions and making other changes that can reduce the execution time.
With PHP, there are often opportunities for code optimization. An example of a code optimizer
is the accelerator PHP extension.
Another approach for reducing compilation overhead for PHP servers is using an opcode cache.
Opcode caches work by caching the compiled form of a PHP script (opcodes) in shared
memory to avoid the overhead of parsing and compiling the code every time the script runs. An
opcode cache, APC, is planned to be built into an upcoming release of PHP.
Opcode caching and code optimization can be combined for best efficiency, as the modifications
do not depend on each other (they happen in distinct stages of the compilation).
XAMPP:
XAMPP is a free and open-source cross-platform web server solution stack package, consisting
mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in
the PHP and Perl programming languages.
22
▪ X (to be read as "cross", meaning cross-platform)
▪ Apache HTTP Server
▪ MySQL
▪ PHP
▪ Perl
The program is released under the terms of the GNU General Public License and acts as a
free web server capable of serving dynamic pages. XAMPP is available for Microsoft
Windows, Linux, Solaris, and Mac OS X, and is mainly used for web development projects.
XAMPP requires only one zip, tar, 7z, or exe file to be downloaded and run, and little or no
configuration of the various components that make up the web server is required. XAMPP is
regularly updated to incorporate the latest releases of Apache/MySQL/PHP and Perl. It also
comes with a number of other modules including OpenSSL and phpMyAdmin.
Self-contained, multiple instances of XAMPP can exist on a single computer, and any given
instance can be copied from one computer to another.
Components:
▪ Apache 2.2.21
▪ MySQL 5.5.16
▪ PHP 5.3.8
▪ phpMyAdmin 3.4.5
▪ FileZilla FTP Server 0.9.39
▪ Tomcat 7.0
23
Data Dictionary:
24
Mobile INT -
Email_id Text -
Address Text -
tenper INT -
tenpassyear INT -
twelveper INT -
Twelvepassyear INT -
grper INT -
grpassyear INT -
25
Chapter 7
TESTING
7.1 Introduction
In general, software engineers distinguish software faults from software failures. In case
of a failure, the software does not do what the user expects. A fault is a programming error that
may or may not actually manifest as a failure. A fault can also be described as an error in the
correctness of the semantic of a computer program. A fault will become a failure if the exact
computation conditions are met, one of them being that the faulty portion of computer software
executes on the CPU. A fault can also turn into a failure when the software is ported to a
different hardware platform or a different compiler, or when the software gets extended.
Software testing is the technical investigation of the product under test to provide stakeholders
with quality related information.
Regardless of the methods used or level of formality involved the desired result of testing
is a level of confidence in the software so that the organization is confident that the software has
an acceptable defect rate. What constitutes an acceptable defect rate depends on the nature of the
software. An arcade video game designed to simulate flying an airplane would presumably have
a much higher tolerance for defects than software used to control an actual airliner.
A problem with software testing is that the number of defects in a software product can
be very large, and the number of configurations of the product larger still. Bugs that occur
infrequently are difficult to find in testing. A rule of thumb is that a system that is expected to
function without faults for a certain length of time must have already been tested for at least that
length of time. This has severe consequences for projects to write long-lived reliable software.
26
A common practice of software testing is that it is performed by an independent group of
testers after the functionality is developed but before it is shipped to the customer. This practice
often results in the testing phase being used as project buffer to compensate for project delays.
Another practice is to start software testing at the same moment the project starts and it is a
continuous process until the project finishes.
Another common practice is for test suites to be developed during technical support
escalation procedures. Such tests are then maintained in regression testing suites to ensure that
future updates to the software don't repeat any of the known mistakes.
7.2 Definition
Software Testing is the process used to help identify the correctness, completeness,
security, and quality of developed computer software. Testing is a process of technical
investigation, performed on behalf of stakeholders, that is intended to reveal quality-related
information about the product with respect to the context in which it is intended to operate. This
includes, but is not limited to, the process of executing a program or application with the intent
of finding errors. Quality is not an absolute; it is value to some person. With that in mind, testing
can never completely establish the correctness of arbitrary computer software; testing furnishes a
criticism or comparison that compares the state and behavior of the product against a
specification. An important point is that software testing should be distinguished from the
separate discipline of Software Quality Assurance (SQA), which encompasses all business
process areas, not just testing.
There are many approaches to software testing, but effective testing of complex products
is essentially a process of investigation, not merely a matter of creating and following routine
procedure. One definition of testing is "the process of questioning a product in order to evaluate
it", where the "questions" are operations, the tester attempts to execute with the product, and the
product answers with its behavior in reaction to the probing of the tester [citation needed].
Although most of the intellectual processes of testing are nearly identical to that of review or
inspection, the word testing is connoted to mean the dynamic analysis of the product—putting
the product through its paces. Some of the common quality attributes include capability,
reliability, efficiency, portability, maintainability, compatibility, and usability. A good test is
27
sometimes described as one which reveals an error; however, more recent thinking suggests that
a good test is one which reveals information of interest to someone who matters within the
project community.
> Regression Testing: It is one of the best and important testing. Regression testing is the
process in which the functionality, which is already tested before, is once again tested whenever
some new change is added in order to check whether the existing functionality remains same.
28
>Re-Testing: It is the process in which testing is performed on some functionality which is
already tested before to make sure that the defects are reproducible and to rule out the
environment’s issues if at all any defects are there.
Static Testing: It is the testing, which is performed on an application when it is not been
executed.
Monkey Testing: It is the process in which abnormal operations, beyond capacity operations
are done on the application to check the stability of it in spite of the user’s abnormal behavior.
Compatibility testing: It is the testing process in which usually the products are tested on the
environments with different combinations of databases (application servers, browsers…etc) In
order to check how far the product is compatible with all these environments platform
combination.
Installation Testing: It is the process of testing in which the tester try to install or try to
deploy the module into the corresponding environment by following the guidelines produced in
the deployment document and check whether the installation is successful or not.
29
Chapter 8
HOMEPAGE
LOGIN PANEL
30
STUDENT LOGIN
COMPANY REGISTRATION
31
STUDENT REGISTRATION FORM
32
STUDENT’S DETAILS
POST COMMENTS
33
VIEW SCHEDULE
COMPANY SCHEDULE
34
STUDENT HOME PAGE
RECRUITING COMPANIES
35
COMPANY HOMEPAGE
36
SELECTED STUDENTS
37
Chapter 9
BIBLIOGRAPHY
BOOKS WRITERS
1. Developing PHP Applications for IBM Whei-Jen Chen, Holger Kirstein, Daniel
Data Servers Krook, Kiran H Nair, Piotr Pietrzak
LINKS
1. www.w3schools.com/php/
2. www.php.net/
3. en.wikipedia.org/wiki/PHP
4. www.planet-php.net/
38