training report on job seeker

63
ONLINE JOB PORTAL Submitted in partial fulfillment of the Requirements for the award of Degree of Bachelor of Technology in Computer Science Engineering Under the Guidance of: Er. Harman Dhaliwal Submitted By: Name: - Avinash Singh University Roll No:-1285974 Submitted To: Department of Computer Science & Engineering RADIANT INSTITUTE OF ENGINEERING & TECHNOLOGY, ABOHAR SIX MONTHS INDUSTRIAL TRAINING REPORT

Upload: manish-goyal

Post on 25-Sep-2015

28 views

Category:

Documents


5 download

DESCRIPTION

complete project report in java, jsp of job seeker.

TRANSCRIPT

  • ONLINE JOB PORTAL

    Submitted in partial fulfillment of the

    Requirements for the award of

    Degree of Bachelor of Technology in Computer Science Engineering

    Under the Guidance of:

    Er. Harman Dhaliwal

    Submitted By:

    Name: - Avinash Singh

    University Roll No:-1285974

    Submitted To:

    Department of Computer Science & Engineering

    RADIANT INSTITUTE OF ENGINEERING & TECHNOLOGY,

    ABOHAR

    SIX MONTHS INDUSTRIAL TRAINING REPORT

  • 1285974/5072/RIET/Abohar

    i

    Declaration

    I hereby declare that the Industrial Training Report entitled ("Online Job Portal") is an

    authentic record of my own work as requirements of 6-months Industrial Training during

    the period from 2-Jan-2015 to 31-May-2015 for the award of degree of B.Tech.

    (Computer Science & Engineering), RADIANT INSTITUTE OF ENGINEERING &

    TECHNOLOGY, ABOHAR

    (Avinash Singh)

    (1285974)

    Date: ____________________

    Certified that the above statement made by the student is correct to the best of our

    knowledge and belief.

    Signatures

    Examined by:

    1. 2. 3. 4.

    Head of Department (Signature and Seal)

  • 1285974/5072/RIET/Abohar

    ii

    Certificate

  • 1285974/5072/RIET/Abohar

    iii

    Acknowledgement

    I personally believe that major project is a great way of developing practical

    knowledge and first hand exposure for a student. Interaction with well experienced

    people induces a sense of responsibility towards client/production and also teaches a way

    to handle the various kinds of requirements generated during real industry working.

    I would like to thank my college authorities for having such a nice education

    system due to which I am able to explore my abilities. I thank Er. Rajveer Kaur

    (Project Guide) for giving me a chance to pursue my major project. I thank Er. Harman

    Dhaliwal for all his kind support and co-operation.

    AVINASH SINGH

  • 1285974/5072/RIET/Abohar

    iv

    Abstract

    Nowadays due to advancement of technology everyone is available online on the internet.

    It can be on a computer or mostly on the mobile phones. Almost everyone is gathering or

    downloading information here and there from the internet. This is just the beginning and

    in the coming year this will go even further. Every person on the internet gets various

    types of information like reading the newspaper, downloading data or any type of

    information, searching for various things, sending messages, emails to their known and

    searching for the jobs. The basic idea is there is sharing of information. The website ON

    LINE JOB PORTAL provides the user to look for jobs in a most easy manner one

    could ever think of. The website ON LINE JOB PORTAL helps the job seeker to

    look for a better job according to his/her profile. In addition to that it redefines the way

    one could provide employment to the people.

    The website designed provides options for viewing different jobs available with

    different Departments like Govt. Jobs, Private Jobs, Banking jobs, Engineering Jobs,

    State wise Jobs and we also provide demo test. It helps people search the jobs online,

    uploading their resumes also update his/her professional details.

    Not only helping the people finds correct job opportunities, this website helps

    the companies to find their right choice among the pool of people. This website has one

    of the largest databases containing the resumes of people which give the companies the

    widest opportunities to choose from.

  • 1285974/5072/RIET/Abohar

    v

    TABLE OF CONTENTS

    Declaration... .................................................................................................. (i)

    Certificate... ................................................................................................... (ii)

    Acknowledgement... ..................................................................................... (iii)

    Abstract... ..................................................................................................... (iv)

    List of Figures .................................................................................................... (viii)

    List of Tables ....................................................................................................... (x)

    Chapter 1. Introduction to Company Profile....................................................... 1

    Chapter 2. Introduction to Java .......................................................................... 2

    2.1 Java ................................................................................................... 2

    2.2 What is JSP? ...................................................................................... 5

    2.3 Introduction about HTML .................................................................. 6

    2.4 Cascading Style Sheet ...................................................................... 10

    2.5 Java Script ....................................................................................... 12

    2.6 Java Database Connectivity.............................................................. 13

    2.7 Swing .............................................................................................. 13

    2.8 Java Multi-threading ........................................................................ 15

    2.9 Thread ............................................................................................. 15

    2.10 Net Beans IDE ................................................................................. 18

    2.11 SQL ................................................................................................. 20

    Chapter 3. Introduction to Project .................................................................... 25

    3.1 Purpose ............................................................................................ 25

    3.2 Objective ......................................................................................... 26

    3.3 Scope ............................................................................................... 26

    Chapter 4. Modules ............................................................................................ 27

    4.1 Job Seeker Module........................................................................... 27

    4.2 Employer Module ............................................................................ 27

    4.3 Administration Module .................................................................... 27

    4.4 Public Module ................................................................................. 27

    4.5 Aptitude Test (Demo) Module ......................................................... 27

    Chapter 5. Methodology of the Project ............................................................. 28

    5.1 Process Model ................................................................................. 28

  • 1285974/5072/RIET/Abohar

    vi

    5.1.1 Data Flow Diagrams ..................................................................... 28

    5.2 Context Diagram ................................................................................ 30

    5.3 Data Model ........................................................................................ 31

    5.3.1 Introduction to Data Modeling ........................................................ 31

    5.3.2 Entity-relationship Diagram ............................................................ 31

    Chapter 6. Requirements ................................................................................... 33

    6.1 Functional Requirements .................................................................... 33

    6.1.1 Job Seeker ...................................................................................... 33

    6.1.2 Employer ........................................................................................ 35

    6.1.3 Administrator ................................................................................. 37

    6.2 Non-Functional Requirements ............................................................ 40

    6.3 Hardware Requirements ................................................................... 40

    6.4 Software Requirements .................................................................... 40

    Chapter 7. Software Testing .............................................................................. 41

    7.1 Testing Objective ............................................................................. 41

    7.2 Testing Techniques .......................................................................... 41

    7.3 Testing Strategies............................................................................. 41

    7.4 System Testing ................................................................................ 42

    7.5 Software Maintenance...................................................................... 42

    7.6 Software Maintenance Process ......................................................... 43

    Chapter 8. Database Design .............................................................................. 45

    8.1 Admin.............................................................................................. 45

    8.2 Employee Register ........................................................................... 45

    8.3 Job Seeker ....................................................................................... 46

    8.4 Add Jobs .......................................................................................... 46

    8.5 Demo Test ....................................................................................... 47

    8.6 Demo Test Answer .......................................................................... 47

    8.7 Employee Notification ..................................................................... 48

    8.8 Job Seeker Notification .................................................................... 48

    8.9 Public Notification ........................................................................... 48

    8.10 States ............................................................................................... 49

    8.11 Upcoming Jobs ................................................................................ 49

    8.12 Offline Jobs ..................................................................................... 49

  • 1285974/5072/RIET/Abohar

    vii

    8.13 Contact Us ....................................................................................... 49

    Chapter 9. Snapshots ......................................................................................... 50

    Conclusion ........................................................................................................ 60

    References ........................................................................................................ 61

  • 1285974/5072/RIET/Abohar

    viii

    LIST OF FIGURES

    Figure No. Figure Name Page No.

    Figure 2.1

    Figure 2.2

    Figure 2.3

    Figure 2.4

    Figure 2.5

    Figure 5.1

    Figure 5.2

    Figure 5.3

    Figure 5.4

    Figure 8.1

    Figure 8.2

    Figure 8.3

    Overview of s/w Development Process

    Components of Java Platform

    Structure of JSP

    Java Foundation Classes

    Life Cycle of Thread

    Level 0 DFD

    Level 1 DFD

    Context Diagram

    ER Diagram

    Home Page

    Sign Up Page

    3

    4

    6

    14

    16

    29

    29

    30

    32

    47

    48

    Login Page of Job Seeker 48

    Figure 8.4 Job Seeker Sign Up Page 49

    Figure 8.5 Job Seeker Profile Information 49

    Figure 8.6 View Your Profile 50

    Figure 8.7 My Job Search 50

    Figure 8.8 Types of Industry 51

    Figure 8.9

    Figure 8.10

    Figure 8.11

    Figure 8.12

    Figure 8.13

    Types of Location

    Matching Jobs

    Post Query

    Employers Registration Form

    Login Page of Employer

    51

    51

    52

    53

    54

  • 1285974/5072/RIET/Abohar

    ix

    Figure 8.14

    Figure 8.15

    Figure 8.16

    Figure 8.17

    Figure 8.18

    Figure 8.19

    Employers Profile

    Job Post Form

    Search Job Seeker in Employers Module

    After Apply Job

    Login Page of Admin

    Admin Page

    54

    55

    56

    56

    57

    57

    Figure 8.20 View Job Seeker 58

    Figure 8.21 View Job Seeker individually by admin 58

    Figure 8.22 View Employers 59

    Figure 8.23 Logout Page 59

  • 1285974/5072/RIET/Abohar

    x

    LIST OF TABLES

    Table No. Table Name Page No.

    Table 6.1 Job Seeker 34

    Table 6.2 Employer 35

    Table 6.3 Administrator 37

    Table 8.1 Admin 45

    Table 8.2 Employee Register 45

    Table 8.3 Job Seeker 46

    Table 8.4 Add Jobs 46

    Table 8.5 Demo Test 47

    Table 8.6 Demo Test Answer 47

    Table 8.7 Employee Notification 48

    Table 8.8 Job Seeker Notification 48

    Table 8.9 Public Notification 48

    Table 8.10 States 49

    Table 8.11 Upcoming Jobs 49

    Table 8.12 Offline Jobs 49

    Table 8.13 Contact Us 49

  • 1285974/5072/RIET/Abohar

    1

    CHAPTER 1

    INTRODUCTION TO COMPANY PROFILE

    Dibon Technologies, Inc. is a privately held company located in Dallas, Texas USA.

    The company was founded in 2001 with the primary objective of delivering to our

    partners and clients the finest strategic technology consulting, implementation and

    managed services in the industry. With over 350 consultants including Agile Project

    Management, Business Analysts, Quality Assurance Consultants, Core IT Stack,

    Cloud Technology, Salesforce.com, Mobile (iOS/Android), HTML5, and deep data

    and integration architecture expertise, Dibon is poised to meet the future expectations

    of our valuable clients.

    Dibon helps clients around the world meet the challenges they face in an increasingly

    competitive and fast-paced business environment. Dibon offers fully integrated

    technology solutions incorporating a complete spectrum of services that includes

    management and systems consulting, systems integration and outsourcing. We

    combine the best practices, tools and technologies with industry-specific expertise to

    provide Solutions tailored to the clients rely on us for proven solutions that deliver

    business results quickly. Our business is founded on long-term, enduring

    relationships with a carefully selected set of strategic clients. Our strategy to achieve

    our mission is comprised of four key components:

    Provide proven, market and client focused solution offerings: We deliver

    value to our clients by providing a set of focused and proven offerings that

    solve targeted business problems quickly and holistically. We innovate and

    rally our unique competencies, solutions and best practices around each client

    to deliver business value with a speed and clarity unmatched in our industry.

    Embrace a client-centric culture: We select and invest in long-term, powerful

    and strategic client relationships that are founded on our shared success.

    Strengthen the focus and agility of our organization: We align, leverage and

    provide incentive for our organization to anticipate.

    Attract, retain, and reward the best people in the industry: We recognize that

    our people are the foundation of our success.

  • 1285974/5072/RIET/Abohar

    2

    CHAPTER 2

    INTRODUCTION TO JAVA

    2.1 JAVA

    Java is an entire programming language resembling C or C++. It takes a sophisticated

    programmer to create Java code. And it requires a sophisticated programmer to maintain

    it. With Java, you can create complete applications. Or you can attach a small group of

    instructions, a Java "applet" that improves your basic HTML. A Java Applet can also

    cause text to change color when you roll over it. A game, a calendar, a scrolling text

    banner can all be created with Java Applets. There are sometimes Compatibility problems

    between Java and various browsers, operating systems or computers, and if not written

    correctly, it can be slow to load. Java is a powerful programming language with excellent

    Security, but you need to be aware of the tradeoffs.

    The Java Programming Language

    The Java programming language is a high-level language that can be characterized by

    all of the following characteristics

    Simple

    Object oriented

    Distributed

    Multithreaded

    Architecture neutral

    Portable

    High performance

    Robust

    Simple

    According to Sun, Java language is simple because Syntax is based on C++ (so easier

    for programmers to learn it after C++).removed many confusing and/or rarely-used

    features e.g., explicit pointers, operator overloading etc.No need to remove

    unreferenced objects because there is Automatic Garbage Collection in java.

  • 1285974/5072/RIET/Abohar

    3

    Object Oriented

    Object-oriented means we organize our software as a combination of different types

    of objects that incorporates both data and behaviour.

    Object-oriented programming(OOPs) is a methodology that simplify software

    development and maintenance by providing some rules.

    Basic concepts of OOPs are:

    Object

    Class

    Inheritance

    Polymorphism

    Abstraction

    Secured

    Java is secured because

    No explicit Pointer.

    Program run inside virtual machine sandbox.

    Robust

    Robust simply means strong. Java uses strong memory management. There are lack of

    pointers that avoids security problem. There is automatic garbage collection in java.

    There is exception handling and type checking mechanism in java. All these points

    make java robust.

    Distributed

    We can create distributed applications in java. RMI and EJB are used for creating

    distributed applications. We may access files by calling the methods from any

    machine on the internet.

    Fig 2.1:- An overview of the software development process.

    Multi-threaded

    A thread is like a separate program, executing concurrently. We can write Java

    programs that deal with many tasks at once by defining multiple threads. The main

  • 1285974/5072/RIET/Abohar

    4

    advantage of multi-threading is that it shares the same memory. Threads are important

    for multi-media, Web applications etc.

    The Java platform has two components

    The Java Virtual Machine (JVM)

    The Java Application Programming Interface (API)

    Java Virtual Machine is the base for the Java platform and is ported onto various

    hardware-based platforms.

    The API is a large collection of ready-made software components that provide many

    useful capabilities. It is grouped into libraries of related classes and interfaces; these

    libraries are known as packages.

    Fig 2.2:- Components of Java Platform

    The API and Java Virtual Machine insulate the program from the

    underlying hardware.

    Every full implementation of the Java platform gives you the following features:

    Development Tools: The development tools provide means for compiling,

    running, debugging, and documenting your applications. The main tools are

    the javac compiler, the java launcher, and the javadoc documentation tool.

    Application Programming Interface (API): The API provides the core

    functionality of the Java programming language. It offers a wide array of

    useful classes ready for use in your own applications. It spans everything from

    basic objects, to networking and security, to XML generation and database

    access, etc.

    Deployment Technologies: The JDK software provides standard mechanisms

    such as the Java Web Start software and Java Plug-In software for deploying

    your applications to end users.

    Integration Libraries: Integration libraries such as the Java IDL, JDBC,

    JNDI, Java RMI, and Java Remote Method Invocation over Internet Inter-

    ORB Protocol Technology (Java RMI-IIOP Technology) enable database

    access and manipulation of remote objects

  • 1285974/5072/RIET/Abohar

    5

    2.2 WHAT IS JSP?

    Short for Java Server Page. A server-side technology, Java Server Pages are an extension

    to the Java servlet technology that was developed by Sun. JSPs have dynamic scripting

    capability that works in tandem with HTML code, separating the page logic from the

    static elements -- the actual design and display of the page -- to help make the HTML

    more functional(i.e. dynamic database queries). A JSP is translated into Java servlet

    before being run and it processes HTTP requests & generates responses like servlet.

    However, JSP technology provides a more convenient way to code a servlet Translation

    occurs the first time the application is run. A JSP translator is triggered by the .jsp file

    name extension in a URL. JSPs are fully interoperable with servlet. You can include

    output from a servlet or forward the output to a servlet and a servlet can include output

    from a JSP or forward output to a JSP. JSPs are not restricted to specific platform or

    server. It was originally created as an alternative to Microsoft's ASP (Active Server

    Pages). Recently, however, Microsoft has countered JSP technology with its own

    ASP.NET, part of the .NET initiative.

    Life cycle of a JSP Page

    The JSP pages follow these phases:

    Translation of JSP Page

    Compilation of JSP Page

    Class loading (class file is loaded by the classloader)

    Instantiation (Object of the Generated Servlet is created).

    Initialization ( jspInit() method is invoked by the container).

    Request processing ( _jspService() method is invoked by the container).

    Destroy ( jspDestroy() method is invoked by the container).

    As depicted in the below diagram, JSP page is translated into servlet by the help of

    JSP translator. The JSP translator is a part of web server that is responsible to translate

    the JSP page into servlet. After that Servlet page is compiled by the compiler and gets

    converted into the class file. The JSP translator is a part of web server that is

    responsible to translate the JSP page into servlet. After that Servlet page is compiled

    by the compiler and gets Moreover, all the processes that happens in servlet is

    performed on JSP later like initialization, committing response to the browser and

    destroy

  • 1285974/5072/RIET/Abohar

    6

    Fig 2.3:- Structure of JSP

    2.3 INTRODUCTION ABOUT HTML

    HTML is a computer language devised to allow website creation. These websites can

    then be viewed by anyone else connected to the Internet. It is relatively easy to learn;

    and quite powerful in what it allows you to create. It is constantly undergoing revision

    and evolution to meet the demands and requirements of the growing Internet audience

    under the direction of the W3C, the organization charged with designing and

    maintaining the language.

    HTML stands for Hyper Text Markup Language.

    Hyper is the opposite of linear. This means HTML does not hold to linear

    pattern and allows the person viewing the World Wide Web page to go

    anywhere, any time they want.

    Text is what you will use. Real, honest to goodness English letters.

    Mark up is what you will do. You will write in plain English and then mark up

    what you wrote.

    Language because they needed something that started with "L" to finish HTML and

    Hypertext Markup Louie didn't flow correctly. Because it's a language, really -- but

    the language is plain English.

    HTML is a Language, as it has code-words and syntax like any other language.

    HTML is a language for describing web pages.

  • 1285974/5072/RIET/Abohar

    7

    HTML is not a programming language, it is a markup language

    A markup language is a set of markup tags

    HTML uses markup tags to describe web pages

    HTML Element Syntax

    An HTML element starts with a start tag / opening tag.

    An HTML element ends with an end tag / closing tag.

    The element content is everything between the start and the end tag.

    Some HTML elements have empty content, are closed in the start tag.

    Most HTML elements can have attributes.

    Nested HTML Elements

    The HTML Elements can be nested, that is one element can be inside the other.

    Here there are three elements , and . tag is nested inside

    which in turn is nested inside . Always Remember to put the End Tags

    after opening the tags.

    HTML Basic Tags

    Heading Tags

    There are 6 levels of headings in HTML specified by , , , ,

    and tags. defines the largest heading and defines the smallest.

    My First Heading.My Second

    Heading.

    Paragraph Tags of HTML

    paragraph tags are used to define the HTML paragraph element. The paragraph

    element begins with the tag and ends with the tag.

    Hyperlink Tags

    These are the tags that really made web pages unique, by letting a person click on text

    or an image and go to other webpage. Hyperlink tags are container tags, which mean

    there must be an initial tag and an ending tag. All the WebPages in a website are

    connected to one another using the Hyperlinks.

    Hello World

  • 1285974/5072/RIET/Abohar

    8

    Google

    Image Tags

    This Tag is used for putting pictures or images on your web page. The images can be

    of any format that is JPG, GIF, PNG etc. The tag is empty, which means that it

    contains attributes only and it has no closing tag.

    Other HTML Tags

    Some other useful tags like HTML Rules, HTML Comments, Line Breaks etc.

    Drawing HTML Rules

    (Horizontal Rule) is a standalone tag that generates a horizontal line. There is

    no corresponding HTML command for a vertical line.

    My First Heading.

    My Second Heading.

    HTML Comments

    All combinations of text placed within the comment tags will be ignored by the web

    browser, this includes any HTML tags, scripting language(s), etc.

    Line Breaks

    HTML Text Formatting Tags

    We can format to Bold, Italicize, Underline, Subscript or Superscript any text in the

    HTML Page.

    I am writing a Very Long Paragraph. You Would need like it.

  • 1285974/5072/RIET/Abohar

    9

    Bold

    (Bold) is a tag that makes any text between its text to be formatted as Bold. You

    always had to remember closing the bold tag after you have formatted the required

    text.

    Italic

    (Italic) is a tag that makes any text between its text to be formatted as Italic.

    Underline

    (Underline) is a tag that makes any text between tags to be formatted as

    Underlined.

    This will appear Bold.

    While This will be italic.

    This will appear Underline.

    Marquee

    (Marquee) is a tag that makes any text between tags to be

    formatted as moving left, right, top, bottom as defined.

    Welcome to SUSWEC

    HTML Table Tags

    The tag defines an HTML table. A simple HTML table consists of one or

    more tr (table row), th (table header), and td (table cell) elements.

    Month

    Savings

    January

    100 Rs.

    February

    120 Rs.

    HTML List Tags

    Words or phrases which need to be set apart from the rest of the body of text can be

    Emphasized with a bullet (a heavy dot used for calling attention to a particular

  • 1285974/5072/RIET/Abohar

    10

    section of text). An empty tag called a list tag is used to do this.

    List Tag

    : creates a bullet in front of text which is to be set apart for emphasis and causes

    all text after it to be indented, either until another list tag is detected or until the end of

    the list is reached. It is used to itemize elements of unordered and ordered lists.

    Unordered List

    An unordered list is a list of items. The list items are marked with bullets (typically

    small black circles). An unordered list starts with the tag. Each list item starts

    with the tag.

    JanuaryFebruary

    Ordered List

    An ordered list is also a list of items. The list items are marked with numbers. An

    ordered list starts with the tag. Each list item starts with the tag.

    January

    February

    Designing HTML Forms

    A form is an area that can contain form elements. Form elements are elements that

    allow the user to enter information (like text fields, text area fields, drop-down menus,

    radio buttons, checkboxes, etc.) in a form. A form is defined with the tag.

    Radio Button

    Radio Buttons are used while selecting one of a limited No. of choices.

    Checkbox

    Checkboxes are used while selecting one or more options of a limited number of

    choices.

    2.4 CASCADING STYLE SHEETS (CSS)

    CSS stands for Cascading Style Sheet. It defines a way how the information is

    presented by all the browsers on the web. A style sheet is a set of rules that controls

    the formatting of HTML elements on one or more web pages.

    Thus, the appearance of a Web page can be changed by changing the style sheet

    associated with it. There is no need to make detailed changes within the Web page to

  • 1285974/5072/RIET/Abohar

    11

    change how it looks. As one style sheet can be used for a whole web site, it normally

    means that the overall size of the website is smaller and downloads required for each

    page can be decreased by up to 40%.

    CSS Types

    Inline CSS

    Internal CSS

    External CSS

    Inline CSS

    Inline CSS is defined inside particular tag as its property using where we can

    add no. of properties. It is used within a single tag. Once we have declared properties

    of style sheet, we cant use those properties in another tag.

    Internal CSS

    It is used for all the tags. In this type of CSS, is used like a tag. is

    used within tag for single webpage. We have 2 different methods for this CSS.

    By Class - Using Dot (.)

    By Id - Using Hash (#)

    .M1

    {color: skyblue;}

    #M2

    {color: skyblue; }

    BY CLASS

    BY ID

  • 1285974/5072/RIET/Abohar

    12

    Properties Used in CSS

    Font-weight, font-style, font-size, font-family

    Text-align, text-transformation, text-decoration

    Line-spacing, letter-height, height, width, color

    background-color, background-image, background-repeat

    background-size, border, margin-left-right-top-bottom

    text-shadow, box-shadow, outline

    2.5 JAVA SCRIPT

    Java script is a scripting language. To develop interactive Web sites, you need to

    create a Web interface for accepting data from users. The data accepted can be stored

    for further processing and validation. So we use the Java Script.

    You will also be able to write Java Script code to validate the data entered by users on

    the Web sites, handle run-time and execution errors in Web documents, and

    communicate with the users by displaying messages.

    To create interactive Web documents, the language used is Hypertext Markup

    Language (HTML). However, HTML does not support data processing on the client

    computer.

    JavaScript was designed to add interactivity to HTML pages.

    JavaScript is a scripting language.

    A scripting language is a lightweight programming language.

    JavaScript is usually embedded directly into HTML pages.

    JavaScript is an interpreted language (means that scripts execute without

    preliminary compilation).

    Everyone can use JavaScript without purchasing a license.

    Features of JavaScript

    JavaScript gives HTML designers a programming tool - HTML authors are

    normally not programmers, but JavaScript is a scripting language with a very

    simple syntax! But JavaScript is a scripting language with a very simple

    syntax! Almost anyone can put small "snippets" of code into their HTML

    pages.

    JavaScript can react to events - A JavaScript can be set to execute when

    something happens, like when a page has finished loading like when a page

    has finished loading like when a page has finished loading like when a page

    has finished loading or when a user clicks on an HTML element.

  • 1285974/5072/RIET/Abohar

    13

    JavaScript can read and write HTML elements - A JavaScript can read and

    change the content of an HTML element.

    JavaScript can be used to validate data - A JavaScript can be used to validate

    form data before it is submitted to a server.

    JavaScript can be used to detect the visitor's browser - A JavaScript can be

    used to detect the visitor's browser, and - depending on the browser - load

    another page specifically designed for that browser..

    2.6 JAVA DATABASE CONNECTIVITY (JDBC)

    JDBC stands for "Java Database Connectivity". It is an API (Application

    Programming Interface) which consists of a set of Java classes, interfaces.

    JDBC is a very popular data access standard. RDBMS (Relational Database

    Management Systems) or third-party vendors develop drivers which adhere to the

    JDBC specification

    The JDBC API is a Java API that can access any kind of tabular data, especially data

    stored in a Relational Database.

    JDBC helps you to write java applications that manage these three programming

    activities:

    Connect to a data source, like a database

    Send queries and update statements to the database

    Retrieve and process the results received from the database in answer to your

    query

    2.7 SWING

    Swing are light weight components which dependent on java API's. So same look and

    feel on all Operating Systems. All swing components are designed using architecture

    Model View Controller (MVC).

    Model - Storage

    View - Presentation

    Controller Event Handling

    Netscape and sun has jointly produced the original swing set of components as part of

    the Java Foundation Classes (JFC). Swing and JFC are not the same thing, rather

    swing is a part of the JFC library. JFC provides the following features: -

    swing (The large UI package)

    cut & paste (Clipboard support)

    Accessibility features

  • 1285974/5072/RIET/Abohar

    14

    The desktop color features

    java 2D

    The five APIs of the java Foundation Classes

    Fig 2.4:- Java Foundation Classes

    Four new components have been introduced in Swing to deal with the complexities

    involved in mixing up the heavy weight and the lightweight components in the same

    container.

    Type of Panes

    Layered Pane

    Root Pane

    Content Pane

    Menu Bar

    Glass Pane

    List Of Swing Components

    JButton

    JCheckBox

    JColorChooser

    JComboBox

    JDialog

    JFileChooser

    JFormattedTextField

    JFrame

    JLabel

    JList

    JMenu

    JOptionPane

  • 1285974/5072/RIET/Abohar

    15

    JPanel

    JPasswordField

    JRadioButton

    JScrollBar

    JSeparator

    JSlider

    JSpinner

    JTable

    JTextField

    2.8 JAVA MULTITHREADING

    Multithreading is a conceptual programming paradigm where a program (process) is

    divided into two or more subprograms (processes/threads), which can be implemented

    at the same time in parallel. which can be implemented at the same time in parallel.

    For example, one subprogram can display an animation on the screen while another

    may build the next animation to be displayed. This is something similar to dividing a

    task into subtasks and assigning them to different people for execution independently

    and simultaneously.

    CPU has a limitation that it cannot run more than one thread at a time so with the help

    of time sharing concept it simulates an execution of more than one thread at a time.

    2.9 THREAD

    A thread is similar to a program that has a single flow of control. It has beginning, a

    body and an end and executes commands sequentially. an end and executes

    commands sequentially. The Java VM always has multiple threads, called daemon

    threads, running. For example, a continually running daemon thread performs garbage

    collection tasks. Another daemon thread handles mouse and keyboard events.

    There are two ways to create the thread in java

    1. By implementing the Runnable Interface

    2. By extending the Thread class.

    Runnable:-

    Runnable interface is very useful in that situation when we want to extend any class

    and want to create that class as Thread class. When we want to extend any class and

    want to create that class as Thread class. Just implements the Runnable interface and

    override the run () method.

  • 1285974/5072/RIET/Abohar

    16

    Thread: -

    Thread can be created by extending the Thread class. Java does not support multiple

    inheritances so in that situation where no other inheritance except Thread class is

    required at that time it is very useful. Inherit the Thread class and then override the

    run() method of Thread class.

    Life Cycle of a Thread

    Following are the thread state: -

    New born state

    Runnable state

    Running state

    Blocked State

    Dead State

    Fig 2.5:- Life Cycle of Thread

    New born state: -

    When we create a thread object, the thread is born and is said to be in newborn state.

    The thread is not yet scheduled for running. At this state we can choose any one of the

    following method: -

  • 1285974/5072/RIET/Abohar

    17

    start() method (to start the thread).

    stop() method (to stop or kill the thread)

    Runnable state

    The Runnable state means that the thread is ready for execution and is waiting for

    the availability of the process i.e. thread has joined the queue of threads that are

    waiting for execution. If all threads have equals priority, then they are given time

    slots for execution in round robin fashion i.e. FIFO (First In First Out). Assigning

    the time to the threads is called time slicing. If we want a thread to relinquish

    control to another thread to equal priority before its turn comes, then we can do

    this by using the yield() method.

    Running state: -

    Running means that the processor has given its time to the thread for its execution.

    The thread runs until it relinquishes control on its own or it is preempted by a

    higher priority thread. A running thread may relinquish its control in one of the

    following situations: -

    It Can be suspended by using suspend () method. It can be revived by using resume

    method () method.

    Sleep () method can be used to sleep the current running thread by passing

    time in milliseconds as a argument in sleep method.

    Wait () method is used to wait by a thread uptil it is not notified by calling

    Notify () method.

    Block state

    A thread is said to be blocked when it is prevented from entering into the Runnable

    state and subsequently the running state. This happens when the thread is suspended,

    sleeping or waiting in order to satisfy certain requirements. A blocked thread is

    considered not runnable but not dead and it can run again at any time.

    Dead state

    Every thread destroyed when it has completed executing its run() method. It is known

    as natural death. stop() method is used to kill the thread. Thread can be killed in its

    born, running or even in blocked state.

    Thread priority

    When a Java thread is created, it inherits its priority from the thread that created it.

    The thread with the highest priority is executed. When that thread stops, yields, or

  • 1285974/5072/RIET/Abohar

    18

    becomes not Runnable, a lower priority thread will be executed. If two threads of the

    same priority are waiting, the Java scheduler will choose one of them to run in a

    round-robin fashion.

    Synchronization

    One of the central problems of multithreaded computing is handling situations where

    more than one thread has access to the same data structure.

    Java - Collections Framework

    A collection is simply an object that groups multiple elements into a single unit.

    Collections are used to store, retrieve, manipulate, and communicate aggregate data.

    A collections framework is a unified architecture for representing and manipulating

    collections. All collections frameworks contain the following:

    Interfaces: These are abstract data types that represent collections. Interfaces

    allow collections to be manipulated independently of the details of their

    representation.

    Implementations: These are the concrete implementations of the collection

    interfaces. In essence, they are reusable data structures.

    Algorithms: These are the methods that perform useful computations, such as

    searching and sorting, on objects that implement collection interfaces. The

    algorithms are said to be polymorphic: that is, the same method can be used on

    many different implementations of the appropriate collection interface. In

    essence, algorithms are reusable functionality.

    The collections framework provides the following benefits:

    Reduces programming effort

    Increases program speed and quality

    Allows interoperability among unrelated APIs

    Reduces effort to learn and to use new APIs

    Reduces effort to design new APIs

    2.10 NET BEANS IDE

    A free, open-source Integrated Development Environment for software developers.

    One can get all the tools you need to create professional desktop, enterprise, web, and

    mobile applications with the Java language, C/C++, and even dynamic languages such

    as PHP, JavaScript, Groovy, and Ruby.

    Net Beans IDE is easy to install and use straight out of the box and runs on many

    platforms including Windows, Linux, Mac OS X and Solaris.

  • 1285974/5072/RIET/Abohar

    19

    NetBeans IDE is an integrated development environment (IDE) for writing,

    compiling, testing, and debugging desktop applications and web applications for the

    Java platform.

    NetBeans IDE includes a full-featured text editor with syntax highlighting and error

    checking, visual design tools, Ant support, version control system support, and many

    other features.

    The NetBeans IDE 6.5 provides several new features and enhancements, such as rich

    PHP, JavaScript and Ajax editing features, improved support for using the Hibernate

    web framework and the Java Persistence API, and tighter GlassFish v3 and MySQL

    integration.

    A computer language is a series of words used to give instructions to the computer,

    telling it what to do, how to do it, and when to do it. One of these computer languages

    is called Java. The purpose of this site is to study this language.

    In our lessons, we will learn Java as a computer language not as a development

    environment. This means that we will primarily build applications that show how this

    language functions, not how to create graphical applications. The types of programs

    we will create on this site are called console applications. By default, a console

    application displays its result(s) in a black window. To make it a little easier, we will

    use an environment that displays a window but with a different background color

    Net Beans Platform

    The Net Beans Platform is a reusable framework for simplifying the development of

    Java Swing desktop applications. The Net Beans IDE bundle for Java SE contains

    what is needed to start developing Net Beans plug-in and Net Beans Platform based

    applications; no additional SDK is required.

    Applications can install modules dynamically. Any application can include the

    Update Center module to allow users of the application to download digitally-signed

    upgrades and new features directly into the running application. Reinstalling an

    upgrade or a new release does not force users to download the entire application

    again.

    The platform offers reusable services common to desktop applications, allowing

    developers to focus on the logic specific to their application. Among the features of

    the platform are:

    User interface management (e.g. menus and toolbars)

  • 1285974/5072/RIET/Abohar

    20

    User settings management

    Storage management (saving and loading any kind of data)

    Window management

    Wizard framework (supports step-by-step dialogs)

    What Is a Java SE Application?

    A Java SE application is an application written to the Java Platform, Standard Edition

    (Java SE). The same unmodified Java SE applications can be run on almost any

    computer, whether that computer uses the Microsoft Windows, Solaris, Linux, or Mac

    OS operating systems. The key to this application portability is the Java Runtime

    Environment, which is available free of charge for most operating systems, including

    all of the ones mentioned above.

    In addition to being a platform for multi-platform desktop applications, the Java SE

    platform is the basis for other technologies such as Java Platform, Enterprise Edition.

    You might find yourself writing Java code that provides back-end logic for web and

    enterprise applications as well.

    2.11 SQL

    Structured Query Language is a special-purpose programming language designed

    for managing data held in a relational database management system (RDBMS).

    Originally based upon relational algebra and tuple relational calculus, SQL consists of

    a data definition language and a data manipulation language. The scope of SQL

    includes data insert, query, update and delete, schema creation and modification, and

    data access control.

    SQL was one of the first commercial languages for Edgar F. Codd's relational model,

    as described in his influential 1970 paper, "A Relational Model of Data for Large

    Shared Data Banks." Despite not entirely adhering to the relational model as

    described by Codd, it became the most widely used database language.

    Queries

    A query includes a list of columns to be included in the final result immediately

    following the SELECT keyword. An asterisk ("*") can also be used to specify that the

    query should return all columns of the queried tables. SELECT is the most complex

    statement in SQL, with optional keywords and clauses that include:

    The FROM clause which indicates the table(s) from which data is to be

    retrieved. The FROM clause can include optional JOIN subclauses to specify

    the rules for joining tables.

  • 1285974/5072/RIET/Abohar

    21

    The WHERE clause includes a comparison predicate, which restricts the rows

    returned by the query. The WHERE clause eliminates all rows from the result

    set for which the comparison predicate does not evaluate to True.

    The GROUP BY clause is used to project rows having common values into a

    smaller set of rows. GROUP BY is often used in conjunction with SQL

    aggregation functions or to eliminate duplicate rows from a result set.

    The WHERE clause is applied before the GROUP BY clause.

    The HAVING clause includes a predicate used to filter rows resulting from

    the GROUP BY clause. Because it acts on the results of the GROUP

    BY clause, aggregation functions can be used in the HAVING clause

    predicate.

    The ORDER BY clause identifies which columns are used to sort the resulting

    data, and in which direction they should be sorted (options are ascending or

    descending). Without an ORDER BY clause, the order of rows returned by an

    SQL query is undefined

    Features in SQL Server Management Studio

    SQL Server Management Studio includes the following general features:

    Supports most administrative tasks for SQL Server.s

    A single, integrated environment for SQL Server Database Engine

    management and authoring.

    Dialogs for managing objects in the SQL Server Database Engine, Analysis

    Services, and Reporting Services, that allows you to execute your actions

    immediately, send them to a Code Editor, or script them for later execution.

    Non-modal and resizable dialogs allow access to multiple tools while a dialog

    is open.

    A common scheduling dialog that allows you to perform action of the

    management dialogs at a later time.

    Exporting and importing SQL Server Management Studio server registration

    from one Management Studio environment to another.

    Save or print XML Showplan or Deadlock files generated by SQL Server

    Profiler, review them later, or send them to administrators for analysis.

    A new error and informational message box that presents much more

    information, allows you to send Microsoft a comment about the messages,

  • 1285974/5072/RIET/Abohar

    22

    allows you to copy messages to the clipboard, and allows you to easily e-mail

    the messages to your support team.

    An integrated Web browser for quick browsing of MSDN or online help.

    Integration of Help from online communities.

    A tutorial on SQL Server Management Studio to help you take advantage of

    the many new features and become more productive right away.

    A new activity monitor with filtering and automatic refresh.

    Integrated Database Mail interfaces.

    The Main Features of SQL

    The following list describes some of the important characteristics of the MySQL

    Database Software

    Internals and Portability

    Written in C and C++.

    Tested with a broad range of different compilers.

    APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available.

    Fully multi-threaded using kernel threads. This means it can easily use

    multiple CPUs if they are available.

    Provides transactional and non-transactional storage engines.

    A very fast thread-based memory allocation system.

    Very fast joins using an optimized one-sweep multi-join.

    In-memory hash tables which are used as temporary tables.

    SQL functions are implemented using a highly optimized class library and

    should be as fast as possible. Usually there is no memory allocation at all after

    query initialization.

    The MySQL code is tested with Purify (a commercial memory leakage

    detector) as well as with Valgrind, a GPL tool.

    The server is available as a separate program for use in a client/server

    networked environment. It is also available as a library that can be embedded

    (linked) into standalone applications. Such applications can be used in

    isolation or in environments where no network is available.

    Column Types

    Many column types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long,

    FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME,

  • 1285974/5072/RIET/Abohar

    23

    DATETIME, TIMESTAMP, YEAR, SET, ENUM, and OpenGIS geometry

    types.

    Fixed-length and variable-length records.

    Commands and Functions

    Full operator and function support in the SELECT and WHERE clauses of

    queries. For example:

    mysql> SELECT CONCAT(first_name, ' ', last_name)

    FROM tbl_name

    WHERE income/dependents > 10000 AND age > 30;

    Full support for SQL GROUP BY and ORDER BY clauses. Support for

    group functions (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(),

    MAX(), MIN(), and GROUP_CONCAT()).

    Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both

    standard SQL and ODBC syntax.

    Support for aliases on tables and columns as required by SQL-92.

    DELETE, INSERT, REPLACE, and UPDATE return the number of rows that

    were changed (affected). It is possible to return the number of rows matched

    instead by setting a flag when connecting to the server.

    The MySQL-specific SHOW command can be used to retrieve information

    about databases, tables, and indexes. The EXPLAIN command can be used to

    determine how the optimizer resolves a query.

    Function names do not clash with table or column names. eg, ABS is a valid

    column name. The only restriction is that for a function call, no spaces are

    allowed between the function name and the `(' that follows it. You can mix

    tables from different databases in the same query (as of Version 3.22).

    Security

    A privilege and password system that is very flexible and secure, and allows

    host-based verification. Passwords are secure because all password traffic is

    encrypted when you connect to a server.

    Scalability and Limits

    Handles large databases. We use MySQL Server with databases that contain

    50 million records. We also know of users that use MySQL Server with

    60,000 tables and about 5,000,000,000 rows.

  • 1285974/5072/RIET/Abohar

    24

    Up to 32 indexes per table are allowed. Each index may consist of 1 to 16

    columns or parts of columns. The maximum index width is 500 bytes (this

    may be changed when compiling MySQL Server). An index may use a prefix

    of a CHAR or VARCHAR column.

    Connectivity

    Clients may connect to the MySQL server using TCP/IP sockets on any

    platform. On Windows systems in the NT family (NT, 2000, or XP), clients

    may connect using named pipes. On Unix systems, clients may connect using

    Unix domain socket files.

    The Connector/ODBC interface provides MySQL support for client programs

    that use ODBC (Open-DataBase-Connectivity) connections. For example, you

    can use MS Access to connect to your MySQL server. Clients may be run on

    Windows or Unix. Connector/ODBC source is available. All ODBC 2.5

    functions are supported, as are many others.

    The Connector/JDBC interface provides MySQL support for Java client

    programs that use JDBC connections. Clients may be run on Windows or

    Unix. Connector/JDBC source is available.

    Clients and Tools

    The MySQL server has built-in support for SQL statements to check,

    optimize, and repair tables. These statements are available from the command

    line through the mysqlcheck client. MySQL also includes myisamchk, a very

    fast command-line utility for performing these operations on MyISAM tables.

    All MySQL programs can be invoked with the --help or -? options to obtain

    online assistance.

  • 1285974/5072/RIET/Abohar

    25

    CHAPTER 3

    INTRODUCTION TO PROJECT

    Technology is constantly changing. Society as we know it depends on this fact. That

    which we take for granted today would have been the stuff of science fiction as little

    as fifty years ago. In fifty years time, we will doubtless be excited, perturbed and

    baffled by yet more new developments. In the early years of the twenty first century,

    it is computers and the Internet that have captured the public imagination, and found

    their way into not just the working environments, but increasingly into the domestic

    space. In this modern society, if we are not capable to cope up with these changes

    than we are not going to stand or survive anywhere in this technical world. Today

    there is no place for errors, so as to make a system more effective and efficient we

    need such technology where error prone chances must be least.

    In the scenario of the assignment, we are required to develop a web-based application

    on Job Portal Management System. In this time of recession where everyone, is either

    experienced or fresher, is in search for a job. This job portal can prove to be very

    helpful since it allows users of different profile to upload their CVs, search job on the

    basis of their qualification. Every user can access through user id and apply for

    multiple jobs at a time.

    Currently, we are working on a manual system where data is stored in the form of

    registers. Viewing available jobs, or applying for the job at the agency can be done for

    which job seekers has to go to the agency and check the available jobs at the agency.

    Job seekers check he list of jobs available and apply the job. Then the agency will

    show available jobs for the job seeker for his qualifications and then updates the jobs

    database. The developed Job Portal management system is web-based which

    Requires Employee Registration & Profiles, Job Search, Employer Registration &

    Profiles, and Subscription Option for both Employee and Employer etc. Employer can

    add Own Profile and post jobs and Job Seeker can Search Jobs based on Geographical

    Area (State), Qualification, and Departments wise.

    3.1 PURPOSE

    The purpose of designing the online job portal is to give the job seekers a platform for

    finding a right and a satisfactory job according to their qualification. It also connects

    the job seekers with the major agencies.

  • 1285974/5072/RIET/Abohar

    26

    It also provides Jobs portal for Job Seekers to submit their CV and apply for job

    posting and Employer can select best Employees from Available CV based on their

    payment option selection. This is basically a Job portal where job Seeker applies for

    jobs and employer post jobs and select prospective applicant.

    Job portal is prepared for provide all categories of job and help to get various type of

    job. The main purpose of job portal is to provide the facility to job seekers for getting

    the quick job.

    So, it enables applicants to search for jobs in a convenient manner and to enable

    employers to find suitable candidates.

    3.2 OBJECTIVE

    The objective of the application is to develop a system using which job applicants and

    recruiters can communicate with each other. An Online Job Portal is an application

    where the job seekers can register themselves at the website and search jobs which are

    suitable for them where as the employers register with the website and put up jobs

    which are vacant at their company.

    The Online Job Portal System is a package to be used by agencies to improve the

    efficiency of business. The Online Job Portal System to be developed benefits greatly

    the members. The system provides jobs catalogue and information to members and

    helps them decide on the jobs to apply. The Admin and employers can keep the jobs

    catalogue updated all the time so that the Job seekers get the updated information all

    the time.

    3.3 SCOPE

    The Scope for the system can be as follows:-

    Maintain Job Seeker and Employer records

    Maintain uploaded Resumes

    Provide Customized Job Postings

    Maintain Job Posting details and generate various reports

  • 1285974/5072/RIET/Abohar

    27

    CHAPTER 4

    MODULES

    The application comprises the following major modules:

    4.1 JOB SEEKER MODULE

    This module provides functionalities for job seekers. Applicants can post their

    resumes with personal and professional details. They can also update the resume as

    frequently as required. The applicant can also browse through the present vacancies

    available. Job seekers can also get mail alerts when their resumes are selected by

    employers.

    4.2 EMPLOYER MODULE

    This module provides functionalities related to employers. Employers can post

    vacancy details and update the details as and when necessary. Employers can search

    through applicant resumes based on different criteria.

    4.3 ADMINISTRATION MODULE

    This module provides administrator related functionalities. Administrator manages

    entire application and maintains the profiles of applicants and employers.

    4.4 PUBLIC MODULE

    This module is creating for public view. In this module public can view jobs and

    upcoming jobs. Public can register for apply jobs and get latest jobs on their Email-

    ID.

    4.5 APTITUDE TEST (DEMO) MODULE

    This module is creating for provide aptitude test demo to job seeker. In this test 15

    questions which have four choice and in this also generate result of aptitude test.

  • 1285974/5072/RIET/Abohar

    28

    CHAPTER 5

    METHODOLOGY OF THE PROJECT

    5.1 PROCESS MODEL

    Process modeling aims to graphically represent the processes which capture,

    manipulate, store and distribute data.

    Data flow diagrams

    Structured English

    Decision tables and decision trees

    5.1.1 Data Flow Diagrams

    Data flow diagrams model the flow of data into, through, and out of an information

    system:

    show the processes that change or transform data

    show the movement of data between processes

    represent a system as a network of processes which transform data flowing

    between them

    DFD Symbols:

    In the DFD, there are four symbols :

    1. A square defines a source(originator) or destination of system data

    2. An arrow identifies data flow. It is the pipeline through which the information

    flows

    3. A circle or a bubble represents a process that transforms incoming data flow into

    outgoing data flows.

    4. An open rectangle is a data store, data at rest or a temporary repository of data

    Process that transforms data flow.

    Source or Destination of data

    Data flow

  • 1285974/5072/RIET/Abohar

    29

    Data Store

    LEVEL 0:

    level zero data flow diagram is the diagram at the level immediately below

    the context diagram.

    It "expands" the single process on the context diagram to show the major,

    high-level processes (or functions) within the system

    Fig 5.1:- Level 0 DFD

    LEVEL 1 :

    Fig 5.2:- Level 1 DFD

  • 1285974/5072/RIET/Abohar

    30

    5.2 CONTEXT DIAGRAM

    The highest level data flow diagram is the context diagram.

    The context diagram shows the interaction of the system with its environment in

    terms of data flow

    The context diagram defines the boundary of the system (the scope of the system)

    Only the data flows which leave the system and the data flows which come from

    outside the system are shown.

    0

    JOB PORTAL SYSTEM

    Job Seeker

    Login

    Update Profile

    Search Job

    Registeration

    Admin

    Employee

    Post Resume

    Apply For Job

    Create Job Agents

    Job Notifications

    Registration

    Generate Reports

    Login

    Post Jobs

    Search Resume

    View Resume

    Download Resume

    Create Resume Agents

    Registration Confirmation

    Generate Reports

    Customizes Search Criteria

    Provide User Authentication

    Alters Site Design

    Manage User Profile

    Send User NotificationCategorizes Job Postings

    Displays Recent Jobs

    Fig 5.3:- Context Diagram

  • 1285974/5072/RIET/Abohar

    31

    5.3 DATA MODEL

    5.3.1 Introduction to Data Modeling

    Data modeling is the formalization and documentation of existing processes and

    events that occur during application software design and development. Data

    modeling techniques and tools capture and translate complex system designs into

    easily understood representations of the data flows and processes, creating a

    blueprint for construction and/or re-engineering.

    A data model can be thought of as a diagram or flowchart that illustrates the

    relationships between data. Although capturing all the possible relationships in a

    data model can be very time-intensive, it's an important step and shouldn't be

    rushed. Well-documented models allow stake-holders to identify errors and make

    changes before any programming code has been written.

    5.3.2 Entity-relationship diagram

    An entity-relationship diagram is a data modelling technique that creates a

    graphical representation of the entities, and the relationships between entities,

    within an information system.

    The three main components of an ERD are:

    The entity is a person, object, place or event for which data is collected.

    The entity is represented by a rectangle and labelled with a singular noun.

    The relationship is the interaction between the entities.. A relationship

    may be represented by a diamond shape, or more simply, by the line

    connecting the entities.

    The cardinality defines the relationship between the entities in terms of

    numbers.

    The three main cardinal relationships are:

    One-to-one

    Expressed as 1:1;

    One-to-many

    Expressed as 1: M;

    Many-to-many

    Expressed as M: N.

  • 1285974/5072/RIET/Abohar

    32

    Job seeker

    Agent

    AccountAdministrator

    Application

    Employer

    Job

    Message

    Resume

    SavedJob

    Uploads

    Ha

    s

    Submits

    Createshas

    Po

    sts

    recieves Creates

    has

    sends

    Has

    Has

    has

    manages

    manages

    s

    Fig 5.4:- ER Diagram

  • 1285974/5072/RIET/Abohar

    33

    CHAPTER 6

    REQUIREMENTS

    6.1 FUNCTIONAL REQUIREMENTS

    6.1.1 Job Seeker

    Table 6.1:- Job Seeker

    S.No Requirement Description

    1. Registration Jobseeker if wants to register to the site, a click on

    Register Now button will provide him with a

    registration form. After filling all the details in the

    registration form i.e. the mandatory ones which are

    marked by * has to be filled necessarily and the

    remaining may be left, user has to submit it by

    clicking on submit button. Notification via

    message will be displayed.

    2. Login It allows only authorised people to access the

    application. When the user logs in to the system,

    the user has to enter login details in the specific

    username and password fields. The user clicks on

    login button and if id and password are validated,

    then the user is given access to the application and

    user profile is displayed.

    3. Forgot Password

    Option

    If the user forgets the password, it can be retrieved

    by Forgot Password? Button. A click on this

    button will let to a security question and if the

    answer is verified. The message with correct

    password will be provided to the user.

    4. Search Jobs The jobseeker can search for the required job by

    entering keywords, category, work status, location,

    qualification, categories, company, location,

    experience in the provided fields. A click on

    search button will display the result of all the jobs

    matching the job seekers specification.

  • 1285974/5072/RIET/Abohar

    34

    5. Add CV Jobseeker has the option to either create his CV or

    post his own made CV. So, user is asked already

    Having CV or wants to create with? If a click on

    Upload CV button is made, it will enable the user

    to post his created CV on the site.

    6. Create Job Agents

    and Receive Daily

    Notifications

    A trigger option is provided to the jobseeker i.e.

    jobseeker can create job agents by a click on Add

    Trigger option. Job agents notify the registered

    Job seekers via message with various job details

    and also specified requirements of the job they

    opted for.

    7. Edit, Activate or

    Delete Job Search

    Agent.

    Edit, Activate or Delete Trigger options provided

    with Create Trigger lets jobseeker with some

    additional facilities for the already created job

    search agents.

    The jobseeker can edit job search agents by opting

    for Edit Trigger option. This will let jobseeker to

    modify the requirements of the job or make some

    changes in receiving notifications.

    Activate/Deactivate Trigger allows the jobseeker

    whether or not to receive notifications via

    message.

    Delete Trigger allows the jobseeker to delete the

    created job search agent and not to receive any

    messages for the job.

    8. Save Jobs As jobseeker receives daily notifications of jobs

    that match their keywords via job agent. The user

    can save jobs that interest them but do not want to

    apply at that particular point of time. A Click on

    Save Job button will put all the details of that job

    in the queue and the candidate can apply for it

    later on from the list.

    9. Arrange Job Search As the jobseeker searches for a particular job and

  • 1285974/5072/RIET/Abohar

    35

    Results Saves it. He has the ability to arrange job search

    results When all the search results are with the

    user a click on date or location button allows the

    user to collect results by date or location.

    10. Apply for a Job Jobseeker applies the job to particular company

    after submitting the resume and the required

    details. A notification to apply for a particular job

    according to his requirements is sent to the

    jobseeker. Job Seeker can apply for the job in the

    same company by clicking on the apply button

    with the notification.

    11. Set Privacy Level Job seeker has the option to set 'privacy level' to

    control how much information is visible to

    employers through resume searches. The user has

    to set on Privacy Level while posting or creating

    CV and then check from a list of

    Private/Public/Confidential Resumes option.

    12. Resume View

    Reports

    Job Seeker also has the option of Report

    Generation. As the user opts for Report generation

    a list of how often interested employers viewed

    the particular jobseekers resume is provided to

    the jobseeker.

    6.1.2 Employer

    Table 6.2:- Employer

    S.No Requirement Description

    1. Registration For Employer registration to the site, a click on

    Register Now button will provide him with a

    registration form. After filling all the details in the

    registration form i.e. the mandatory ones which

    are marked by * has to be filled necessarily and

    the remaining may be left, user has to submit it by

    clicking on submit button. Notification via

  • 1285974/5072/RIET/Abohar

    36

    message will be displayed.

    2. Login It allows only authorised people to access the

    application. When the user logs in to the system,

    the user has to enter login details in the specific

    username and password fields. The user clicks on

    login button and if id and password are validated,

    then the user is given access to the application and

    user profile is displayed.

    3. Forgot Password

    Option

    If the user forgets the password, it can be retrieved

    by Forgot Password? Button. A click on this

    button will let to a security question and if the

    answer is verified. The message with correct

    password will be provided to the user.

    4. Search Resume The Employer can search for the required job by

    entering keywords, category, job category, days

    since posted in the provided fields. A click on

    search button will display the result of all the

    resumes matching the employers specification.

    5. Add a New Job Employer collects the vacancy details and has the

    authority to Post jobs. A particular is posted by

    filling detailed job description such as job title,

    company name, location, salary, job type, work

    type, description, required skills, etc in the

    required fields.

    If a click on Add Job button is made,

    advertisement for the new job will be posted on

    the website.

    6. Create Resume

    Agents

    Employers and Recruiters have the ability to

    create multiple Resume Agents. When the

    Employer searches for the resumes by a keyword,

  • 1285974/5072/RIET/Abohar

    37

    the segregation of resumes that match their

    keywords is performed by these agents. For

    Example, Employer searches for resumes relates

    to Java with an experience of more than 2 years,

    first Resume Agent will collect resumes of Java

    and second of Java but with experience of more

    than 2 years.

    7. Generates

    Information on Time

    Left

    As soon as the job is posted to the website,

    employer knows the time limit for which job is

    posted to the site. He thus posts the information

    on how much time left on each job posting. The

    System thus displays time left with each job

    posted.

    8. Information on

    number of vacancy

    viewings

    The Employer when sees different applications,

    an options is to view number of vacancies viewed

    is available with the employer. As employer

    clicks on it he is authorised to see the number of

    vacancy viewings and applications by him.

    9. Search, View or

    Download Resume

    Employers can Search Resumes for a particular

    job by filtering criteria and filling all the required

    fields. As the employer clicks on Search Button,

    all the Resumes within the criteria are displayed.

    After Searching, Employer now has the option to

    View or Download Resume. A click on any

    option will let him to view and check the resume.

    6.1.3 Administrator

    Table 6.3:- Administrator

    Sr. No Requirement Description

    1 Manage jobseeker and

    employer module

    Admin has the responsibility to manage the

    jobseeker as well as the employer modules.

    This includes managing their account,

    usernames and passwords etc.

  • 1285974/5072/RIET/Abohar

    38

    2 Send Notification messages

    to employer and jobseeker

    Whenever any user subscribes to the site as

    an employer or jobseeker, the admin will

    have to send them notification messages

    confirming their subscription.

    3 Provide roles and

    authentication to users

    The administrator provides usernames and

    passwords to the users and also the admin

    has the duty to make user of the website as

    an employer or jobseeker depending on the

    type of registration made by the user.

    4 Ability to change websites

    interface look

    The option to make modifications in the look

    and appearance of the websites interface

    relies in the hands of the administrator. This

    includes changing of menu items in the

    menu bar, display of contents and also the

    color if the interface.

    5 Send notifications to

    candidates, members, or

    employers

    The administrator can send notifications to

    the subscribers regarding account details

    consisting of their subscriptions, creation

    dates, events, etc.

    6 Automated message

    indicating that accounts have

    expired

    The users account will expire if it is not

    used for a specific time period. So the admin

    can send notifications to those users whose

    accounts have been expired and requires

    renewal or creation of new account.

    7 Display recent jobs on

    homepage

    The job offers on the website keeps

    changing. So, the admin has the duty to

    remove the old posts or dead posts and

    display new and recent job offerings on the

    homepage of the website.

    8 Extensive usage report/stats The admin also generates notification if the

    number of posts of resumes or number of

    sign ups to the website crosses a particular

    limit. This notification is referred as

  • 1285974/5072/RIET/Abohar

    39

    extensive usage report/stats.

    9 Categorization of JOB

    postings

    The website offers jobs of different

    categories. So, the admin will have to

    display the job offering posts in their specific

    categories so that user doesnt get confused

    regarding the scope and context of the job

    post.

    10 Customization of search

    criteria

    The search for job posts can be done using

    keyword search system and the matching job

    vacancy will be displayed to the user. The

    admin decides what jobs will be displayed

    on search using a particular keyword(s).

    11 Apply Restrictions on Job

    Posting, Resume Search,

    Contact Info, Applicant

    Screening, Company Profile

    The administrator can apply restrictions on

    the number of job postings to be displayed

    on the websites homepage at a time. The

    admin also decides what postings are to be

    removed and why. Also, the admin has the

    duty to display the details restricting display

    of contact details of the company or even the

    applicant and the company profile can be

    limited.

    12 Control over what is

    displayed in nearly all

    dropdown lists and list boxes

    throughout the site

    The admin can change the content of the

    dropdown lists and list boxes anywhere in

    the website. This can be done either to apply

    restrictions on few contents or to make the

    website free from unwanted and less

    important contents.

    13 Generate reports If any If any report is to be generated, for example,

    reports of the number of applicants or the

    number of resumes posted for a particular

    job post, it can be generated be the admin.

  • 1285974/5072/RIET/Abohar

    40

    6.2 NON-FUNCTIONAL REQUIREMENTS

    Secure access of confidential data by user name and password. This

    application is secure for every kind of its users, because if any user logout

    from any session then nobody will be able to access his profile without

    knowing his confidential password.

    24 X 7 availability

    Better component design to get better performance at peak time.

    The database used here is robust, reliable & fast. So users will have to wait for

    the output very short time.

    This application can be accessed from any type of platform.

    There is no case of redundancy in the database so it will not take extra

    memory space.

    Username & password are sent to the users via mobile sms and email after

    registration.

    Password recovery system is also provided in case of forgetting the password.

    6.3 HARDWARE REQUIREMENTS

    Operating System :Windows XP Professional SP3/Vista SP1/Windows

    Processor : 2.6 GHz Intel Pentium IV or equivalent

    Memory : 2 GB

    Disk space : 2.5GB for JDK1.7 and 1 GB WAMP SERVER

    Motherboard :Intel 845 and above

    6.4 SOFTWARE REQUIREMENTS

    Software plays an important role in any project development. One should understand

    which software to use to develop the project. Windows 7 is used as an operating

    system. The application is developed using:

    Technology : JAVA

    Environment : Java JDK 1.7

    Frontend Tool : Net Beans

    Backend Tool : MYSQL, TOMCAT SERVER

  • 1285974/5072/RIET/Abohar

    41

    CHAPTER 7

    SOFTWARE TESTING

    Software testing is a critical element of software quality assurance and represents the

    ultimate review of specification, design and coding. The purpose of product testing is

    to verify and validate the various work product viz. units, integrated unit, and final

    product to ensure that they meet their respective requirements.

    7.1 TESTING OBJECTIVES

    Testing is a process of executing a program with the intent of finding an error.

    A good test case is one that has a high probability of finding an as-yet

    undiscovered erro

    A successful test is one that uncovers an as-yet undiscovered error.

    Live data is the actual data to be used in the proposed system.

    Test data is previously designed sample input to achieve predictable results.

    7.2 TESTING TECHNIQUES

    Once source code is generated, software must be tested to find (or correct) as many

    errors as possible before delivery to customer. The goal is to design a series of test

    cases that have a high likelihood of finding errors. The Software Testing Techniques

    provide systematic guidance for designing tests that exercise the internal logic of

    software components, and exercise the input and output domains of the program to

    uncover errors in program function, behavior and performance.

    Reviews and other Software Quality Assurance activities can and do uncover errors,

    but they are not sufficient. Every time the program is executed, the customer tests it.

    Therefore, we have to execute the program before it gets to the customer with the

    specific intent of finding and removing all errors. In order to find the highest possible

    number of errors, tests must be conducted systematically and test cases must be

    designed using disciplined techniques.

    7.3 TESTING STRATEGIES

    A strategy for software testing integrates software test case design methods into a

    well-planned series of steps that result in the successful construction of software. The

    strategy provides a road map that describes the steps to be conducted as part of

    testing, when these steps are planned and then undertaken, and how much effort, time

  • 1285974/5072/RIET/Abohar

    42

    and resources will be required. Therefore, any testing strategy much incorporates test

    planning, test case design, test execution, and resultant data collection and evaluation.

    7.4 SYSTEM TESTING

    The importance of software testing and its implications with respect to software

    quality cannot be overemphasized. Software testing is a critical element of software

    quality assurance and represents the ultimate review of specification, design and code

    generation. Once source code has been generated software must be tested to uncover

    (and correct) as many errors as possible before implementation. Every time the

    program is executed, it is tested.

    For the testing of the project, we have followed the following two major testing

    methods:

    White box testing

    Black box testing

    White box Testing: tests will focus on program control structure. Test cases will

    be derived to ensure that all statements in the coding of pages have been executed

    at least once during testing and that all logical conditions have been exercised.

    Black box Testing: will be designed to validate functional requirement without

    regard to the internal workings of the project. Black box testing techniques will

    focus on the information domain of the project, deriving test cases by partitioning

    the input and output domain of the project in a manner that provides thorough test

    coverage. Although testing is done after the designing, but testing has also been

    done simultaneously along with designing and coding.

    7.5 SOFTWARE MAINTENANCE

    Software maintenance in software engineering is the modification of a software

    product after delivery to correct faults, to improve performance or other attributes.

    The key software maintenance issues are both managerial and technical. Key

    management issues are: alignment with customer priorities, staffing, which

    organization does maintenance, estimating costs. Key technical issues are: limited

    understanding, impact analysis, testing, and maintainability measurement. After the

    installation phas