Date post: | 11-May-2017 |
Category: |
Documents |
Upload: | arvind-sanu-misra |
View: | 213 times |
Download: | 0 times |
“Job Seeker (Online Job Portal)”
A Project workA Project workSubmitted in Partial Fulfillment for the award ofSubmitted in Partial Fulfillment for the award of
Master of Computer ApplicationMaster of Computer Application
SubmittedSubmittedToTo
Sikkim Manipal UniversitySikkim Manipal University
Submitted BySubmitted By PAAVAN
Enroll. NoEnroll. No.-.- 520827432
Under The Guidance ofUnder The Guidance of
Mr. Zubair HussainMr. Zubair Hussain
Senior Faculty, MCA DepartmentSenior Faculty, MCA Department
June 2011June 2011
Job Seeker (Online Job Portal)
Acknowledgment
I would like to thank first of all The Almighty GOD, because He is the one who has
helped me the most by keeping His blessings on me.
I would also like to thank Mr. J.K Chadha Director & Mr. Mohd
Zubair(Faculty Incharge), Computer Department, Sikkim Manipal
University(LC-02940) , Alambagh. For having the confidence in me,
for all his wisdom and guidance and for giving me the opportunity to
learn from my own mistakes.
I would also express our heart felt gratitude to all other faculty
members of Sikkim Manipal University (LC 02940) , for their help
and support. Without them it was not possible for me to complete my
project.
I would also like to thank all my friends and batch mates for their
selfless help and for encouraging and boosting up my confidence from
time to time.
Last but not the least, a very special thanks to my parent and other
family members for their utmost efforts to make me study and to bring
us up to this stage where I can proof myself.
Keeping this in mind, once again I would like to thank everyone for support.
Paavan
1
Job Seeker (Online Job Portal)
BONAFIDE CERTIFICATE
Certified that this project report titled “Job Portal Website”is the bonafide
work of “Paavan” who carried out the project work under my supervision.
Mr. J. K Chadha Mr. Mohd. Zubair Director Faculty Incharge HLC Academy I T & Computer Alambagh ,Lucknow
2
Job Seeker (Online Job Portal)
INTRODUCTION
Develop a site as common place for the Job seeker and the employment
provider. Job seeker is the user, who is looking for the good opportunity for
their skills and employment provider are the company or organization, who is
looking for the good skill person for their requirements.
In this system user can save their resume and if required can send his/her
resume to the existing company. In contrast any company can feed their
requirement in this site for the general user’s who are visiting this site.
In maintaining big data and frequently getting data, and doing transaction there
must have strong search engine for searching resume. This is the application
for following requirements -:
1. System could track the requirement of new employment for the new
company.
2. System should accept new resume, could modify and delete resume.
3. System should create new company, could modify and delete company.
4. All user and company must have authentication (valid username and
password).
3
Job Seeker (Online Job Portal)
5. Must mention about the detail of the company profile that developed
this site and mention the way to contact.
6. The objective of a job portal is two pronged - First, to provide an avenue
for a prospective job seeker with the most relevant and appropriate job
opportunities. The more such opportunities that the job portal gives, the
better it would be for the job and the job the job portal themselves.
7. Second, to provide corporate employers with a large number of profiles
in its database, which have good number of quality resumes in terms of
work experience and skills sets as sought by the corporate.
The prime objective behind the development of the online job portal
‘Job Seeker’ is to provide a better solution to the job seekers as well as
the Employers itself.
The key purpose of the project is to:
To deliver better solution to a job seeker for finding a suitable
Employer.
Employer can register themselves, can upload logos and edit their
profiles.
Employers can use premium services like posting their advertisements,
post latest vacancies, and list them among top companies list.
4
Job Seeker (Online Job Portal)
System can be separated into following artifacts-:
1. User Detail
a. Register On site
b. Separate Login
c. Upload resume
d. Send resume
2. Search Engine (Company and General User)
a. By Job Title
b. By Location
c. By skills
3. User as company
a. Add new vacancy or post
b. Modify and delete vacancy or post, if required
c. View all
5
Job Seeker (Online Job Portal)FEATURES AND BENEFITS
This project is very easy to operate and user friendly i.e. user does not require
any previous knowledge of computer to operate because this system will
Provide user with proper guideline and help which is available at each stage of
working. The scope for development of the web portal ‘Job Seeker’ is to
provide quality service to the job seekers in the current industries such as IT,
Telecom, Marketing, Finance, Banking & Retail Sectors.
The project is aimed to provide efficient services to the users of the
website. The web portal ‘Job Seeker’ has been developed with latest
technology and tools are open source, thus providing higher flexibility to retain
quality service and Maintenance and updation is on regular interval.
BENEFITS
Reduced manpower
Generalized software, increased operational efficiency
Increased accuracy and reliability
Reduced operational time
Reduced paper work
Better GUI
Easy to maintain
Easy to update
6
Job Seeker (Online Job Portal) List of Contents
Chapter Name Page No.
1. PHP :Front End 8
2. Phpmyadmin: Back End 18
3. PHP Architecture 22
4. Tools Used For Development 39
5. Hardware and Software Requirement 40
6. Entity Relationship Diagrams 41
7. List of Tables 43
8. System Analysis and Software Model 54
9. Feasibility Report 61
10. System Validation & Testing 63
11. Conclusion 68
12. Future Enhancement 69
13. Limitations 71
14. References 72
7
Job Seeker (Online Job Portal) Introduction to PHP
What is PHP?
Hypertext Pre-processor (PHPs) is a server-side scripting language, and
server-sidescripts are special commands you must place in Web pages. Those
commands are processed before the pages are sent from your Server to the
Web browser of your visitor. A typical PHP files will content commads to be
executed in the server in addition to the usual mixture of text and HTML
(Hypertext Markup Language) tags.
When you type a URL in the Address box or click a link on a Web page,
you're asking a Web server on a computer somewhere to send a file to the Web
browser (sometimes called a "client") on your computer. If that file is a normal
HTML file, it looks exactly the same when your Web browser receives it as it
did before the Web server sent it. After receiving the file, your Web browser
displays its contents as a combination of text, images, and sounds. In the case
of an PHP page, the process is similar, except there's an extra processing step
that takes place just before the Web server sends the file. Before the Web
server sends the PHP file to the Web browser, it runs all server-side scripts
contained in the page. Some of these scripts display the current date, time, and
other information. Others process information the user has just typed into a
form, such as a page in the Web site's guestbook
To distinguish them from normal HTML pages, PHP files are usually given the ".php" extension.
8
Job Seeker (Online Job Portal)
What Can You Do with PHP?
There are many things you can do with PHP. You can display date, time, and other information in different ways.
You can make a survey form and ask people who visit your site to fill it
out, send emails, save the information to a file, etc
What Do PHP pages Look Like?
The appearance of an PHP page depends on who or what is viewing it. To the
Web browser that receives it, an Active Server Page looks just like a normal
HTML page. If a visitor to your Web site views the source code of an PHP
page, that's what they see: a normal HTML page. However, the file located in
the server looks very different. In addition to text and HTML tags, you also
see server-side scripts. This is what the PHP page looks like to the Web server
before it is processed and sent in response to a request.
What Do PHP pages Look Like?
Server-side scripts look a lot like HTML tags. However, instead of starting and
ending with lesser-than ( < ) and greater-than ( > ) brackets, they typically start
with <?php or <? and will typically end with ?>. The <?php or <? are called
anopening tags, and the ?> is called a closing tag. In between these tags are the
server-side scripts. You can insert server-side scripts anywhere in your Web
page--even inside HTML tags.
9
Job Seeker (Online Job Portal)
Benefits of PHP
Whenever we think off to begin any website, we consider on several aspects of
the site including website designing, web developing, web hosting, its
maintenance, its flexibility, usability, scalability and how will it be easy to
handle and above all the overall allocated budget for this site.
After considering on these aspects, if we decide to develop a site that looks
attractive, smooth running, fast downloading, cost effective and easy to handle,
we will definitely zeroed on PHP, one of the most popular web development
scripts among Java, ASP .Net, .JSP and PHP..
PHP is an open source server side programming language available at free of
cost that can be get easily from the market. Its coding style is quiet easy to
understandable and it is very efficient on multi-platforms like Windows,
Linux, and UNIX etc. It is very flexible but powerful language, most suitable
for developing dynamic web pages. Nowadays developing dynamic websites
are in the huge demand due to its specific characteristics like it automatically
refreshes and does not need to make much changes manually.
In the recent development, PHP has grown enough to fulfill the requirements
of the clients, several web tasks can now be easily perform using PHP that was
not possible earlier. For example now we can develop from small websites to
giant business and organizational websites, informative forums, chatting
platforms, CRM solutions, e-commerce shopping carts, community websites,
e-business, shopping carts and gigantic database driven sites. Moreover, data
10
Job Seeker (Online Job Portal)
handing has also been pretty handy in PHP in which the programmers can
easily store data, serialize, creating cookies, calculating viewers by cookies
and sessions and excellent file management system.
In terms of advantage in running, PHP does not put strain on servers. It uses its
own inbuilt memory space that decreases the workload from the servers and
the processing speed automatically enhances. Its script is optimized to make
the server's job easier, thus nowadays the uses of PHP is being popular among
the programmers.
PHP has also upper hand in running multimedia files as PHP is not much
dependent upon external plug-ins to run the programs. It is executed
exclusively by server and therefore need nothing from the end users. PHP must
be installed on the server and server parses the code at its source, executes and
sends it properly send properly formatted html to the client computer. The
user's browser only sees code it understands.
And, final in terms of Budget, which is the most crucial part of the software
development especially for the small business users who wants to develop
money making websites to earn thick profit in minimum investments. The
limitation of budget is the biggest obstacle for small businesspersons. For
those, PHP is the key solution as it is available at free of cost under PHP
General Public License and most of its associative required software's like
MySQL, Text Editors and Apache Server are also freely available, so it proves
very cost effective for the developers. However, in terms of performance it is
11
Job Seeker (Online Job Portal)similar efficient like other programming languages of same category.
Preparing to code
Your environment for coding PHP applications should ideally contain these
tools: an IDE (integrated development environment) for writing and debugging
PHP scripts; a simulated server for testing deployment of the scripts; and a
reference source listing the detailed parameters needed for all PHP functions.
You can get the last of those features easily by surfing to PHP.net, the home
page of the PHP development. All documentation for the PHP language is
12
Job Seeker (Online Job Portal)
there. The docs include sample code, links to relevant resources, and
contributed comments from PHP users, whose real-world experiences in PHP
can make the difference between code that works and doesn’t work.
Integrated development environment
It’s possible to code PHP scripts in a plain text editor, but your development
time will be much shorter and your development experience will be much
happier, if you instead type your code within an integrated development
environment (IDE).
A PHP IDE will point out syntax errors as soon as you make them, so
you’re not wasting time hunting down such errors after you’ve uploaded a
script to your server. An IDE will also clean (“tidy”) and format your code, so
all the braces and parentheses line up nicely. If you’ve ever tried fixing
unmatched parentheses errors using a plain text editor, you know how vital
this feature is.
An IDE will also have a feature equivalent to Microsoft’s Intellisense,
which displays pop-up menus that list the parameters and description of the
PHP function you’re currently typing. This feature deletes the need for
constant switching back and forth between your browser and development
windows to consult the PHP API.
At least two organizations offer free IDEs for PHP: NetBeans.org and
Eclipse.org.13
Job Seeker (Online Job Portal)
The PHP runtime environment
Since PHP runs on a server, getting a simulated server for your development
environment will help you see how your PHP script runs when you deploy it
on the production server. You could install just the server software on your
hard drive, but your workflow will be smoother if you integrate the installation
with your IDE. The help pages for the NetBeans IDE have detailed
instructions on installing an implementation of Apache server, and configuring
it to work with NetBeans.
Using PHP on Webserve1. Bang lines are not required and will be ignored if present. (This
information is provided for historical purposes as the previous web server environment required bang lines.)
2. You should use .php as the file extension. This refers to only PHP files
executed directly via a URL. Include files may use other extensions,
such as .inc. If you have PHP files that currently use .php4 extensions, it
is strongly recommended that you move toward using .php for these
instead.
3. The script must have owner execute permission. For best security, we
strongly recommend using permissions set to 700 (only owner has read, write, and execute privileges).
For example, where "script.php" is the name of the file containing the
script, change the file permission as follows.
chmod 700 script.php
14
Job Seeker (Online Job Portal)
Understanding PHP Data Types
Variables can store data of different types, and different types of data can do
different things. For example, you can add variables whose values are numbers
(1 + 2), but adding variables whose values are characters (a + b) doesn't make
much sense.
You can store the following simple types of data in PHP variables:
Integer: A whole number (no fractions), such as –43, 0, 1, 27, or 5438. The range of integers that is allowed varies, depending on your operating system, but in general, you can usually use any number from –2 billion up to +2 billion.
Floating point number: A number (usually not a whole number) that includes decimal places, such as 5.24 or 123.456789. This is often called a real number or a float.
Character string: A series of single characters, such as hello. There is no practical limit on the length of a string.
Boolean: A TRUE or FALSE value.
Boolean data types represent two possible states — TRUE or FALSE. Boolean
values are used mainly to compare conditions for use in conditional
statements. For example, PHP evaluates an expression, such as $a > $b, and
the outcome is either TRUE or FALSE.
PHP considers the following values FALSE :
The string FALSE (can be upper- or lowercase)
The integer 0
The float 0.0
An empty string
The one-character string 0
15
Job Seeker (Online Job Portal)
The constant NULL
Any other values in a Boolean variable are considered TRUE. If you echo a
Boolean variable, the value FALSE displays as a blank string; the value TRUE
echoes as a 1. Functions often return a Boolean variable that you can test to see
whether the function succeeded or failed.
Assigning data types
Most other languages require that you initialize the variable before using it,
specifying what type of data it can hold, but PHP is more informal. You don't
need to tell PHP which data type is in a variable. PHP evaluates the data when
you assign it to the variable and then stores it as the appropriate type.
Generally, this is helpful. PHP guesses the data type pretty accurately.
PHP also converts data when it needs to be converted. For example, if you
have the following statements, PHP converts the data types with no problem:
$firstNumber = 1; # PHP stores it as an integer$secondNumber = 1.1; # PHP stores it as a float$sum = $firstNumber + $secondNumber;
Technically, the third statement is not possible because the data to be added
are different types. However, PHP converts the integer to a float so that the
addition proceeds smoothly. This happens automatically and invisibly and is
very helpful.
Type casting
On a rare occasion, PHP guesses badly when it stores the data. You might need
to do something with a variable, and PHP won't let you because the data is the
wrong type. In such a case, you can specify how you want PHP to store the 16
Job Seeker (Online Job Portal)
data, rather than let PHP decide for itself. This is called type casting. To
specify a particular type, use a statement like one of the following:
$newint = (int) $var1;$newfloat = (float) $var1;$newstring = (string) $var1;
The value in the variable on the right side of the equal sign is stored in the
variable on the left side as the specified type. So the value in $var1 is stored in
$newint as an integer, as specified by (int).
Be careful when doing type casts. Sometimes you can get unexpected results.
For example, when you cast a float into an integer, it loses its decimal places.
To do this, PHP rounds the float toward 0. For example, if $number = 1.8 and
you cast it into an integer — $newnumber = (int) $number — $newnumber
will equal 1.
You can find out the data type of a variable by using a statement like the
following:
var_dump($myvariable);
For example, the following statement checks the data type of $checkvar:
var_dump($checkvar);
The output from this statement is int(27), which tells you that $checkvar
contains the integer 27.
17
Job Seeker (Online Job Portal)
Back End – PHP/MySQL
Introduction
MySQL is a database.
The data in MySQL is stored in database objects called tables.
A table is a collection of related data entries and it consists of columns and rows.
Databases are useful when storing information categorically. A company may
have a database with the following tables: "Employees", "Products",
"Customers" and "Orders".
Why Database Required?
It is actually surprising how useful a database can be when used with a
website. There are a huge variety of things you can do when you
interact the two, from displaying simple lists to running a complete
website from a database. Some examples of PHP and MySQL being
used together are: Banner Rotation. On this site, where each banner is, a PHP script is
called. This opens a database and picks a random banner from it to show the visitor. It also counts the number of times the banner has been viewed and could, with a few changes, track clicks too. To add, change or edit the banners all I have to do is change the database and the script will pick the correct banners for all the pages on the site.
Forums. Hundreds of forums (message boards) on the internet are run using PHP and MySQL. These are much more efficent than other systems that create a page for each message and offer a wide variety of options. All the pages in the forum can be updated by changing one script.
18
Job Seeker (Online Job Portal) Databases. One quite obvious example is sites which get all there
information from a database. For example Script Avenue is run by a few scripts, which gain all their information from a large
database. All the different script categories can be accessed in one script by just changing the URL to access a different part of the database.
Websites. If you have a large website and you want to change the design it can take a very long time to update and upload all the pages. With PHP and MySQL your whole website could be just one or two PHP scripts. These would access a MySQL database to get the information for the pages. To update the website's design you would just have to change one page.
What Do I Need?
You only really need three things to run PHP scripts which access MySQL
databases. Firstly, you will, of course, need a webserver. This can either be on
a computer of your own or on a web host. Any web server software should
work with PHP and MySQL but the best to use is Apache, which is free.
PHP also needs to be installed on the server. If it is not already installed you
can install it (or ask your web host to install it). It can be downloaded from
PHP and is also free. If you are not sure if you have PHP installed I will show
you a way to check it later.
Finally, you will also require MySQL. This is the actual database software.
You can also use most other types of database (SQL, Oracle etc.) but as this is
a PHP/MySQL tutorial I will deal just now with the
19
Job Seeker (Online Job Portal)MySQL database (although the commands used here will also work with SQL
databases). As with the other software you need, MySQL is free and can be
downloaded from the MySQL homepage. If you are not sure if you have
MySQL installed, I will show you how to check later.
If you cannot install (or your web host won't allow) PHP and MySQL you can
still use another web host. Freedom2Surf are a free (banner supported) web
host and support PHP and have MySQL installed. HostRocket are an excellent
web host and can offer you 300MB of space with PHP, MySQL and loads of
other extras for under $10 a month.
Testing For PHP and MySQL20
Job Seeker (Online Job Portal)
There is a simple test for both PHP and MySQL. Open a text editor and type in
the following:
<?
phpinfo();
?>
and save it as phpinfo.php
Now upload this to your webspace and go to i
t in your browser. If you have PHP installed you will see a huge page with all
the details of your PHP installation on it. Next, scroll down through all this
information. If you find a section about MySQL then you
will know that MySQL is installed.
Managing Databases
Although all the database administrative options can be done through PHP
scripts, I strongly suggest installing a copy of PHPMyAdmin on your server. It
is an excellent free set of scripts that will provide you with an administrative
interface for your MySQL database(s). You can add, remove, edit, backup and
view your databases using this and it is especially useful when troubleshooting
your databases.
PHP Architecture
21
Job Seeker (Online Job Portal)
Protocol layer
22
Job Seeker (Online Job Portal)Protocol layer implements the external interface to SQL Server. All operations
that can be invoked on SQL Server are communicated to it via a Microsoft-
defined format, called Tabular Data Stream (TDS). TDS is an application layer
protocol, used to transfer data between a database server and a client. Initially
designed and developed by Sybase Inc. for their Sybase SQL Server relational
database engine in 1984, and later by Microsoft in Microsoft SQL Server, TDS
packets can be encased in other physical transport dependent protocols,
including TCP/IP, Named pipes, and Shared memory. Consequently, access to
SQL Server is available over these protocols. In addition, the SQL Server API
is also exposed over bando web services.
Data storage
The main unit of data storage is a database, which is a collection of tables with
typed columns. SQL Server supports different data types, including primary
types such as Integer, Float, Decimal, Char (including character strings),
Varchar (variable length character strings), binary (for unstructured blobs of
data), Text (for textual data) among others. It also allows user-defined
23
Job Seeker (Online Job Portal)composite types (UDTs) to be defined and used. SQL Server also makes server
statistics available as virtual tables and views (called Dynamic Management
Views or DMVs). A database can also contain other objects including views,
stored procedures, indexes and constraints, in addition to tables, along with a
transaction log. A SQL Server database can contain a maximum of 231
objects, and can span multiple OS-level files with a maximum file size of 220
TB.[17] The data in the database are stored in primary data files with an
extension .mdf. Secondary data files, identified with an .ndf extension, are
used to store optional metadata. Log files are identified with the .ldf
extension.
Storage space allocated to a database is divided into sequentially numbered
pages, each 8 KB in size. A page is the basic unit of I/O for SQL Server
operations. A page is marked with a 96-byte header which stores metadata
about the page including the page number, page type, free space on the page
and the ID of the object that owns it. Page type defines the data contained in
the page - data stored in the database; index, allocation map which holds
information about how pages are allocated to tables and indexes, change map
which holds information about the changes made to other pages since last
backup or logging, or contain large data types such as image or text. While
page is the basic unit of an I/O operation, space is actually managed in terms
24
Job Seeker (Online Job Portal) of an extent which consists of 8 pages. A database object can either span all 8
pages in an extent ("uniform extent") or share an extent with up to 7 more
objects ("mixed extent"). A row in a database table cannot span more than one
page, so is limited to 8 KB in size. However, if the data exceeds 8 KB and the
row contains Varchar or Varbinary data, the data in those columns are moved
to a new page (or possible a sequence of pages, called Allocation unit) and
replaced with a pointer to the data.
For physical storage of a table, its rows are divided into a series of partitions
(numbered 1 to n). The partition size is user defined; by default all rows are in
a single partition. A table is split into multiple partitions in order to spread a
database over a cluster. Rows in each partition are stored in either B-tree or
heap structure. If the table has an associated index to allow fast retrieval of
rows, the rows are stored in-order according to their index values, with a B-
tree providing the index. The data is in the leaf node of the leaves, and other
nodes storing the index values for the leaf data reachable from the respective
nodes. If the index is non-clustered, the rows are not sorted according to the
index keys. An indexed view has the same storage structure as an indexed
table. A table without an index is stored in an unordered heap structure. Both
heaps and B-trees can span multiple allocation units.……………………….
25
Job Seeker (Online Job Portal)Buffer management
SQL Server buffers pages in RAM to minimize disc I/O. Any 8 KB page can
be buffered in-memory, and the set of all pages currently buffered is called the
buffer cache. The amount of memory available to SQL Server decides how
many pages will be cached in memory. The buffer cache is managed by the
Buffer Manager. Either reading from or writing to any page copies it to the
buffer cache. Subsequent reads or writes are redirected to the in-memory copy,
rather than the on-disc version. The page is updated on the disc by the Buffer
Manager only if the in-memory cache has not been referenced for some time.
While writing pages back to disc, asynchronous I/O is used whereby the I/O
operation is done in a background thread so that other operations do not have
to wait for the I/O operation to complete. Each page is written along with its
checksum when it is written. When reading the page back, its checksum is
computed again and matched with the stored version to ensure the page has not
been damaged or tampered with in the mean time.
…………….
Logging and Transaction
SQL Server ensures that any change to the data is ACID-compliant, i.e., it uses
transactions to ensure that any operation either totally completes or is undone
if fails, but never leave the database in an intermediate state. Using
26
Job Seeker (Online Job Portal)
transactions, a sequence of actions can be grouped together, with the guarantee
that either all actions will succeed or none will. SQL Server implements
transactions using a write-ahead log. Any changes made to any page will
update the in-memory cache of the page, simultaneously all the operations
performed will be written to a log, along with the transaction ID which the
operation was a part of. Each log entry is identified by an increasing Log
Sequence Number (LSN) which ensures that no event overwrites another. SQL
Server ensures that the log will be written onto the disc before the actual page
is written back. This enables SQL Server to ensure integrity of the data, even if
the system fails. If both the log and the page were written before the failure,
the entire data is on persistent storage and integrity is ensured. If only the log
was written (the page was either not written or not written completely), then
the actions can be read from the log and repeated to restore integrity. If the log
wasn't written, then also the integrity is maintained, even though the database
is in a state when the transaction as if never occurred. If it was only partially
written, then the actions associated with the unfinished transaction are
discarded. Since the log was only partially written, the page is guaranteed to
have not been written, again ensuring data integrity. Removing the unfinished
log entries effectively undoes the transaction. SQL Server ensures consistency
27
Job Seeker (Online Job Portal)between the log and the data every time an instance is restarted.
Concurrency and locking
SQL Server allows multiple clients to use the same database concurrently. As
such, it needs to control concurrent access to shared data, to ensure data
integrity - when multiple clients update the same data, or clients attempt to
read data that is in the process of being changed by another client. SQL Server
provides two modes of concurrency control: pessimistic concurrency and
optimistic concurrency. When pessimistic concurrency control is being used,
SQL Server controls concurrent access by using locks. Locks can be either
shared or exclusive. Exclusive lock grants the user exclusive access to the data
- no other user can access the data as long as the lock is held. Shared locks are
used when some data is being read - multiple users can read from data locked
with a shared lock, but not acquire an exclusive lock. The latter would have to
wait for all shared locks to be released. Locks can be applied on different
levels of granularity - on entire tables, pages, or even on a per-row basis on
tables. For indexes, it can either be on the entire index or on index leaves. The
level of granularity to be used is defined on a per-database basis by the
database administrator. While a fine grained locking system allows more users
to use the table or index simultaneously, it requires more resources. So it does
not automatically turn into higher performing solution. SQL Server also
includes two more lightweight mutual exclusion solutions - latches and
28
Job Seeker (Online Job Portal)spinlocks - which are less robust than locks but are less resource intensive.
SQL Server uses them for DMVs and other resources that are usually not busy.
SQL Server also monitors all worker threads that acquire locks to ensure that
they do not end up in deadlocks - in case they do, SQL Server takes remedial
measures, which in many cases is to kill one of the threads entangled in a
deadlock and rollback the transaction it started. To implement locking, SQL
Server contains the Lock Manager. The Lock Manager maintains an in-
memory table that manages the database objects and locks, if any, on them
along with other metadata about the lock. Access to any shared object is
mediated by the lock manager, which either grants access to the resource or
blocks it.
SQL Server also provides the optimistic concurrency control mechanism,
which is similar to the multiversion concurrency control used in other
databases. The mechanism allows a new version of a row to be created
whenever the row is updated, as opposed to overwriting the row, i.e., a row is
additionally identified by the ID of the transaction that created the version of
the row. Both the old as well as the new versions of the row are stored and
maintained, though the old versions are moved out of the database into a
system database identified as Tempdb. When a row is in the process of being
updated, any other requests are not blocked (unlike locking) but are executed
on the older version of the row. If the other request is an update statement, it
29
Job Seeker (Online Job Portal)will result in two different versions of the rows - both of them will be stored by
the database, identified by their respective transaction IDs.
Data retrieval
The main mode of retrieving data from an SQL Server database is querying for
it. The query is expressed using a variant of SQL called T-SQL, a dialect
Microsoft SQL Server shares with Sybase SQL Server due to its legacy. The
query declaratively specifies what is to be retrieved. It is processed by the
query processor, which figures out the sequence of steps that will be necessary
to retrieve the requested data. The sequence of actions necessary to execute a
query is called a query plan. There might be multiple ways to process the same
query. For example, for a query that contains a join statement and a select
statement, executing join on both the tables and then executing select on the
results would give the same result as selecting from each table and then
executing the join, but result in different execution plans. In such case, SQL
Server chooses the plan that is supposed to yield the results in the shortest
possible time. This is called query optimization and is performed by the query
processor itself.
SQL Server includes a cost-based query optimizer which tries to optimize on
the cost, in terms of the resources it will take to execute the query. Given a
query, the query optimizer looks at the database schema, the database statistics
30
Job Seeker (Online Job Portal)and the system load at that time. It then decides which sequence to access the
tables referred in the query, which sequence to execute the operations and
what access method to be used to access the tables. For example, if the table
has an associated index, whether the index should be used or not - if the index
is on a column which is not unique for most of the columns (low "selectivity"),
it might not be worthwhile to use the index to access the data. Finally, it
decides whether to execute the query concurrently or not. While a concurrent
execution is more costly in terms of total processor time, because the
execution is actually split to different processors might mean it will execute
faster. Once a query plan is generated for a query, it is temporarily cached. For
further invocations of the same query, the cached plan is used. Unused plans
are discarded after some time.
SQL Server also allows stored procedures to be defined. Stored procedures are
parameterized T-SQL queries, that are stored in the server itself (and not
issued by the client application as is the case with general queries). Stored
procedures can accept values sent by the client as input parameters, and send
back results as output parameters. They can also call other stored procedures,
and can be selectively provided access to. Unlike other queries, stored
procedures have an associated name, which is used at runtime to resolve into
the actual queries. Also because the code need not be sent from the client
31
Job Seeker (Online Job Portal)every time (as it can be accessed by name), it reduces network traffic and
somewhat improves performance. Execution plans for stored procedures are
also cached as necessary.
SQL CLR
Main article: SQL CLR
Microsoft SQL Server 2005 includes a component named SQL CLR via which
it integrates with PHP Framework. Unlike most other applications that use
Framework, SQL Server itself hosts the PHPFramework runtime, i.e.,
memory, threading and resource management requirements of PHPFramework
are satisfied by SQLOS itself, rather than the underlying Windows operating
system. SQLOS provides deadlock detection and resolution services for
PHPcode as well. With SQL CLR, stored procedures and triggers can be
written in any managed PHPlanguage, including C# and VB.NET. Managed
code can also be used to define UDTs which can be persisted in the database.
Managed code is compiled to PHPassemblies and after being verified for type
safety, registered at the database. After that, they can be invoked like any other
procedure.[24] However, only a subset of the Base Class Library is available,
when running code under SQL CLR. Most APIs relating to user interface
functionality are not available.
32
Job Seeker (Online Job Portal)When writing code for SQL CLR, data stored in SQL Server databases can be
accessed using the PHPMYADMIN APIs like any other managed application
that accesses SQL Server data. However, doing that creates a new database
session, different from the one in which the code is executing. To avoid this,
SQL Server provides some enhancements to the PHPMYADMIN provider that
allows the connection to be redirected to the same session which already hosts
the running code. Such connections are called context connections and are set
by setting context connection parameter to true in the connection string. SQL
Server also provides several other enhancements to the PHPMYADMIN API,
including classes to work with tabular data or a single row of data as well as
classes to work with internal metadata about the data stored in the database. It
also provides access to the XML features in SQL Server, including XQuery
support. These enhancements are also available in T-SQL Procedures in
consequence of the introduction of the new XML Datatype (query,value,nodes
functions).
Services
SQL Server also includes an assortment of add-on services. While these are
not essential for the operation of the database system, these provide value
added services on top of the core database management system. These services
either run as a part of some SQL Server component or out-of-process as
Windows Service and presents their own API to control and interact with
them.
Service Broker
The Service Broker, which runs as a part of the database engine, provides a
reliable messaging and message queuing platform for SQL Server applications.
Used inside an instance, it is used to provide an asynchronous programming
environment. For cross instance applications, Service Broker communicates
33
Job Seeker (Online Job Portal)over TCP/IP and allows the different components to be synchronized together,
via exchange of messages. ………………………………………………
Replication Services
SQL Server Replication Services are used by SQL Server to replicate and
synchronize database objects, either in entirety or a subset of the objects
present, across replication agents, which might be other database servers
across the network, or database caches on the client side. Replication follows a
publisher/subscriber model, i.e., the changes are sent out by one database
server ("publisher") and are received by others ("subscribers"). SQL Server
supports three different types of replication:
Transaction replication
Each transaction made to the publisher database (master database) is synced
out to subscribers, who update their databases with the transaction.
Transactional replication synchronizes databases in near real time.
Merge replication
Changes made at both the publisher and subscriber databases are tracked, and
periodically the changes are synchronized bi-directionally between the
publisher and the subscribers. If the same data has been modified differently in
both the publisher and the subscriber databases, synchronization will result in a
conflict which has to be resolved - either manually or by using pre-defined
policies.
34
Job Seeker (Online Job Portal)Snapshot replication
Snapshot replication published a copy of the entire database (the then-snapshot
of the data) and replicates out to the subscribers. Further changes to the
snapshot are not tracked.
Analysis Services
Main article: SQL Server Analysis Services
SQL Server Analysis Services adds OLAP and data mining capabilities for
SQL Server databases. The OLAP engine supports MOLAP, ROLAP and
HOLAP storage modes for data. Analysis Services supports the XML for
Analysis standard as the underlying communication protocol. The cube data
can be accessed using MDX queries. Data mining specific functionality is
exposed via the DMX query language. Analysis Services includes various
algorithms - Decision trees, clustering algorithm, Naive Bayes algorithm, time
series analysis, sequence clustering algorithm, linear and logistic regression
analysis, and neural networks - for use in data mining.
Reporting Services
Main article: SQL Server Reporting Services
SQL Server Reporting Services is a report generation environment for data
gathered from SQL Server databases. It is administered via a web interface.
Reporting services features a web services interface to support the
development of custom reporting applications. Reports are created as RDL
files.
35
Job Seeker (Online Job Portal)Reports can be designed using recent versions of PHP with Business
Intelligence Development Studio, installed or with the included Report
Builder. Once created, RDL files can be rendered in a variety of formats
including Excel, PDF, CSV, XML, TIFF (and other image formats, and HTML
Web Archive.
Notification Services
Main article: SQL Server Notification Services
Originally introduced as a post-release add-on for SQL Server 2000,
Notification Services was bundled as part of the Microsoft SQL Server
platform for the first and only time with SQL Server 2005.with Sql Server
2005, SQL Server Notification Services is a mechanism for generating data-
driven notifications, which are sent to Notification Services subscribers. A
subscriber registers for a specific event or transaction (which is registered on
the database server as a trigger); when the event occurs, Notification Services
can use one of three methods to send a message to the subscriber informing
about the occurrence of the event. These methods include SMTP, SOAP, or by
writing to a file in the file system. …………………………………………
Integration Services
Main article: SQL Server Integration Services
SQL Server Integration Services is used to integrate data from different data
sources. It is used for the ETL capabilities for SQL Server for data
warehousing needs. Integration Services includes GUI tools to build data
extraction workflows integration various functionality such as extracting data
36
Job Seeker (Online Job Portal)from various sources, querying data, transforming data including aggregating,
duplication and merging data, and then loading the transformed data onto other
sources, or sending e-mails detailing the status of the operation.
Full Text Search Service
Main article: SQL Server Full Text Search
The SQL Server Full Text Search service architectureSQL Server Full Text
Search service is a specialized indexing and querying service for unstructured
text stored in SQL Server databases. The full text search index can be created
on any column with character based text data. It allows for words to be
searched for in the text columns. While it can be performed with the SQL
LIKE operator, using SQL Server Full Text Search service can be more
efficient. Full Text Search (FTS) allows for inexact matching of the source
string, indicated by a Rank value which can range from 0 to 1000 - a higher
rank means a more accurate match. It also allows linguistic matching
("inflectional search"), i.e., linguistic variants of a word (such as a verb in a
different tense) will also be a match for a given word (but with a lower rank
than an exact match). Proximity searches are also supported, i.e., if the words
searched for do not occur in the sequence they are specified in the query but
are near each other, they are also considered a match. T-SQL exposes special
operators that can be used to access the FTS capabilities.
The Full Text Search engine is divided into two processes - the Filter Daemon
process (msftefd.exe) and the Search process (msftesql.exe). These processes
interact with the SQL Server. The Search process includes the indexer (that
creates the full text indexes) and the full text query processor. The indexer
37
Job Seeker (Online Job Portal)scans through text columns in the database. It can also index through binary
columns, and use iFilters to extract meaningful text from the binary blob (for
example, when a Microsoft Word document is stored as an unstructured binary
file in a database). The iFilters are hosted by the Filter Daemon process. Once
the text is extracted, the Filter Daemon process breaks it up into a sequence of
words and hands it over to the indexer. The indexer filters out noise words,
i.e., words like A, And etc, which occur frequently and are not useful for
search. With the remaining words, an inverted index is created, associating
each word with the columns they were found in. SQL Server itself includes a
Gatherer component that monitors changes to tables and invokes the indexer in
case of updates.
When a full text query is received by the SQL Server query processor, it is
handed over to the FTS query processor in the Search process. The FTS query
processor breaks up the query into the constituent words, filters out the noise
words, and uses an inbuilt thesaurus to find out the linguistic variants for each
word. The words are then queried against the inverted index and a rank of their
accurateness is computed. The results are returned to the client via the SQL
Server process . ……………………………………………………………..
38
Job Seeker (Online Job Portal) Tools Used For Development
Software Requirement:
Front End PHPBack End MySql
Operating System Windows Xp, NT/LinuxWeb Server Apache
Designing Tools MarcoMedia Dreamweaver
Hardware Requirements:
39
Job Seeker (Online Job Portal) The following are the Hardware Requirements for developing web portal ‘Job Seeker’:
Number Description Required Capacity Recommended
1.Processor 600 MHz processor 1 gigahertz (GHz)
processor
2. RAM 256 Mb 512 Mb
3. Operating System
Windows XP, NT
Or Linux
Windows XP Professional x64
Any GUI Linux Distribution
4. Video 800 X 600, 256 colors 1024 X 768, High Color 16-bit
5. MouseMicrosoft mouse or compatible pointing
device
6. CD/DVD ROM
Combo CD/DVD ROMLG / Samsung/ Sony
40
Job Seeker (Online Job Portal) Data Flow Diagram (DFD)
Data Flow Diagram (DFD)
0 Level DFD
1st Level DFD:
41
User1.
Job Portal Website Login
2.Select the Job Type and City3.
Submit the Resume
Info
Confirmation
New User Master
Login Detail
Job Type Master
Job According to City
Relevant Job Information
User personal Detail
Job Seeker (Online Job Portal)
42
New User 1.New User
Registration form
1.1Record All
User Details
1.2Record to the
job type
1.3Select the Job
City
1.4New Company
Registration
New User Master
Job Type Master
2.New company
Detail
Company Information
Job Submit
3.Submit the Job
3.2Submit the job according to technology
3.1Submit the job according to
city
Show all jobs
Info
All jobs according to type and city
Relevant Data
Company Information
2nd Level DFD
Job Seeker (Online Job Portal)
Tables
Table “ login ”
Field 1 Field 2email passvarchar(50) varchar(50)
Table “ newuser “
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6username
email pass repass ques ans
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(Max)
varchar(Max)
Table ProfessionalInfo:
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8ExpinYear
Expinmonths
SalinLakh SalinThousand
Indus Funcarea Jobrole keyskill
Numeric(18, 0)
Varchar(50)
Numeric(18, 0)
numeric(18, 0)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Table all jobs:
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6
Field 7
Field 8
varchar(50)
varchar(50)
varchar(50)
varchar(50)
datetime
varchar(MAX)
Table companyField 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8
Id email name phone fax city state typevarchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
Table currentemloyerInfo
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7Current
employerdesign frommont
hfromyear tomonth toyear Jobprofile
varchar(MAX) varchar(50)
varchar(50) numeric(18, 0)
varchar(50) numeric(18, 0)
varchar(MAX)
43
Job Seeker (Online Job Portal)
Table EducationalInfo
Field 1 Field 2 Field 3 Field 4degree specelization institute Yearofgrad
varchar(50) varchar(50) varchar(50) numeric(18, 0)
Table resumes
Field 1 Field 2 Field 3email headline filename
varchar(50) varchar(MAX) varchar(50)
Table PersonalInfo:Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7
username
pass name email date month year
varchar(50) varchar(50) varchar(50) varchar(50) numeric(18, 0)
varchar(50) numeric(18, 0)
Field 8 Field 9 Field 10 Field 11 Field 2state city Mobile areacode landline
varchar(50) varchar(50) numeric(18, 0) numeric(18, 0) numeric(18, 0)
Table submitjobField 1 Field 2 Field 3 Field 4 Field 5code name skill ldate Package
varchar(50) varchar(50) varchar(MAX) datetime varchar(50)
Field 6 Field 7 Field 8 Field 9 Field 10type exp reallocate city state
varchar(50) varchar(50) varchar(50) varchar(50) varchar(50)
44
Job Seeker (Online Job Portal)
User View
Home Page view :
Login Form –
45
Job Seeker (Online Job Portal)
Registration
46
Job Seeker (Online Job Portal)
Job seeker registration :
47
Job Seeker (Online Job Portal)
Job Posting Registration :
48
Job Seeker (Online Job Portal)
49
Job Seeker (Online Job Portal)
Employee Recruiter :
50
Job Seeker (Online Job Portal)
View Resume :
51
Job Seeker (Online Job Portal)
Contact us :
52
Job Seeker (Online Job Portal)
SystemAnalysis
Problem definition
53
Job Seeker (Online Job Portal)The basic aim of problem definition is to obtain a clear understanding of needs
of clients and users, what exactly is desired from the software and what are the
constraints on the solution.
In this project sites which provide platform for jobseekers is our client and the
jobseekers and companies will be the user of the software.
The aim of developing this project is to auto mate the functioning of the
resumes submission and maintaining them and also provide the information of
the recruitment by companies.
They wants to fully computerize the works of recruitment, through they will be
able to manage the database of various companies.
This system provides the ease to the user so that they can easily get the
information of vacancies and their requirements sitting at a place and
companies can also recruit online and can communicate with users.
All these factors play an important role in job seeking and recruiting.
Requirement Analysis
54
Job Seeker (Online Job Portal)The final output of the software is based upon requirement analysis and
specification.
For smaller problems that can be comprehended the specification activity
might come after the entire analysis is completed.
However it is more likely that problem analysis and specification are done
concurrently.
All the information for a specification comes from analysis, here is the very
Important concept comes that is SRS(System Requirement Specification)that
defines each and everything on which client and developer relies so we can say
that it is a deal document which defines the complete system requirements that
user wants and functionality according to the client. Developer develops
software with keeping in mind the SRS points.
Company name and their registration id.
User name and their information.
Details about vacancies.
Searching Method
55
Job Seeker (Online Job Portal) According company name
By technology
By company name
By company status
By user name first/last
By qualification
By date/experience
Waterfall Model
The simplest model is the waterfall model, which states that the phases are
organized in linear order. In a typical model, a project begins with feasibility
analysis. On successfully demonstrating the feasibility of a project, the
requirement analysis and project planning begins.
The design starts after the requirement analysis is complete, and coding begins
after the design is complete. Once the programming is completed, the code is
integrated and testing is done. On successful completion of testing the system
is installed.After the regular operation and maintenance if the system takes
place.
Linear modeling of activities has some important consequences: First, to
clearly identify the end of phase and the beginning of the next, some
56
Job Seeker (Online Job Portal)certification mechanism has tobe employed at the end of the each phase. This
is usually done by some verification and validation.
There are two basic assumptions for justifying the linear ordering of phases.
Here two basic assumptions for justifying the linear ordering of phases in the
manner proposed by the waterfall model.
A successful software product is one that satisfies all the objectives of the
development project. These objectives include satisfying the requirements and
performing the development within time and cost constraints.
For many projects, the linear ordering of these phases is clearly the optimum
way to organize thee activities.
Limitations of Waterfall Model:
A large project might take a few years to complete. It’s a document driven
process that requires formal documents at the end of each phase.
No backtracking is possible.
This model assumes that the requirements of a system can be frozen before the
design begins but for some systems, it is impossible.
Analysis of Proposed System:
57
Job Seeker (Online Job Portal)Online job portal website is a distributed project. Projects can be categorized
in two ways:
1. Local area network projects
2. Distributed projects
Local area network projects are those projects where applications has to be in
cooperated in the local area network of the client i.e. with n its premises only.
In LAN cases, server is not remotely located and client access this application
through this network. Here the question of platform independence does not
arise and we use technologies like: Visual Basic, FoxPro, D2K or C and C++.
But distributed projects are those projects where application is remotely
situated. In these kind of projects application is remotely situated on to the
remote server from where client machine connects to the remote server and
application is downloaded on to client machine. Here the question platform
independence arises and we use technologies like ASP.Net.
Data Gathering:
This project is a Business to Consumer and is a well-commercial site of
property which serves Indians and others, with a variety of property.
Business System Elements:
1. Objective: The system analyst must be aware of exactly what the user
requires room a specific system. That is management goals or objectives
must be fully understood.
58
Job Seeker (Online Job Portal)2. Constraints: The analyst and the user must both recognize any
limitations or constraints that may be imposed when the analyst is
designing a computerized system. Some types are:
Legal constraints
Budgetary constraints
Equipment constraints
3. Controls: The user must familiarize the analyst with the ways in which
errors are minimized under the current system.
4. Input: All the data that server as their basis for, desired output must be
studied where all data used for processing originates. How often is each
type of input generate? If there are code or abbreviations used for input
does the analyst have complete list of these. What happens to input
document after has been processed?
5. Processing: The analyst must then analyze the processing or type of the
operations that are currently performed in order to achieve the desired
results.
Feasibility Report
59
Job Seeker (Online Job Portal)Depending on the results of the initial investigation the survey is expanded to a
more detailed feasibility study. A feasibility studies test of system proposal
according to its workability, impact on the organization, ability to meet user
need and effective use of the resources.
There are six distinct but inter-related types of feasibility study:
Technical feasibility
Operational feasibility
Economic feasibility
Social feasibility
Management feasibility
Time feasibility
1. Technical feasibility: this is concerned with specifying equipment and
software that will successfully satisfy the user requirement. The
technical need of the system may vary considerably.
o The facility to produce outputs in a given time.
o Response tome under certain condition.
o Ability to process a certain volume of transaction at a particular
speed.
o Facility to communicate data to distant location.
2. Operational feasibility: It is mainly related to human organizational
and political aspects. The points to be considered are :
o What change will be brought with the system?
o What new skills would be required?
o If not, can they be trained in due respect of time?
60
Job Seeker (Online Job Portal)3. Economic feasibility: Economic analysis is the most frequently used
technique for evaluating the effectiveness of a proposed system. More
commonly known as cost/benefit analysis.
The procedure is to determine the benefits and savings that are expected
from a proposed system and compare them with costs. It benefits
overweigh cost; a decision is taken to design and implement the system.
Otherwise, further justification or alterations are made to have proposed
system approved.
4. Social feasibility: Social feasibility is a determination of whether a
proposed system will be acceptable to the people or not. This
determination typically examines the probability of the project being
accepted by the group directly affected by the proposed system change.
5. Management feasibility: it is determination if weather a proposed
system will be acceptable to management. If management does not
accept a project or gives negligible support to it, the analyst will tend to
view the project as the non-feasible one.
6. Time feasibility: It is a determination of whether a proposed system can
be implemented fully within a stipulated time frame. If a project takes
too much time it is likely to be rejected.
SYSTEM VALIDATION AND TESTING
Testing Methodologies:
61
Job Seeker (Online Job Portal)Testing is generally done at two levels- Testing of individual modules and
testing of the entire system (System Testing). During systems testing, the
system is used experimentally to ensure that the software does not fail, i.e. that
it will return according to its specifications and in the way users expect.
Special test data are input for processing, and the results examined. A limited
number of uses may be allowed to use the system and depends on it.
Testing is done throughout systems development at various stages (not just at
the end). It is always a good practice to test the system at many different levels
at various intervals, that is, sub systems, program modules as work progresses
and finally the system as a whole. If this is not done, then the poorly tested
system can fail after installation. As you may already have gathered, testing is
very tedious and time consuming job. For attest to be successful tester, should
try and make program fail. The tester maybe an analyst, programmer or
specialist trained in software testing. One should try and find areas in which
program can fail. Each test case is designed with the intent of finding errors in
the way the system will process it. Through testing of programs do not
guarantee the reliability of systems. It is assure that the system runs error free.
Unit testing:
This involves the tests carried out on modules programs, which make up a
system. This is also called as a Program Testing. The units in a system are the
modules and routines that are assembled and integrated to perform a specific
function. In a large system, many modules at different levels are needed. Unit
testing focuses on the modules, indecently of one another, to locate errors. The
62
Job Seeker (Online Job Portal)programs should be tested for correctness of logic applied and should detect
errors in coding.
For examples in the “Online Web Consultancy” system, feeding the system
with all combinations of data should test all the calculations. Valid and invalid
data should be created and the programs should be made to process the data to
catch errors. In the “Online Web Consultancy” system, the phone no consists
of digits, so during testing one should ensure that the programs do not accept
anything other than a digit code for the Phone No. Another e.g. for the valid
and invalid data check is that , in case digit no is entered during the entry of
transaction, and that number foes not exists in the master file, or if the number
entered is an exit case, then the programs should not allow the entry of such
cases. All dates that are entered should be validated. No program should accept
invalidates. The checks that are needed to be incorporated are: in the month of
Feb the date cannot be more than 29.
For the months having 30 days no one should not be allowed to enter 31. All
conditions present in the program should be tested. Before proceeding one
must make sure that all the programs are working properly.
Module testing:
63
Job Seeker (Online Job Portal)Receiving complaints:
This module keeps of all the complaints received from the customer. Once the
customer login he/she has to select the category under which the complaint is
going to be submitted.
If the customer foes not know to which category the complaint belongs then
the customer can use the search engine which requires a keyword present in
the complaint to be submitted for searching. If any match is found then the
relevant category to which the complaint belongs is displayed to the customer.
So the customer can submit the complaint under the specified category. If no
match is found for the keyword submitted for the search then the customer is
allowed to submit the complaint under the miscellaneous complaints.
Once the category is selected there are two ways of submitting complaints.
Each category will contain predefined complaints. If the customer complaint is
already present as predefined complaint then the customer can select the
specified complaint. If the customer complaint is not present in the predefined
complaints then customer can customize submit the own complaints. Once the
system receives the customized complaints from the customer it automatically
generates a complaint number and it displays the complaint number to the
customer which is to be used by the customer for future verification for that
particular complaint.
Processing Complaints:
64
Job Seeker (Online Job Portal)This module keeps track of all the complaints that are processed by the
customer support representative. Once the customer support representative
logins, the customer support representative is allowed to review all the
complaints received under the particular category and the status is unsolved.
Once the customer support representative views the entire unsolved complaints
customer support representative can get complaints which have to be solved.
Once customer support representative request for a complaint the distribution
engine distributes the complaints synchronously. The distribution engine does
not distribute the same complaint for more than one customer support
representative. Once the distribution engine distributes a complaint to
customer support representative the status of the complaint is changed from
unsolved to processing. The customer support representative can perform some
functions according to the complaint received from the distribution engine.
Once the customer support representative receives a valid complaint then the
customer support representative is bound to give the solution by verifying
various customer records. The customer support representative can use the
search engine which is used to retrieve the customer records based on the date.
The complaints are solved by the customer support representative based on the
rules and strategies that are already deployed in the system.
Black box testing:
65
Job Seeker (Online Job Portal) After performing the validation testing, the next step is output testing of
proposed system, since no system could be useful if it does not produce the
require output in specified format. The outputs generated or displayed by the
system under consideration are tested by asking the user about the format
require by them. Hence the output format is considered in to ways-one is on
screen and another in printed format.
66
Job Seeker (Online Job Portal)Conclusion
Working on the project was good experience. I understand the importance of
planning and designing as a part of software development. But its very
difficult to complete the program for single person.
Developing the project has helped me some experience on real time
development procedure.
FUTURE ENHANCEMENT67
Job Seeker (Online Job Portal)
The application developed is design in such away that any further
enhancement can be done with ease. The system has the capability for easy
integration with other system. New modules can be added to the existing
system with less effort.
Currently, the only way for the training department to know about their
efforts on training programs conducted is the feedbacks send towards them by
the participants. The drawback which persists in this procedure is that the
department should blindly believe on the comments they have received from
the participants. an enhanced way to receive the feedback of the training given
is to conduct an online examination based on the training program. The
training department can later evaluate the results get a clear cut idea on their
efforts on training programs conducted.
Providing extra facilities can enhance the planning module. One of them is the
provision for communication with the resource managers. Currently while
planning the personal checks for the resource availability in a manual way. a
well consistent communication facility can be provided between the system
develop and the resources available. They will help a lot for the planning
personal to know whether the resources are free or not at the time of planning
68
Job Seeker (Online Job Portal)itself. If the venue for the training program is not vacant the planning personal
can then go for another one which is vacant. Currently the system does not
have any control on the monitory details the system can be facilitated to have a
control on monitory detail.
LIMITATIONS
69
Job Seeker (Online Job Portal) The system can be used by only the literate persons
The system has been developed for seeking the job and recruiting
through websites.
Lack of effective monitoring system.
Slow information exchange between user and company.
Lack of decision support system for long term and strategic planning.
Generation of report take time.
BIBLIOGRAPHY
70
Job Seeker (Online Job Portal) PHP The Complete Reference : Steven Holzner
Phpmyadmin : Marc Delisle
SAMS Tech yourself PHP in 24 hours
Core PHP Programming: Leon Atkinson, Zeev Suraski
PHP and Mysql Web Development : Luke Welling, Laura Thomson
71