You are on page 1of 120

Presentation on project

Online Recruitment

INTRODUCTION
Online Recruitment System enables the users to have the typical examination facilities and features at their disposal. It resolves typical issues of manual examination processes and activities into a controlled and closely monitored work flow in the architecture of the application. This multi platform solution brings in by default, the basic intelligence and immense possibilities for further extension of the application as required by the user. The system makes it friendly to distribute, share and manage the examination entities with higher efficiency and easiness. The objective of these websites is to serve as a common meeting ground for jobseekers and employers, both locally and globally, where the candidates find their dream jobs and recruiters find the right candidate to fulfill their needs. These sites are specifically designed for those who seek the most demanding and challenging positions in their chosen field, with the most dynamic employers. Thousands of websites compete for your attention-each has its own unique interface, URL and peculiarities.

DAY - 1

Four Project Dimensions

People Process Product Technology

Trade-off Triangle
Fast, cheap, good. Choose two.

Trade-off Triangle
Know which of these are fixed & variable for every project

People
Its always a people problem Gerald
Weinberg, The Secrets of Consulting

Developer productivity: 10-to-1 range - Improvements:


- Team selection - Team organization Motivation

People 2
Other success factors
Matching people to tasks Career development Balance: individual and team Clear communication

Process
Is process stifling? 2 Types: Management & Technical Development fundamentals Quality assurance Risk management Lifecycle planning Avoid abuse by neglect

Process 2

Customer orientation Process maturity improvement Rework avoidance

Product
The tangible dimension Product size management Product characteristics and requirements Feature creep management

Technology
Often the least important dimension Language and tool selection Value and cost of reuse

Planning
Determine requirements Determine resources Select lifecycle model Determine product features strategy

Tracking
Cost, effort, schedule Planned vs. Actual How to handle when things go off plan?

Measurements
To date and projected
Cost Schedule Effort Product features Earned value analysis Defect rates Productivity (ex: SLOC) Complexity (ex: function points)

Alternatives

Technical Fundamentals
Requirements Analysis Design Construction Quality Assurance Deployment

Project Phases
All projects are divided into phases All phases together are known as the Project Life Cycle Each phase is marked by completion of Deliverables Identify the primary software project phases

Lifecycle Relationships

Seven Core Project Phases

Project Phases

Phases Variation
Concept Exploration System Exploration Requirements

Design

Implementation

Installation

Operations and Support

Maintenance

Retirement

Technical Fundamentals
Requirements Analysis Design Construction Quality Assurance Deployment

DAY - 2

DIFFERENT MODULES OF PROJECT

Modules
1. Administrator 2. Jobseekers 3. Company

OBJECTIVE
This project is aimed at developing a web-based and central

recruitment Process system for the HR Group for a company. Some


features of this system will be creating vacancies, storing application data, and Interview process initiation, Scheduling interviews, storing

Interview results for the applicant and finally Hiring of the applicant.
Reports may be required to be generated for the use of the HR group.

DAY - 3

PROJECT CATEGORY

INPUT
The input design is the link between the information system and the user. It comprises the developing specification and procedures for data preparation and those steps are necessary to put transaction data in to a usable form for processing can be achieved by inspecting the computer to read data from a written or printed document or it can occur by having people keying the data directly into the system. The design of input focuses on controlling the amount of input required, controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The input is designed in such a way so that it provides security and ease of use with retaining the privacy. Input Design considered the following things: What data should be given as input? How the data should be arranged or coded? The dialog to guide the operating personnel in providing input. Methods for preparing input validations and steps to follow when error occur.

Inputs in our Project

Providing details for registration of candidate or company.

Add/ edit/ delete job details.


Create/ edit/ delete exams. Add/ edit/ delete questions. Change passwords (candidate, admin or company) Edit/ update profile (candidate, admin or company)

OUTPUT
A quality output is one, which meets the requirements of the end user and presents the information clearly. In any system results of processing are communicated to the users and to other system through outputs. In output

design it is determined how the information is to be displaced for immediate


need and also the hard copy output. It is the most important and direct source information to the user. Efficient and intelligent output design improves the systems relationship to help user decision-making. Designing computer output should proceed in an organized, well thought out manner; the right output must be developed while ensuring that each output element is designed so that people will find the system can use easily and

effectively. When analysis design computer output, they should Identify the
specific output that is needed to meet the requirements.

OUTPUT(continue)
Select methods for presenting information. Create document, report, or other formats that contain information produced by the system. The output form of an information system should accomplish one or more of the following objectives.

Convey information about past activities, current status or projections of


the Future. Signal important events, opportunities, problems, or warnings.

Trigger an action.
Confirm an action.

Outputs to our project

View questions.

View exams.
View company details View job details View exam result

PROPOSED SYSTEM

Expected Advantages of Proposed System


Online Recruitment System enables the users to have the typical
examination facilities and features at their disposal. It resolves typical issues of manual examination processes and

activities into a controlled and closely monitored work flow in the


architecture of the application. This multi platform solution brings in by default, the basic

intelligence and immense possibilities for further extension of the


application as required by the user. The system makes it friendly to distribute, share and manage the

examination entities with higher efficiency and easiness.


It is a comprehensive resource for finding a job online.

Description of the Project

Projects Overview
Online Recruitment is aimed at developing a web-based and central recruitment Process system for the HR Group for a company. Some features of this system will be creating vacancies, storing application data, and Interview process initiation, Scheduling Interviews, Storing Interview results for the applicant and finally hiring of the applicant. This project Online Recruitment System is an online website in which

jobseekers can register themselves and then attend the exam.


Based on the outcome of the exam the jobseekers will be shortlisted. The details of the examination & Date of the examination will be made available to them through the website. People all around the world can apply and register. It has made all the process easy.

MY MODULE

Administrator

. Administrator: Administrator has the full authority over the website.

He can view all the registered users and have the power to delete
them. He can edit the web pages and update them. He can view all the company details also.

Job Seeker

Jobseeker: A jobseeker can register himself. After registration, he

will be directed to his homepage. Here he can update his profile,


change password and see the examination details and all.

Company

Company: A company can register itself, conduct online

examination, approve or disapprove candidates attending


examination and provides results about the selected candidates.

DAY - 4

Database Tables

Login

Fieldname Username Password Status

Data Type Text Text Text

Key Primary key -

Details

Fieldname Username Name Gender DateOfBirth CollegeName CollegePhone CollegeEmail Branch Mark Degree Email_id Telephone Address State Pincode Category

Data Type Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Key Primary key --

Experienced

Fieldname Username ExpYears Company Designation Salary ComAddress

Data Type Text Text Text Text Text Text

Key Primary key -

Job Details

Fieldname JobId Post Criteria NoOfVacancies Salary LastDate

Data Type Text Text Text Text Text Text

Key -

Exam

Fieldname JobID Post ExamID ExamName Cutoff

Data Type Text Text Text Text Text

Key -

Question

Fieldname JobID ExamID QuestionNo Question Option1 Option2 Option3 Option4 Answer

Data Type Text Text Text Text Text Text Text Text Text

Key Primary key -

Com

Fieldname CName CAddress CPost CCriteria CUsername CEmail CContact CCutoff

Data Type Text Text Text Text Text Text Text Text

Key Primary key -

Result

Fieldname StudentID examID JobID mark

Data Type Text Text Text Text

Key -

Temp_data

Fieldname StudentID QstNo Qst Ch1 Ch2 Ch3 Ch4 Ans

Data Type Text Text Text Text Text Text Text Text

Key -

Data Flow Diagrams

Context Level
Administrator

Company

Online Recruitment System

Candidate

Database

Admin Level 1
Admin Login Username Password Category

If authenticated user

Company Mangement System 1.1.1

User Managemen t 1.1.2

Data store

Short listing of Candidates

Company Level 1

Update user Validate Company Status

Admin

View Details

Validate user

Update

User Management Level 1


View Resume

Admin

Resume of Registered users

User details

View Details

Experience details

Education details

Company Level 2
Login

Company

Change Password

Update Password

View Result

Edit Profile

Update Company details

Insert Job details Job Details Add Questions View

Candidate
Jobseeker

Edit Profile

Update User details

Change Passwor d

Update Password

View Job Details

Job details

Attend Exam

ASPECTS OF IMPLEMENTATION

Design Patterns
:: What is a Design Pattern?

Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. [1] [Christopher Alexander] Design patterns capture the best practices of experienced object-oriented software developers. Design patterns are solutions to general software development problems.

DATA ACCESS OBJECTS

Data Access Objects (DAOs) : can be used in a large percentage of applications - anywhere data storage is required. hide all details of data storage from the rest of the application. act as an intermediary between your application and the database. They move data back and forth between Java objects and database records. allow ripple effects from possible changes to the persistence mechanism to be confined to a specific area.

ADVANTAGES OF DAO Enables Transparency Enables Easier Migration Not Useful for Container-Managed Persistence

Adds Extra Layer


Needs Class Hierarchy Design

Pattern: Singleton
a class that has only one instance

Restricting object creation

problem: sometimes we will really only ever need one instance of a particular class
examples: keyboard reader, bank data collection we'd like to make it illegal to have more than one, just for safety's sake

why we care:
creating lots of objects can take a lot of time extra objects take up memory it is a pain to deal with different objects floating around if they are essentially the same

Singleton pattern

singleton: an object that is the only object of its type ensures that a class has at most one instance provides a global access point to that instance takes responsibility of managing that instance away from the programmer (illegal to construct more instances) provide accessor method that allows users to see the (one and only) instance possibly the most known / popular design pattern! (this should tell you something)

Restricting objects,
One way to avoid creating objects: use static methods instead
Math, System, JOptionPane

(continued)

is this a good alternative choice? Why or why not?

Problem: lacks flexibility Example: static methods can't be passed as an argument to a method, nor returned Problem: cannot be extended Example: static methods can't be subclassed and overridden like a singleton's could be

Implementing Singleton
make constructor(s) private so that they can not be called from outside declare a single static private instance of the class write a public getInstance() or similar method that allows access to the single instance
possibly protect / synchronize this method to ensure that it will work in a multi-threaded program

Singleton sequence diagram

Singleton example
consider a singleton class RandomGenerator that generates random numbers
public class RandomGenerator { private static RandomGenerator gen = new RandomGenerator(); public static RandomGenerator getInstance() { return gen; } private RandomGenerator() {}

public double nextNumber() { return Math.random(); }


}

possible problem: always creates the instance, even if it isn't used

Singleton example 2
variation: don't create the instance until needed
// Generates random numbers. public class RandomGenerator { private static RandomGenerator gen = null; public static RandomGenerator getInstance() { if (gen == null) gen = new RandomGenerator(); return gen; } }

What could go wrong with this version?

Singleton example 3
variation: solve concurrency issue by locking
// Generates random numbers. public class RandomGenerator { private static RandomGenerator gen = null; public static synchronized RandomGenerator getInstance() { if (gen == null) gen = new RandomGenerator(); return gen; } }

Is anything wrong with this version?

Singleton example 4
variation: solve concurrency issue without unnecessary locking
// Generates random numbers. public class RandomGenerator { private static RandomGenerator gen = null; public static RandomGenerator getInstance() { if (gen == null) { synchronized (RandomGenerator.class) { // must test again -- can you see why? if (gen == null) gen = new RandomGenerator(); } } return gen; }

Singleton example
consider a class RandomGenerator that generates random numbers
public class RandomGenerator { private static RandomGenerator gen;

public static RandomGenerator getInstance() { return gen; } private RandomGenerator() {}


public double nextNumber() { return Math.random(); }

The Factory Pattern


:: How does it Work?
The Factory pattern returns an instance of one of several possible classes depending on the data provided to it.

Here, x is a base class and classes xy and xz are derived from it. The Factory is a class that decides which of these subclasses to return depending on the arguments you give it. The getClass() method passes in some value abc, and returns some instance of the class x. Which one it returns doesn't matter to the programmer since they all have the same methods, but different implementations.

The Factory Pattern

:: The Base Class

Let's consider a simple case where we could use a Factory class. Suppose we have an entry form and we want to allow the user to enter his name either as firstname lastname or as lastname, firstname. Lets make the assumption that we will always be able to decide the name order by whether there is a comma between the last and first name.

class Namer { //a simple class to take a string apart into two names protected String last; //store last name here protected String first; //store first name here public String getFirst() { return first; //return first name } public String getLast() { return last; //return last name } }

The Factory Pattern


:: The First Derived Class
In the FirstFirst class, we assume that everything before the last space is part of the first name.

class FirstFirst extends Namer { public FirstFirst(String s) { int i = s.lastIndexOf(" "); //find sep space if (i > 0) { first = s.substring(0, i).trim(); //left is first name last =s.substring(i+1).trim(); //right is last name } else { first = // put all in last name last = s; // if no space } } }

The Factory Pattern


:: The Second Derived Class
In the LastFirst class, we assume that a comma delimits the last name.

class LastFirst extends Namer { //split last, first public LastFirst(String s) { int i = s.indexOf(","); //find comma if (i > 0) { last = s.substring(0, i).trim(); //left is last name first = s.substring(i + 1).trim(); //right is first name } else { last = s; // put all in last name first = ""; // if no comma } } }

The Factory Pattern


:: Building the Factory
The Factory class is relatively simple. We just test for the existence of a comma and then return an instance of one class or the other.

class NameFactory { //returns an instance of LastFirst or FirstFirst //depending on whether a comma is found public Namer getNamer(String entry) { int i = entry.indexOf(","); //comma determines name order if (i>0) return new LastFirst(entry); //return one class else return new FirstFirst(entry); //or the other } }

The Factory Pattern


:: Using the Factory
NameFactory nfactory = new NameFactory(); String sFirstName, sLastName; . private void computeName() { //send the text to the factory and get a class back namer = nfactory.getNamer(entryField.getText()); //compute the first and last names using the returned class sFirstName = namer.getFirst(); sLastName = namer.getLast(); }

The Factory Pattern


:: When to Use a Factory Pattern

You should consider using a Factory pattern when: A class cant anticipate which kind of class of objects it must create. A class uses its subclasses to specify which objects it creates. You want to localize the knowledge of which class gets created.

There are several similar variations on the factory pattern to recognize: The base class is abstract and the pattern must return a complete working class. The base class contains default methods and is only subclassed for cases where the default methods are insufficient. Parameters are passed to the factory telling it which of several class types to return. In this case the classes may share the same method names but may do something quite different.

DAY - 5

APPLICATION ARCHIETECTURE N-TIER ARCHITECTURE

WHAT IS N-TIER ARCHIETECTURE

Firstly, what is n-Tier architecture? N-Tier architecture refers to the architecture of an application that has at least 3 "logical" layers -or parts -- that are separate. Each layer interacts with only the layer directly below, and has specific function that it is responsible for.

Presentation Tier

Caching Service Tier

Application Server Tier

Integration Service Tier

Data Tier (Back-end Services)

WHY N-TIER ARCHIETECTURE

Because each layer can be located on physically different servers with only minor code changes, hence they scale out and handle more server load. Also, what each layer does internally is completely hidden to other layers and this makes it possible to change or update one layer without recompiling or modifying other layers.

Project Design Pattern

HARDWARE & SOFTWARE

HARDWARE
Hardware Specification CPU PROCESSOR SPEED COPROCESSOR TOTAL RAM DISKETTE A HARD DISK KEYBOARD MOUSE DISPLAY PRINTER

: : : : : : : : : :

PENTIUM IV 2 GHz BUILT IN 128 MB 1.44 MB FLOPPY 3.5 40 GB 105 KEYS LOGITECH MOUSE SGVA COLOR HP DESK JET

SOFTWARE

FRONT END

J2EE

BACK END OPERATING SYSTEM

: :

MICROSOFT ACCESS 2003 WINDOWS XP

Software & Hardware Tools


Development Environment: Operating System: Linux Red Hat, Windows XP SP2 or above The system will be built on windows compatible environment. The application will be web based developed using Java technology. Integrated Development Environment(IDE): Eclipse Helios Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system.

Software & Hardware Tools


Web Server: Tomcat 7.0 Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages technologies. Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages technologies. Data Base: My SQL 5.0 MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a int of databases.

Software & Hardware Tools


Client Browsers:

Support all browsers


Dream Weaver CS5 The system will be developed with Java Technologies using J2SE (JDK and JRE). Dream Weaver CS5 as HTML editor

LIMITATIONS

LIMITATIONS

The most notable features which were not implemented in the system are

table management and a more intuitive order item notes interface.


These features were not implemented because of time constraints. The process of removing features from software when time is running out is known as feature cutting. A drawback of removing features at such a late stage in the project is that some time will probably have already been wasted on the design or partial implementation of these features.

FUTURE ENHANCEMENTS

FUTURE ENHANCEMENT
Online recruiting and online recruitment systems, with its emphasis on a more strategic decision making process is fast gaining ground as a popular outsourced function.

Most Online Recruiting sites deliver easy-to-use search capabilities, customer


service and convenience. The immense power of web enabling crucial recruitment processes to covert them into online recruitment systems is a key factor in easing out the recruitment processes.

Recruiting and staffing software makes data collection easier and tasks get completed quicker. The return on investment is immediate, simply because of the reduced time and increased ease of recruitment processes.

E-Recruiting technology is skill-based with automated pre-screening features


which is the next step in the evolution of online recruiting.

FUTURE ENHANCEMENT(continue)
Corporate expenditures for these Online-recruiting services are anticipated to increase dramatically in the next few years as corporate end users upgrade their hiring methodologies, strategies and technologies for finding talent. The three macro economics trends that are seen as fuelling the growth of this industry are: Shorter employment tenures Shrinking labor pools Need for technology workers In wake of the new and related trends, it is imperative for frequent upgrades to a companys software or web applications to make it easier for clients and employees to address new business needs.

Screen Shots

Home Page

Login

Candidate Registration

Company Registration

Company Home Page

Company Edit Profile

Company- change password

Add job Detail

View Job Detail

Exam Creation

Exam View

Add Question

Question Selection

View Question

Candidates Home Page

Candidates Edit Profile

Candidates change password

Admin Home Page

Admins company details

Admins change password

You might also like