You are on page 1of 59

Crime Reporting Management System

1. Introduction
1.1. Introduction
Crime File System is a system used to report crimes. This project is mainly useful for police
Departments. This system will help to manage all the activities in a police Department using
computers. Currently all the works are done manually, by computerizing all the activities inside a
police Department can be managed easily and effectively.
The police Departments in the country are, today, virtually unconnected islands. Thanks to
telephones and wireless, and especially thanks to mobile telephones, there is voice connectivity
between the police Department and senior police officers, but that is about all. There is no
system of data storage, data sharing and accessing data. There is no system under which one
police Department can talk to another directly. There is no record of crimes or criminals that can
be accessed by a Department House Officer, except the manual records relating to that police
Department. The goals of the system are to facilitate collection, storage, retrieval, analysis,
transfer and sharing of data and information at the police Department and between the police
Department and the State Headquarters and the Central Police Organizations.

1.2. Abstract

Criminal record generally contains personal information about particular person along with
photograph. To identify any criminal we need some identification regarding person, which are
given by eyewitnesses. In most cases the quality and resolution of the recorded image-segments
is poor and hard to identify a face. To overcome this sort of problem we are developing
software. Identification can be done in many ways like fingerprint, eyes, DNA etc. One of the
applications is face identification. The face is our primary focus of attention in social inter
course playing a major role in conveying identity and emotion. Although the ability to infer
intelligence or character from facial appearance is suspect, the human ability to recognize faces
is remarkable.

The operator first logs into the system by entering username and
password. Then depending on the work allotted he has to select the screens from main menu
Crime Reporting Management System

screen. There are mainly three important function which he can do they are adding details,
clipping image and finally construction of the face by using the eyewitness. The face that is
finally formed is one the who has done the crime.
Crime Reporting Management System

2. System Analysis

2.1 Existing System

The development of face identification has been past from the year to years. In recent years to
identify any criminal face they used to make a sketch or draw a image based on the eyewitnesses.
It used to take more amount of time and it was very difficult task for any investigation
department to easily catch the criminals within a stipulated time. In order to catch the criminals
first they used to search their record whether to find out is there any record about that particular
person in the past. In olden days each and every record was maintained in the books or registers
or files which used to contain information about previous criminals with their names, alias name,
gender, age, crime involved, etc. Here each and every task used to take the help of the person
because they used to write in them and it needed very much of manual effort.

There are three major research groups, which propose three different approaches to the face
recognition problem. The largest group has dealt with facial characteristics. The second group
performs human face identification based on feature vectors extracted from profile silhouettes.
The third group uses feature vectors extracted from a frontal view of the face. The first method
is based on the information theory concepts in other words on the principal component analysis
methods. In this approach, the most relevant information that best describes a face is derived
from the entire face image. The second method is based on extracting feature vectors from the
basic parts of a face such as eyes, nose, mouth and chin.

DISADVANTAGES OF EXISTING SYSTEM:

Need of extra manual effort.


It used to take much time to find any criminals
Not very much accurate.
Danger of losing the files in some cases.
Need Good Knowledge in drawing.

2.2 Proposed System


Crime Reporting Management System

To overcome the drawbacks that were in the existing system we develop a system that will be
very useful for any investigation department. Here the program keeps track of the record number
of each slice during the construction of identifiable human face and calculate maximum number
of slices of the similar record number. Based on this record number the program retrieves the
personal record of the suspect (whose slice constituted the major parts of the constructed human
face) on exercising the locate option.

ADVANTAGES OF PROPOSED SYSTEM:

Very fast and accurate.


No need of any extra manual effort.
No fever of data loss.
Just need a little knowledge to operate the system.
Doesnt require any extra hardware device.
At last very easy to find the criminals.

2.3. Feasibility Study


Once the problem is clearly understood, the next stepis to conduct feasibility study, which is
high-level capsule version of the entered systems and design process. The objective is to
determine whether or not the proposed system is feasible. The three tests of feasibility have been
carried out.
Technical Feasibility
Economical Feasibility
Operational Feasibility

TECHNICAL FEASIBILITY
In Technical Feasibility study, one has to test whether the proposed system can be
developed using existing technology or not. It is planned to implement the proposed
Crime Reporting Management System

system using java technology. It is evident that the necessary hardware and software are
available for development and implementation of the proposed system. Hence, the
solution is technically feasible.

ECONOMICAL FEASIBILITY
As part of this, the costs and benefits associated with the proposed system compared and
the project is economically feasible only if tangible or intangible benefits outweigh costs.
The system development costs will be significant. So the proposed system is
economically feasible.

OPERATIONAL FEASIBILITY
It is a standard that ensures interoperability without stifling competition and innovation
among users, to the benefit of the public both in terms of cost and service quality. The
proposed system is acceptable to users. So the proposed system is operationally feasible.

3. System Design

3.1. Data Flow Diagram


Crime Reporting Management System

The DFD is also called as bubble chart. It is a simple graphical formalism that can be used to
represent a system in terms of input data to the system, various processing carried out on this
data, and the output data is generated by this system. The data flow diagram (DFD) is one of the
most important modelling tools. It is used to model the system components. These components
are the system process, the data used by the process, an external entity that interacts with the
system and the information flows in the system.DFD shows how the information moves through
the system and how it is modified by a series of transformations. It is a graphical technique that
depicts information flow and the transformations that are applied as data moves from input to
output.DFD is also known as bubble chart. A DFD may be used to represent a system at any level
of abstraction. DFD may be partitioned into levels that represent increasing information flow and
functional detail.

Dataflow Diagram
Crime Reporting Management System

User Process:

3.2. ER-Diagram
Crime Reporting Management System

An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database.
An entity in this context is a component of data. In other words, ER diagrams illustrate the
logical structure of databases.

At first glance an entity relationship diagram looks very much like a flowchart. It is the
specialized symbols, and the meanings of those symbols, that make it unique.

An entity relationship diagram is a means of visualizing how the information a system produces
is related. There are five main components of an ERD:

Entities, which are represented by rectangles. An entity is an object or concept about


which you want to store information.

A weak entity is an entity that must defined by a foreign key relationship with another
entity as it cannot be uniquely identified by its own attributes alone.

Actions, which are represented by diamond shapes, show how two entities share
information in the database.
Crime Reporting Management System

In some cases, entities can be self-linked. For example, employees can supervise other
employees.

Attributes, which are represented by ovals. A key attribute is the unique, distinguishing
characteristic of the entity. For example, an employee's social security number might be
the employee's key attribute.

A multivalve attribute can have more than one value. For example, an employee entity
can have multiple skill values.
Crime Reporting Management System

A derived attribute is based on another attribute. For example, an employee's monthly


salary is based on the employee's annual salary.

Connecting lines, solid lines that connect attributes to show the relationships of entities in
the diagram.

Cardinality specifies how many instances of an entity relate to one instance of another
entity. Cardinality is also closely linked to cardinality. While cardinality specifies the
occurrences of a relationship, Cardinality describes the relationship as either mandatory
or optional. In other words, cardinality specifies the maximum number of relationships
and Cardinality specifies the absolute minimum number of relationships.
Crime Reporting Management System

E-R Diagram
Crime Reporting Management System

3.3. Database table


Crime Reporting Management System

A relational database is made up of several components, of which the table is most significant.
The table is where all the data in a database is stored, and without tables, there would not be
much use for relational databases.
A database consists of one or more tables. Each table is made up of rows and columns. If you
think of a table as a grid, the column go from left to right across the grid and each entry of data is
listed down as a row.

Each row in a relational is uniquely identified by a primary key. This can be by one or more sets
of column values. In most scenarios it is a single column, such as employee ID.

Every relational table has one primary key. Its purpose is to uniquely identify each row in the
database. No two rows can have the same primary key value. The practical result of this is that
you can select every single row by just knowing its primary key.

Columns are defined to hold a specific type of data, such as dates, numeric, or textual data. In
the simplest of definitions a column is defined by its name and data type. The name is used in
SQL statements when selecting and ordering data, and the data type is used to validate
information stored.

So, a DateOfBirth column defined as a date, can be referred to in an order by clause as

And, if you try to add a value of Hello Kitty to the column, as part of its validation, it will
recognize it isnt a date, and reject it.

Columns names cant be duplicated in a table. So, having two name columns is a no no.
Though you could have two name columns, such as name1, and name2, youll learn later on,
that this is frowned up, as it breaks normal form (I explain this in another post).

Rows
Crime Reporting Management System

A table can contain zero or more rows. When there are zero, it said to be empty. There is not
practical limit on the number of rows a table can hold; however, remember the tables primary
key may have some influence on this. What I mean, is that if your table holds states, and the
primary key is the states abbreviation, then by definition, since there are only fifty states in the
union, and you cannot have duplicates in a primary key, your table is limited to fifty rows.

There is no guarantee that the rows in a table are stored in a particular order. Use the ORDER
BY clause to do so.

Also, strictly speaking, in a relational database there is no first or last row. Yes, you can tease out
a first row of a result using a keyword such as LIMIT or TOP, but those are used once the data is
retrieved and sorted. The difference here is that youre seeing the first row of the result, not what
is physically stored in the table.

Criminal photo table:


Crime Reporting Management System

Criminal Info:

User Table:
Crime Reporting Management System

3.4. Run time forms


Crime Reporting Management System

Criminal Face Recognition Page


Crime Reporting Management System

Admin Page

Admin Login Page


Crime Reporting Management System

Admin Home Page


Crime Reporting Management System

User Registration Form


Crime Reporting Management System

User Login Form


Crime Reporting Management System

User Home

Criminal Database
Crime Reporting Management System

Add Criminal Details


Crime Reporting Management System

View Criminal Details

Face Recognition
Crime Reporting Management System
Crime Reporting Management System

Display Criminal Details


Crime Reporting Management System

3.5. Source Code

Adminlogin. Cs

using System;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;

namespaceface_recog
{
publicpartialclassadminlogin : Form
{
publicadminlogin()
{
InitializeComponent();
}

privatevoid button1_Click(object sender, EventArgs e)


Crime Reporting Management System

{
if (textBox1.Text == "admin"&& textBox2.Text == "admin")
{
adminhomeob = newadminhome();
ob.ShowDialog();
}
else
{

}
}
}
}

Mainform.cs

//Multiple face detection and recognition in real time


//Using EmguCV cross platform .Net wrapper to the Intel OpenCV image processing library for
C#.Net
//Writed by Sergio Andrs Guitrrez Rojas
//"Serg3ant" for the delvelopercomunity
// Sergiogut1805@hotmail.com
//Regards from Bucaramanga-Colombia ;)

using System;
usingSystem.Collections.Generic;
usingSystem.Drawing;
usingSystem.Windows.Forms;
using Emgu.CV;
usingEmgu.CV.Structure;
Crime Reporting Management System

usingEmgu.CV.CvEnum;
using System.IO;
usingSystem.Diagnostics;

namespaceMultiFaceRec
{
publicpartialclassFrmPrincipal : Form
{
//Declararation of all variables, vectors and haarcascades
Image<Bgr, Byte>currentFrame;
Capture grabber;
HaarCascade face;
HaarCascade eye;
MCvFont font = new MCvFont(FONT.CV_FONT_HERSHEY_TRIPLEX, 0.5d, 0.5d);
Image<Gray, byte> result, TrainedFace = null;
Image<Gray, byte> gray = null;
List<Image<Gray, byte>>trainingImages = new List<Image<Gray, byte>>();
List<string> labels= new List<string>();
List<string>NamePersons = new List<string>();
intContTrain, NumLabels, t;
string name, names = null;

publicFrmPrincipal()
{
InitializeComponent();
//Load haarcascades for face detection
face = new HaarCascade("haarcascade_frontalface_default.xml");
//eye = new HaarCascade("haarcascade_eye.xml");
try
{
Crime Reporting Management System

//Load of previustrainned faces and labels for each image


stringLabelsinfo = File.ReadAllText(Application.StartupPath +
"/TrainedFaces/TrainedLabels.txt");
string[] Labels = Labelsinfo.Split('%');
NumLabels = Convert.ToInt16(Labels[0]);
ContTrain = NumLabels;
stringLoadFaces;

for (inttf = 1; tf< NumLabels+1; tf++)


{
LoadFaces = "face" + tf + ".bmp";
trainingImages.Add(new Image<Gray, byte>(Application.StartupPath + "/TrainedFaces/" +
LoadFaces));
labels.Add(Labels[tf]);
}

}
catch(Exception e)
{
//MessageBox.Show(e.ToString());
MessageBox.Show("Nothing in binary database, please add at least a face(Simply train the
prototype with the Add Face Button).", "Triained faces load", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}

private void button1_Click(object sender, EventArgs e)


{
//Initialize the capture device
Crime Reporting Management System

grabber = new Capture();


grabber.QueryFrame();
//Initialize the FrameGraber event
Application.Idle += new EventHandler(FrameGrabber);
button1.Enabled = false;
}

private void button2_Click(object sender, System.EventArgs e)


{
try
{
//Trained face counter
ContTrain = ContTrain + 1;

//Get a gray frame from capture device


gray = grabber.QueryGrayFrame().Resize(320, 240,
Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);

//Face Detector
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade(
face,
1.2,
10,
Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(20, 20));

//Action for each element detected


foreach (MCvAvgComp f in facesDetected[0])
{
TrainedFace = currentFrame.Copy(f.rect).Convert<Gray, byte>();
Crime Reporting Management System

break;
}

//resize face detected image for force to compare the same size with the
//test image with cubic interpolation type method
TrainedFace = result.Resize(100, 100, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
trainingImages.Add(TrainedFace);
labels.Add(textBox1.Text);

//Show face added in gray scale


imageBox1.Image = TrainedFace;

//Write the number of triained faces in a file text for further load
File.WriteAllText(Application.StartupPath + "/TrainedFaces/TrainedLabels.txt",
trainingImages.ToArray().Length.ToString() + "%");

//Write the labels of triained faces in a file text for further load
for (int i = 1; i <trainingImages.ToArray().Length + 1; i++)
{
trainingImages.ToArray()[i - 1].Save(Application.StartupPath + "/TrainedFaces/face" + i +
".bmp");
File.AppendAllText(Application.StartupPath + "/TrainedFaces/TrainedLabels.txt",
labels.ToArray()[i - 1] + "%");
}

MessageBox.Show(textBox1.Text + "s face detected and added :)", "Training OK",


MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
Crime Reporting Management System

MessageBox.Show("Enable the face detection first", "Training Fail", MessageBoxButtons.OK,


MessageBoxIcon.Exclamation);
}
}

voidFrameGrabber(object sender, EventArgs e)


{
label3.Text = "0";
//label4.Text = "";
NamePersons.Add("");

//Get the current frame form capture device


currentFrame = grabber.QueryFrame().Resize(320, 240,
Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);

//Convert it to Grayscale
gray = currentFrame.Convert<Gray, Byte>();

//Face Detector
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade(
face,
1.2,
10,
Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(20, 20));

//Action for each element detected


foreach (MCvAvgComp f in facesDetected[0])
{
Crime Reporting Management System

t = t + 1;
result = currentFrame.Copy(f.rect).Convert<Gray, byte>().Resize(100, 100,
Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
//draw the face detected in the 0th (gray) channel with blue color
currentFrame.Draw(f.rect, new Bgr(Color.Red), 2);

if (trainingImages.ToArray().Length != 0)
{
//TermCriteria for face recognition with numbers of trained images like
maxIteration
MCvTermCriteriatermCrit = new MCvTermCriteria(ContTrain, 0.001);

//Eigen face recognizer


EigenObjectRecognizer recognizer = new EigenObjectRecognizer(
trainingImages.ToArray(),
labels.ToArray(),
3000,
reftermCrit);

name = recognizer.Recognize(result);

//Draw the label for each face detected and recognized


currentFrame.Draw(name, ref font, new Point(f.rect.X - 2, f.rect.Y - 2), new
Bgr(Color.LightGreen));

NamePersons[t-1] = name;
NamePersons.Add("");
Crime Reporting Management System

//Set the number of faces detected on the scene


label3.Text = facesDetected[0].Length.ToString();

/*
//Set the region of interest on the faces

gray.ROI = f.rect;
MCvAvgComp[][] eyesDetected = gray.DetectHaarCascade(
eye,
1.1,
10,
Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(20, 20));
gray.ROI = Rectangle.Empty;

foreach (MCvAvgCompey in eyesDetected[0])


{
Rectangle eyeRect = ey.rect;
eyeRect.Offset(f.rect.X, f.rect.Y);
currentFrame.Draw(eyeRect, new Bgr(Color.Blue), 2);
}
*/

}
t = 0;

//Names concatenation of persons recognized


for (intnnn = 0; nnn<facesDetected[0].Length; nnn++)
{
names = names + NamePersons[nnn] + ", ";
Crime Reporting Management System

//Show the faces procesed and recognized


imageBoxFrameGrabber.Image = currentFrame;
label4.Text = names;
names = "";
//Clear the list(vector) of names
NamePersons.Clear();

private void button3_Click(object sender, EventArgs e)


{
Process.Start("Donate.html");
}

}
}
Crime Reporting Management System

FaceRecognition.cs

using System;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
using System.IO;

namespace IRISRECOGNITION
{
public partial class compareiris : Form
{
publiccompareiris()
{
InitializeComponent();
}

static string fname1, fname2;


Bitmap img1, img2;
Crime Reporting Management System

int count1 = 0, count2 = 0;


bool flag = true;

private void button1_Click(object sender, EventArgs e)


{
OpenFileDialogdlg = new OpenFileDialog();
DialogResultdlgRes = dlg.ShowDialog();
if (dlgRes != DialogResult.Cancel)
{
//Set image in picture box
pictureBox1.ImageLocation = dlg.FileName;

//Provide file path in txtImagePath text box.


textBox1.Text = dlg.FileName;
fname1 = dlg.FileName;
}
}
#region selectpath method

voidselectpath(intempid)
{
stringconnectionString = "server=\'(local)\'; trusted_connection=true; database=\'iris\'";
System.Data.IDbConnectiondbConnection = new
System.Data.SqlClient.SqlConnection(connectionString);

stringqueryString = "SELECT [iristable].[irispath] FROM [iristable] WHERE ([iristable].


[empid] = @empi" +
"d)";
System.Data.IDbCommanddbCommand = new System.Data.SqlClient.SqlCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
Crime Reporting Management System

System.Data.IDataParameterdbParam_empid = new System.Data.SqlClient.SqlParameter();


dbParam_empid.ParameterName = "@empid";
dbParam_empid.Value = empid;
dbParam_empid.DbType = System.Data.DbType.Int32;
dbCommand.Parameters.Add(dbParam_empid);

dbConnection.Open();
System.Data.IDataReaderdataReader =
dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

if (dataReader.Read())
{
fname2 = dataReader[0].ToString();
}
}

#endregion
private void button2_Click(object sender, EventArgs e)
{
try
{
SqlCommandcmdSelect = new SqlCommand("SELECT irisimage FROM iristable WHERE
empid = @empid", this.sqlConnection1);
cmdSelect.Parameters.Add("@empid", SqlDbType.Int, 4);
cmdSelect.Parameters["@empid"].Value = this.textBox2.Text;

this.sqlConnection1.Open();
byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();
stringstrfn = Convert.ToString(DateTime.Now.ToFileTime());
FileStreamfs = new FileStream(strfn, FileMode.CreateNew, FileAccess.Write);
Crime Reporting Management System

fs.Write(barrImg, 0, barrImg.Length);
fs.Flush();
fs.Close();

pictureBox2.Image = Image.FromFile(strfn);
selectpath(int.Parse(textBox2.Text));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);

}
finally
{
this.sqlConnection1.Close();

}
}

private void button3_Click(object sender, EventArgs e)


{
progressBar1.Visible = true;
progressBar1.Maximum = 0;
progressBar1.Minimum = 0;
count1 = 0;
count2 = 0;
flag = true;
string img1_ref, img2_ref;
img1 = new Bitmap(fname1);
img2 = new Bitmap(fname2);
Crime Reporting Management System

progressBar1.Maximum = img1.Width;
if (img1.Width == img2.Width && img1.Height == img2.Height)
{
for (int i = 0; i < img1.Width; i++)
{
for (int j = 0; j < img1.Height; j++)
{
img1_ref = img1.GetPixel(i, j).ToString();
img2_ref = img2.GetPixel(i, j).ToString();
if (img1_ref != img2_ref)
{
count2++;
flag = false;
break;
}
count1++;
}
System.Threading.Thread.Sleep(75);
progressBar1.Value++;
}

if (flag == false)
//MessageBox.Show("Sorry, Images are not same , " + count2 + " wrong pixels
found");
MessageBox.Show("Sorry, Images are not matching");
else
{
//MessageBox.Show(" Images are same , " + count1 + " same pixels found and " +
count2 + " wrong pixels found");
MessageBox.Show(" Images are matchng");
showemployeeob = new showemployee();
Crime Reporting Management System

ob.textBox1.Text = textBox2.Text;
ob.ShowDialog();
}
}
else
{
for (int i = 0; i < img1.Width; i++)
{
for (int j = 0; j < img1.Height; j++)
{
img1_ref = img1.GetPixel(i, j).ToString();
img2_ref = img2.GetPixel(i, j).ToString();
if (img1_ref != img2_ref)
{
count2++;
flag = false;
break;
}
count1++;
}
System.Threading.Thread.Sleep(75);
progressBar1.Value++;
}
MessageBox.Show("images are not matching");
}

// this.Dispose();

private void progressBar1_Click(object sender, EventArgs e)


Crime Reporting Management System

private void compareiris_Load(object sender, EventArgs e)


{

} }}

4. System Implementation

4.1. Introduction to C# .NET

FEATURES OF.NET
Microsoft .NET is a set of Microsoft software technologies for rapidly building and integrating
XML Web services, Microsoft Windows-based applications, and Web solutions. The .NET
Framework is a language-neutral platform for writing programs that can easily and securely
interoperate. Theres no language barrier with .NET: there are numerous languages available to
the developer including Managed C++, C#, Visual Basic and Java Script. The .NET framework
provides the foundation for components to interact seamlessly, whether locally or remotely on
different platforms. It standardizes common data types and communications protocols so that
components created in different languages can easily interoperate.

.NET is also the collective name given to various software components built upon the .NET
platform. These will be both products (Visual Studio.NET and Windows.NET Server, for
instance) and services (like Passport, .NET My Services, and so on).
THE .NET FRAMEWORK

The .NET Framework has two main parts:

1. The Common Language Runtime (CLR).


Crime Reporting Management System

2. A hierarchical set of class libraries.

The CLR is described as the execution engine of .NET. It provides the environment within
which programs run. The most important features are
Conversion from a low-level assembler-style language, called Intermediate Language
(IL), into code native to the platform being executed on.
Memory management, notably including garbage collection.
Checking and enforcing security restrictions on the running code.
Loading and executing programs, with version control and other such features.
The following features of the .NET framework are also worth description:

Managed Code
The code that targets .NET, and which contains certain extra
Information - metadata - to describe itself. Whilst both managed and unmanaged code can run
in the runtime, only managed code contains the information that allows the CLR to guarantee,
for instance, safe execution and interoperability.

Managed Data
With Managed Code comes Managed Data. CLR provides memory allocation and Deal location
facilities, and garbage collection. Some .NET languages use Managed Data by default, such as
C#, Visual Basic.NET and JScript.NET, whereas others, namely C++, do not. Targeting CLR
can, depending on the language youre using, impose certain constraints on the features
available. As with managed and unmanaged code, one can have both managed and unmanaged
data in .NET applications - data that doesnt get garbage collected but instead is looked after by
unmanaged code.

Common Type System


The CLR uses something called the Common Type System (CTS) to strictly enforce type-safety.
This ensures that all classes are compatible with each other, by describing types in a common
way. CTS define how types work within the runtime, which enables types in one language to
interoperate with types in another language, including cross-language exception handling. As
Crime Reporting Management System

well as ensuring that types are only used in appropriate ways, the runtime also ensures that code
doesnt attempt to access memory that hasnt been allocated to it.

Common Language Specification


The CLR provides built-in support for language interoperability. To ensure that you can develop
managed code that can be fully used by developers using any programming language, a set of
language features and rules for using them called the Common Language Specification (CLS)
has been defined. Components that follow these rules and expose only CLS features are
considered CLS-compliant.

THE CLASS LIBRARY


.NET provides a single-rooted hierarchy of classes, containing over 7000 types. The root of the
namespace is called System; this contains basic types like Byte, Double, Boolean, and String, as
well as Object. All objects derive from System. Object. As well as objects, there are value types.
Value types can be allocated on the stack, which can provide useful flexibility. There are also
efficient means of converting value types to object types if and when necessary.
The set of classes is pretty comprehensive, providing collections, file, screen, and network I/O,
threading, and so on, as well as XML and database connectivity.
The class library is subdivided into a number of sets (or namespaces), each providing distinct
areas of functionality, with dependencies between the namespaces kept to a minimum.
Crime Reporting Management System

LANGUAGES SUPPORTED BY .NET

The multi-language capability of the .NET Framework and Visual Studio .NET enables
developers to use their existing programming skills to build all types of applications and XML
Web services. The .NET framework supports new versions of Microsofts old favorites Visual
Basic and C++ (as VB.NET and Managed C++), but there are also a number of new additions to
the family.

Visual Basic .NET has been updated to include many new and improved language features that
make it a powerful object-oriented programming language. These features include inheritance,
interfaces, and overloading, among others. Visual Basic also now supports structured exception
handling, custom attributes and also supports multi-threading.
Visual Basic .NET is also CLS compliant, which means that any CLS-compliant language can
use the classes, objects, and components you create in Visual Basic .NET.
Managed Extensions for C++ and attributed programming are just some of the enhancements
made to the C++ language. Managed Extensions simplify the task of migrating existing C++
applications to the new .NET Framework.
C# is Microsofts new language. Its a C-style language that is essentially C++ for Rapid
Application Development. Unlike other languages, its specification is just the grammar of the
language. It has no standard library of its own, and instead has been designed with the intention
of using the .NET libraries as its own.
Crime Reporting Management System

Microsoft Visual J# .NET provides the easiest transition for Java-language developers into the
world of XML Web Services and dramatically improves the interoperability of Java-language
programs with existing software written in a variety of other programming languages.

Active State has created Visual Perl and Visual Python, which enable .NET-aware applications to
be built in either Perl or Python. Both products can be integrated into the Visual Studio .NET
environment. Visual Perl includes support for Active States Perl Dev Kit.

Other languages for which .NET compilers are available include

FORTRAN
COBOL
Eiffel

ASP.NET Windows Forms


XML WEB SERVICES
Base Class Libraries
Common Language Runtime
Operating System

Fig1 .Net Framework

C#.NET is also compliant with CLS (Common Language Specification) and supports structured
exception handling. CLS is set of rules and constructs that are supported by the CLR (Common
Language Runtime). CLR is the runtime environment provided by the .NET Framework; it
manages the execution of the code and also makes the development process easier by providing
services.
Crime Reporting Management System

C#.NET is a CLS-compliant language. Any objects, classes, or components that created in


C#.NET can be used in any other CLS-compliant language. In addition, we can use objects,
classes, and components created in other CLS-compliant languages in C#.NET .The use of CLS
ensures complete interoperability among applications, regardless of the languages used to create
the application.

CONSTRUCTORS AND DESTRUCTORS:


Constructors are used to initialize objects, whereas destructors are used to destroy them.
In other words, destructors are used to release the resources allocated to the object. In C#.NET
the sub finalize procedure is available. The sub finalize procedure is used to complete the tasks
that must be performed when an object is destroyed. The sub finalize procedure is called
automatically when an object is destroyed. In addition, the sub finalize procedure can be called
only from the class it belongs to or from derived classes.

GARBAGE COLLECTION
Garbage Collection is another new feature in C#.NET. The .NET Framework monitors allocated
resources, such as objects and variables. In addition, the .NET Framework automatically releases
memory for reuse by destroying objects that are no longer in use.
In C#.NET, the garbage collector checks for the objects that are not currently in use by
applications. When the garbage collector comes across an object that is marked for garbage
collection, it releases the memory occupied by the object.

OVERLOADING
Overloading is another feature in C#. Overloading enables us to define multiple procedures with
the same name, where each procedure has a different set of arguments. Besides using
overloading for procedures, we can use it for constructors and properties in a class.

MULTITHREADING
C#.NET also supports multithreading. An application that supports multithreading can handle
multiple tasks simultaneously, we can use multithreading to decrease the time taken by an
application to respond to user interaction.
Crime Reporting Management System

STRUCTURED EXCEPTION HANDLING


C#.NET supports structured handling, which enables us to detect and remove errors at runtime.
In C#.NET, we need to use TryCatchFinally statements to create exception handlers. Using
TryCatchFinally statements, we can create robust and effective exception handlers to
improve the performance of our application.

THE .NET FRAMEWORK


The .NET Framework is a new computing platform that simplifies application development in
the highly distributed environment of the Internet.

OBJECTIVES OF.NET FRAMEWORK


To provide a consistent object-oriented programming environment whether object codes
is stored and executed locally on Internet-distributed, or executed remotely.
To provide a code-execution environment to minimizes software deployment and
guarantees safe execution of code.
Eliminates the performance problems.
There are different types of application, such as Windows-based applications and Web-
based applications.
Crime Reporting Management System

4.2. Introduction to SQL Server

FEATURES OF SQL-SERVER
The OLAP Services feature available in SQL Server version 7.0 is now called SQL Server 2000
Analysis Services. The term OLAP Services has been replaced with the term Analysis Services.
Analysis Services also includes a new data mining component. The Repository component
available in SQL Server version 7.0 is now called Microsoft SQL Server 2000 Meta Data
Services. References to the component now use the term Meta Data Services. The term
repository is used only in reference to the repository engine within Meta Data Services
SQL-SERVER database consist of six type of objects,
They are,
1. TABLE
2. QUERY
3. FORM
4. REPORT
5. MACRO

TABLE:
A database is a collection of data about a specific topic.

VIEWS OF TABLE:
We can work with a table in two types,

Design View
Crime Reporting Management System

Datasheet View

Design View
To build or modify the structure of a table we work in the table design view. We can
specify what kind of data will be hold.

Datasheet View
To add, edit or analyses the data itself we work in tables datasheet view mode.

QUERY:
A query is a question that has to be asked the data. Access gathers data that answers the
question from one or more table. The data that make up the answer is either dynaset (if you edit
it) or a snapshot (it cannot be edited).Each time we run query, we get latest information in the
dynaset. Access either displays the dynaset or snapshot for us to view or perform an action on it,
such as deleting or updating.

AJAX:
ASP.NET Ajax marks Microsoft's foray into the ever-growing Ajax framework market.
Simply put, this new environment for building Web applications puts Ajax at the front and center
of the .NET Framework.
Crime Reporting Management System

5. HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS:

System : Pentium IV 2.4 GHz

Hard Disk : 40 GB

Floppy Drive : 1.44 MB

Monitor : 15 VGA color

Mouse : Logitech.

Keyboard : 110 keys enhanced

RAM : 256 MB

SOFTWARE REQUIREMENTS

O/S : Windows 7.

Language : c#.Net

Frontend Tool : Microsoft Visual Studio 2010

Data Base : SQL Server 2008.


Crime Reporting Management System

6. Software Testing

The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality of
components, sub assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific testing
requirement.

TYPES OF TESTS
Unit testing

Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately
to the documented specifications and contains clearly defined inputs and expected results.

Integration testing

Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
Crime Reporting Management System

individually satisfaction, as shown by successfully unit testing, the combination of components is


correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.
Functional test
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centred on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key functions, or


special test cases. In addition, systematic coverage pertaining to identify Business process flows;
data fields, predefined processes, and successive processes must be considered for testing.
Before functional testing is complete, additional tests are identified and the effective value of
current tests is determined.

System Test
System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.

White Box Testing


White Box Testing is a testing in which in which the software tester has knowledge of the inner
workings, structure and language of the software, or at least its purpose. It is purpose. It is used
to test areas that cannot be reached from a black box level.
Crime Reporting Management System

Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the software
under test is treated, as a black box .you cannot see into it. The test provides inputs and
responds to outputs without considering how the software works.

Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase of the software
lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct
phases.
Test strategy and approach
Field testing will be performed manually and functional tests will be written in detail.

Test objectives

All field entries must work properly.


Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.

Features to be tested

Verify that the entries are of the correct format


No duplicate entries should be allowed
All links should take the user to the correct page.
Crime Reporting Management System

Integration Testing
Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or one step up software applications at the company level
interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant participation
by the end user. It also ensures that the system meets the functional requirements.
Crime Reporting Management System

7. Future Enhancement

The general experimental evaluation of the face expressional system guarantees better face
recognition rates. Having examined techniques to cope with expression variation, in future it
may be investigated in more depth about the face classification problem and optimal fusion of
color and depth information. Further study can be laid down in the direction of all elements of
genetic matching to the geometric factors of the facial expressions. The genetic property
evolution framework for facial expressional system can be studied to suit the requirement of
different security models such as criminal detection, governmental confidential security
branches etc.
Crime Reporting Management System

8. Conclusion

The purpose of face identification system is to identify criminals. In past years this process is
carried out by humans. This process gives the exact image of the criminal but it is very difficult
to identify the criminal details and also it requires much amount of human burden.

The main aim of our project is to overcome the drawbacks of human based system
by using the machine based face identification process. In this process we store the details of
criminal into the database along with his photo or image. Then we make the image into
different clips containing hair, forehead, eyes, nose, lips and chin and store these clips into the
database. When any crime occurs we compare the details given by the eyewitness with the
clips already stored in the database and we will identify the criminal. This project can be
extended to adjust the gaps between the clips after construction of the image to be a perfect
photograph using Image processing Techniques.
Crime Reporting Management System

9. Bibliography

References Made From:


1. User Interfaces in C#: Windows Forms and Custom Controls by Matthew
MacDonald.

2. Applied Microsoft .NET Framework Programming (Pro-Developer) by


Jeffrey Richter.

3. Practical .Net2 and C#2: Harness the Platform, the Language, and the
Framework by Patrick Smacchia.

Website Referred:
www.google.com
www.wikipedia.com

You might also like