Professional Documents
Culture Documents
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
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
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
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
Project Phases
Phases Variation
Concept Exploration System Exploration Requirements
Design
Implementation
Installation
Maintenance
Retirement
Technical Fundamentals
Requirements Analysis Design Construction Quality Assurance Deployment
DAY - 2
Modules
1. Administrator 2. Jobseekers 3. Company
OBJECTIVE
This project is aimed at developing a web-based and central
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.
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
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.
Trigger an action.
Confirm an action.
View questions.
View exams.
View company details View job details View exam result
PROPOSED SYSTEM
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
MY MODULE
Administrator
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
Company
DAY - 4
Database Tables
Login
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
Experienced
Job Details
Key -
Exam
Key -
Question
Fieldname JobID ExamID QuestionNo Question Option1 Option2 Option3 Option4 Answer
Data Type Text Text Text Text Text Text Text Text Text
Com
Data Type Text Text Text Text Text Text Text Text
Result
Key -
Temp_data
Data Type Text Text Text Text Text Text Text Text
Key -
Context Level
Administrator
Company
Candidate
Database
Admin Level 1
Admin Login Username Password Category
If authenticated user
Data store
Company Level 1
Admin
View Details
Validate user
Update
Admin
User details
View Details
Experience details
Education details
Company Level 2
Login
Company
Change Password
Update Password
View Result
Edit Profile
Candidate
Jobseeker
Edit Profile
Change Passwor d
Update Password
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 (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
Pattern: Singleton
a class that has only one instance
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)
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 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() {}
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; } }
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; } }
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;
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.
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 } }
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 } } }
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 } } }
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 } }
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
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
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.
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
: :
LIMITATIONS
LIMITATIONS
The most notable features which were not implemented in the system are
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.
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.
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
Exam Creation
Exam View
Add Question
Question Selection
View Question