You are on page 1of 72

JOMO KENYATTA UNIVERSITY

OF
AGRICULUTURE AND TECHNOLOGY
TAITA TAVETA CAMPUS
Institute of Computer Science and Information Technology

PROJECT PROGRESS REPORT SUBMITTED IN PARTIAL FULLFILMENT OF THE


REQUIREMENT FOR THE AWARD OF A BACHELORS DEGREE IN INFORMATION
TECHNOLOGY.

PROJECT TITLE:
ONLINE CRIME REPORTING AND MANAGEMENT SYSTEM

DONE BY:
NAME: MACHARIA JOSEPH MUIGAI
REG NUMBER: JTC-BIT-0156/09

SUPERVISOR: MR. FANON ANANDA


DATE: 25TH APRIL 2013

DECLARATION
Part (i)
This is my own work and has not been presented previously as a project for a degree in another
university. The project has been undertaken under the university supervisor whose name is listed in Part
(ii) below:

JOSEPH MUIGAI MACHARIA

JTC-BIT-0156/2009

Sign.Date.

Part (ii)

SUPERVISOR:
Mr. FANON ANANDA.
Mathematics and Informatics Department
J.K.U.A.T TAITA TAVETA CAMPUS

Sign.Date.

ACKNOWLEDGEMENT
First and foremost I want to thank God for giving me good health of body, mind and spirit throughout the
development process of this project. I would also like to express my heartfelt thanks to my supervisor Mr.
FANON ANANDA for his greatest help and time he availed me for consultation and providing me with
guidelines despite the tight schedule.

A huge warm regards goes to my parents who supported me both financially and spiritually throughout
this Year and more so when I was undertaking my project. I also want to take this opportunity to thank
my classmates for the support they availed to me in one way or another towards my successful

completion of the project.

ii

TABLE OF CONTENTS
DECLARATION ........................................................................................................................................... i
ACKNOWLEDGEMENT ............................................................................................................................ ii
ABSTRACT:............................................................................................................................................... vii
CHAPTER 1 ................................................................................................................................................. 1
INTRODUCTION ........................................................................................................................................ 1
1.1 BACKGROUND INFORMATION ................................................................................................... 1
1.2 PROBLEM STATEMENT ................................................................................................................. 1
1.3 PROBLEM JUSTIFICATION ............................................................................................................ 2
1.4 OBJECTIVES OF THE RESEARCH ................................................................................................ 2
1.4.1 GENERAL OBJECTIVE ............................................................................................................. 2
1.4.2 SPECIFIC OBJECTIVES ............................................................................................................ 2
1.5 PROJECT DELIVERABLES ............................................................................................................. 3
1.5.1 Visitors Module ........................................................................................................................... 3
1.5.2 Registered Users module ............................................................................................................. 3
1.5.3 Administrators Module: ............................................................................................................... 3
1.6 PROJECT SCHEDULE ...................................................................................................................... 4
1.6.1 Project Schedule table: ................................................................................................................. 4
1.6.1 Project Gannt chart: ..................................................................................................................... 5
Chapter 2 ....................................................................................................................................................... 6
LITERATURE REVIEW ............................................................................................................................. 6
2.1 GLOBAL PERSPECTIVE ................................................................................................................. 6
2.2 REGIONAL PERSPECTIVE ............................................................................................................. 9
2.3 LOCAL PERSPECTIVE .................................................................................................................. 10
CHAPTER 3: .............................................................................................................................................. 11
REQUIREMENT ELICITATION .............................................................................................................. 11
3.1 SPECIFIC REQUIREMENTS.......................................................................................................... 11
3.1.0 External Interface Requirements ................................................................................................ 11
3.1.1 User Interfaces ........................................................................................................................... 11
3.2 Hardware Interfaces .......................................................................................................................... 13
3.3 Software Interfaces ........................................................................................................................... 13
3.4 Software Product Features ................................................................................................................ 14
3.5 Functional Requirements: ............................................................................................................. 14
iii

3.6 Non Functional Requirement ........................................................................................................ 14


3.7 Software System Attributes .......................................................................................................... 15
CHAPTER 4 ............................................................................................................................................... 17
ANALYSIS ................................................................................................................................................. 17
4.0 INTRODUCTION ............................................................................................................................ 17
4.1 EXISTING SYSTEM ....................................................................................................................... 17
4.2 PROPOSED SYSTEM ..................................................................................................................... 17
4.3 FEASIBILITY STUDY .................................................................................................................... 18
4.3.1 ECONOMIC FEASIBILITY: .................................................................................................... 18
4.3.2 TECHNICAL FEASIBILITY: ................................................................................................... 19
4.3.3 BEHAVIORAL FEASIBILITY: ............................................................................................... 19
4.4 RESEARCH METHODOLOGY ...................................................................................................... 19
4.4.1 TARGET POPULATION .......................................................................................................... 19
4.4.2 SAMPLE POPULATION .......................................................................................................... 19
4.4.3 Data collection and tools used in obtaining data ........................................................................ 20
4.4.4 Analysis of data.......................................................................................................................... 20
The Tables, Bar graphs and Pie charts considering the Data collected: ................................................. 21
CHAPTER 5 ............................................................................................................................................... 29
System design ............................................................................................................................................. 29
5.0 Introduction ....................................................................................................................................... 29
5.1 Purpose of System Design ................................................................................................................ 29
5.2 Software Development Model .......................................................................................................... 29
5.3 Software design model ...................................................................................................................... 31
5.4 ENTITY RELATIONSHIP MODEL-ERM ..................................................................................... 32
5.5 Database Schema .............................................................................................................................. 34
4.6 Input and Output Design ................................................................................................................... 35
CHAPTER 6: .............................................................................................................................................. 40
IMPLEMENTATION AND TESTING...................................................................................................... 40
6.1 DESCRIPTION OF MAIN FUNCTIONALITY: ............................................................................. 40
6.1.1 Functionality of the System to the Unregistered Users .............................................................. 40
6.1.2 Functionality of the System to the registered Users................................................................... 40
6.1.3 Functionality of the System to the administrators...................................................................... 40
6.2 interesting scripts and source code: .................................................................................................. 41
iv

6.2.1 PHP SOURCE CODE FOR USER LOGIN .............................................................................. 41


6.2.2 javascript CODE FOR USER LOGIN ....................................................................................... 42
6.2.3 php source CODE FOR reporting a crime ................................................................................. 43
6.2.4 javascript CODE FOR reporting a crime ................................................................................... 44
6.2.5 php source CODE to view missing persons: .............................................................................. 46
6.2.6 PHP SOURCE CODE FOR Crime report generation................................................................ 50
6.2.7 sample css used in the system .................................................................................................... 52
6.3 system testing strategies:................................................................................................................... 53
6.3.1 Black Box Testing...................................................................................................................... 53
6.3.2 White Box Testing ......................................................................................................................... 53
6.3.4 Anticipated results from both tests............................................................................................. 53
6.3.4 Testing Chart .............................................................................................................................. 54
6.3.5 Other Tests ................................................................................................................................. 55
CHAPTER 7: .............................................................................................................................................. 56
discussions AND CONCLUSIONS ............................................................................................................ 56
7.1 SUMMARY of work done................................................................................................................ 56
7.2 problems encountered: ...................................................................................................................... 57
7.3

recommendations: ....................................................................................................................... 57

7.4 CONCLUSION ................................................................................................................................. 58


REFERENCES ........................................................................................................................................... 59
APPENDIXES ............................................................................................................................................ 60
APPENDIX 1: QUESTIONNAIRE........................................................................................................ 60
APPENDIX 2: USER MANUAL ........................................................................................................... 63

LIST OF TABLES:
Table 1: Shows People who have access to computer....11
Table 2: Showing the respondents that have access to the Internet....12
Table 3: showing how people rate services rendered by the police .......................13
Table 4: Showing confidence about personal info being transmitted via Internet.....14
Table 5: Showing the people failing to report crime out of fear.....15
Table 6: Showing those who failed to report crime due the distance from the police station16
Table 7: showing those who would report a minor crime with the online system.....17
Table 8: Showing Respondents believing in the online crime reporting system....18
Table 9: Unit Testing...................................................................................................................................54
Table 10: Integration Testing.......................................................................................................................54
Table 11: System Testing.............................................................................................................................55
Table 12: Acceptance Testing......................................................................................................................55

LIST OF FIGURES:
Fig 1: Showing pie chart for the people who can have access to computer....11
Fig 2: Showing the respondents that have access to the Internet....12
Fig 3: showing how people rate services rendered by the police....13
Fig 4: Showing confidence about personal info being transmitted via Internet.....14
Fig 5: Showing the people failing to report crime out of fear.15
Fig 6: Showing those who failed to report crime due the distance from the police station....16
Fig 7: showing those who would report a minor crime with the online system.....17
Fig 8: Showing Respondents believing in the online crime reporting system....18
Fig 9: Brief Description of the Phases of Waterfall Model19

Fig 10: showing the use case diagram for the online crime system.......21
Fig 11: Showing Entity Relationship Model..23
Fig 12: showing database schema.......24

vi

ABSTRACT:
The aim of this project was to develop an online crime reporting and management system which was
easily accessible to the public all over the Kiambu County, the police department and the administrative
department in Kiambu. The normal public in Kiambu County and generally in Kenya is afraid to lodge a
complaint or even report a crime to the police stations because they are filled with fear of the harassment
by the police department.
The project titled online crime reporting and management system is a web based application. Like the
title suggests the software will provide facility for reporting crimes, making complaints, report missing
persons, show most wanted person details, show lost and found persons and properties, report theft,
manage reported crimes among other things. The project specifically looks into the crime detection and
prevention.
Different modules in this project included visitors module, registered users module, and administrator
module. The visitors module will enable the visitor to view latest hot news (latest news update) that have
been updated by the administrator. The registered user module provides the client with the facility for
reporting crimes, missing persons, view most wanted persons, making complaints etc. The administrators
module provides facility for full administration of the website by responding to client requests, it also
allows for adding new admin, managing most wanted persons and missing persons, managing hot news
and crimes among other things.
Some of the tools that were used in development of this project included: PHP at the front-end, MySQL at
the back-end, Mozilla browser and windows 7 platform. Scripts will be done using java script language.
Other tools to be used include Adobe dream weaver CS5 and Xampp server.

vii

CHAPTER 1
INTRODUCTION
The objective of the project was to develop a site in which any citizen can report crimes. If anybody
wants to report any kind of crime he/she can do it through the site. The Crime Management and Reporting
System make the crime reporting easier. This project will be useful for the Police Department. The home
page provides the login capability for both the registered users and administrators. Only the
Administrators in-charge of different Police Stations will be able to login to their home pages. The citizen
could only report crimes and missing persons and property while enjoying the facilities being provided to
the unregistered citizen.

1.1 BACKGROUND INFORMATION


Generally, most police departments in the developed nations have recorded substantial progress in using
ICT in management and service delivery whereas their counter parts in the less developed nations have
not. This has enabled the police stations in developed countries to provide improved service delivery to its
citizens as well as improved interaction with its citizens. The resulting benefits have been increased
transparency, cost reduction among other benefits. However, ICT has not yet been fully utilized by the
police departments in developing nations including our country thus resulting to poor service delivery to
the public.
The efficiency of the police and the effectiveness with which it tackles crime depend on what quality of
information it can derive from its existing records and how fast it can have access to it. Therefore, there is
need for the police to have as much information as possible to ensure that they are always updated to
whatever is happening. This will be addressed by having an online solution which is very useful as the
solution is inherently distributive. This distributive characteristic of online solution helps in getting the
police station to share information and get into contact with one another.
Recently, the undersea fiber-optic cables have been lain within Kenyas infrastructure to improve the
countrys access to the internet cheaply and this have seen most of institutions and companies exploiting
such a great resource by offering their services online, improving the effectiveness in their management
and operations while ensuring efficient public service delivery. There is therefore the need for the police
department to make use of the available resource by providing online services and allowing public to
report crime at any place without having to be physically present to the police stations.

1.2 PROBLEM STATEMENT


There is poor service delivery to the public by police stations in Kenya with citizens fearing to go and
report crime or even make a complaint due to some reasons that include; harassment by the officials,
lack of time to go to the police stations, lack of privacy among other reasons. This makes some crimes
not being reported thus increasing crimes in the country.

Sometimes news about missing persons, most wanted persons, lost property, found persons and
property, and news about general security/insecurity in the country dont reach a wider mass of people
as required thus solving issues become difficult and untimely.

1.3 PROBLEM JUSTIFICATION


With the high increase in population in the country, the economy of Kenya has negatively been
influenced. This has seen its citizens indulging in lots of businesses in order to earn a living. This makes
them so much busy to a point that they dont get time to do some of their responsibilities such as
reporting crime.
Sometimes the officials end up harassing the citizens reporting the crimes and if there is a way to report
crimes without having to go to police stations then this problem could be avoided. At other times when
one reports about a missing person or property, this gets only to the police station where you have
reported but dont get to other police stations all over the County or to a larger extent all over Kenya and
this narrows down the area of investigation. In spite of the development of Information Technology in
Kenya, little study has been done to analyze the problems affecting the performance of the Police
department in Kenya.
By the end of this research, the problems were addressed by developing an online crime reporting and
management system which ensured that one can report a crime at any place without having to physically
avail himself/herself at the police station. It also ensured that missing persons, lost property, most
wanted persons and other news update reach large mass in the country through website. This eventually
ensures efficient and effective service delivery to the public as well as reducing cost and time travelling
to police stations.

1.4 OBJECTIVES OF THE RESEARCH


1.4.1 GENERAL OBJECTIVE
The main objective of this research was to develop an online web based system that would provide a
platform with improved facilities for reporting crimes online as well as management of the crimes. This
system should be accessible to the citizens in Kiambu county, the police department and the
administrative department.

1.4.2 SPECIFIC OBJECTIVES


By the end of this research, the online crime management and reporting system should be able to:
a) Allow users report crimes online at any place without having them to physically appear to
police stations for reporting the crimes.
b) Allow Users to send complaints online.
c) Provide for platform to report missing persons and property.
d) Provide the police department with platform to show the most wanted persons.
e) Allow users to view the lost and found properties and persons.
f) Allow people view the current hot news concerning security and insecurity in the country.

1.5 PROJECT DELIVERABLES


The modules involved in this project included:
a) Visitors
b) Registered users
c) Administrators

1.5.1 VISITORS MODULE


In this module, the unregistered user (i.e. visitor) is allowed to view the hot news, view posted missing
persons and properties, view lost and found persons and property as well as the most wanted persons that
have been posted in the home page of the site by the administrator.

1.5.2 REGISTERED USERS MODULE


The registered user module includes;

Add Complaint: This module help the user to report online complaints.
Add Crime report: This module help the user to report online crimes.
Add Missing person: This module help the user to report online missing persons details also, we
have to add photos of missing person using heterogeneous database.
View Missing persons: This module help the user to view all the missing person details.
View Most wanted persons: This module help the user to view all most wanted persons which can
be given by the administrator.
Edit Complaint: This module help the user to edit his complaint details.
Edit Account: This module help the user to update his or her profile.
View complaint status: This module allows us to view the status of all complaint that you have
posted earlier.

1.5.3 ADMINISTRATORS MODULE:

View and reply user complaint: This module helps the admin to view and reply users complaint
details
View and reply user crimes: This module helps the admin to view and reply users crimes details
New admin: This module used for adding new admin
Add and delete latest hot news: This module helps the admin to add and delete latest hot news.
Add, delete and view most wanted persons: This module helps the admin to add, delete and view
most wanted person details
Add, delete and view missing persons: This module helps the admin to add, delete and view
missing person details
View and delete all complaint reply: This module helps the admin to view and delete complaint
reply.
Change password: This module helps the admin to update his or her password

1.6 PROJECT SCHEDULE


1.6.1 PROJECT SCHEDULE TABLE:
Table 1: showing project schedule
ACTIVITY

Exploring on the potential project to

DURATION

DELIVERABLE

10 SEP 2012-28 SEP 2012

Project title

28 SEP 2012-5 OCT 2012

Proposal

handle
Writing the project proposal on the title
selected
Requirement Analysis and specification

5 OCT 2012-12 OCT 2012

Architectural design

12 OCT 2012-26 OCT 2012

System Design

Database development

26 OCT 2012-2 NOV 2012

Functional database

Web pages development and System

24 NOV 2012-1 APR 2013

Partially working

coding
Progress Presentation and draft final

system
3 DEC 2012-7 DEC 2012

Project presentation

Final report preparation

4 OCT 2012-19 APR 2013

Final project Report

Full System testing

19 APR 2013-24 APR 2013

Fully working system

Project demonstration

24 APR 2013-26 APR 2013

report presentation

1.6.1 PROJECT GANNT CHART:


Fig.2: showing the Gantt chart

CHAPTER 2
LITERATURE REVIEW
2.1 GLOBAL PERSPECTIVE
Reporting of crimes online is becoming very popular with millions of people seeing the benefit of using
this great online facility offered by various police departments in their respective nations. United States
States-FBI department and Canada are amongst the countries offering this facility. New York Police
Department also have an online system that allows public to report crimes. I have borrowed some
functionalities ideas in NYPD such as displaying of most wanted persons which have been well
captured(http://www.nyc.gov).
It is estimated that more than 80% of all households in United States now have computers in their home,
and of those, almost 92% have internet access. As computers became more prevalent in American society,
the next natural advancement in communication was through the internet. Private businesses not only
advertise their products online they also complete internet sales to customers buying from their home. As
this trend continues it shows that people are becoming more comfortable with using web based programs.
(Nielsen Report, 2008).
According to a study done by Cartwright, there are several benefits to employing the online citizen police
reporting system. Chief is the reduction in time and resources spent on responding to and writing reports.
The end Result is maintaining the same level of service to an increasing population for the same money or
a decreasing budget (Cartwright, 2008). In this research 16 Law Enforcement agencies in the United
States and Canada, each serving a population of at least 250,000 full time residents were identified. All
the agencies have employed the online crime reporting program for at least one calendar year (2009).
These agencies were surveyed to determine the success of the program from both the satisfaction of their
citizens as well as the agencies offering the program.
When the idea of citizens reporting crimes online was introduced earlier in this decade, the timing seemed
optimal, but would it work? (Larocco, 2009). One company in USA(N. America) called Coplogic
introduced a program to the law enforcement community that addresses this specific idea. Coplogic's
Desk-Officer Online Reporting System (DORS) is designed to interface directly with current records
management systems and to print formated reports that are suitable for filing alongside police officer
written reports. (Coplogic, 2009). Coplogic specifically deals with crime reporting only but doesnt
incorporate reporting of missing persons & most wanted persons.
Law enforcement agencies have, for years, explored new ideas to provide more effective policing
services. Ways in which the police could serve more areas of the community with the same number of
officers. Ideas that would encourage community involvement were introduced in the form of
neighborhood watch programs and auxiliary police units. Using cameras to monitor traffic intersections
or listening devices to detect the sound of gunfire in neighborhoods are new technologies law
enforcement has deployed to collect information on criminal activity. All these initiatives have the same
goal; to make our communities safer by reporting criminal violations to the police. The police would then

use the information reported, as limited as it may be, to focus their resources in the areas of increased
criminal activity. (Gitmed, 2007)
Technological advancements have also helped most law enforcement agencies improve their internal
communication abilities. From the first in car radios used to dispatch officers to the scene of a crime to
modern day in car computers to complete records checks of both people and their property. Law
enforcement has done well with communication advancements amongst themselves but their
communication with the public has made little progress in the collection of information from the citizens
themselves, since the creation of the 9-1-1 system. Sure, cell phones have made this technology more
mobile but until recently law enforcement had yet to tap into modern day communications; specifically
the internet. Many departments have implemented the latest advancement, the Internet, to better serve
their citizens while also saving labor and avoiding administrative red tape. (Gitmed, 2007)
While the internet has been used by government agencies, including police departments, to post
information about themselves and the communities they serve, the communication was one sided. Until
recently, information posted on a government website was usually followed by a telephone number to call
if you had questions or needed to report a crime. There were attempts to facilitate better communication
through the internet in the form of printing out police forms to be filled out and mailed in or dropped off
at the local police station. While this was a step in the right direction it did little in the way of speeding
up the reporting process. The success of the online crime reporting program may be measured by the
hundreds of law enforcement agencies now offering this reporting option nationwide and the number of
law enforcement agencies launching their own online programs each month. (Coplogic, 2009) Santa Ana
Police (CA.) bought into the tool after hearing positive feedback from other users. (Cisneros, 2009).
In 2007, Chief Robert C. Merchant, Jr. announced his annual top ten work priorities list. The list had an
array of projects all sharing a common goal of improving efficiency and customer service which
ultimately would lead to a better quality of life for residents, businesses, and visitors within the City of
Altamonte Springs. While reading over the list one particular project jumped out as one which would
benefit both the community and police officers Investigate the Feasibility of Creating an Online Crime
Reporting System.
The Altamonte Springs Police Department constantly strives to carry out its mission statement which
reads, The Altamonte Springs Police Department is committed to excellence in service through
community involvement. Together, our partnership will develop a sense of community pride and an
atmosphere intolerant of criminal activity(Altamonte Springs Police Department website, n.d.). Chief
Merchant and his command staff are continuously in search of means to improve upon efficient customer
service and enhance the quality of life of our community. After all, the clich, I pay your salary is true,
and our department truly believes in community oriented policing which focuses on listening to ones
needs rather than telling or guessing of their needs. Online crime reporting has the same mission. Its goal
is to get relevant information pertaining to a crime to the police department expeditiously through the
Internet creating convenience for the victim yet maintaining security for sensitive information .
An online crime reporting system is a more affordable alternative to hiring additional police officers to
respond to increased call volumes. For example, it costs an average of $64.00 an hour for a police officer
to take an on-scene report. The average costs for a telephone transcription service is $36.00 an hour.
Whereas, the average costs of emailing a report through an online crime reporting system is pennies
7

(Geiger, 2004)! Added benefits include: (1) offsets the workload demands of both sworn police officers
and community service officers who are required to write reports; (2) allows citizens to report certain
non-violent crimes, with no suspect information, at their convenience (24/7) from the computer location
of their choice without having to wait on the response time of law enforcement; (3) provides citizens with
an emailed copy of their report eliminating the extra step and expense of driving to the police department
and paying for a hard copy (Johnson, 2006); (4) provides an outlet to piggyback other services on the
system such as: paying a parking ticket, requesting a vacation house check, completing a business
emergency contact form, registering for Neighborhood/Business Watch program, signing up for volunteer
opportunities, etc (Schroeder, 2004); and (5) the system may be compatible with surrounding law
enforcement agencies allowing for information sharing such as: collecting statistical data to develop
crime patterns in a specific geographical area, which ultimately could lead to the arrest of a suspect.
National statistics on crime show a difference on the number of actual crimes committed as opposed to
the number of crimes reported to law enforcement. In 2003, the Federal Bureau of Investigation reported
that 10.3 million property crimes and 1.38 million violent crimes were committed. However, the
Department of Justice reported in the same year only half of all violent crimes committed and a third of
all property crimes were actually reported to the police. There are several reasons crimes may go
unreported including: fear of repercussions; embarrassment or shame; assumption that the crime is too
insignificant to warrant reporting; or a belief that reporting the crime will make no difference. Perhaps
the single most significant factor in determining whether or not to report a crime is the convenience
aspect to reach police (Garrett, Iriberri & Leroy, 2006). An online crime reporting system offers victims
this convenience and may be the solution to bring into balance the number of crimes committed versus
the number of crimes reported.
Millions of Americans place their trust in the Internet on a daily basis to retrieve information on
everything from life saving medical advice to best traveled vacation destinations. This is however not the
case in Kenya since it is a developing country and has not reached the level of America technology wise
or even in terms of development. America is far much more developed than Kenya. The Internet has also
become quite popular in America and among shopping enthusiasts so much in fact it has gained the
confidence of consumers to enter personal information including their home address, phone number, and
credit card information which is not the case in Kenya. So the question arises are citizens of Kiambu
County in Kenya ready to trust the Internet to police their community.

2.2 REGIONAL PERSPECTIVE


Regionally countries like Ghana and South Africa also have their police departments allowing for online
crime reporting. This has been so for the past few years to many other countries in Africa that have been
recording a considerable development in the ICT infrastructure allowing them to use internet almost in
every sector including security sector. According to a study (Bohan, 2005), an online crime reporting
system is a prime example of a modern day technology designed to make the world a superior place to
live. An online system affords police officers the opportunity to patrol hot spots and remain available
quickly to respond to violent crimes.
There is no denying we live in the age of technology. To turn our backs on the worldly innovations of
mankind is an injustice to the public for whom we (law enforcement) are sworn to serve and protect!
Technology is the ticket to the future, and those standing without a ticket must be prepared to survive in a
world where computers will one day control everything from our televisions to our toothbrushes.
An online crime reporting system is a prime example of modern day technology designed to make the
world a superior place to live. When used properly this technology will not only enhance a humans
environment when it comes to convenience, but will also significantly enhance the safety of our
community at a reasonable expense. An online system affords police officers the opportunity to patrol
hot spots and remain available to quickly respond to violent crimes. This is accomplished by allowing
citizens to self-report non-violent minor crimes with no suspect information. Of course like anything in
life a good situation always has the potential for a negative to make its way in. In this case the negative
being the potential of false reports made through the online system. One strategy to combat this negative
includes posting an eye-catching warning on the Internet site of the penalties a person may face for
making a false police report (Bohan, 2006). In addition, software is available to lock out Internet provider
addresses from those individuals who knowingly choose to misuse the system through false reports or
who attempt to flood the system with multiple invalid entries .

2.3 LOCAL PERSPECTIVE


In Kenya, many organizations are now embracing the improvement of the ICT and also the availability of
internet connectivity .Currently, 15 ISPs are operating in Kenya thus making it one of the largest Internet
Community in Sub-Saharan Africa. There is therefore the need to ensure that almost all sectors including
security sector make use of this facility (i.e. internet) in providing their services to ensure they keep up to
the current trend.
According to one of the local newspapers (i.e. The East African Standard), the police department in
Kenya has set up a website to enhance service delivery and combat crime. Information posted on the site
includes names of senior officers, crime statistics, how to report crime and make a complaint and when
one needs to call 999 emergency line. Also available is a list of wanted persons and their pictures,
telephone numbers of most of the police stations across the country, status of police reforms, a section of
traffic updates and services offered by the force. The department has also explained how to hire its
services, which include police officers, vehicles and dogs.
The Kenyan Police website-allows very simple crime reporting online. Doesnt provide platform for
reporting missing & found persons/property-can only view but not report. Citizen doesnt provide a lot of
information on crimes as is the case of the system being developed. It is more or less Police station
centered than it is to citizens i.e. developed to help the police department post their matters and not
allowing citizens to extensively provide information on the crimes as well as any other relevant security
information.

10

CHAPTER 3:
REQUIREMENT ELICITATION
3.1 SPECIFIC REQUIREMENTS
3.1.0 EXTERNAL INTERFACE REQUIREMENTS
3.1.1 USER INTERFACES
Once the development of the software is complete, its user interface shall be compatible with all browser
such as Google chrome , Internet Explorer, Mozilla Firefox ,opera, Netscape Navigator and all other
browsers which the user might want to use for accessing the website.
There will be several user interfaces for the three kinds of users of the system (i.e. unregistered users,
registered users and the administrators) as described below:

A) UNREGISTERED USER
1. The home page
This will be the first interface that the user will see once they launch the system i.e. by writing the web
URL from their respective browsers. It is from this home page that links will be provided to allow the
navigation to all the other resources, the links include: About Us, contact Us, Services, provide security
insight, station contacts etc. The home page will also provide users with an area to register so that they
can enjoy all services given by the website. The main links in the home page will thus include:
HomePage, About Us, Contact Us, Services, Station Contacts and Provide Security Insight.
2. About Us
This page will contain a short description about the Police Department and about this online system. It
will thus give the details of all about the Police in Kiambu County and Kenya at Large and also giving the
information to the users on how to be able to make use of the services provided by this website.
3. Contact Us
This page will contain contacts of the Police Department Headquarters in Both the National Level and the
County level. The page will show telephone numbers, postal addresses and email addresses.

4. Services Page

11

This Page contains the description of all the services being provided by the online crime report system
and how make use of the system
5. Provide Security Insight Page
This page will be used by the users to be able to provide any insight on security/insecurity even if one is
not registered as a client in the online crime reporting system. The Page allows users to report any
planned crimes, or even provide hints as to what is going on in different places in the country.
6. Station Contacts Page
This Page allows users to view the telephone numbers and Addresses of all police stations in the Kiambu
county .

B) REGISTERED USER
1. Homepage
This will be the interface that the registered user will see once they login the system i.e. by writing the
web URL from their respective browsers. It is from this home page that links will be provided to allow
the navigation to all the other resources, the links include: About Us, contact Us, Services, provide
security insight, station contacts, Report crime, complaints, missing person, missing property, found
Person, Found Property, view reported crimes, mostwanted persons etc. The home page will also provide
users with a view of the News update.
Other links in the Home page include:
2. Report Crime Page: provide an area for reporting Crimes
3. Report Missing Person Page: provide an area for reporting Missing Persons
4. Report Found Person Page: provide an area for reporting Found Persons
5. Report Missing Property Page: provide an area for reporting Missing Property
6. Report Found Property Page: provide an area for reporting Found Property
7. Report Complaints Page: provide an area for reporting any complaints
8. View Missing and Found Persons pages: provide an area for viewing reported missing and
found persons
9. View Missing and Found Property pages: provide an area for viewing reported missing and
found property

10. View Most wanted Persons Page: provide an area for viewing most wanted person

12

C) ADMINISTRATORS
1. HomePage
This will be the interface that the administrators will see once they login the system i.e. by writing the
web URL from their respective browsers. It is from this home page that links will be provided to allow
the navigation to all the other resources meant for administration, the links include: Links to pages for
viewing and updating of reported crimes, complaints, missing persons, missing properties, found Persons,
Found Properties, security insights, posted most wanted persons and News update. The Page also has
Links to different Reports that can be generated automatically by the system.
Other links in the Home page include:
2. Police registration Page: This is the Page that is used allow the Head of station to be able to
add a police into the system
3. Add Contact Page: Allows the administrator to add new contacts for the police stations
4. Add Most Wanted Person Page: Allows the administrator to add a most wanted person into
the system
5. News Page: Allows the administrator to post news update to the system.

3.2 HARDWARE INTERFACES


Since this application will run over the internet, all the hardware interfaces such as the computers
shall require connecting them to the internet. For example the police stations will use Modems or DSL
(Digital Subscriber Lines), or in case the police station uses WAN (Wide Area Network) or Local Area
Network (LAN), then it uses Ethernet Cross-Cable.
This software will also support the interactions with hardwares as printers that will allow the
Administrators to get a hard copy of the documents such as the different kind of reports generated by the
system. The software will also be able to run on all type of computer with web browsers and connected to
the internet and thus supporting any device used in those computers to navigate the system.

3.3 SOFTWARE INTERFACES


This system will be will use some specific softwares components such as MySQL Database
(MySQL client version: 5.1.41), An Apache server (Apache/2.2.14 (Win32)) ,It will also use a Windows
operating system(Windows 7 Ultimate) During the development & implementation as well and It will be

13

able to run in Windows Operating systems such windows 7, Vista and XP once the development is
complete.
There will be error messages provided for any error to the software use, e.g. when there is no
connection to the servers and the database the system administrators will be given an error message. Data
will also be shared from a central location (The database). The access to this data will be based on access
rights.

3.4 SOFTWARE PRODUCT FEATURES


This web based Online Crime Reporting system is to be used to improve the efficiency in crime reporting
process by ensuring that people can access police services at any place i.e. away form police stations.
The features of the product are divided into functional and non-functional requirements and they include:

3.5 FUNCTIONAL REQUIREMENTS:


1. Registration of Users i.e. admin, police, citizens : Citizens are allowed to be a member in
the system by signing up and then being able to access all the services being provided by
the system. Police and Head of stations are also registered into the system for them to be
able to make any updates to the system(administration).

2. Login and Login out of system: Provisions for all the members to access the services and
the data they need through login and login out of the system
3. Report crime and complaints: Allows citizens to report crimes and complaints using the
system by sending crime and complaint details
4. Report and/or View missing persons or properties details; found persons or properties
details
5. Adding and removing News update; most wanted persons and Station Contacts
6. The System should also be able to generate reports and provide the reports to the Police
whenever they need them

3.6 NON FUNCTIONAL REQUIREMENT


Security Requirements

The data security will be enhanced through restricting access to the data by the use of

passwords and access levels.

The external security for those accessing the system over the internet will also be can be

provided by given the login authentication.


14

Validation of data during data entry will be achieved by using javascript language

validation at the client side to ensure data entered is the correct data for data integrity
purposes.
Performance Requirements

The retrieval of needed data will be made efficient by the use of search forms to the

database hence getting the data within the shortest time possible.

3.7 SOFTWARE SYSTEM ATTRIBUTES


Reliability
This will depend on the performance of the software. Better performance will thus increase the reliability
of the software. The reliability will also be looked at from two perspectives i.e. from the whole program
perspective point of view and from the separate modules point of view. This software will thus have three
modules i.e. the administrators module, the registered user module and the unregistered users module.
The optimal performance of all these modules will thus lead to the reliability of the whole system.
Availability
This is the property that makes the software easy to use and for everyone.The system should thus be
available at all times, meaning the user can access it using a web browser, only restricted by his option to
be logged off the system
Security
This will involve securing system data such as the passwords and data access. Passwords will be saved in
an encrypted in the database in order to ensure the user's privacy. Interjection will also be eliminated by
ensuring that online users are not able to access the admin pages by by-passing the admin login page.
Maintainability
The project will be easy to maintain since all the information will be stored in the database and hence the
system administrator will thus have an easy time of adding or deleting the information in the database.
MySQL database will thus be used for maintaining the database and the Apache server takes care of the
site.
The software will also be developed in modules so that maintenance becomes easier. This will thus
enhance maintainability hence maintainability can be done efficiently.

15

Portability
Once the implementation of the software is complete, the software can be able to be accessed using any
browser and on any machine connected to the internet and at any machine.
The software will be developed in windows environment but should be compatible with other systems.
Apache server and MySQL programs that will be used are practically independent of the OS-system
which they communicate with. The end-user part is fully portable and any system using any web browser
should be able to use the features of the application.

16

CHAPTER 4
ANALYSIS
4.0 INTRODUCTION
System Analysis works with users to identify goals and build systems to achieve them. System analysis is
an important phase of any system development process. The system is studied to the minutest details and
analyzed. The system analyst plays the role of an interrogator and dwells deep in to the working of the
present system. In analysis, a detailed study of these operations performed by a system and their
relationships within and outside of the system is done. A key question considered here is, what must be
done to solve the problem? One aspect of analysis is defining the boundaries of the system and
determining whether or not the candidate system should be considered. The system is viewed as a whole
and the inputs to the system are identified. The outputs from the system are traced through the various
processing that the input phases through in the organization. During analysis, data is collected on
available files, decision points, and transaction handled by present system. Once analysis is completed the
analyst has a firm understanding of what is to be done.

4.1 EXISTING SYSTEM


In the existing crime management system, most of the operations are done manually like send complaints,
taking actions against crimes etc. So with the existing system if anybody wants to complaint against
crimes he must do it through the police station, they have to physically present themselves to the police
stations.
If we are doing the system manually, many minor errors will occur, the crime reporters might as well be
afraid to be interrogated while reporting thus making some crimes going unreported. Error detection in
the previous entries made and data cross verification is another important function. These are done
manually, and it would take time.
Drawbacks of the existing system can be concluded as follows:

The existing system is time consuming and not very user friendly.
As we all know, a covered truth, Bribery plays an important role in the existing system.
Sometimes the innocent becomes accused in several situations due to lack of enough evidence.
The current system is inefficient, time consuming, poorly managed and lacking flexibility.
Because of the amount of serious crime, lesser crime goes unchecked. Many crimes become
regarded as antisocial activities.
Police stations are at some places situated away from the police stations thus making some
crimes not reported.

4.2 PROPOSED SYSTEM


The aim of proposed system was to develop a system of improved facilities. The proposed system can
overcome all the limitations of the existing system. The system provides proper security and reduces the
manual work. The existing system has several disadvantages and many more difficulties to work well.
17

The proposed system tries to eliminate or reduce these difficulties up to some extent. The proposed
system will help the user to reduce the workload and mental conflict. The proposed system helps the user
to work user friendly and he can easily do his jobs without time lagging.
Advantages of the Proposed System:
The system is very simple in design and to implement. The system requires very low system resources
and the system will work in almost all configurations. It has got following features

Ensure data accuracys.


Minimize manual data entry.
Minimum time needed for the various processing.
Greater efficiency.
Better service.
User friendliness and interactive.
Minimum time required to report a crime.
Reducing crime and disorder.
Confidently and anonymity issues.
Better communication

4.3 FEASIBILITY STUDY


A feasibility study is a test of system proposal according to its workability, impact on the organization,
ability to meet user needs and effective use of resources. Apart from these, an initial investigation is
launched to study the present system, evaluate the possible application of computer based methods.
Selecting a tentative system, evaluate the cost and effectiveness of the proposed system, evaluate the
impact of the proposed system, existing personal and ascertain the need of new personal.
The objective of feasibility study is not to solve the problem, but to acquire a sense of its scope. Three key
considerations involved in the feasibility analysis:
Economic feasibility
Technical feasibility
Behavioral feasibility

4.3.1 ECONOMIC FEASIBILITY:


Economic analysis is the most frequently used method for comparing the cost with the benefit or
income that is expected from developed system.
In the existing system the reporters incur extra cost of travelling to the police stations as well as
wastage of time and this costs are greatly reduced by having the reporters report crimes at the
comfort of their homes or work place.

18

In the existing reporting system, many people are involved in the process but in the proposed
online crime reporting system, number of persons involved has been reduced drastically. So the
proposed system is economic.
In the existing system, storage of all the crime records should be arranged and security should be
provided for the records. In the proposed system, separate security arrangement is not needed
since the software provides security and maintenance is simply and hardly needs one or two
person to operate the system.

4.3.2 TECHNICAL FEASIBILITY:


The feasibility center on the existing computer system (software, hardware) and to what extend it
can support the proposed addition.
In the proposed online crime reporting system, data can be easily stored and managed in database
management system software.
The results for various queries can be generated easily.
Therefore, the system is technically feasible.

4.3.3 BEHAVIORAL FEASIBILITY:


People are inherently resistant to change and computer has known to facilitate change. An
estimate should be made of how strong a reaction the user staff likely to have towards the
developments of computerized system.
In the existing system more manpower is required and time factor is more but in the proposed
system, manpower and time factors are reduced .So, the remaining numbers are engaged with
some other important works.

4.4 RESEARCH METHODOLOGY


Research methodology aims at providing information on how the research work will be conducted and it
entails research design, sample population, sample size, data collection methods and data analysis.

4.4.1 TARGET POPULATION


The target population was the people living in Kiambu County who were the representation for the whole
country of Kenya. The population in this County was estimated to be about over 1,623,282 people.

4.4.2 SAMPLE POPULATION


Kiambu county which is comprised of 12 constituencies which include Gatundu South, Gatundu North,
Juja, Thika Town, Ruiru Githunguri, Kiambu, Kiambaa, kabete, Kikuyu, Limuru, Lari. The population in
Kiambu county is sparsely populated in some regions and in others especially in towns are densely
populated. Therefore the best technique to be used for sampling was the simple random sampling (which
is a probability sampling) so that each and every unit of population in Kiambu region had an equal and
independent chance of being included in the sample. Simple Random sampling also known as chance
19

sampling is where each and every item in the population has an equal chance of inclusion in the sample
and each one of the samples, in case of finite universe, has the same probability of being selected.
Therefore, using the simple random sampling, a sample of 5 Persons per every constituency were selected
to constitute the sample for the study. All the constituencies in Kiambu county were considered for the
study.

4.4.3 DATA COLLECTION AND TOOLS USED IN OBTAINING DATA


After acquiring a sample, the methods of data collection that were used were the questionnaires and
interviews. The reason for using both of these data collection methods was to cover a wide area of the
proposed sample within a short period of time.
The advantage of using a questionnaire was for those respondents who did not feel comfortable with
answering questions during an interview. Also the reason for using interviews as well was to be able to
collect data quickly and more efficiently as one was able to get immediate feedback and also acquire
more relevant information than what had already been initially set. Another reason being some
respondents could not fill the questionnaire and therefore the data collected from the interview would
prove sufficient.
Some of the data collected using the questionnaires and interviews included:
The number of persons in the County having access to the internet,
The rate of expertise the citizens have in the use of the computer to surf internet,
The number of citizens not satisfied with the current manual reporting system,
The number of persons who would prefer the online crime reporting system,
How one has ever been a victim of a minor crime and failed to report etc

4.4.4 ANALYSIS OF DATA


The data collected was edited, coded and analyzed using Microsoft excel spread sheets. To summarize the
data descriptive statistics concepts such as percentages, proportions and measures of central tendency was
employed.
Ms Excel was preferred because data is presented in a more descriptive form compared to other methods.
The data obtained was presented using bar graphs and pie charts in order to portray a clear picture of the
findings and also enhance understanding of the analysis.

20

THE TABLES, BAR GRAPHS AND PIE CHARTS CONSIDERING THE DATA
COLLECTED:
The following tables, bar graphs and charts shows the representations of results collected through
questionnaires from different respondents in Kiambu County comprising the sample size.
People in the region that own or have access to computer:
The table below shows the number of respondents (88%) who own a computer or can in away get to
access to one for instance at the cyber caf, neighbors place or at any other place. This shows that a very
big percentage have access to computers and knows how to use them.

Table 1: Shows People who have access to computer:

CATEGORY
Own or have access to computer
Do not Own or have access to
computer

NUMBER OF RESPONDENTS
53
7

Fig.1: Showing pie chart for the people who can have access to computer:

21

PERCENTAGE
88%
12%

People in the region who have access to the internet:

In the table and the pie chart below, 73% of the respondents can access the internet from their homes,
educational institutions, and work places as well as from the cyber cafes. This shows clearly that people
are heavily utilizing internet resources and having a site to have them report a crime would be highly
appreciated.
Table 2: Showing the respondents that have access to the Internet:

CATEGORY
Have access to Internet
Dont have access to Internet

NUMBER OF RESPONDENTS
44
16

Fig. 2: Showing the respondents that have access to the Internet:

22

PERCENTAGE
73%
27%

How people rate the services rendered by the police in Kiambu County:

Many of the respondents are not happy with how the police render their services since in the table below
it is evident that 60% rate their services as poor plus 25% who say the service rendering is very poor. This
makes a total of 85% of the respondents who are convinced beyond any reasonable doubt that police
station in Kenya are performing poorly.

Table 3: showing how people rate services rendered by the police:

CATEGORY
Very Poor
FREQUENCY 15
PERCENTAGE 25%

Poor
36
60%

fair
5
8%

Fig. 3: Showing how people rate services rendered by the police:

23

Good
3
5%

Excellent
1
2%

How confident people feel about their personal information being transmitted over the internet:

More than half the respondents are confident about their personal details being transmitted via internet
considering the fact that there is vulnerability to insecurity in the internet. However a considerable
percentage of the respondents have no faith in transmitting their personal details via the internet. This is
shown clearly in the table and pie chart that follows.

Table 4: Showing confidence about personal info being transmitted via Internet

CATEGORY
FREQUENCY
PERCENTAGE

Not confident
8
13%

Somewhat
18
30%

Very
28
47%

Fig. 4: Showing confidence about personal info being transmitted via Internet

24

Very Much
6
10%

People who failed to report crime due to the fear of harassment by the police:

There are some instances when people fail to report a crime out of fear of the interrogation or even out of
fear of harassment by the police on duty. This led to a question about the people who fail to report crime
due to the above issue and 50% responded that they failed to report crime out of fear and hence another
platform for reporting crime would be necessary.

Table 5: Showing the people failing to report crime out of fear:

CATEGORY
FREQUENCY
PERCENTAGE

YES
25
50%

NO
16
32%

Fig. 5: Showing the people failing to report crime out of fear:

25

N/A
9
18%

People who failed to report crime due the distance from the police station factor:

The table and pie chart below shows that 56% of the respondents say that they fail to report a crime due to
the costs incurred in travelling to police stations that are situated far from their homes or work places.
This shows that distance is a factor that influences greatly how crimes are being handled with many
crimes going unreported as a result of this factor.

Table 6: Showing those who failed to report crime due the distance from the police station:

CATEGORY
FREQUENCY
PERCENTAGE

YES
28
56%

NO
12
24%

N/A
10
20%

Fig. 6: Showing those who failed to report crime due the distance from the police station:

26

How likely people would report a minor crime if they were made to self report the crime online
from their home or business:

There is a bigger percentage (85%) of people that would appreciate greatly the presence of an online
crime reporting platform and would actually use it to report a minor crime or any other crime. This is well
illustrated in the table and figure shown below:

Table 7: showing those who would report a minor crime with the online system:

CATEGORY
FREQUENCY
PERCENTAGE

Yes
51
85%

No
4
7%

Fig. 7: showing those who would report a minor crime with the online system:

27

Not sure
5
8%

People who believe online crime reporting sounds like a convenient option for reporting crimes:

Finally, 83% of the respondents who filled the Questionnaires as illustrated in the table and pie chart
below shows that people are confident and believe in the online crime reporting platform. To them online
crime reporting sounds a convenient option for the Kenyans without necessarily having to go physically
to the police station and report crime.

Table 8: Showing Respondents believing in the online crime reporting system:

CATEGORY
FREQUENCY
PERCENTAGE

Yes
50
83%

No
6
10%

Fig. 8: Showing Respondents believing in the online crime reporting system:

28

Undecided
4
7%

CHAPTER 5
SYSTEM DESIGN
5.0 INTRODUCTION
System design focuses on the technical or implementation concerns of the system. It addresses the data,
process, and interface building blocks from the system designers perspective.

5.1 PURPOSE OF SYSTEM DESIGN


The design stage focuses on translating the user requirements gathered during system analysis into a
computer system design. It will detail exactly how the user requirements will be satisfied when the system
is fully developed according to the design and then implemented to the organization. It is a logical
preview of the system; it uses diagrams to show how data is going to flow in the system once it is in
place. It shows the layout of the proposed system.
5.2 SOFTWARE DEVELOPMENT MODEL
The software development model to be used in this research project is the waterfall model.
Fig 9: Brief Description of the Phases of Waterfall Model

Requirements

Design

Implementation

Verification

Maintenance

Definition Study / Analysis: During this phase research is being conducted which includes
brainstorming about the online crime reporting software, what it is going to be and what purpose is it
going to fulfill and requirements for the development of the software(Matthias 2012).
Basic Design: If the first phase gets successfully completed and a well thought out plan for the software
development has been laid then the next step will involve formulating the basic design of the software on
paper (Matthias 2012).

29

Technical Design / Detail Design: After the basic design gets approved, then a more elaborated
technical design can be planned. Here the functions of each of the part are decided and the engineering
units are placed for example modules, programs etc (Matthias 2012).
Construction / Implementation: In this phase the source code of the programs is written.
Testing: At this phase, the whole design and its construction is put under a test to check its functionality.
If there are any errors then they will surface at this point of the process (Matthias 2012).
Integration: in the phase of Integration, the police department puts it in use after the system has been
successfully tested.
Management and Maintenance: Maintenance and management is needed to ensure that the system will
continue to perform as desired (Matthias 2012).
Through the above mentioned steps it is clearly shown that the Waterfall model was meant to function in
a systematic way that takes the production of the software from the basic step going downwards towards
detailing just like a Waterfall which begins at the top of the cliff and goes downwards but not backwards
(Pressman 2001).
Advantages
i) The project requires completion of one phase, before proceeding to the next. Therefore if there is a fault
in the software it will be detected during one of the initial phases and corrected before more progress is
done.
ii) A lot of emphasis is laid on paperwork in this method as compared to newer methods. This gives
chance to newer incorporated workers to find it easy coping with the project. The Waterfall Model is
pretty straight forward method and lets one know easily what stage is in progress.
iii) The Waterfall Model is well known amongst software developers and thus easy to use. It eradicates
time wastage during the software development process.
iv) The amount of resources required to implement this model is minimal.
Disadvantages
i) Many software projects are dependent upon external factors; out of which the users and stakeholders
being the biggest factor. It happens a lot of times, that the client changes the requirement of the project,
thereby influencing an alteration in the normal plan of construction and hence the functionality as well.
ii) The other negative aspect of this model is that a huge amount of time is also wasted
iii) Another disadvantage of this method is that the testing period comes quite late in the developmental
process; whereas in various other developmental programs the designs would be tested a lot sooner to find
the flaw at a time when a lot of time and money has not been wasted .

30

5.3 SOFTWARE DESIGN MODEL


The software design model used in this project is the use case models. A Use Case model is a graphical
representation of the high-level system scope. It includes use cases, which are pieces of functionality the
system will provide, and actors, who are the users of the system. Looking at a Use Case diagram, you
should easily be able to tell what the system will do and who will interact with it.
There are three key things we need to know to describe a use case:
1. The actor or actors involved. An actor is a type of user (for example, citizen) that interacts with the
system.
2. The system being used.
3. The functional goal that the actor achieves using the system, the reason for using the system.
The Model below shows the use case diagram for the online crime reporting system:
The Use Case Diagram:

Fig.10 showing the use case diagram for the online crime system
Use Case Diagram Description:
31

In the above use case diagram, there are two actors (i.e. the users of the system) and they include the
citizen and the administrator. The citizen is the primary actor while the system administrator is the
supporting actor. Both the actors have to first login to the system in order to make any changes or rather
make use of the system.
For the citizen, when he or she login to the system, they can perform the following functionalities: report
crime, make complaint, reporting missing persons, report stolen/missing property, view lost and found
persons and property, view latest news, enter chat room as well as sending email.
For the Administrator, when logged in to the system he/she will be able to respond to crimes reported,
respond to complaints, post lost and found persons and property, post stolen property, post latest news,
add new administrators as well as replying to email sent by the citizens. He is required to provide full
administration to the system.
All these functionalities of both actors (the citizen and the administrator) have been captured in the use
case model shown above and this makes it easier to tell what the system will do and who will interact
with the system.

5.4 ENTITY RELATIONSHIP MODEL-ERM


An entity relationship diagram is a graphical representation of an organizations data storage
requirements. Entity relationship diagrams are abstractions of the real world which simplify the problem
to be solved while retaining its essential features. Entity relationship diagrams have three different
components:
ENTITIES-These are the people, places, things, events and concepts of interest to an
organization. In short, anything which an organization needs to store data about.
ATTRIBUTES-sometimes called data elements, they are the smallest units of data that can be
described in a meaningful manner.
RELATIONSHIPS- a verb or verb phrase that describes how the entities are related to each other.
The diagram below shows the Entity Relationship Model for the online crime reporting system
comprising of Entities such as the Administrator, Citizen, Crime, Missing Person, Stolen Item, Complain
etc and their attributes including Administrator ID, Name, Description etc as well as how the Entities are
related to each other.

32

Entity Relationship Diagram for the online crime reporting system

Fig. 11 Showing Entity Relationship Model

33

5.5 DATABASE SCHEMA


A database schema is described in a formal language supported by the database management system
(DBMS). In a relational database, the schema defines the tables, the fields in each table, and the
relationships between fields and tables.
Schemas are generally stored in a data dictionary. Although a schema is defined in text database
language, the term is often used to refer to a graphical depiction of the database structure
The figure below shows the database schema for the online crime reporting system:

Fig. 12 showing database schema

34

4.6 INPUT AND OUTPUT DESIGN


Home Page for users:

Consists of Login form for the username, link for citizen registration, Menus for about us, contacts,
services, provide security insight link among other things.

35

Home Page for Users after login:

Have links to enable the citizen to Report crime, missing person or property, found person or
property, make complaints, view most wanted person, view reported missing person/property, view
reported found person/property etc.

Login in form for Administrators i.e. Police in charge and head of station:

36

Citizen Registration Form:

Crime Reporting Form:

37

Administrators (Police in charge) Home Page :

This Page have links to enable the administrator to view and Remove reported Crimes, complaints,
missing persons and property, found persons and property.
It also has links to enable the administrator to post news update, station contacts and most wanted
persons. The page also provides links for the generation of different reports.

38

Missing Persons Report Page :

The page shown above shows a report that has been generated by the system for all the reported missing
Persons.

39

CHAPTER 6:
IMPLEMENTATION AND TESTING
6.1 DESCRIPTION OF MAIN FUNCTIONALITY:
The online crime reporting system has several functionalities to the unregistered users, registered users as
well as to the administrators.

6.1.1 FUNCTIONALITY OF THE SYSTEM TO THE UNREGISTERED USERS


The Main functionalities provided by the system to the unregistered users include:
Provide Security Insight functionality: The system provides this functionality that enables the
user to send details of any insights about the security situations in their surroundings.
View Station Contacts functionality: The system allows the user to view the contacts of all the
stations in Kiambu county.
Viewing News update: The system shows the current news to the users

6.1.2 FUNCTIONALITY OF THE SYSTEM TO THE REGISTERED USERS


The Main functionalities provided by the system to the registered users include:
Reporting of crimes functionality: user can send crime details via the system
Reporting of missing and found persons functionalities: user can send missing or found person
details via the system
Reporting of missing and found properties functionality: user can send missing or found property
details via the system
Reporting any complaints functionality: user can send complaint details via the system
View missing person/property, found person/property, most wanted, station contacts, News
updates functionalities
Search functionalities: While viewing the different reported items such as missing/found persons
and properties etc, the system provides a search functionality whereby you can search the item by
name, date, constituency or ward.
Login and log out functionalities

6.1.3 FUNCTIONALITY OF THE SYSTEM TO THE ADMINISTRATORS


The Main functionalities provided by the system to the administrators (i.e. police in charge and the head
of station) include:
View reported missing person/property, found person/property, crimes, and complaints etc
functionalities.
Functionalities of Adding most wanted, station contacts, News updates to the system
Updating of the system functionalities: Allows the admin to remove any posts in the website
Search functionalities: While viewing the different reported items such as missing/found persons
and properties etc, the system provides a search functionality whereby you can search the item by
name, date, constituency or ward.
Login and log out functionalities
40

Report generation functionalities: The system also enables the admin to generate reports for
different items reported such as crimes report, missing persons reported etc

6.2 INTERESTING SCRIPTS AND SOURCE CODE:


6.2.1 PHP SOURCE CODE FOR USER LOGIN
This php code enables user to login into the system by providing the correct Identification number and
password.
<?php
if(isset($_POST['id']) && isset($_POST['password'])){
require("../admin/php/connection.php");//requires a database connection file
session_start();//starts a session
connect();//connects to the database
$id = mysql_real_escape_string(addslashes($_POST['id']));
$password =md5(
mysql_real_escape_string(addslashes($_POST['password'])));
$sql="SELECT * FROM citizen_info WHERE Id_number='".$id."' AND
ctznPass='".$password."' ";
$query=mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($query)==1){
//user exists
$data=mysql_fetch_array($query);
$loggedinUserId=$data['Id_number'];
$loggedinFirstname=$data['firstName'];
$_SESSION['userid']=$loggedinUserId;
$_SESSION['fname']=$loggedinFirstname;
echo "1";//login ,successful
}
else{
echo "2";//wrong login details;
}
}
else{
echo "Illegal file access";
}
?>

41

6.2.2 JAVASCRIPT CODE FOR USER LOGIN


The following javascript ensures validation of the inputs by the user before login to ensure the correct
password and ID number are provided.
$(document).ready(function(e) {
$("#btnLogin").click(function(e) {
var id=$("#txtuserid").val();
var password=$("#txtpassword").val();
var feedbackdiv="#loginfeedback";
var number=10;
var url='index_after_login.html';
// validation starts here checks whether id and password fields are empty
if(id=="" || password==""){
$(feedbackdiv).show().removeClass().addClass('loginerror').html("Please fill in
all details.");
$("#txtuserid").focus();//places curser at the textbox named user id
}
else{
//ajax for login
$.post("php/login.php",
{
id:id,
password:password
},
function(data){
if(data==1){
//login and redirect
window.location(index_after_login.php);
}
else if(data==2){
$(feedbackdiv).show().removeClass().addClass('loginerror').html("ID Number or Password is
wrong. Please Try Again");
$("#txtuserid").focus();
$("#txtuserid").select();
}
else{
alert(data);
}
});
}
});
});
42

6.2.3 PHP SOURCE CODE FOR REPORTING A CRIME


The following is the php code for reporting a crime:
<?php
if(isset($_POST['type'])
&& isset($_POST['description'])
&& isset($_POST['ward'])
&& isset($_POST['constituency'])
&& isset($_POST['suspects'])
&& isset($_POST['dayte'])
&& isset($_POST['tyme'])
&& isset($_POST['victims'])){
require("../admin/php/connection.php");
session_start();//start session
connect();//connect to the database
$type = mysql_real_escape_string(addslashes($_POST['type']));
$description = mysql_real_escape_string(addslashes($_POST['description']));
$ward = mysql_real_escape_string(addslashes($_POST['ward']));
$constituency = mysql_real_escape_string(addslashes($_POST['constituency']));
$suspect = mysql_real_escape_string(addslashes($_POST['suspects']));
$dayte = mysql_real_escape_string(addslashes($_POST['dayte']));
$tyme = mysql_real_escape_string(addslashes($_POST['tyme']));
$victims = mysql_real_escape_string(addslashes($_POST['victims']));
$reported = $_SESSION['fname'];
$reportee_ID = $_SESSION['userid'];
$h=date("h");
$date = date("D jS M Y \a\\t h:i A", mktime( date($h)+2));
$sql=("INSERT INTO crime
(crime_type,crime_description,ward,constituency,crime_suspects,crime_date,crime_time,v
ictims,date_posted,State,reported_By,reportee_Id)
VALUES
('$type','$description','$ward','$constituency','$suspect','$dayte','$tyme','$victims','$date','1',
'$reported','$reportee_ID')");//inserting crime details to the databse
$query=mysql_query($sql) or die(mysql_error());
if(!$query)
{
//something went wrong, display the error
echo '2';
}
else
{
echo '1';
}
}
?>
43

6.2.4 JAVASCRIPT CODE FOR REPORTING A CRIME


The following javascript code is used to validate inputs and submit the details via ajax:
// JavaScript Document
$(document).ready(function(e) {
$("#btnsubmit").click(function(e) {
var type=$("#txttype").val();
var description=$("#txtdescription").val();
var ward=$("#txtward").val();
var constituency=$("#txtconstituency").val();
var suspects=$("#txtsuspects").val();
var dayte=$("#txtdate").val();
var tyme=$("#txttime").val();
var victims=$("#txtvictims").val();
var feedbackdiv="#submitFeedback";
var errors=false;
$('.errors').remove();
$('.errors2').remove();
//General validation of the fields to see if they are empty
if(type=="" || description=="" || ward=="" || constituency=="" || suspects=="" || dayte==""
|| tyme=="" || victims==""){
$(feedbackdiv).show().removeClass().addClass('submiterror').html("Please fill in
all details.");
$("#txttype").focus();
}
//validating type field
if ($("#txttype").val()=="0"){
$("#txttype").after('<span class="errors">Crime Type Missing </span>');
errors=true;
}
else if($("#txttype").val().length<=2 ){
$("#txttype").after('<span class="errors2"> Invalid data!</span>');
errors=true;
}
//validating Description field
if ($("#txtdescription").val()==""){
$("#txtdescription").after('<span class="errors"> Description Missing </span>');
errors=true;
}
else if($("#txtdescription").val().length<=5 ){
$("#txtdescription").after('<span class="errors2"> Not Enough Description!</span>');
errors=true;
}
//validating ward
if ($("#txtward").val()=="0"){
$("#txtward").after('<span class="errors"> Ward Missing</span>');
44

errors=true;
}

//validating County
if ($("#txtconstituency").val()=="0"){
$("#txtconstituency").after('<span class="errors"> Constituency Missing</span>');
errors=true;
}
//validating suspects
if($("#txtsuspects").val()==""){
$("#txtsuspects").after('<span class="errors"> Suspect Missing!</span>');
errors=true;
}
//validating date
if ($("#txtdate").val()==""){
$("#txtdate").after('<span class="errors"> Date Missing </span>');
errors=true;
}

//validating time
if ($("#txttime").val()==""){
$("#txttime").after('<span class="errors"> Time Missing </span>');
errors=true;
}
//validating victims
if ($("#txtvictims").val()==""){
$("#txtvictims").after('<span class="errors"> Victims Missing </span>');
errors=true;
}
{
if(errors==true)
{
return false;
}
else{
//ajax to post the details
$.post("php/report_crime.php",
{
type:type,
description:description,
ward:ward,
constituency:constituency,
suspects:suspects,
dayte:dayte,
45

tyme:tyme,
victims:victims
},
function(data){
if(data==1){
//submit and redirect
$(feedbackdiv).show().removeClass().addClass('submitsuccess').html("The Crime Details have
Successfully been Entered into our system.");
$("#restform").click();
}
else if(data==2){
$(feedbackdiv).show().removeClass().addClass('loginerror').html("Crime detail submission not
successful");
$("#txttype").focus();
$("#txttype").select();
}
else{
alert(data);
}
});
}
}
});
});

6.2.5 PHP SOURCE CODE TO VIEW MISSING PERSONS:


The PHP code shown below displays all the reported missing persons. It has pagination code to ensure
that the one can navigate through the pages instead of having a single page displaying everything.
<?php
if($_POST['page'])
{
$page = $_POST['page'];
$cur_page = $page;
$page -= 1;
$per_page = 2;//no of items to be displayed in a page
$previous_btn = true;
$next_btn = true;
$first_btn = true;
$last_btn = true;
$start = $page * $per_page;
require("../../admin/php/connection.php");
connect();//connect to the database

46

$query_pag_data = "SELECT * FROM missing_person where State='1' order by id LIMIT $start,


$per_page";//selecting missing person details from the database
$result_pag_data = mysql_query($query_pag_data) or die('MySql Error' . mysql_error());
$msg = "";
$c=0;
while ($row = mysql_fetch_array($result_pag_data)) {
$c++;
echo'<div id="display'.$row['id'].'"><div id="bothPicDetaildiv">';
echo'<div id="picdiv">';
//retrieve missing person picture
echo '<img src="../../missing_person_uploads/'.$row['missing_person_pic'].'" width="220"
height="240"/>'."<br/>";
echo'</div>';
".$row['missing_person_pic']."<br/>";

echo'<div id="otherDetails">';
echo'</br>';
echo'</br>';
echo"<table border='0' cellspacing='4' width='400'>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Name</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['firstName']." ".$row['lastName']."</b>"."</td>";
echo"</tr>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Gender</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['gender']."</b>"."</td>";
echo"</tr>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Date of Birth</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['DOB']."</b>"."</td>";
echo"</tr>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Height</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['height']."</b>"."</td>";
echo"</tr>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Skin Color</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['skin_color']."</b>"."</td>";
echo"</tr>";
47

echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Mental Status</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['mental_status']."</b>"."</td>";
echo"</tr>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Cloths Worn Description</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['cloths_worn_descr']."</b>"."</td>";
echo"</tr>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Ward of Residence</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['ward']."</b>"."</td>";
echo"</tr>";
echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Date of Missing</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['date_of_missing']."</b>"."</td>";
echo"</tr>";

echo"<tr>";
echo"<td>"."<b style='color:#0000CC'>Place Seen Last</b>"."</td>";
echo"<td>"."<b style='color:#FF0000'>:</b>"."</td>";
echo"<td>"."<b>".$row['place_seen_last']."</b>"."</td>";
echo"</tr>";

echo"</table>";
echo'</div>';
echo'<div class="clearBoth">';
echo'</div>';
echo'</div>';
echo'<div onclick="Javascript:remove(this);" id="'.$row['id'].'" state="'.$row['State'].' "
align="right" style="color:#FF0000"> REMOVE </div>';
echo '<b><div id="missingperson_head1">Reported on '.$row['date_posted'].'
by'.$row['reported_By'].' Whose Id Number is '.$row['reportee_Id'].'</b></div><br/>';
echo'</div>';
}

/* --------------------------------------------- */
48

$query_pag_num = "SELECT COUNT(*) AS count FROM missing_person where State='1'";


$result_pag_num = mysql_query($query_pag_num);
$row = mysql_fetch_array($result_pag_num);
$count = $row['count'];
$no_of_paginations = ceil($count / $per_page);
/* ---------------Calculating the starting and endign values for the loop----------------------------------- */
if ($cur_page >= 7) {
$start_loop = $cur_page - 3;
if ($no_of_paginations > $cur_page + 3)
$end_loop = $cur_page + 3;
else if ($cur_page <= $no_of_paginations && $cur_page > $no_of_paginations - 6) {
$start_loop = $no_of_paginations - 6;
$end_loop = $no_of_paginations;
} else {
$end_loop = $no_of_paginations;
}
} else {
$start_loop = 1;
if ($no_of_paginations > 7)
$end_loop = 7;
else
$end_loop = $no_of_paginations;
}
/* ----------------------------------------------------------------------------------------------------------- */
$msg .= "<div class='pagination'><ul>";
// FOR ENABLING THE FIRST BUTTON
if ($first_btn && $cur_page > 1) {
$msg .= "<li p='1' class='active'>First</li>";
} else if ($first_btn) {
$msg .= "<li p='1' class='inactive'>First</li>";
}
// FOR ENABLING THE PREVIOUS BUTTON
if ($previous_btn && $cur_page > 1) {
$pre = $cur_page - 1;
$msg .= "<li p='$pre' class='active'>Previous</li>";
} else if ($previous_btn) {
$msg .= "<li class='inactive'>Previous</li>";
}
for ($i = $start_loop; $i <= $end_loop; $i++) {
if ($cur_page == $i)
$msg .= "<li p='$i' style='color:#fff;background-color:#006699;' class='active'>{$i}</li>";
else
$msg .= "<li p='$i' class='active'>{$i}</li>";
}
// TO ENABLE THE NEXT BUTTON
if ($next_btn && $cur_page < $no_of_paginations) {
49

$nex = $cur_page + 1;
$msg .= "<li p='$nex' class='active'>Next</li>";
} else if ($next_btn) {
$msg .= "<li class='inactive'>Next</li>";
}
// TO ENABLE THE END BUTTON
if ($last_btn && $cur_page < $no_of_paginations) {
$msg .= "<li p='$no_of_paginations' class='active'>Last</li>";
} else if ($last_btn) {
$msg .= "<li p='$no_of_paginations' class='inactive'>Last</li>";
}
$goto = "<input type='text' class='goto' size='1' style='margin-top:-1px;margin-left:60px;'/><input
type='button' id='go_btn' class='go_button' value='Go'/>";
$total_string = "<span class='total' a='$no_of_paginations'>Page <b>" . $cur_page . "</b> of
<b>$no_of_paginations</b></span>";
$msg = $msg . "</ul>" . $goto . $total_string . "</div>"; // Content for pagination
echo $msg;
}
?>

6.2.6 PHP SOURCE CODE FOR CRIME REPORT GENERATION


The following PHP code is used to generate a report in form of a pdf. It uses the FPDF class in the fpdf
library.
<?php
date_default_timezone_set('UTC');
require('fpdf/fpdf.php');
require("admin/php/connection.php");
connect();//connects to the database
class PDF_result extends FPDF
{
function __construct ($orientation = 'P', $unit = 'pt', $format = 'Letter', $margin = 40)
{
$this->FPDF($orientation, $unit, $format);
$this->SetTopMargin($margin);
$this->SetLeftMargin($margin);
$this->SetRightMargin($margin);
$this->SetAutoPageBreak(true, $margin);
}
//Report Header function
function Header ()
{
if($this->PageNo()==1){
$this->Image('fpdf/img02.gif',250,15,80, 80);//show the logo in the report header
50

$this->SetFont('Arial','B',12);
$this->SetY(100);
//$this->Cell(527,10,'Title',1,0,'C');
$this->Cell(527, 13, "KENYA POLICE DEPARTMENT", 0, 2, 'C');
$this->Cell(527, 13, "PO BOX 30083, NAIROBI, KENYA. TELEPHONE:
(020) 341411/6/8", 0, 2, 'C');
$this->SetFont('Times','BIU');
$this->Cell(527, 13, "CRIMES REPORT", 0, 2, 'C');
$this->Cell(527, 1, "", 'T', 2, 'C');
$this->SetX(470);
$this->SetFont('Times','BI',10);
$this->Cell(100, 13, date('F j, Y'), 0, 1);
$this->Ln(5);
$this->SetFont('Arial', 'UI', 9);
$this->Cell(527, 13, 'The following Are the Crimes Reported:',0, 2,'C');
$this->Ln(5);
}
}
//Report Footer function
function Footer()
{
$this->SetY(-17);
$this->SetFont('Arial','I',8);
$this->Cell(250,0,'Online Crime Reporting System ',0,0,'L');
$this->Cell(0,0,$this->PageNo(),0,0,'L');
$this->Cell(0,5,'Designed by joseph muigai',0,0,'R');
}
}
$pdf = new PDF_result();
$pdf->AddPage();
$pdf->SetFont('Times', 'B', 8);
$pdf->SetTextColor(100,0,240);
$pdf->Ln();
$pdf->Cell(20,20,'',1);
$pdf->Cell(70,20,'Crime type',1);
$pdf->Cell(150,20,'Description:',1);
$pdf->Cell(70,20,'Scene Ward',1);
$pdf->Cell(70,20,'Scene Constituency',1);
$pdf->Cell(70,20,'Crime date',1);
$pdf->Cell(70,20,'Victims',1);
$pdf->Ln(20);
$sql = "SELECT * from crime where State='1'";//selects all the crimes where state is 1
$result = mysql_query($sql) or die(mysql_error());
51

$pdf->SetFont('Times','B',8);
$pdf->SetTextColor(0,0,50);
while($row = mysql_fetch_array($result)){
$pdf->Cell(20,20,$row['id'].'.'.'',1);
$pdf->Cell(70,20,$row['crime_type'],1);
$pdf->Cell(150,20,$row['crime_description'],1);
$pdf->Cell(70,20,$row['ward'],1);
$pdf->Cell(70,20,$row['constituency'],1);
$pdf->Cell(70,20,$row['crime_date'],1);
$pdf->Cell(70,20,$row['victims'],1);
$pdf->Ln(20);
}
$pdf->Output();
close();
?>

6.2.7 SAMPLE CSS USED IN THE SYSTEM


#submitFeedback{
background-color:#D4D9DD;
font-family:Georgia, "Times New Roman", Times, serif;
font-size:14px;
font-weight:bold;
}
.submiterror{
font-family:Georgia, "Times New Roman", Times, serif;
font-size:14px;
color:#FF0000;
}
.submitsuccess{
font-family:Georgia, "Times New Roman", Times, serif;
font-size:14px;
color:#006600;
}
#complaint_head{
background-color: #FF9933;
height: 30px;
width: 700px;
}
.errors{
font:Georgia, "Times New Roman", Times, serif;
font-size:14;
color:#FF0000;
}
.errors2{
font:Georgia, "Times New Roman", Times, serif;
font-size:14;
color:#009900;
}

52

6.3 SYSTEM TESTING STRATEGIES:


6.3.1 BLACK BOX TESTING
In black box testing the functionality of the software under test is tested without looking at the internal
code structure, implementation details and knowledge of internal paths of the software. Its based on
software requirements and specifications focusing on inputs and outputs of the software system
(Pressman 2001).

6.3.2 WHITE BOX TESTING


The internal structures or workings of the application are subjected to some tests using test cases (Laurie
2006). The tester has full visibility of the internal workings of the software product, specifically, the logic
and the structure of the code (Pressman 2001).

6.3.4 ANTICIPATED RESULTS FROM BOTH TESTS


BLACK BOX TESTING
Black box testing will enable identification of the following in terms of development and security.
1. Uncover security issues resulting from incorrect product builds e.g. for example a user being granted
access even after entering wrong identification number or password.
2. Identify implementation errors such as incorrect or missing functionalities for example the access
specifications for an administrator or another user.
3. Detect security issues that arise as a result of interaction with underlying environment for example
exposure of data due to controls specified in the operating systems firewall.
4. Identify interface errors, errors in data structures used by interfaces, and initialization and termination
errors such as incorrect or unordered position of controls to represent the logical flow of events in
online crime reporting process.

WHITE BOX TESTING


Some of the errors to be uncovered during white box testing are (TestPlant Ltd 2011):1. Data inputs compromising security for example a citizen trying to register with an invalid email
address.
2. Incorrect implementations of security functionality. Only the head of station should be able to delete
complaints and not the police officer in charge or any other user. Also only the head of station can
add police in charge to the system but police officer himself is not allowed to register him/herself
(only head of station can do police registration).

53

6.3.4 TESTING CHART


Table 9: Unit Testing
Type Of Test Area Being Tested
Password

ID number

Expected Outcome
The
field
should
accept figures and
numeric with correct
password.
It accepts numeric
values only

Numeric fields

Input numeric values


only

Numeric fields

Input numeric values


only
Should not be left
blank

Required fields

Alphabetic fields

Accept alphabetic
characters only

Date/Time

Accept date in the


correct format
Accept only numeric
characters with the
right format

Currency Fields

Actual Outcome
If the password is correct it
loads the main page. If not, a
message appears to input
correct password.
If the user ID number is
correct it loads the main page.
If not, a message appears to
input correct user name.
If the username is correct it
loads the main page. If not, a
message appears to input a
correct username
The fields only allows
numeric values
If no value, a message
appears requesting user to
input value
The fields only allow
alphabetical characters. If not
a message appears requesting
user to input characters.
Accepts date in the format
shown.
Does not allow alphabetical
characters

Table 10: Integration Testing:


Type of Test

Area Being Tested

Expected Outcome

Actual Outcome

Integration
Testing

User Login

Login verifies the


entries and loads the
registered user
homepage.

When correct
password and
ID number is
entered it actually takes
one to the users
homepage .

Admin login

Login verifies the


entries and takes the
administrator to the
administrator page .

When correct
ID number and
Job Number are
entered it redirects to
the administrator page.

54

Table 11: System Testing


Type of Test
System Testing

Area Being Tested


The entire system

Output screen
Loading the system

Interface

Expected outputs
The system should connect to the
database correctly and perform the
required functionality according to
its specification.
Should display expected
information
All pages should be able to load
and perform their designed tasks.

Ease of use by the user.

Actual outcome
System meets all
objectives except
sending notifications
to citizen.
Reports are being
displayed as required.
All the pages are
working as required
except for some minor
errors.
The interface is user
friendly and easy to
use.

Table 12: Acceptance testing:


Type Of Test
Acceptance Testing

Area Being Tested


Training

Expected Outputs
Users especially police
officers are trained on
how to use the new
system.

Actual Outcome
The users were able
to understand how
to operate the
system.

6.3.5 OTHER TESTS


Beta Testing
The system is being released to the police officers and other users with the understanding that the
program is
still being tested. The police officers and other users will test the application and report any discovered
bugs or problems to the developer.
Usability Testing
This is making sure that the system is user friendly. This involves checking whether the
users can use the system with ease and whether they find the system attractive and
appealing to use.

55

CHAPTER 7:
DISCUSSIONS AND CONCLUSIONS
7.1 SUMMARY OF WORK DONE
This project involved development of the online crime reporting and management system meant to reduce
to a greater extent the problems people are experiencing while reporting crimes. This will ensure that the
service delivery by the police stations in Kiambu county is improved. It will not only be an advantage to
the citizens alone but also to the police as this facility makes their work easier in their investigation
process in the sense that they get adequate information regarding to crimes that are happening since the
reporters are no longer afraid to report crimes.
This project consists of three modules including the visitors module, registered users module and the
administrators module. All the three modules have been completed. The project has spanned
approximately 29 weeks for it to be successfully completed with the system working as required as well
as having the project documentation in place. The software development model used is the waterfall
model which requires that there is completion of one phase before proceeding to the next.
Some of the specific things accomplished in the project include:
System Analyses: Data collected and analyzed using MS excel. This is described in chapter 4 in
detail.
Design: The use-case diagram, The Entity Relationship Diagram and the Database Schema. This
is described in chapter 5 in detail.
Implementation: In the implementation stage, all the functionalities of the online crime reporting
system stated in the objective have already been implemented. The things implemented include:
1) Development of the user Interface
2) The police and citizen registration
3) The login in and login out of the citizen, head of station and the police in charge
4) The reporting of crimes, complaints, missing persons and property, found persons and property
as well as providing security insights.
5) Police in charge and the head of station viewing and updating the reported crimes, missing
persons and property, found persons and property.
6) Police in charge and the head of station adding most wanted persons, station contacts, and
news update
7) Head of station adding police officer into the system (police registration)
8) Different Report generation by the system for the administrators etc.
56

7.2 PROBLEMS ENCOUNTERED:


Despite having completed the project successfully, there have been many challenges and problems that
have been encountered and they include:
Data collection difficulties- some people were not willing to be interviewed/fill in questionnaires
during the stages of this project when data collection was being done. To deal with this problem I
had to do a lot of data collection within the institution to ensure that I had enough data for
analyses.
Limited time: short time for the project development as well as documentation. This

made developer work around the clock and sometimes being forced to work extra hours.
Also having been forced to reduce the scope of the project due to limited time.
System being corrupted by virus: The system in the course of development was corrupted by a
virus thus having to repeat everything since the developer had not backed it up. Due to this the
developer looked for a way of backing up project work and secured a web space for backup(i.e.
from www.dropbox.com), and also ensured backing up project work regularly thus making
backup to be up to date for consistencies.
Having to learn how to use New applications in a short period of time e.g. Edraw application for
coming up with designs as well as finding it hard to implement some functionalities at times
taking a lot of time to implement them. Fortunately, the developer Sought help from friends.

7.3 RECOMMENDATIONS:
Students should be enlightened on the possible/likely risks at the early stages of their project so
that they can plan early on how to deal with them.
Reducing the scope due limited time meant not implementing all the functionalities necessary.
Therefore the developer recommends more research on this area and implementation of the
remaining phases: This is an ambitious program that needs to be actualized. This field is open for
more research.
Other Recommendations include:

User Training: The system is user-friendly (easy to learn and use). However, training is highly
recommended so as to enable users perfect their skills and knowledge on the operation, use and
application of this system.
System Support and maintenance: Since it is humans who design systems, and humans is to
error, then it automatically follows that these systems cannot be bug free, and will cause problems
eventually. As a measure to minimize on such occurrences, it has been recommended that there is
the need to train some of the employees to handle system support, trouble shoot hardware and
software problems when the specialists are out of reach. This will curb against unnecessary
delays occasioned by technical problems.
57

7.4 CONCLUSION
In conclusion, this project has been a success having implemented all the necessary features of the system
considering the stated objectives. With the actual implementation of this system, there will be improved
services offered to Kiambu residents by the police as well as improving the general operations of the
Police Stations.
Therefore, the main objective of this project which is improving the services rendered to Kiambu
residents as well as providing a faster and convenient means of reporting crimes, reporting and viewing
missing/found persons, reporting and viewing missing/found property, complaints etc. This poses task to
the police department and the stakeholders to ensure that the system is reliable and available for the
customers all the time.
The developers/programmers will perform the main maintenance work e.g. perfective maintenance to add
features and functionality, corrective maintenance to correct defective work etc. This will keep the online
system running efficiently at all times with corrections being made in case of any failures.
Finally, the whole process of web development has given me numerous knowledge in the area of web
development as well as working with Mysql database. The most important learnt was developing of a
website from scratch without the use of any content management system. Another lesson learnt is about
efficient use of time as a resource is necessary, the development and delivery of any project is time
bound. Also learnt the use of new tools such as adobe CS5-dreamweaver & photoshop, Edraw, etc; Use
of Jquery Libraries ; Ensuring Backing up of the system regularly is very important; and Successful
project development needs one to work closely with others

58

REFERENCES
1) Altamonte Springs Police Department (n.d.). Mission statement Retrieved on August 29, 2007,
from http://www.altamonte.org/aspd/.
2) Bohan, S. (2006, May 24). Crime reporting made easier. Oakland Tribune. Retrieved October 5,
2012, from LookSmart Find Articles Web site:
http://findarticles.com/p/articles/mi_qn4176/is_20060524/ai_n16413782.
3) Cartwright, A. (2008, November 1). Beyond the paper chase. Law Enforcement Technology,
35(11), 58, 60-62
4) Cisneros, T. (2009, April 01). Santa Ana launches online crime-reporting tool. Retrieved from
http://www.ocregister.com/news/reports-168503-police-online.html
5) Cop Logic. (2009). Welcome to cop logic. Retrieved October 5, 2012, Web site:
http://www.coplogic.com/home.shtml
6) Garrett, Iriberri, & Leroy. (2006, January). Reporting on-campus crime online: User intention to
use. System Sciences, 2006. HICSS '06. Proceedings of the 39th Annual Hawaii International
Conference Volume 4, 04-07 Jan. 2006 Page(s):82a - 82a
7) Gitmed, W. (2007, August). Citizens reporting crimes online: the San Francisco experience. The
Police Chief, 74(8)
8) Geiger, B. (2004, March 4). Minneapolis police begin campaign to promote online crime
reporting system. Finance and Commerce Daily Newspaper, MN.
9) Johnson, C. (2006, February 7). Davis police offer online option for reporting some crimes.
Retrieved August 28, 2007, from News10abc Web site:
http://www.news10.net/printfullstory.aspx?storyid=15796.
10) Matthias, H. Models of software development, Retrieved on 5-0CT-2012, from
http://www.ccs.neu.edu/home/Matthias/670-s05/lectures/2.html
11) Pressman, R 2001, Software Engineering, 5th edition, McGraw-Hill, New York
12) Ross D.T., J.B. Goodenough and C.A. Irvine, Software engineering: Process, principles, and
goals. COMPUTER 8(5) (May 1975): 1727
13) Schroeder, C. (2004, July 25). Got a crime to report? Try online. Retrieved August 28, 2007,
from The Enquirer Web site: http://www.enquirer.com/editions/2004/07/25/loc_kyreport25.html
14) Smith, E. (2005, July). Online crime reporting: Should law enforcement turn to the
internet for savings? Public Management, 26-27.

59

APPENDIXES
APPENDIX 1: QUESTIONNAIRE
QUESTIONNAIRE
INTRODUCTION
The questionnaire seeks information about the services offered by the police stations or rather
police department in Kiambu County. The information obtained will enable assessment of how
effective or efficient is the police stations in Kiambu County towards service delivery as well as
the satisfaction the citizens get from their services. The information obtained will be treated with
utmost confidentiality and is purely for academic purposes.
Instructions:

Kindly tick once for each question where appropriate

Please return this questionnaire upon completion

Kindly Answer ALL questions


1. What constituency and county do you come from?
Constituency

Ward..

2. Do you own a computer?


Yes

No

3. If you answered No to question 2, is there a means of having access to a computer in your


surrounding such as cyber caf, neighbors place etc?
Yes

No

4. Do you have access to the Internet?


Yes

No

5. How would you rate your expertise level in using a computer to access and surf the
internet?
60

Poor

Fair

Good

Excellent

Expert

6. Have you ever reported any crime to the police station in Kiambu County?
Yes

No

7. If you answered Yes to question 6, how would you rate the services rendered to you by
the police in Kiambu County?
Very Poor

Poor

Fair

Good

Excellent

8. If you answered No to question 6, how do other people around you say about the services
being offered by Kiambu County police stations?
Very Poor

Poor

Fair

Good

Excellent

9. How confident do you feel your personal information would be protected if transmitted
over the internet to the police department for crime reporting purposes?
Not

Somewhat

very

very much

10. Have you ever been a victim of a minor crime and decided not to report the crime?
Yes

No

11. If you answered yes to question 10, was the fear of harassment by the police a factor in
not reporting the crime?
Yes

No

N/A

12. If you answered yes to question 10, was the distance to the police station a factor in not
reporting the crime?
Yes

No

N/A

13. Would it make you more likely to report a minor crime if you could self-report it online
from your home or business?
Yes

No

Not sure

61

14. In which manner would you find it convenient to report a crime?


A) Through a computer
B) By phone of an officer known to you
C) Driving to the police department to report the crime

15. If your property was stolen, would you prefer to have a police officer respond to take a
report, or self-report the crime online?
A) Police officer respond to take a report
B) Self-report the crime online

16. Dou you personally believe online crime reporting sounds like a convenient option for
reporting crimes to police and should be offered to the citizens of Kiambu County?
Yes

No

Undecided

17. Do you believe online crime reporting may not be right for you, but still sounds like a
convenient option for some people and should be offered to them?
Yes

No

Undecided

THANK YOU.

62

N/A

APPENDIX 2: USER MANUAL


INTRODUCTION
This document introduces the user especially the Administrator (police officers) to the online Crime
Reporting System. It shows the user how the system works as well as providing tips on how to install the
program what the users are required to do to efficiently make use of the system.
HOW TO INSTALL THE SYSTEM:
Before installing the program ensure that the computer meets the following system requirements:

A processor of high rating to improve efficiency in processing


Adequate memory to improve performance
Adequate space available on the hard disk
CD-ROM Drive

The following procedure should be followed during the installation of the system.
Ensure you have installed Xampp or Wampp server in your machine. The Xampp and Wampp
server come with their installation guide.
Insert the Online Crime Reporting System CD into the CD-Drive
Open or rather Explore the CD and on opening you will find 2 folders, one named database
and the other named onlinecrimereporting.
Right click on the folder named onlinecrimereporting and select Copy
Now go to the Xampp or Wampp installation folder most likely in the C: drive. Open the
Xampp/wampp folder and then open the folder named htdocs. Now Paste the copied folder
onlinecrimereporting here.
Now go to any of your browser e.g. Mozilla, expoler etc and in the navigation toolbar type
http://localhost/phpmyadmin/ and click Enter .
Create a database named crime_reporting_db.
Open the database after creating and go to the Import button and click it. Then select on Browse.
Browse through your computer and go to the CD drive and open it.
Now open the folder named database and select the file named crime_reporting_db.sql
Click on the Go button at the bottom.
You have now Successful installed the system and is ready for use.
HOW THE SYSTEM WORKS:
If you are the Main Admin i.e. the Head of station do the following:
Type the following address in the navigation toolbar
http://localhost/onlinecrimereporting/admin/index.php and click Enter
Select on the Head of station Tab and use the following to login:
ID Number = 123456 and Job Number = 654321
The above are the default login details for the new system.
63

After login, the head of station can Register himself as well as register the police officers and
continue to use the services given by the system
The Police officers can as well use their ID number or Job Number by entering the above URL
(http://localhost/onlinecrimereporting/admin/index.php )in the navigation toolbar after they have
been registered by the Head of station.
The other users can use this URL(http://localhost/onlinecrimereporting/index.php) to access this
facility. They then can register and access all the services.
N/B : The default login details should only be accessible to the Head of Station alone.

64

You might also like