Design and Implementation of A Computerized Traffic Offence System
Design and Implementation of A Computerized Traffic Offence System
1.0 INTRODUCTION
1
traffic accident. It is a dead fact that many of these accidents and their
consequences would have been avoided. Therefore the Computerised Traffic
Offence System will help to keep records of all traffic offences committed by
road users and also maintain the databases of the commission (FRSC).
The present system of traffic offence system which is the manual system known
as (Notice of Offence Sheet) has alot of problems which are mentioned below:
This study is designed to help Federal Road Safety Commission to document all
road traffic offences incurred by the road users.This study also tries to give an
in-depth look in the easiest and most effective way for the growth and
development of the Federal Road Safety Commission of Nigeria, in order to
control and render its services to Nigerians and other countries.
1.4 SIGNIFICANCE OF THE STUDY
With the growth in information technology, the study offers numerous values to
the Federal Road Safety Commission and any organisation that deals with
offence documentation data/information. Huge files kept through the manual
method in offices will no longer be there again because information will be
stored on the computer with the help of the Computerised Traffic Offence
System. It will help to keep a comprehensive record of traffic offence
documented.
To provide better services to the public and users making the highway
safe for motorists and other road users.
To keep records that are complete, integrated and up to date, also
recommending works and devices designed to eliminate or minimise
accidents on the highways and advising the Federal and State
Government including the Federal Capital Territory Administration and
relevant governmental agencies on the localities where such works and
devices are requred.
To produce a system where information and output report will be
produced or made available much faster, more accurately and more
detailed to the commission and the public by educating motorist and
members of the public on the importance of discipline on the highway.
Maintaining the validity period for drivers’ licences which shall be
three years subject to renewal at the expiration of the validity period as
well as designing,resgistering and producing vehicle plate number.
Conducting researches and also the standardization of highway traffic
codes.
Owing to the scope of this project as mentioned above, this project work is
limited to computer literates. It is important to mention that time and cost was a
major constraint in the course of fact finding. It is also wise to mention here that
some information needed to work with was not collected because of the
unwillingness of the agency to reveal such information.
In February 1988, the Federal Government created the Federal Road Safety
Commission through Decree No.45 of the 1988 as amened by Decree 35 of 1992
refered to in the statute of books as the FRSC Act cap 141 laws of the
Federation of Nigeriav (LFN). Passed by the National Assembly as Federal
Road Safety Commission (establishment) Act 2007. The functions of the
commission generally relates to making the highway safe for motorist and other
road users. Recommending works and devices designed to eliminate or
minimize accidents on the highways and advising the Federal and State
Governments including the Federal Capital Territory Administration and
relevant governmental agencies on the localities where such works and devices
are required,and educating motorists and members of the public on the
importance of discipline on the highway. In particular the commission is
charged with the responsibilities for preventing or minimizing accidents on the
highway; clearing obstructions on any part of the highways; Educating drivers,
motorists and other member of the public generally on the proper use of the
highways; Designing and producing the driver’s license. Decade of action, the
mission of safe road in Nigeria is to reduce road crash deaths and injuries by
50% by 2020. Safe Road in Nigeria is a response to United Nation’s Decade of
Action for Road Safety. It is one of the initiatives of Federal Road Safety
Commission of Nigeria to promote safety on our roads. Fact1: Road crashes kill
more than HIV/AIDS and Malaria. Fact2: There’s someone you know who has
been killed or injuried in a crash. Fact3: People are killed or injured in road
crashes everyday. Fact4: All road crashes can be prevented. Fact5: Most crashes
are caused by the driver’s behaviour and not always as a result of bad roads.
Facts6: The ideal of a “Safe Road” in Nigria is more of changing our driving
behaviour than advocating for good road infrastructure. Fact7: We can reduce
deaths and injuries due to crashes by 50% if we can make a commitiment to not
drink and drive, not over speed, wear seat belts and not to use mobile devices
when driving. The FRSC is currently headed by Ositadnma Benjamin Chidoka
whose title is the Corps Marshal and Chief Executive (COMACE) the highest
rank in the Corps ranking system. Prior to the impact of the establishment of
Federal Road Safety Commission in 1988,there was no concrete and sustained
policy action to address the carnage on Nigerian roads. Earlier attempts in this
direction were limited to discrete and isolated attempts by some states of the
federation and individuals. Notable among the efforts to institute a formdable
road safety program was the effort of Shell Petroleum Development Company
of Nigeria (SPDC) between 1960 and 1965. The effort of the Nigerian Army in
the training of its offices and men on road safety in the early 1970s also
contributed to road safety ideals and consciousness in Nigeria: The Nigeria
Army started the first public Road Safety campaign in 1972 when it iniated an
annaul Road Safety week. The First delibrate policy on road safety was the
creatin in 1974 of the National Road Safety Commission (NRSC) by the then
military government. The impact of the commission was however not sustained.
In 1977,the Military Administration in Oyo state, Nigeria established the Oyo
state Road Safety corps which made some local significant improvements in
road safety and road discipline in the state that lasted till 1983, when it was
disbanded by the federal government. With the continued dangerous trend of
road traffic accidents in Nigeria then, which placed it as one of the most road
traffic accident (RTA) prone countries worldwide (second to Ethiopia), the
Nigerian government asw the need to establish the present Federal Road Safety
Corps in 1988 to address the carnage on the highways.
2.2 STATUTORY FUNCTIONS
Making the highway safe for motorists and other road users.
Recommending works and devices designed to eliminate or minimize
accidentss on the highways and advising the Federal and State
Governments including the Federal Capital Territory Adminisration and
relivant governmental agencies on the localities where such works and
devices are required.
Educating motorists and members of the public on the importance of
discipline on the highway.
The increasing level of road traffic accidents (RTA) in Imo State and the
consequent injuries and deaths sregthened the case for its regular analysis. Data
on recorded cases of road traffic accidents were collected from the Motor Traffic
Division (MTDRTR),the Nigerian Police Force, Divisional Headquarters
Umuguma, Owerri West,Imo State Police command. Using the method of time
series decomposition,traffic road accidents were characterised to have an
upward trend and significant seasonal influences. Using the Chi-square test of
significance, it was discovered that there were significant differences among the
various causes of accidents and accident cases (Minor,Fatal and Serious) with
respect to types of vehicles involved over the years. Out of 5921 accident cases,
reckless driving, inexprience and mechanical fault and road defects accounte for
30.1, 21.5 and 21.1% rspectively. Two motorcycles, motorcycle-vehicle and
vehicle-vehicle crashes are the lead types and have resulted in 38.9, 37.5 and
14.9% of the total of 855 deaths recorded within the period of study.
Furthermore, it was also found that private cars, minibuses and taxis accounted
for most of the accidents with 94.7% of the total accidents. RTA results in the
deaths of 1.2million people worldwide each injuries about 4 times this number
(WHO 2004).
The table above shows default speed limits for different roads under the Road
Traffic Act 2004.
The table below outlines the speed limits that apply to different vehicles.
The table below is a typical example the manual method of convicting traffic
offenders in Nigeria.
S/NO TICK CODE POINTS PENALTY CATEGORY
INFRINGEMENT
1 Assaulting Marshal AMD 10 10,000 2
on duty
2 Attempting to corrupt ACS 10 10,000 2
Marshal on duty
3 Caution sign CSV 3 3,000 3
violation
4 Construction area CAV 3 3,000 1
speed limit violation
5 Dangerous driving DGD 10 50,000 1
6 Do not move DNM 2 2,000 2
violation
7 Driver’s licence DLV 10 10,000 2
violation
8 Driving under DUI 5 5,000 2
alcohol/drug
influence
9 Driving with worn- TYV 3 3,000 1
out tyre
10 Driving with EWT 2 2,000 3
expired/without spare
tyre
11 Excessive smoke ESE 5 5,000 1
emission
12 Failure to cover FCM 5 5,000 1
unstable materials
13 Failure to fix red flag FFF 3 3,000 1
on projected load
14 Failure to move over FMO 3 3,000 1
15 Failure to report road FRC 10 20,000 1
crash
16 Fire extinguisher FEV 3 3,000 3
violation
17 Inadequate ICW - 50,000 1
construction warning
sign
18 Light/sign violation LSV 2 2,000 2
19 Medical RCV - 50,000 1
personnel/hospital
rejection of road
crash victim
20 Operating MDV 5 5,000 1
mechanically
defcient vehicle
The existing system is a method that has been carried out in terms of manual
operation. A system in which all the methods of processing and storing
offenders’ data/information is a manual procedure or approach. This approach is
such that the mangement staff will the offenders’ data/information on a piece of
paper or a register and kept in file cabinet or even on the desk of the officer in-
charge. Critical analysis otf this system reveals tha it is a system prone to a lot of
errors, careless handling, theft, flood, fire and other forms of accidents and it is
not effective. Searching for someone’s record is time consuming and boring the
system is such that the office is filled up with files which makes the office dirty
and a resting place for pest. Careful analysis also shows that due to complexities
of the manual system, informaton stored is difficult to retrieve. Also because of
the inconsistency of the manuel system, at times file are lost because of
mismanagement.
Computerised traffic offence System has the objective of how the available
technology can be integrated into an organized system for better data
capturing and information flow. In fact, the objectives are:
In this phase, the primary activity is to find out the pattern of the input. And
after careful observation, the searcher resolved using this variable as follows:
Name of Offender
Address
City
Mobile number
Offence and
Penalty
A lot of problems are associated with the existing system, involves the use of
manual system to store data/information. The system has proved defective as the
objective ot the system has also failed. Among the problems associated with the
existing system include the following:
It is expected that with the introduction of the new system, alot of positive
changes will be noticed. The numerous problems associated with the manual
system will be minimized to the bearest minimum, if not totally eradicated .
Management staff that previously had difficulties in carrying out their duties
effectively, will now have to appreciate it, they will now work with joy and zeal
and this will lead to a positive change and improvement in the functions of the
Federal Road Safety Commission because of the visual approach of the
development.
CHAPTER FOUR
For the new system to work efficiently, the following hardware and software
requirements must be certified.
On the part of hardware we have the Server and Client. And they of different
requirements:
Server:
To Install the software, insert the CD into a CD-ROM drive of the system that
has met with the above software and hardware requirements then follow the
steps below:
Go to run;
click browse button in the run dialog box
Navigate to your CD-ROM driver and select it to open its content.
Double click on the set up item to set the software up in the system
Follow the on screen instruction to complete the setup
4.4 DATABASE SPECIFICATIONS
The database specifications for the Computerised Traffic Offence System for
the Federal Road Safety is seen below:
4.4.1
START
Register
Register
Processing Data
Databa
Display Info
Display Main
Database
STOP
4.6 SYSTEM MAINTENANCE
This is an ongoing process after implementation, its purpose being to ensure that
the system continues to provide the desired services as planned. The user may
make change to give the system additional capabilities. Since the computer
industry is rapidly changing, where new versions of software come out in quick
succession, maintenance would have to be carried out. This maintenance
includes upgrading the installation and modifying the current version to conform
to new industry standards.File maintenance would also include updating and
expanding the database files, modifying the file structure to accommodate
changes in the information requirement of the establishment.
CHAPTER FIVE
5.1 SUMMARY
5.2 RECOMMENDATION
The following are the recommendation required in order to effectively use the
new design are:
Due to limited resources, funds and time the researcher suggest that, other
reseachers who wish to embark on the mission of further improvement of the
Federal Road Safety Comission, should avocate for the adoption of the project
which is the computerisation of Traffic Offence Documentation System.
Reseachers should push for this project to be passed as a bill to the National
Assembly and ensure it should be appovered for the welfare of the Nation.
5.4 CONCLUSION
The Federal Road Safety Commission was established to control the rate of
road traffic accidents and control road users. It is a good start towards the
eradication of road accidents which has claimed alot of lifes, but the system
used presently by the FRSC is the manual system which has alot of limits
presently, back in the days when the commission was first established, the
manual system was effective. But presently the world has gone global and so
should the FRSC. They should embrace and develop the computerised ideal of
documenting Traffic Offences to help them function better and achieve the goal
for which it was established.
REFERENCES
David M.A (1999). FRSC and the Imperatives of Road Traffic Safety in Nigeria;
Jos: Chohu Business Enterprise.
http://www.FRSC.gov.ng/History.html
http://www.the nigerianvoice.com
APPENDIX A
<?php
/****************************************************************
***************************
* Filename: dbconnexception.php
* Classname: DbConnException
* Author: Tracersoft
* fails to open
*/
file_put_contents("../main/errorlog.txt",$log."\n",FILE_APPEN
D|LOCK_EX);
}//end class
?>
<?php
/****************************************************************
***************************
* Filename: queryexception.php
* Classname: QueryException
* Author: Tracersoft
*/
?>
<?php
require_once '../main/serverdata.php';
private $h_db;
);
/****************************************************************
***************************
try
$this->h_db = parent::databaseIgnite();
catch(DbConnException $e)
/***************************************************
*******************************************
* @return nothing
*/
{
}
//aligns the final array for submission with the database table
layout
$arr_details =
parent::array_keymatch_transfer($arr_details,$this->arr_cust_fmt);
$arr_details = parent::array_slashes_ops("add",$arr_details);
$arr_details['report_id'] = $this->getNewReportID();
$arr_details['timestamp'] =
parent::getServerTimeStamp();
$tableName = "offenders_log_table";
$arr_keys = array_keys($arr_details);
//Remove the last "," from the $str_sql2 string and append ")"
$str_sql2 = rtrim($str_sql2,',');
$str_sql2 .= ")";
//build Values
//Remove the last "," from the $str_sql3 string and append ")"
$str_sql3 = rtrim($str_sql3,',');
$str_sql3 .= ")";
$sql .= $str_sql2." VALUES (".$str_sql3;
$this->h_db))
if(mysql_affected_rows($this->h_db) == 1)//checks
whether query executed
else
else
{
if($this->verifyIfReportIDExists($report_id) == false)
//aligns the final array for submission with the database table
layout
$arr_details =
parent::array_keymatch_transfer($arr_details,$this->arr_cust_fmt);
$arr_details = parent::array_slashes_ops("add",$arr_details);
$arr_details['report_id'] = $report_id;
$arr_details['timestamp'] =
parent::getServerTimeStamp();
$tableName = "offenders_log_table";
$arr_keys = array_keys($arr_details);
$sql = "REPLACE INTO ".$tableName." (";
//Remove the last "," from the $str_sql2 string and append ")"
$str_sql2 = rtrim($str_sql2,',');
$str_sql2 .= ")";
//build Values
//Remove the last "," from the $str_sql3 string and append ")"
$str_sql3 = rtrim($str_sql3,',');
$str_sql3 .= ")";
$this->h_db))
else
else
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$row = parent::array_slashes_ops("strip",$row);
return $row;
else
if(@mysql_query($sql,$this->h_db))
{
if(mysql_affected_rows($this->h_db) >= 0)//checks
whether query executed
else
else
$b_id = $this->generateReportID();
while($this->verifyIfReportIDExists($b_id)):
$b_id = $this->generateReportID();
endwhile;
return $b_id;
$timestamp = parent::getServerTimeStamp();
$rnd = mt_rand(0,100);
$rnd2 = mt_rand(0,100);
$id = "rep_".(string)$timestamp.(string)$rnd.(string)$rnd2;
return $id;
if($result = @mysql_query($sql,$this->h_db))
return true;
else
return false;
else
?>
<?php
require_once "registry.php";
class ServerData
public $handler;
function construct()
function destruct()
/****************************************************************
**********
* function databaseIgnite() opens a connection to the MYSQL
server and
***************************************************
**********************/
if($this->handler = @mysql_connect('localhost','root',''))
if(@mysql_select_db($this->db_name,$this->handler))
return $this->handler;
else
else
throw new DbConnException("Data Connection
Error","ServerData::databaseIgnite() -> Unable to Connect to Database");
/****************************************************************
***********
****************************************************************
***********/
@mysql_close($this->handler);
//echo"Destroyed";
}
/****************************************************************
*******
****************************************************************
*******/
$date = getdate();
$date['mday'] = "0".$date['mday'];
$date['mon'] = "0".$date['mon'];
$server_date = $date['year']."-".$date['mon']."-
".$date['mday'];
return $server_date;
/****************************************************************
*******
***************************************************
********************/
$time['minutes'] = "0".$time['minutes'];
if((int)$time['seconds'] < 10)
$time['seconds'] = "0".$time['seconds'];
$server_time =
$time['hours'].":".$time['minutes'].":".$time['seconds'];
return $server_time;
$time = getdate();
$time['mon'] = "0".$time['mon'];
$time['mday'] = "0".$time['mday'];
$time['hours'] = "0".$time['hours'];
if((int)$time['minutes'] < 10)
$time['minutes'] = "0".$time['minutes'];
$time['seconds'] = "0".$time['seconds'];
$time_stamp =
$time['year'].$time['mon'].$time['mday'].$time['hours'].$time['minutes'].$time['s
econds'];
return $time_stamp;
$arr_date['year'] = $year;
$arr_date['month'] = $month;
$arr_date['day'] = $day;
return $arr_date;
/****************************************************************
*******
* hour and minutes for a particular time and returns the time in
the
* format hh-mm.
***************************************************
********************/
{
$time = $hour.":".$min;
return $time;
/****************************************************************
*******
* day, month and year for a particular date and returns the date
in the
* format dd-mm-yyyy.
***************************************************
********************/
$date = $day."-".$month."-".$year;
return $date;
}
/****************************************************************
**********
* @return Array
*/
public function
array_keymatch_transfer($array_source,$array_dest)
if(array_key_exists($key,$array_source))
$array_dest[$key] = $array_source[$key];
return $array_dest;
}
/****************************************************************
******************
* @return Array
*/
{
$arr_val[$key] = addslashes($value);
return $arr_val;
$arr_val[$key] = stripslashes($value);
return $arr_val;
else//does nothing
return $arr_val;
);
//retrieve range
list($start,$end) = explode("-",$arr_range[$month]);
$end = "29";
}
for($ctr = (int)$start;$ctr <= (int)$end;$ctr++)
$day = "0".(string)$ctr;
else
$day = (string)$ctr;
$arr_monthly_range[$ctr] = $year."-".$month."-".$day;
return $arr_monthly_range;
$ans = (int)$year % 4;
if($ans == 0)
return true;
else
return false;
$arr_val[$key] = strtoupper($value);
return $arr_val;
/******************
* Calculate Age
*Example:
*echo "Age is: " . calculateAge("1984-07-05");
* @return
*/
list($year,$month,$day) = explode("-",$birthday);
return $year_diff;
$arr_date = $this->getIndividualDateValues($date_str);
//get timestamp
$timestamp = mktime(0,0,0,$arr_date['month'],
$arr_date['day'],$arr_date['year']);
//format date
}
}//end class
?>
APPENDIX B
Login Page
Search Page
Offender Page