Crime Presentation
Crime Presentation
CrimeFile
INTRODUCTION
The project titled as Online Crimefile Management is a web based application. This software provides facility for reporting online crimes, complaints, missing persons, It also shows the most wanted person details. Mailing as well as chatting can be done. Any Number of clients can connect to the server. Each user first makes their login to the sever to show their availability. The server can be any Web Server. An SMTP Server must be maintained for temporary storage of emails and chat jar files for enable the chatting facilities
DAY - 1
Trade-off Triangle
Fast, cheap, good. Choose two.
Trade-off Triangle
Know which of these are fixed & variable for every project
People
Its always a people problem Gerald
Weinberg, The Secrets of Consulting
People 2
Other success factors
Matching people to tasks Career development Balance: individual and team Clear communication
Process
Is process stifling? 2 Types: Management & Technical Development fundamentals Quality assurance Risk management Lifecycle planning Avoid abuse by neglect
Process 2
Customer orientation Process maturity improvement Rework avoidance
Product
The tangible dimension Product size management Product characteristics and requirements Feature creep management
Technology
Often the least important dimension Language and tool selection Value and cost of reuse
Planning
Determine requirements Determine resources Select lifecycle model Determine product features strategy
Tracking
Cost, effort, schedule Planned vs. Actual How to handle when things go off plan?
Measurements
To date and projected
Cost Schedule Effort Product features Earned value analysis Defect rates Productivity (ex: SLOC) Complexity (ex: function points)
Alternatives
Technical Fundamentals
Requirements Analysis Design Construction Quality Assurance Deployment
Project Phases
All projects are divided into phases All phases together are known as the Project Life Cycle Each phase is marked by completion of Deliverables Identify the primary software project phases
Lifecycle Relationships
Phases Variation
Concept Exploration System Exploration Requirements
Design
Implementation
Installation
Maintenance
Retirement
Technical Fundamentals
Requirements Analysis Design Construction Quality Assurance Deployment
DAY - 2
Visitors
View Hot news: This module help the visitor to see the latest hot news which
can updated by the admin. View most wanted: Here, the visitor can also view the photo of wanted people Get registered: The visitor can also get registered with our web-site.
Registered Users
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.
Registered Users
all complaint that you have posted earlier.
(continued)
Administrator
View and reply user complaint: This module helps the admin to view
Administrator
(continued)
Add, delete and view missing persons: This module helps the administrator to add, delete and view missing person details Add and view Criminal registration: This module helps the administrator to add and view criminal registrations.
Add and view FIR: This module helps the administrator to add and view Fir
reports Add and view history sheet: This module helps the administrator to add and view history reports. View and delete all complaint reply: This module helps the administrator to view and delete complaint reply.
Administrator
(continued)
Add and view prisoner report: This module helps the amin to add and
OBJECTIVE
Major objective of our project CrimeFiles: is : To make it easy for the general public to file complaints related to missing persons, theft or any other miss-happening. To make it easy for people to get an update on the status of complaints made by them. To see the status of the crime or complaint report. Make people aware of major crimes, wanted criminals etc. To interact with the officials through mails. To discuss on hot issues, or give suggestions and views in chat rooms.
DAY - 3
PROJECT CATEGORY
INPUT
The input design is the link between the information system and the user. It comprises
the developing specification and procedures for data preparation and those steps are necessary to put transaction data in to a usable form for processing can be achieved by inspecting the computer to read data from a written or printed document or it can occur by having people keying the data directly into the system. The design of input focuses on controlling the amount of input required, controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The input is designed in such a way so that it provides security and ease of use with retaining the privacy. Input Design considered the following things: What data should be given as input? How the data should be arranged or coded? The dialog to guide the operating personnel in providing input. Methods for preparing input validations and steps to follow when error occur.
OUTPUT
A quality output is one, which meets the requirements of the end user and presents the information clearly. In any system results of processing are communicated to the users and to other system through
that each output element is designed so that people will find the system
can use easily and effectively. When analysis design computer output, they should Identify the specific output that is needed to meet the requirements.
Select methods for presenting information. Create document, report, or other formats that contain information produced by the system.
The output form of an information system should accomplish one or more of the following objectives. Convey information about past activities, current status or projections of the Future. Signal important events, opportunities, problems, or warnings. Trigger an action. Confirm an action.
PROPOSED SYSTEM
CrimeFiles our online police station reaches citizens in their offices and homes. Proposed system will make the process of making complaints easy and comfortable for the users. Users can complaint about the crime with an assurance of identity not being leaked out. More crime complaints will be made and citizens would have a ready knowledge of new crimes There would be an increase in the level of interaction between the user and the managing authority. Searching of missing/wanted people would become more easier as the message can be spread to a wider area.
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.
MY MODULE
Administrator Login
View & reply user complaints. View & reply to user crimes. Create new administrator. Add & delete latest Hot News. View & delete users feedback. Add, view & delete most wanted persons. Add, delete & view missing persons. Add & view criminal registration. Add & view FIR. Add & view history sheet. View & delete all complaint reply. Add & view prisoners report. Change password. Chat. Maii.
Visitors Login
View Hot News. View most wanted people photos Get registered
DAY - 4
Database Tables
Login
This table shall store general information of the users. It contains following fields.
Status
Varchar
Null
Registration
This table shall store information of users. It contains following fields.
Field name name username Secretquestion Answer Address Pin Phone Email Village Taluk District State
Data type Varchar Varchar Varchar Varchar Varchar Int Int Varchar Varchar Varchar Date Varchar
Constraint/Descri ption Primary Key Null Null Null Nul Null Null Null Null Null Null Null
Complaintreg
This table shall store information related to complaints registered by the users. It contains following fields.
Constraint/Descri ption
Primary Key
crimereport
This table shall store information related to complaints of Crimes registered by the users. It contains following fields.
Field name
userid ninformant addressinf detailssuspect description datec
Data type
varchar varchar Varchar Varchar Varchar Date
complaintstatus
This table store information related to the reply by the administrator to the complaints registered by the users. It contains following fields.
Adminregisteration
This table shall store information related to the administrator. It contains following fields.
Field name username question Answer Name Designation Oficialaddress Phonen Residentialaddress Pincode Phone
Data type Varchar Varchar Varchar Varchar Varchar Varchar Int Varchar Int Int
prisonerregister
This table shall store information about the prisoners. It contains following fields.
Field name Prisonerno Chargesheetno Nickname Typeofcrime Familymembers Identificationmarks Height Weight Colour
Data type Varchar Varchar Varchar Varchar Varchar Varhar Varchar Varchar int
Constraint/Descri ption
Primary key
criminalregister
This table shall store information about the prisoners. It contains following fields.
Field name
Data type
FIR
This table shall store information about the prisoners. It contains following fields.
Field name District Datc Time Typeofoinformation Placeofoccurance Foreignlocal Act Firno Section Diaryrefno Informantadd Passportno Informationrec Distancefrompolst
Data type Varchar date Varchar Varchar Varchar Varchar Varchar Varchar Varchar varchar Varchar Varchar Varchar varchar
Constraint/Description
Context Diagram
ASPECTS OF IMPLEMENTATION
Design Patterns
Design Patterns
:: What is a Design Pattern?
Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. [1] [Christopher Alexander] Design patterns capture the best practices of experienced object-oriented software developers. Design patterns are solutions to general software development problems.
ADVANTAGES OF DAO
Enables Transparency Enables Easier Migration Not Useful for Container-Managed Persistence
Pattern: Singleton
a class that has only one instance
why we care:
creating lots of objects can take a lot of time extra objects take up memory it is a pain to deal with different objects floating around if they are essentially the same
Singleton pattern
singleton: an object that is the only object of its type ensures that a class has at most one instance provides a global access point to that instance takes responsibility of managing that instance away from the programmer (illegal to construct more instances) provide accessor method that allows users to see the (one and only) instance possibly the most known / popular design pattern! (this should tell you something)
Problem: lacks flexibility Example: static methods can't be passed as an argument to a method, nor returned Problem: cannot be extended Example: static methods can't be subclassed and overridden like a singleton's could be
Implementing Singleton
make constructor(s) private so that they can not be called from outside declare a single static private instance of the class write a public getInstance() or similar method that allows access to the single instance
possibly protect / synchronize this method to ensure that it will work in a multi-threaded program
Singleton example
consider a singleton class RandomGenerator that generates random numbers
public class RandomGenerator { private static RandomGenerator gen = new RandomGenerator(); public static RandomGenerator getInstance() { return gen; } private RandomGenerator() {}
Singleton example 2
variation: don't create the instance until needed
// Generates random numbers. public class RandomGenerator { private static RandomGenerator gen = null; public static RandomGenerator getInstance() { if (gen == null) gen = new RandomGenerator(); return gen; } }
Singleton example 3
variation: solve concurrency issue by locking
// Generates random numbers. public class RandomGenerator { private static RandomGenerator gen = null; public static synchronized RandomGenerator getInstance() { if (gen == null) gen = new RandomGenerator(); return gen; }
Singleton example 4
variation: solve concurrency issue without unnecessary locking
// Generates random numbers. public class RandomGenerator { private static RandomGenerator gen = null; public static RandomGenerator getInstance() { if (gen == null) { synchronized (RandomGenerator.class) { // must test again -- can you see why? if (gen == null) gen = new RandomGenerator(); } } return gen; }
Singleton example
consider a class RandomGenerator that generates random numbers
public class RandomGenerator { private static RandomGenerator gen;
Here, x is a base class and classes xy and xz are derived from it. The Factory is a class that decides which of these subclasses to return depending on the arguments you give it. The getClass() method passes in some value abc, and returns some instance of the class x. Which one it returns doesn't matter to the programmer since they all have the same methods, but different implementations.
Let's consider a simple case where we could use a Factory class. Suppose we have an entry form and we want to allow the user to enter his name either as firstname lastname or as lastname, firstname. Lets make the assumption that we will always be able to decide the name order by whether there is a comma between the last and first name.
class Namer { //a simple class to take a string apart into two names protected String last; //store last name here protected String first; //store first name here public String getFirst() { return first; //return first name } public String getLast() { return last; //return last name } }
class FirstFirst extends Namer { public FirstFirst(String s) { int i = s.lastIndexOf(" "); //find sep space if (i > 0) { first = s.substring(0, i).trim(); //left is first name last =s.substring(i+1).trim(); //right is last name } else { first = // put all in last name last = s; // if no space } } }
class LastFirst extends Namer { //split last, first public LastFirst(String s) { int i = s.indexOf(","); //find comma if (i > 0) { last = s.substring(0, i).trim(); //left is last name first = s.substring(i + 1).trim(); //right is first name } else { last = s; // put all in last name first = ""; // if no comma } } }
class NameFactory { //returns an instance of LastFirst or FirstFirst //depending on whether a comma is found public Namer getNamer(String entry) { int i = entry.indexOf(","); //comma determines name order if (i>0) return new LastFirst(entry); //return one class else return new FirstFirst(entry); //or the other } }
You should consider using a Factory pattern when: A class cant anticipate which kind of class of objects it must create. A class uses its subclasses to specify which objects it creates. You want to localize the knowledge of which class gets created. There are several similar variations on the factory pattern to recognize: The base class is abstract and the pattern must return a complete working class. The base class contains default methods and is only subclassed for cases where the default methods are insufficient. Parameters are passed to the factory telling it which of several class types to return. In this case the classes may share the same method names but may do something quite different.
The Abstract Factory pattern is one level of abstraction higher than the factory pattern. This pattern returns one of several related classes, each of which can return several different objects on request. In other words, the Abstract Factory is a factory object that returns one of several factories. One classic application of the abstract factory is the case where your system needs to support multiple look-and-feel user interfaces, such as Windows, Motif or Macintosh: You tell the factory that you want your program to look like Windows and it returns a GUI factory which returns Windows-like objects. When you request specific objects such as buttons, check boxes and windows, the GUI factory returns Windows instances of these visual interface components.
One of the main purposes of the Abstract Factory is that it isolates the concrete classes that are generated. The actual class names of these classes are hidden in the factory and need not be known at the client level at all. Because of the isolation of classes, you can change or interchange these product class families freely. Since you generate only one kind of concrete class, this system keeps you for inadvertently using classes from different families of products. While all of the classes that the Abstract Factory generates have the same base class, there is nothing to prevent some derived classes from having additional methods that differ from the methods of other classes.
DAY - 5
APPLICATION ARCHIETECTURE
N-TIER ARCHITECTURE
Presentation Tier
HARDWARE
SOFTWARE
Software Interface
FRONT END
We have implemented JavaScript for all the Client side validations. Client side JavaScript is designed to reside inside HTML document & ensure they run properly. It is object based, event driven, platform independent. These are important parts of any Web application to implement Client side Validations and the invalid data is not submitted. The form is not submitted until user fills in correct data. It is extremely useful to restrict
mistakes by user.
BACK END
We have used My SQL. MySQL provides solution for major database tech. - Large database and space management. - Many concurrent database users. - High transaction processing requirement - High Availability efficient/effective
LIMITATIONS
LIMITATIONS
The most notable features which were not implemented in the system are table
FUTURE SCOPE
FUTURE SCOPE
The future of this project depends on whether the author has enough spare
time over the next few months to continue with the development. The author
feels that those last few remaining features would round off the system. If the author was to try to sell this system then more system testing would have to be done, in particular a more comprehensive real-world testing environment would have to be adopted along with some real-world usage. Multiple concurrent users would be common in real-world usage but have been difficult to test for considering there was only one tester involved in this project.
This type of system would benefit from being sold via Software as a Service
(SaaS). SaaS would allow support would be provided for the hardware in case of a system failure and for the software in case of newly found bugs, in return for a subscription fee.
Screen Shots
HOME
User Register
Login
Complaint Report
Crime Report
Missing Person
Chat
Chat Start
Criminal Report
Upload Photos