Beruflich Dokumente
Kultur Dokumente
Submitted By:
Supervised By:
Session: 2013-2017
i
ii
APPROVAL CERTIFICATE
It is certified that the project work presented in this report entitled “Jobs Portal Kotli”
submitted by Sufyan Tariq (Roll No. 30), Abid Hussain (Roll No. 40) and Tania Karamat
(Roll No.49) of Session (2013-17) supervised by Zaheed Ahmed in our opinion is fully
adequate in scope and quality of Bachelor of Science (Information Technology).
_________________
(Supervisor)
Mr. Zaheed Ahmed
Lecturer
Department of CS & IT
University of Kotli AJ&K
_______________
(Chairman)
Mr. Adnan Arif Butt
Department of CS & IT
University of Kotli AJ&K
iii
UNDERTAKING
We declare that project work titled “Jobs Portal Kotli” is our own work. The work has
not been presented elsewhere for assessment. Where material has been used from other
sources it has been properly referred.
-----------------------------------------
Sufyan Tariq
2013-UKIB-2030
-----------------------------------------
Abid Hussain
2013-UKIB-2039
-------------------------------------
Tania Karamat
2013-UKIB-2049
iv
ABSTRACT
Our aim is to develop an online “Job Portal District Kotli" which is easily accessible to
the user and administration as well. This system regulates the activities between users,
provide ease in their work by applying. All those activities that can be done manually
can be done in our system. Moreover our systems have auto result compilation facility
that is very useful for the user and admin.
v
Acknowledgements
All the praise and glory to Allah, Who blessed us with the courage and knowledge to
achieve our goal. We can never thank Him enough for His countless blessings upon us.
Praise to Prophet Mohammad (S.A.W.W), who is and will always be a source of
guidance and knowledge for humanity as a whole.
For us, a mile stone of this nature would never have been possible to achieve without
the support of galaxy of some truly loving and kind people in our life. No words can
fully describe our feelings of respect and gratitude for our affectionate parents,
supporting sibling and friends, whose love, encouragement and prayers invariably
buoyed us up. Their concern, love and support can never be paid back.
We owe a lot of sincere gratitude to our respected supervisor Mr. Zaheed Ahmad whose
true guidance, positive criticism and sincere encouragement made us to get to our
destination. He became a source of inspiration for us and kept us moving in the right
direction towards our goal.
Abid Hussain
Sufyan Tariq
Tania Karamat
vi
DEDICATION
Dedicated to
Our
Beloved Parents,
Respected Teachers
&
Lovely Friends
vii
Table of Contents
1 Chapter 1......................................................................................................................................... 1
1.1 Purpose ................................................................................................................................... 1
1.2 Product Scope ......................................................................................................................... 1
1.3 What problems will it solve? ................................................................................................... 2
1.4 Software Process Model ......................................................................................................... 2
2 Chapter 2......................................................................................................................................... 4
2.1 System Conception ....................................................................................................................... 4
2.1.1 What problems will it solve?...................................................................................................... 4
2.1.2 Where will it be used? ............................................................................................................... 4
2.1.3 who is the application for .......................................................................................................... 4
3 Chapter 3......................................................................................................................................... 5
3.1 Proposed System .................................................................................................................... 5
3.2 Functional Requirements ........................................................................................................ 5
3.2.1 Login: ............................................................................................................................... 5
3.2.2 Logout: ............................................................................................................................ 5
3.2.3 Add Record:..................................................................................................................... 5
3.2.4 Search Record: ................................................................................................................ 5
3.2.5 Delete Record.................................................................................................................. 5
3.2.6 Update Record ................................................................................................................ 5
3.2.7 Apply for job.................................................................................................................... 5
3.2.8 Search for job .................................................................................................................. 5
3.2.9 Submit CV ........................................................................................................................ 6
3.2.10 Collect CV ........................................................................................................................ 6
3.2.11 Alert on CV ...................................................................................................................... 6
3.3 User Classes and Characteristics ............................................................................................. 6
3.3.1 Admin .............................................................................................................................. 6
3.3.2 End user: ......................................................................................................................... 6
3.4 Operating Environment .......................................................................................................... 6
3.5 User Documentation ............................................................................................................... 6
3.6 Assumptions and Dependencies ............................................................................................. 6
3.6.1 Dependencies:................................................................................................................. 6
3.6.2 Assumptions: ................................................................................................................... 6
3.7 External Interface Requirements ............................................................................................ 6
viii
3.7.1 User Interfaces ................................................................................................................ 7
3.7.2 Software Interfaces ......................................................................................................... 7
3.7.3 Communications Interfaces ............................................................................................ 7
3.7.4 Hardware Interfaces ....................................................................................................... 7
3.8 System Features ...................................................................................................................... 7
3.9 Performance Requirements .................................................................................................... 7
3.10 Security Requirements ............................................................................................................ 8
3.11 Software Quality Attributes .................................................................................................... 8
3.11.1 Availability: ...................................................................................................................... 8
3.11.2 Usability: ......................................................................................................................... 8
4 Chapter 4......................................................................................................................................... 9
4.1 System Design ......................................................................................................................... 9
4.2 Design Approach ................................................................................................................... 10
4.3 Database Design.................................................................................................................... 10
4.4 Conceptual Schema............................................................................................................... 10
4.4.1 Class Diagram ................................................................................................................ 10
4.4.2 Object Diagram ............................................................................................................. 10
4.4.3 Data Dictionary .............................................................................................................. 12
4.5 Interaction Model ................................................................................................................. 12
4.5.1 Use Case Model............................................................................................................. 12
4.6 Sequence Model.................................................................................................................... 21
4.6.1 Scenarios ....................................................................................................................... 21
4.6.2 Sequence Diagrams ....................................................................................................... 21
4.6.3 Activity Diagram ............................................................................................................ 26
4.7 Logical Schema ...................................................................................................................... 36
4.7.1 Relation ......................................................................................................................... 36
4.7.2 Associating Tables ......................................................................................................... 36
4.8 Database Diagram ................................................................................................................. 39
5 Chapter 5....................................................................................................................................... 40
5.1 Signup:................................................................................................................................... 40
5.2 Add Job.................................................................................................................................. 41
5.3 Apply Job ............................................................................................................................... 42
6 Chapter 6....................................................................................................................................... 45
6.1 Testing Objectives ................................................................................................................. 45
6.2 Testing Principles .................................................................................................................. 45
ix
6.3 Testing Approach .................................................................................................................. 45
6.4 Box Approach ........................................................................................................................ 45
6.4.1 White-Box testing ......................................................................................................... 46
6.4.2 Black-Box testing ........................................................................................................... 46
6.5 Testing Levels ........................................................................................................................ 46
6.6 Unit testing............................................................................................................................ 46
6.7 Integration testing ................................................................................................................ 46
6.8 System testing ....................................................................................................................... 46
6.9 Testing Types ........................................................................................................................ 46
6.9.1 Alpha Testing................................................................................................................. 47
6.9.2 Beta Testing................................................................................................................... 47
6.9.3 Acceptance Testing ....................................................................................................... 47
6.9.4 Usability Testing ............................................................................................................ 47
6.10 Test Cases.............................................................................................................................. 47
6.10.1 Test Case 01: Signup ..................................................................................................... 48
6.11 TestCase 02: Login……………………………………………………………………………………………..…….48
6.11.1 Test Case 03: Add Job ................................................................................................... 49
6.11.2 Test Case 04: Search Job ............................................................................................... 49
7 Chapter 6....................................................................................................................................... 50
7.1 Conclusion ............................................................................................................................. 50
7.2 Future Improvements ........................................................................................................... 50
7.3 Limitations............................................................................................................................. 51
Appendices........................................................................................................................................ 52
Glossary ............................................................................................................................................. 52
References ............................................................................................................................................ 53
x
List of Figures
Figure 1 Iterative Waterfall Process Model [Sommerville-2009] ............................................. 3
Figure 2 Class diagram of JPK ................................................................................................ 11
Figure 3 Use Case diagram for JPK......................................................................................... 14
Figure 4 Use Case Diagram for Login ..................................................................................... 22
Figure 5 Scenario and sequence diagram for Signup............................................................... 22
Figure 6 Scenario and Sequence Diagram for Log out ............................................................ 23
Figure 7 Scenario and Sequence Diagram for Add record ...................................................... 23
Figure 8 Scenario and Sequence Diagram for Delete data ..................................................... 24
Figure 9 Scenario and Sequence Diagram for Search job ....................................................... 24
Figure 10 Scenario and Sequence Diagram of Add job ........................................................... 25
Figure 11 Scenario and Sequence Diagram for Applying for Job ........................................... 25
Figure 12 Scenario and Sequence Diagram for Add user ........................................................ 26
Figure 13 Activity Diagram for log in ..................................................................................... 27
Figure 14 Activity Diagram for log out ................................................................................... 28
Figure 15 use case add record to JPK ...................................................................................... 28
Figure 16 Activity Diagram for Delete record ......................................................................... 29
Figure 17 Activity Diagram for Search job ............................................................................. 30
Figure 18 Activity Diagram for Add job ................................................................................. 31
Figure 19 Activity Diagram for Apply job .............................................................................. 32
Figure 20 Activity Diagram for Submit CV ............................................................................ 33
Figure 21 Activity Diagram for Remove user ......................................................................... 34
Figure 22 Activity Diagram for Signup ................................................................................... 35
Figure 23 Activity Diagram of alert......................................................................................... 35
Figure 24 Mapping between candidate and admin Classes .................................................... 37
Figure 25 Mapping between employers and job Classes ........................................................ 38
Figure 26 Database Diagram for JPK ...................................................................................... 39
Figure 27 JPK Login Panel ...................................................................................................... 40
Figure 28 JPK Add job panel .................................................................................................. 41
Figure 29 JPK Add job panel .................................................................................................. 43
xi
List of Tables
Table 1 Data Dictionary ........................................................................................................... 12
Table 2 Use Case ..................................................................................................................... 13
Table 3 Use Case Description for User Login ......................................................................... 15
Table 4 Use Case Description for User Logout ....................................................................... 15
Table 5 Use Case Description for Adding Record................................................................... 16
Table 6 Use Case Description for Deleting Record ................................................................. 17
Table 7 Use Case Description for Search job .......................................................................... 17
Table 8 Use Case Description for Add job .............................................................................. 18
Table 9 Use case Description for Apply job ............................................................................ 18
Table 10 Use case Description for Submit CV ........................................................................ 19
Table 11 Use Case Description for Add new user ................................................................... 19
Table 12 Use Case Description for Alert ................................................................................. 20
Table 13 Use Case Description for Remove user .................................................................... 20
Table 14 Test Case Name Signup ............................................................................................ 48
Table 15 Test Case Name Login .............................................................................................. 48
Table 16 Test Case Name Add Job .......................................................................................... 49
Table 17 Test Case Name Job search ...................................................................................... 49
xii
1 Chapter 1
Introduction
This chapter describes the existing system and the proposed system in details. What problems
we were facing in the existing system, due to which we are going to atomize our system, are
described here? What functionality our system will provide, is described here.
1.1 Purpose
The basic purpose of our project is to make a portal that make easy to find the jobs
to sit at home and employees can put jobs. First the employee log in to portal through account
and password. After log in employee can put the job on portal .He can also check the Peoples
those who apply for job in his previous post. He can check the CV of candidate those who
apply. .People can search job of different title. People of district Kotli can apply and seek job
from any place within the district. At the end of this project; it will be easy to seek for job.
People can find job about their skills and apply for job online.Employe can put their job title
and require qualification on this portal. They can select the candidate and inform them.People
can check and search job on this portal .But if they want to apply for job they should be create
their account . It’s important to make sure you know the capabilities and qualities that will
make your users’ work-lives easier, and remember that users don’t have to necessarily use what
you put in front of them.
1
The user simply log in to the portal then he check any of the above service .If the user
want to apply for job then he will open the online job apply service .He check the available
vacancy. If he wants to apply for job then he will open online job form and put his detail.
Organizations put the available jobs. The benefits of jobs portal are well documented. If job
portals continually prove to increase employee and business productivity, as well as improve
communications, collaboration, and knowledge management, then why do so many portal
redevelopment projects can not fail.
1.3 What problems will it solve?
Nowadays there is a problem to seek job and apply job. So this problem is also facing
in the district of Kotli to get a job in school, colleges and other organization. It is also a problem
for organizations that how they advertise their jobs and find a good worker for a specific job.
There is no easy way for seek and apply job in district Kotli. To find an appropriate job there
is need of a Job Portal for District Kotli.
1.4 Software Process Model
Software process model is an abstract representation of a software process, which is a set
of activities that lead to the production of a software. Some of the generic process models are
waterfall model, evolutionary development and component based software engineering. For
this project we have used the iterative waterfall model because of clear and unchanging
business requirements. The waterfall development model originates in the manufacturing and
construction industries; highly structured physical environments in which after-the-fact
changes are prohibitively costly, if not impossible. Since no formal software development
methodologies existed at the time, this Hardware oriented model was simply adapted for
software development.The first known presentation describing use of similar phases in
software engineering was held by Herbet Belington at Symposium on advanced programming
methods for digital computers on 29 June 1956. This presentation was about the development
of software for SAGE.
2
Figure 1 Iterative Waterfall Process Model [Sommerville-2009]
3
2 Chapter 2
4
3 Chapter 3
Proposed System
5
3.2.9 Submit CV
End user submit his CV
3.2.10 Collect CV
Admin collect the CV of end user.
3.2.11 Alert on CV
Admin give alert on selecting CV and user get alert on CV.
3.3 User Classes and Characteristics
There are two main user of this portal.
3.3.1 Admin
Admin is that who will manage this portal. The admin put new data in the portal. Admin
can add or remove the end user.
3.3.2 End user:
End user is that who will seek for job, apply for job and organization those put the
available jobs.
3.4 Operating Environment
This is a simple project so we will not make it for use in a specific environment. We
will make it as public can access and use it easily. Public can use it any environment.
This product is web-based and will be hosted by a web server. This product can be
viewed by any web browser, and has been tested for compliance with Internet Explorer, Google
and other one. The Windows OS will be used for this product.
3.5 User Documentation
• We follow the IEEE format and its different standard in documentation.
• We will run our system in software form.
• We will make hard binding of whole project.
6
It is a web based system.
7
System login/logout shall take less than 5 seconds.
Searches shall return results within 10 seconds.
Queries shall be processed within 10 seconds.
3.10 Security Requirements
There’s no special protection built into this system other than to provide the Jobs.
3.11 Software Quality Attributes
Quality attribute requirements such as those for performance, security, modifiability,
reliability, and usability have a significant influence on the software architecture of a system.
Architects need to understand their designs in terms of quality attributes.
3.11.1 Availability:
Checking that the system always has something to function and always pop up error
messages in case of component failure. In that case the error messages appear when something
goes wrong so to prevail availability problems.
3.11.2 Usability:
Checking that the system is easy to handle and navigates in the most expected way with
no delays. In that case the system program reacts accordingly and transverses quickly between
its states.
8
4 Chapter 4
System Design
9
collaboration of individual objects, the “interaction” aspects of a system. A typical software
incorporates all the three aspects: it uses data structures (class model), it sequences operations
in time (state model), and it passes data and control among objects (interaction model). [Balaha
M, Rum Baugh J-2005]
A class model captures the static structure of a system by characterizing the objects in
the system, the relationships between the objects, and the attributes and operations for each
class of objects. The class model is the most important of the three models.
There are two types of models of structures
1. Class Diagrams
2. Object Diagrams
4.2 Design Approach
Design approach for this software is conventional, that is, database model used is
relational and on the other side Object Modeling Technique (OMT) is used.
4.3 Database Design
This system would have a database as its data store, so the design of the database is
very important. We chose relational database model for our database. Database design includes
conceptual, logical and physical design phases, which are discussed in this section.
4.4 Conceptual Schema
Conceptual design is about understanding the organization, the real world modeling; it
captures the essence of the real world scenario. In this phase all the important classes of the
system are extracted with their essential attributes and the relationship between them are
established. This results in class diagram.
4.4.1 Class Diagram
Class diagrams provide a graphic notation for modeling classes and their relationships
thereby describing possible objects. Class diagrams are useful both abstract modeling and for
designing actual programs.
4.4.2 Object Diagram
We will also occasionally use object diagrams. An object diagram shows individual
objects and their relationships. Object diagrams are helpful for documenting test cases and
discussing examples. A class diagram corresponds to an infinite set of object diagrams. [Balaha
M, Rum Baugh J-2005]
10
Person
-person_name
-cnic
-gender
-contact_no
-email
-address
-qualification
-experience
-
+Login()
+Logout()
Employer +search()
-designation candidate
-institution_name -marital_status
-institution_address Admin -DOB
-website -occupation
* 1
+addJob() +closeJob() -reference1
+signup() 1
+approve() -reference2
+selectCandidate() 1 *
+putCV()
+searchJob()
1 1 1 +applyJob()
+signup()
1 1
*
*
Job *
*
-job_title *
-institution_name Applications Alerts
-requiredExperience -applicationDate -is_read
* -status
-jobLocation
-lastDate +submitApplication()
-gender +getAlerts()
-ageLimit
-jobType
-NoOfSeats
11
4.4.3 Data Dictionary
Data dictionary for all modeling elements help designers to understand the
meaning and purpose of all modeling elements. Here is the data dictionary for JPK classes:
Admin—it holds the data for admin of the system who operate mainly with the system
using all of its services by having a user name and password for it
End user —a person who use portal for apply, add and search job.
JPK– Job Portal Kotli.
Login: Administrator and end user can login to their respective panels to access their related
functionalities/services.
Logout: Administrator and end user can logout from the system after performing their
required functions and operations.
Add Record: Administrator can add any type of data to the system’s database.
Delete Record: Admin can delete any data from portal.
Search job: Admin and end user can search job by name or job title.
Add job: End user can add any type of job on portal after log in.
Apply job: End user can apply for any job that is in the portal after log in.
Submit CV: End user can submit his cv through cv form.
Alert: Admin give alert to end user for new job or select for job.
Add new user: Admin can add or register new user in portal.
13
Job Portal Kotli
Sign up
Log in
Log out
Add Job
Delete record
Search job
Visitor
Apply job
Submit cv
Remove user
User
Email Alert
View
14
4.5.1.4 Use Case Description
Use case description is written to describe a use case overall. Everything related to a use
case would be described here.
4.5.1.5 Login
Use Case Name: Login
Summary: Administrator and user can log in to their respective panels to use their
relative services.
Actor: Administrator and user
Precondition: The System is launched and Login page is waiting to get login details.
Post condition: After the Successful login operation Users will be able to navigate to
their respective panels.
Description: Administrator and user will provide Id & Password so they can log in
to their relative Panels.
Exceptions: If User will provide wrong Login information JPK will deny the access
showing an error message of invalid username and password.
4.5.1.6 Logout
Use Case Name: Logout
Summary: Administrator and User can log out of their respective panels after
using their relative services.
Actor: Administrator and User
Precondition: The System is launched and Administrator or User is having some
JPK service from their respective panels.
Post condition: After the Successful logout operation Users will navigate to the
Home Page of the system with general services available for all.
Description: Administrator and End User will click on the “LOG OUT” button
after completing their sessions; will be closed.
Exceptions: Exit: If the Administrator or User presses the exit or ALT+F4 before
clicking on the Log Out button, system will be closed.
1.1.1.1.1
15
4.5.1.7 Add Record
Use Case Name: Add Record
Summary: The administrator will login and from menu bar he can add any type
of Data.
Actor: Administrator
Precondition: The admin will be on admin panel main page for using the option of add
new from the navigation menu.
Post condition: After the Successful insertion operation Users will be prompted
with a success message, and returned to the Home Page of the Admin
Panel.
Description: First the user will log in and he will be on the main screen of the
admin panel, from there he can select the “insert a new data” option
and will navigate through different form inserting data into mandatory
fields as guided by the interface being provided to him, a new data
will be inserted into the database of JPK.
16
4.5.1.8 Delete Record
Use Case Name: Delete Record
Summary: Administrator will login from the admin view and then delete a record.
Actor: Administrator
Precondition: The system will ask for login first, to enter main menu and there should
be records on the database to be deleted.
Post condition: Message will be shown record deleted successfully.
Description: Administrator will have the authority to delete a record but there will
be a constraint or password that is escaped from the administrator.
Exceptions: Wrong user name or password: If the administrator enters a wrong
password or user name the systems will ask for valid user name and
password.
Sign Out: If the administrator enters the sign out button without
entering the CNIC number to delete a record, the system will return
to login form
17
4.5.1.10 Add job
Use Case Name: Add job
Summary: End User can add any type of job after log in.
Actor: End User
Precondition: End user will be on home page after log in.
Post condition: After login, End User add new job by filling the form of add job.
He will putt all detail on form.
Description: Only registered user can add a job after log in to system. Other user
Can add job without registration.
Exceptions: Wrong user name or password: If the administrator enters a
wrong password or user name the systems will ask for valid
User name and password.
Missing Field: If the End left the form fields empty, system will ask
For entering that field.
Pre-conditions End Users will be on main page. He will asked for apply job.
Post condition End user will click on apply for job button .Then he will be able for apply
a specific job.
Expectation Leave page: If End User presses the Leave page button without entering
the apply for job, the system will return back to main page. Missing Field:
If the administrator or end user left the any mandatory field empty,
18
4.5.1.12 Submit CV
Use Case Name Submit CV
Post condition End user will click on CV submit button. End user will get a form for
filling.
Description End user can submit CV for specific job. The CV form is available on
portal.
Expectation Missing Field: If the user left some fields empty, system will ask for
entering all the fields.
Back: If user presses the back button in the browser he will return to the
home page. Browser Closed: If user closes the browser unintentionally
then he will have to open the browser again to send a query.
19
4.5.1.14 Alert
Use Case Name: Alert
Summary: The administrator will login and give alert the user about new jobs and
other.
Actor: Administrator
Precondition: System will ask the admin to give alert the user for new adding.
Post condition: Admin will ask for give alert the user.
Description: The administrator will login and give alert the user for their related job
or alert them if they are selected for job.
Exceptions: Wrong user name or password:
If the administrator or operator enters a wrong password or user name
the systems will ask for valid user name and password.
Browser Closed:
If the administrator unintentionally closes the browser administrator will
have to open browser again to add news.
Sign Out: If Administrator or operator presses the sign out button
without entering the news title or detail the system will return back to
user side.
20
4.6 Sequence Model
The sequence model elaborates the themes of use cases. There are two kinds of sequence
models: scenarios and a more structured format called sequence diagrams.
4.6.1 Scenarios
A scenario is a sequence of the events that occurs during one particular execution of a
system such as for a use case. The scope of a scenario can vary; it may include all events in the
system or it may include only those events impinging on or generated by certain objects. A
scenario can be the historical record of executing an actual system or a thought experiment of
executing a proposed system.
A scenario can be displayed as a list of text statements. A scenario contains messages
between objects as well as activities performed by objects. Each message transmits information
from one object to another.
4.6.2 Sequence Diagrams
A sequence diagram shows the participants in an interaction and the sequence of
message among them. A sequence diagram shows the interaction of a system with its actor to
perform all or part of a use case.
Each use case requires one or more sequence diagrams to describe its behavior. Each sequence
diagram shows a particular behavior sequence of the use case.
Scenarios for our system i.e. JPK are given below and also their related sequence diagrams are
also presented below each of the scenario.
Sequence diagrams are start from figure no. 4 to figure no. 13.
21
User will request for login.
Verify user
User verified
Secuire communication
Save Record
Save to Database
Show to User
22
User will request for log out for
Click on logout
Verify user
Secuire communication
show Portfolio
Fill Portfolio
confirmed
Record saved
Show to User
23
Admin will ask for show record.
Database give access to record.
Show Record
Confirmed Message
confirmed Deletion
confirm Deletion
Show to User
Job name
Request to database
Show list
Show to User
24
User put the job title System Save it to Database
System.
show message to user
job title
job added
Show to Message
Job type
Job list
Job name
Applied
Save to Database
25
Admin will save name and password
of user in database.
Save to Database
26
Get detail
[Unsuccessful]
[Successful]
27
Log Out
Login
[unsuccessful]
[Successful]
Add record
[unsuccessful]
[Successfuly added]
Save to Database
28
Login
[Unsuccesful]
[Succesful]
Delete record
[Unsuccesful]
[Succesfully deleted]
29
Login
Search job
[Unnsuccessful]
Job Name/Type
[Successfull]
Display job
30
Login
[Unsuccessful]
[Login Successfuly]
Add job
[Unsuccessful]
[Successfuly Added]
Save to Database
31
Login
[Unsuccessful]
[Login Successfuly]
Apply job
[Unsuccessful]
Job Type/Name
[Successfuly Apply]
Display job
Applied
32
Login
[Unsuccessful]
[Successful]
Submit cv
[Unsuccessful]
[Submit Successfully]
Save to database
33
Login
[Unsuccesful]
[Login Successfully]
User name
Remove user
[Unsuccesful]
[Removed Successfully]
34
Request for Signup
[unsuccessful]
[Successful]
Add Detail
[unsuccessful]
[Successfuly added]
Save to Database
Log in
[Login Unsuccessfully]
[Record founded]
Show record
35
4.7 Logical Schema
Logical database design is the process of transforming the conceptual data model into
a logical data model. The logical model we will use is object data model. It represents data in
the form of tables/relations.
4.7.1 Relation
A relation is a named, two-dimensional table of data. Each relation (or table) consists
of a set of named columns and an arbitrary number of unnamed rows. An attribute is a named
column of a relation. Each row of a relation corresponds to a record that contains data (attribute)
values for a single class.
Primary key is an attribute or a combination of attributes that uniquely identifies each row in
a relation.
Foreign key is an attribute (possibly composite) in a relation that serves as the primary key of
another relation.
4.7.2 Associating Tables
During logical design, we transform the class diagram that was developed during
conceptual design into relational database schemas. The inputs to this process are the class
diagram and the outputs are the relational schemas.
Regular tables are classes that have an independent existence and generally represent
real-world objects, such as persons and CV. Each regular table type in a class diagram is
transformed into a relation. The name given to the relation is generally the same as the table
type. Each simple attribute of the table type becomes an attribute of the relation. The identifier
of the table type becomes the primary key of the corresponding relation.
36
Person
-person_name
-cnic
-gender
-contact_no
-email
-address
-qualification
-experience
-
+Login()
+Logout()
Employer +search()
-designation candidate
-institution_name -marital_status
-institution_address Admin -DOB
-website -occupation
+addJob() +closeJob() -reference1
+signup() +approve() -reference2
+selectCandidate() +putCV()
+searchJob()
+applyJob()
+signup()
Person
Employer:
Candidate:
Admin:
37
Employer
-designation
-institution_name
-institution_address
-website
+addJob()
+signup()
+selectCandidate()
Job
-job_title
-institution_name
-requiredExperience
-jobLocation
-lastDate
-gender
-ageLimit
-jobType
-NoOfSeats
Employer:
Job:
38
4.8 Database Diagram
Following is the database diagram
39
5 Chapter 5
System Implementation
5.1 Signup:
The implemented code for User Sign up interface panel shown in figure 29 and implemented
coding is given below:
Coding
<!DOCTYPE html>
<html lang="en">
<head>
<title>Online Job Portal</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style>
/* Remove the navbar's default margin-bottom and rounded borders */
40
.navbar {
margin-bottom: 0;
border-radius: 0;
}
<footer class="container-fluid text-center">
<p>Copy Right 2017. All rights reserved.</p>
</footer>
</body>
</html>
5.2 Add Job
The implemented code for User Add Job interface panel shown in figure 30 and implemented
coding is given below:
Code
<?php
require_once './includes/employer_session.php';
$errors = [];
$missing = [];
if (isset($_POST['add_job'])) {
$expected = ['job_title', 'institution_name', 'degree', 'subjects', 'req_exp', 'job_loc',
'last_date', 'gender', 'age_limit', 'duty_time', 'job_type', 'no_of_seats', 'sel_proc', 'job_spec'];
$required = ['job_title', 'institution_name', 'degree', 'subjects', 'req_exp', 'job_loc',
'last_date', 'gender', 'age_limit', 'duty_time', 'job_type'];
if (!isset($_POST['duty_time'])) {
$_POST['duty_time'] = '';
}
?>
>both</label>
</div>
41
</fieldset>
<div class="form-group">
<label for="job_spec">Detailed Job Specifications (Optional):</label>
<textarea class="form-control" name="job_spec" rows="5"
id="job_spec"></textarea>
</div>
</form>
<?php } ?>
<!-- 00000000000000 -->
</div>
<div class="col-sm-2 sidenav">
<img class="img-responsive img-thumbnail" src="./images/emp5.jpg" alt="">
</div>
</div>
</div>
</footer>
</body>
</html>
42
The implemented code for User Apply Job interface panel shown in figure 31 and
implemented coding is given below:
Code
<?php
require_once './includes/candidate_session.php';
if (isset($_POST['apply_job'])) {
require_once './includes/process_apply_job.php';
}
/* require_once './classes/candidate.class.php';
$candidate_id = 3;
$data['candidate_id'] = $candidate_id;
$candidate = new Candidate($data);*/
?> <th scope="row">Total Vacancies</th>
<td><?= $job->no_of_seats; ?></td>
</tr>
<tr>
<th scope="row">Selection Procedure</th>
<td><?= ($job->sel_proc == 'both') ? 'Test & Interview Both' : $job->sel_proc;
?></td>
</tr>
<tr>
<th scope="row">Job Specifications</th>
<td><?= $job->job_spec; ?></td>
43
</tr>
</tbody>
</table>
<?php if (isset($_REQUEST['applyBtn'])) { ?>
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="job_id" value="<?=$job_id;?>">
<p><button type="submit" name="apply_job" value="apply_job" class="btn btn-
info"><span class="glyphicon glyphicon-ok"></span> Apply Now</button></p>
</form>
<?php } ?>
<?php }
if (isset($_REQUEST['apply'])) { ?>
<form method="post" action="show_applications.php">
<input type="hidden" name="job_id" value="<?=$job_id;?>">
<button type="submit" name="show_applications" value="show_applications"
class="btn btn-success"><span class="glyphicon glyphicon-check"></span> Show
Applications</button>
</form>
<?php } ?>
<?php } ?> <!-- 00000000000000 -->
</div>
<div class="col-sm-2 sidenav">
<img class="img-responsive img-thumbnail" src="./images/job22.jpg" alt="">
<img class="img-responsive img-thumbnail" src="./images/job20.png" alt="">
</div>
</div>
</div>
<footer class="container-fluid text-center">
<p>Copyright © Online Job Portal 2017</p>
</footer>
</body>
</html>
44
6 Chapter 6
Testing is the one step in the software engineering process that could be viewed as destructive
rather than constructive. Testing requires that the developer discard preconceived notions of
the “correctness” of the software just developed and overcome a conflict of interest that occurs
when errors are uncovered. If testing is conducted successfully, it uncovers errors in the
software. As a secondary benefit, testing demonstrates that software functions appear to be
working according to the specification. Testing provides a good indication of software
reliability and some indication of software quality as a whole. Testing cannot show the absence
of defects, it can only show that software defects are present.
6.1 Testing Objectives
To execute a program with the intent of finding an error.
To uncovers an undiscovered error.
6.2 Testing Principles
All tests should be traceable to end user requirements.
Tests should be planned long before testing begins.
Testing should begin on a small scale and progress towards testing in large.
Exhaustive testing is not possible.
To be most effective testing should be conducted by an independent third party.
6.3 Testing Approach
The choice of test approaches or strategies is one of the most powerful factors in the
success of the test effort and the accuracy of the test plans and estimates. This factor is under
the control of testers and test leaders.
6.4 Box Approach
The primary objective for test case design is to derive a set of tests that has the highest
livelihood for uncovering defects in software. To accomplish this objective two different
categories of test case design techniques are used.
They are:
White box testing.
Black box testing.
45
6.4.1 White-Box testing
White box testing focuses on the program control structure. Test cases are derived to ensure
that all statements in the program have been executed at least once during testing and that all
logical conditions have been executed.
6.4.2 Black-Box testing
Black box testing is designed to validate functional requirements without regard to the
internal workings of a program. Black box testing mainly focuses on the information domain of
the software, deriving test cases by partitioning input and output in a manner that provides
through test coverage. Incorrect and missing functions, interface errors, errors in data structures,
error in functional logic are the errors falling in this category.
6.5 Testing Levels
Tests are frequently grouped by where they are added in the software development process
6.6 Unit testing
Unit testing, also known as component testing refers to tests that verify the functionality of
a specific section of code, usually at the function level. These types of tests are usually written
by developers as they work on code (white-box style), to ensure that the specific function is
working as expected
6.7 Integration testing
Integration testing seeks to verify the interfaces between components against a software
design. Integration testing works to expose defects in the interfaces and interaction between
integrated components (modules). In this project integrating all the modules forms the main
system. When integrating all the modules we have checked whether the integration effects
working of any of the services by giving different combinations of inputs.
6.8 System testing
System testing tests a completely integrated system to verify that it meets its requirements.
The application is easy to maintain.
The application is fast and takes less memory space.
The application is easily usable by the intended user.
6.9 Testing Types
There are many types of testing some of them are:
Alpha Testing
Beta Testing
Regression Testing
46
6.9.1 Alpha Testing
Alpha testing is simulated or actual operational testing by potential users/customers or
an independent test team at the developers site. Alpha testing is often employed for off the shelf
software as a form of internal acceptance testing, before the software goes to beta testing.
During alpha testing of our project we find following minor errors and solve them.
6.9.2 Beta Testing
It is also known as field testing. It takes place at customer’s site. It sends the system to
users who install it and use it under real-world working conditions. A beta test is the second
phase of software testing in which a sampling of the intended audience tries the product out.
6.9.3 Acceptance Testing
Acceptance testing is performed by the customer on their own hardware, also called
user acceptance testing (UAT). Acceptance testing may be performed as part of the hand-off
process between any two phases of development. In this project we have checked by sending
and receiving data and tested whether project is working correctly or not.
6.9.4 Usability Testing
Usability testing is needed to check if the user interface is easy to use and understand.
It is concerned mainly with the use of the application.
6.10 Test Cases
Test cases are derived to ensure that all statements in the program have been executed
at least once during testing and that all logical conditions have been executed. Using White
Box testing methods, the software engineer can drive test cases that
Guarantee that logical decisions on their true and false sides.
Exercise all logical decisions on their true and false sides.
Execute all loops at their boundaries and within their operational bounds.
Exercise internal data structure to assure their validity.
47
6.10.1 Test Case 01: Signup
ID 01
Name Signup
Expected Input First Name, Last Name, User Name, Email, Password,
Re-type Password
Pre-Condition Register
Actor User
Status Pass
48
6.11.1 Test Case 03: Add Job
ID 03
Name Add job
Brief Description Used to add a job in the Portal
Expected Input Job title, Organization, minimum qualification, select
degree, subject, experience required, Last date, Job type,
Gender, Age limit, Duty timing
Expected flow of Events Job title 2. Organization 3. minimum qualification
4. Select degree, 5. Subject, experience required 6. Last date,
7. Job type, 8.Gender 9. Age limit 10. Duty timing 11.Click “save”
Actor User
49
7 Chapter 6
Future Extension
7.1 Conclusion
The following conclusions and future extensions can be deduced from the
development of the project: It provides a friendly graphical user interface which proves to be
better when compared to the existing system.
• It gives appropriate access to the authorized users depending on their permissions.
• System security, data security and reliability are the striking features.
• The System has adequate scope for modification in future if it is necessary.
• The system is designed in such a way that future modifications can be done easily.
• it can easily be extended to include other relating applications.
The proposed system is built successfully and it performs according to the requirements
specified in the requirements specification document. System is satisfactorily tested with
example data, it provides intended results. It is found to be bug free as per the testing standards
that are implemented.
At the end of this project; it will be easy to seek for job. People can find job about
their skills and apply for job online.Employe can put their job title and require
qualification on this portal. They can select the candidate and inform them .People
can search job of different title. People of district Kotli can apply and seek job
from any place within the district.
7.2 Future Improvements
As it’s an emerging era so changes according to emergent requirements can easily be
made and maintained. Since organization systems and the business environment undergo
continual changes, the information system should keep place.
As this system is computerized and a database is also maintained with it so in near
future it can go well with large amount of data.
This system being web-based and an undertaking of Cyber Security Division, needs to
be thoroughly tested to find out any security gaps.
50
7.3 Limitations
• Internet connectivity is required to get benefits of this system for all end users.
• People who’re going to operate this system need to know the basic uses of computer.
• Users and administrator advanced computing machine which can open a web site.
• It is also a problem for organizations that how they advertise their jobs and find a good
worker for a specific job.
• There is no easy way for seek and apply job in district kotli. To find an appropriate job
there is need of a Job Portal for District Kotli.
51
Appendices and References
Appendices
These should provide detailed, specific information that is related to the application
being developed; for example, hardware and database descriptions. Hardware requirements
define the minimal and optimal configurations for the system. Database requirements define
the logical organization of the data used by the system and the relationships between data.
[Sommerville-2009]
Glossary
Below a small list of possible abbreviations and definitions used in this document is
presented:
Admin: It holds the data for admin of the system who’ll operate mainly with the system
Using all of its services by having a user name and password for it
End user: a person who use portal for apply, add and search job.
CNIC: Computerized National Identity Card, used to uniquely identify each person of the
country.
Markup Languages: Web programming Technologies like HTML, CSS, PHP etc.
52
References
53