Crime Reporter

Embed Size (px)

Citation preview

  • 7/28/2019 Crime Reporter

    1/90

    1

    CHAPTER 1

    INTRODUCTIONA journey of a thousand miles must begin with a single step.

  • 7/28/2019 Crime Reporter

    2/90

    2

    1. Introduction

    The target system is designed to provide a complete solution for mobile users to make

    the society secure and safe using their mobile phones. It takes an initiative for providing

    a facility to mobile users to report crime to the police at the time when it is happening

    and also informs them about location where it is going on. The customers who would

    use this application would not have to go to the police station or dial 911(100 in India) to

    call police but instead use this application.

    1.1 Need for System Development

    Problem:

    Crime goes under-reported all around the world. There are many reasons for it. For

    instance, many times the victims and witnesses are afraid that the offender will come

    after them, seeking revenge or the police would involve them too much into

    investigation. Other times the witnesses are too lazy to go up to the police station to

    report crime. So this application is designed for such people who are afraid and lazy. It

    is also of great help to Police to catch the right offender making investigation really

    easy.

    Solution:

    Here, mobile users have to click a photo of a crime scene that is going on from

    wherever they are. This application connects the server, meant for police to view, to the

    mobile phone. The mobile user can upload this picture on the server with or without a

    description. As soon as this photo gets uploaded, the application uses GPS technology

    to track the place where crime has taken place to upload it onsite to help the cops to

    reach at the right place.

    With the help of this server, it will become really easy for the Police department to track

    the offender because a snapshot of a crime going on reveals almost everything.

  • 7/28/2019 Crime Reporter

    3/90

    3

    CHAPTER 2

    EXTENSIVE TECHNICAL RESEARCH

    He who does not research has nothing to teach

  • 7/28/2019 Crime Reporter

    4/90

    4

    2. Extensive Technical Research

    2.1 Android as a Ubiquitous System

    The primary principle behind all ubiquitous applications is to provide the users with

    intelligent learning systems that supplement their everyday activities. This is the primary

    consideration on which a ubiquitous application can be evaluated.

    Consider a world where desktop computers are replaced by embedded computers

    in typical physical objects, without interfering with the current functionality of those

    objects. That is what Weisers vision was, and he termed it ubiquitous computing. The

    computers would be small enough to be embedded within the object and will provide

    enhancement to the functionality of object.

    The requirements of a ubiquitous system have been classified in three categories:

    system, software, business and organization. System refers to the platform i.e. the

    hardware of the system, or the system running the subject software on top of it. The

    term software represents the services and the components of system that have been

    derived from the ubiquitous system. Business refers to the actors who are

    providing the components and services for the development of the system.

    Organization includes development methods and the processes needed for thedevelopment and integration of the system services.

    2.2 Feature Implementation in Android

    Interoperability: Content Provider handles it

    Heterogeneity: Core libraries and Android Runtime handle it. It also includes

    components like window manager, view systems, and telephony manager etc.

    Mobility Activity Manager handles it Survivability Survival by protection is

    achieved by Linux at core and SSL layer in middle-ware, giving an excellent

    security mechanism.

    Adaptability: Resource Manager and Package Manager provide the system

    with information to encourage reusability of components.

    Self-Organization: Notification Manager, XMPP Service and Location Manager

  • 7/28/2019 Crime Reporter

    5/90

    5

    take up the responsibility to make system self organized and context aware.

    Augmented Reality and Scalable content OpenGL, Linux kernel and proven

    driver model of Linux makes it possible to implement such applications.

    Implicit Interaction: Location Manager, and Linux driver model makes it possible

    for system to interact implicitly with user

    Task-based Interaction: Notification Manager, Activity Manager makes task

    based interaction possible.

    2.3 Android Architecture

    Figure 1: android architecture

  • 7/28/2019 Crime Reporter

    6/90

    6

    2.4 Survivability

    Android has achieved the survivability by protection mechanism in itself, since the

    architecture is based on LINUX; which has over the time, proven itself to be among the

    league of secure operating systems. So at the bottom level SELINUX is taking care

    of operating system level security. However, the intercommunication security has

    been achieved by building in the SSL component. By using more secure

    communication mechanisms the two devices

    communicating via any device driver in kernel can use the security mechanisms

    to ensure that there is no intrusion in the system. By restricting invalid or

    unknown intrusion from any entity the system has made itself secure at operating

    system level and communication level as well.

    2.5 Component Types

    Android defines four component types:

    Activity components define an applications user interface.

    Service components perform background processing.

    Content provider components store and share data using a relational

    database interface. Each content provider has an associated authority

    describing the content it contains.

    Broadcast receiver components act as mailboxes for messages

    from other applications.

  • 7/28/2019 Crime Reporter

    7/90

    7

    2.6 Literature Survey

    The current technology for surveillance in public places that is being widely used is

    Closed Circuit Televisions (CCTVs). This technology has found its use in widespread

    public locales such as buildings, malls, shops, office buildings, etc. This technology can,

    in some ways be compared to our target system with some glaring differences. For

    example, the basic cost of a single CCTV camera unit ranges from anywhere between

    Rs.850 and Rs.70000. thus it is rather expensive to install and maintain such cameras

    in all the nooks and corners of a city as large as Pune. Another problem with such

    cameras is detecting a red flag (a breach of security) will entail the monitoring of all

    such cameras throughout the day. On the other hand, with the steep advent in the smart

    phone market, the price of the technology is falling everyday and affording a phoneequipped with Android OS (compulsory for using the suggested system) is becoming

    more and more possible for the general public. Also, in the case of organized crime,

    CCTV cameras can be easily manipulated, and sometimes, more easily disabled by

    snipping some wire. The response time for crimes in shops etc, depends on the

    technology used in the CCTV camera, with some having live streaming features, but

    most, due to financial problems, recording to a personal hard disk which can, as we

    know, be manipulated easily. Also, for now, the criminals fear only the designated

    enforcers of law, like the Police. However this technology being provided to the general

    public will make the criminals look over their shoulder more often and fear people from

    the general public as well. This can only improve the assurance among the general

    public while doing otherwise to that of the potential criminals. The pros and cons in this

    comparison are many but it is our belief that with criminals becoming more and more

    technologically aware, the security measures taken to prevent such crimes need to be

    new and innovative and constantly surprising the criminals or scaring away potential

    criminals to be effective in their primary aim.

  • 7/28/2019 Crime Reporter

    8/90

    8

    Following are some softwares which are available in the market based on similar

    concept as Crime Reporter:

    1. CRUSH

    Reduction Utilizing Statistical Criminal History (Crush), an IBM

    software technology which is now used by British police to predict future crimes, any

    preventive action. Systems of this technologyto evaluate past and current events, and

    then combine that information with a variety of data including crime

    reports, intelligence briefings, profiles of actors, even the weather forecast. Through

    data collection from the police's, Crush software technology will predict data based on

    past and present. The result will be obtained which can predict the crime report. These

    data not only based on the type and location of crime incidents, but also based on time

    such as hours and certain days.

    Software technologyhas this crush tested in Memphis, Tennessee. The result, overall

    crime can be reduced by approximately 31%, while the physical crime around 15%.

    Investment making this software alone reached U.S. $ 11 billion.

    2. SPOTCRIME

    At SpotCrime, we often request data from police departments that have purchased

    crime mapping systems. Ostensibly, these crime maps displayed on the Internet are

    intended to distribute crime information to the public, but at this current time, almost

    every vendor that is contracted to map crime puts restrictions on access. When we

    inform the police department that there are restrictions on access, about 50% of the

    time we find out that the department was not aware their vendor had restrictions

    preventing the press from republishing data. A good majority of the time, we are able to

    access the data directly from the records system.

    The other 50% of departments abdicate responsibility to the vendor as if they are not

  • 7/28/2019 Crime Reporter

    9/90

    9

    responsible for the vendor they have contracted with to deliver public information.

    Forgive the pun, but this is a cop out. If you are contracting with a company to deliver

    public information to the public, shouldn't you be responsible for the vendor that puts

    restrictions on what the public can and can't do with the data? And since the rules of

    access are lengthy, why doesn't any police department take the time to discuss the

    restrictions with the public when they send out releases about the new crime mapping

    system?

    Crime alert has taken motivation from the above products and is tring to built a system

    capable of using the features of spotcrime to show the crime areas to police instead of

    user and takes input from user instead of police. The future enhancement of this project

    could be similar to crush, thus predicting future crime spots using the data available in

    the database.

    3. WIKICRIMES.ORG

    WikiCrimes was founded by Professor Vasco Furtado of the University of Fortaleza.

    Professor Vasco took a look around him and realized, Brazil has a lot of crimes and little

    accountability. The police are generally feared or distrusted, and crime reporting is

    sparse, so access to data is hard to come by. Vasco designed the site with this

    unfortunate fact in mind, But he also relied on the realization that reports of crime are

    best spread by word of mouth. Using WikiCrimes is easy. Its essentially a wiki map.

    You can zoom in and put a marker on the Brazilian street you were robbed or you can

    simply take a look at where not to go the next time youre in Brazil. If you do the former,

    WikiCrimes will ask you to fill out a series of questions like if th e criminal was armed or

    not. So the next time youre robbed in Brazil, you know what to do.

    Crime Reporter is an application motivated from two of the above three web

    applications, i.e., Spotcrime and wikicrimes. To make this application handy, it is made

    as a mobile application instead of web application. Unlike spotcrime, crime reporter

  • 7/28/2019 Crime Reporter

    10/90

    10

    shows a crime map to the police department instead of citizens. In wikicrimes.org,

    people send a detailed description of crime that they witness to the server. Thus in the

    same way in Crime Reporter, people send description of the witnessed crime to the

    server (owned by police department), in the form of a picture along with the details of

    time and place. What makes it different from wikicrimes is that, it is handy and sends

    message to the police in a very speedy manner so that they can come to the crime spot

    as soon as possible.

  • 7/28/2019 Crime Reporter

    11/90

    11

    CHAPTER 3

    PROJECT PLAN

    No matter how carefully you plan your goals they will never be more than pipe dreams

    unless you pursue them with gusto.

  • 7/28/2019 Crime Reporter

    12/90

    12

    3. Project Plan

    3.1 Purpose

    Crime goes under-reported all around the world. There are many reasons for it. For

    instance, many times the victims and witnesses are afraid that the offender will come

    after them, seeking revenge or the police would involve them too much into

    investigation. Other times the witnesses are too lazy to go up to the police station to

    report crime. So this application is designed for such people who are afraid and lazy.

    The current technology for surveillance in public places that is being widely used is

    Closed Circuit Televisions (CCTVs). This technology has found its use in widespread

    public locales such as buildings, malls, shops, office buildings, etc. This technology can,

    in some ways be compared to our target system with some glaring differences. For

    example, the basic cost of a single CCTV camera unit ranges from anywhere between

    Rs.850 and Rs.70000. thus it is rather expensive to install and maintain such cameras

    in all the nooks and corners of a city as large as Pune. Another problem with such

    cameras is detecting a red flag (a breach of security) will entail the monitoring of all

    such cameras throughout the day. On the other hand, with the steep advent in the smart

    phone market, the price of the technology is falling everyday and affording a phoneequipped with Android OS (compulsory for using the suggested system) is becoming

    more and more possible for the general public. Also, in the case of organized crime,

    CCTV cameras can be easily manipulated, and sometimes, more easily disabled by

    snipping some wire. The response time for crimes in shops etc, depends on the

    technology used in the CCTV camera, with some having live streaming features, but

    most, due to financial problems, recording to a personal hard disk which can, as we

    know, be manipulated easily. Also, for now, the criminals fear only the designated

    enforcers of law, like the Police.

    Taking the above mentioned problems into consideration, this system is built to help the

    police, citizens and the society. The system provides a complete solution for mobile

    users to make the society secure and safe using this mobile application. It takes an

  • 7/28/2019 Crime Reporter

    13/90

    13

    initiative for providing a facility to mobile users to report crime to the police at the time

    when it is happening and also informs them about location where it is going on without

    wasting any time.

    3.2 Project Scope

    The basic objectives of the project are:

    1. To enables customers to report crime scene from the spot without letting anyone

    know about it.

    2. Users do not have to take any more efforts other than capturing and sending a

    picture (with or without description), because the rest is taken care by the

    application, due to the GPS functionality which records the time and location

    while capturing the picture.

    3. It helps the Police department in their investigation because a snapshot of the

    crime can be a major evidence, thus, speeding up the whole process.

    4. Saves time because witness need not go to police station to report crime.

    5. The system is designed in such a way that it helps to secure users personal

    information. Their information would be revealed nowhere else other than theserver which is handled by the police department.

  • 7/28/2019 Crime Reporter

    14/90

    14

    The fulfillment of the objectives would lead to following benefits:

    1. Crimes can be reported by anyone using android phones from the crimes spot

    fearlessly.

    2. Police investigation will become a lot simpler due to the major evidence, i.e.,

    Snapshots.

    3. People will become more aware and responsible about reporting crime because

    what they need is just to click a photo and send.

    3.3 Feasibility Test

    Feasibility studies are preliminary investigations into the potential benefits associated

    with undertaking a specific activity or project. The main purpose of the feasibility study is

    to consider all factors associated with the project, and determine if the investment of

    time and other resources will yield a desirable result. While considered a preliminary

    study, it is not unusual for a feasibility study to be highly detailed.

    The feasibility study will also address costs and other factors that are indirectly

    associated with the project. In the instance of creating a new product for sale, this

    second phase will look into the costs associated with reaching and cultivating a

    consumer base for the new product. The overall idea of these preliminary studies is to

    ensure that there is a reasonable understanding of what will be required to both create

    the new product and also successfully market the finished goods at a profit.

    The utilization of a feasibility study has often assisted companies in understanding

    which projects to develop and which ones to abandon before investing resources insomething that ultimately shows no promise of generating revenue. Taking the time to

    engage in a pilot or feasibility study does involve some usage of available resources,

    but these costs are much more readily absorbed than the larger amount that would be

    expended on a project that ultimately proved to be worthless.

  • 7/28/2019 Crime Reporter

    15/90

    15

    Though the feasibility study cannot be focused on a single area some of the areas or

    analysis made in feasibility study is given below. But all the steps given below would not

    be followed by all system developed. The feasibility study varies based on the system

    that would be developed. Considering Crime Reporter, its feasibility study is mentioned

    below in the following points.

    1. Feasibility study is made on the system being developed to analyze whether the

    system development process require training of personnel. This help in designing

    training sessions as required in later stage. To design Crime Reporter, the

    developers need to have a core understanding of java and php. Also they should

    be familiar with the software called eclipse and android SDK and ADT manager.

    As the code is developed for android phone, thus, it has to be developed, tested,

    debugged and ran on android SDK manager. Developers familiar with eclipse

    would know that Eclipse has Android development tools plug-in, which makes it

    the perfect software to develop this system. It offers insight into the salient

    features of an Android app, along with a brief explanation of its basic

    components. The Android process is introduced for developing rich UIs for the

    apps, as widgets. Finally, it showcases how easy it is to test the developed app

    by deploying it on an Android device simulator included in the SDK.

    2. Is the system developed has scope for expanding or scope for switching to new

    technology later if needed in ease. In other study is made to find the portability of

    the system in future. Crime Reporter is presently made for Android mobile set,

    but it also can be developed further for other smart phones, blackberry, etc

    which does not use android.

    3. Is the cost of developing the system high or does it meet the budgeted costs. In

    other words an analysis is made on cost feasibility of the project. This helps in

    identifying whether the organization would meet the budgeted costs and also

    helps the organization in making earlier and effective plans for meeting extra

    costs because of the system development. Crime Reporter needs almost nil cost

  • 7/28/2019 Crime Reporter

    16/90

    16

    during the development. The cost that is involved while building this system is for

    the online hosting space, for server side coding, and one android handset for

    testing and debugging.

    4. Analysis is made on what software to use for developing the system. This study

    and analysis would help to choose the best implementation for system and the

    organization. This feasibility study includes factors like scalability, how to install,

    how to develop and so on. This feasibility study in short includes the analysis of

    technical areas. This analysis helps the efficiency of the system developed to get

    improved. This is because by choosing the correct technology by making

    analysis on the needs of system helps in improving the efficiency of the system.

    Android as a Ubiquitous System

    The primary principle behind all ubiquitous applications is to provide the users

    with intelligent learning systems that supplement their everyday activities. This is

    the primary consideration on which a ubiquitous application can be evaluated.

    Consider a world where desktop computers are replaced by embedded

    computers in typical physical objects, without interfering with the currentfunctionality of those objects. The requirements of a ubiquitous system have

    been classified in three categories: system, software, business and organization.

    System refers to the platform i.e. the hardware of the system, or the system

    running the subject software on top of it. The term software represents the

    services and the components of system that have been derived from the

    ubiquitous system. Business refers to the actors who are providing the

    components and services for the development of the system

  • 7/28/2019 Crime Reporter

    17/90

    17

    Feature Implementation in Android

    Interoperability: Content Provider handles it

    Heterogeneity: Core libraries and Android Runtime handle it. It also includes

    components like window manager, view systems, and telephony manager etc.

    Mobility Activity Manager handles it Survivability Survival by protection is

    achieved by Linux at core and SSL layer in middle-ware, giving an excellent

    security mechanism.

    Adaptability: Resource Manager and Package Manager provide the system

    with information to encourage reusability of components.

    Self-Organization: Notification Manager, XMPP Service and Location Manager

    take up the responsibility to make system self organized and context aware.

    Augmented Reality and Scalable content OpenGL, Linux kernel and proven

    driver model of Linux makes it possible to implement such applications.

    Implicit Interaction: Location Manager and Linux driver model makes it possible

    for system to interact implicitly with user

    Task-based Interaction: Notification Manager, Activity Manager makes

    task based interaction possible.

    Survivability

    Android has achieved the survivability by protection mechanism in itself, since

    the architecture is based on LINUX; which has over the time, proven it to be

    among the league of secure operating systems. So at the bottom level

    SELINUX is taking care of operating system level security. However, the

    intercommunication security has been achieved by building in the

  • 7/28/2019 Crime Reporter

    18/90

    18

    SSL component. By using more secure communication mechanisms the two

    devices communicating via any device driver in kernel can use the security

    mechanisms to ensure that there is no intrusion in the system. By

    restricting invalid or unknown intrusion from any entity the system has made

    itself secure at operating system level and communication level as well.

    Component Types

    Android defines four component types:

    Activity components define an applications user interface.

    Service components perform background processing.

    Content provider components store and share data using a relational

    database interface. Each content provider has an associated authority

    describing the content it contains.

    Broadcast receiver components act as mailboxes for messages

    from other applications.

    5. The above feasibilities are analysis which helps in development of the system.

    But the scope of feasibility study does not end with this. Analysis or feasibility

    study also includes the analysis of maintenance stage. In other words feasibility

    study is made to analyze how one would maintain the system during

    maintenance stage. This helps sin planning for this stage and also helps in risk

    analysis.

    3.4 Resources

    3.4.1 Resource Pyramid

    The second project planning task was the estimation of resources required to

    accomplish the software development effort. There are three tiers of the

    resources Human resources, reusable resources and hardware/ software tools.

  • 7/28/2019 Crime Reporter

    19/90

    19

    This formed a development environment consisting of hardware/software tools as

    base, reusable as middle tier and people as a primary resource at the top.

    3.4.2 Human Resources

    Planning began by scope and skills required to complete the development, Mona

    Mishra, Harshit Adichwal, our Internal guide, Prof. Mrs. S.R. Vij and our external

    guide, Mr. Gaurav Joshi as a team to develop this system. Following the

    guidelines provided by the internal guide and with her invaluable suggestions, the

    process of implementing the entire project and thereby aiming to complete the

    work by April 12.

    3.5 Estimation

    3.5.1 COCOMO Model

    This is a simple cost model for estimating the number of person-months required to

    develop software. The model also estimates the development schedule in months and

    produces an effort and schedule distribution by major phases. This model is based

    on Barry Boehm's Constructive Cost Model (COCOMO). This is the top-level model,

    Basic COCOMO, which is applicable to the large majority of software projects.

    Basic COCOMO is good for rough order of magnitude estimates of software costs, but

    its accuracy is necessarily limited because of its lack of factors to account for

    differences in hardware constraints, personnel quality and experience, use of modern

    tools and techniques, and other project attributes known to have a significant influence

    on costs.

    The model estimates cost using one of three different development modes: organic,

    semidetached and embedded. Here is a summary of how Boehm describes the modes:

  • 7/28/2019 Crime Reporter

    20/90

    20

    Organic

    In the organic mode, relatively small software teams develop software in a highly

    familiar, in-house environment. Most people connected with the project have extensive

    experience in working with related systems within the organization, and have a thoroughunderstanding of how the system under development will contribute to the organizations

    objectives. Very few organic-mode projects have developed products with more than 50

    thousand delivered source instructions (KDSI).

    Semidetached

    The semidetached mode of software development represents an intermediate stage

    between the organic and embedded modes. "Intermediate" may mean either of two

    things:

    1. An intermediate level of project characteristic.

    2. A mixture of the organic and embedded mode characteristics.

    The size range of a semidetached mode product generally extends up to 300 KDSI.

    Embedded

    The major distinguishing factor of an embedded-mode software project is a need to

    operate within tight constraints. The product must operate within (is embedded in) a

    strongly coupled complex of hardware, software, regulations, and operational

    procedures, such as an electronic funds transfer system or an air traffic control system.

  • 7/28/2019 Crime Reporter

    21/90

    21

    3.6 Schedule

    No. From. To. Task

    1 11 Aug 11 11 Aug 13 Discuss and decide the project domain

    2 11 Aug 14 11 Aug 25 Met with external guide and he suggested some

    of the constraint about our topic and also

    discussed our understanding of the topic

    3 11 Aug 26 11 Aug 27 Submitted our project synopsis to external

    guide

    4 11 Aug 27 11 Aug 29 Met the internal guide and told in brief about our

    project and submitted the synopsis

    5 11 Aug 30 11 Sep 05 Went through Ieee papers and did somebackground research( Literature Survey)

    6 11 Sep 06 11 Sep 12 Download and installation of android SDK and

    eclipse Plug-in

    7 11 Sep 13 11 Sep 20 Start of requirement gathering with the help of

    internal and external guides

    8 11 Sep 21 11 Sep 25 Worked on Software Requirement Analysis

    9 11 Sep 26 11 Oct 13 Drawing UML diagrams and also studied

    Android Programming by referring various

    tutorials

    10 11 Oct 14 11 Oct 20 Study sample code of camera and storage and

    tried to make new codes

    11 11 Oct 21 11 Oct 27 Complete the UML diagrams and high level, low

    level design documents and made interim

    report.

    12 12 Jan 06 12 Mar 30 Coding

    13 12 Mar 31 12 Apr 18 Testing

    Table 1: Project Timeline table (Date is written as Year_Month_Day)

  • 7/28/2019 Crime Reporter

    22/90

    22

    Figure 2: Timeline Chart

  • 7/28/2019 Crime Reporter

    23/90

    23

    3.7 Risk Management

    3.7.1 Introduction

    Risk analysis and management are a series of steps that help software team to

    understand and manage uncertainty. Many problems can plague a software project. A

    risk is a potential problem; it might or might not happen. But regardless of its outcome,

    its a good practice to identify it, access its probability of occurrences, estimate its

    impact and establish a contingency plan should the problem actually occur.

    For any project being developed, it is empirical for the team to monitor and manage

    risks. Risks are the unexpected delays and hindrances that are faced by the software

    team and needed to be actively managed for rapid development.

    The key functions of software management are to identify, address and estimate

    sources of risk before they become threat to successful completion of software project.

    An effective strategy must address three issues:

    o Risk avoidance

    o

    Risk monitoringo Risk management and contingency planning

    If a software team adopts a proactive approach to a risk, avoidance is the best strategy.

    This is achieved by developing a plan for risk mitigation. As the project proceeds, risk

    monitoring activities commence and the project manager provides factors that may

    indicate if the risk is becoming more or less likely. Risk management and contingency

    planning assumes that mitigation efforts have failed and the risk has become a reality.

    RMMM plan tackles risks through Risk assessment and risk control.

    Risk assessment involves Risk Identification, Risk Analysis and Risk Prioritization; while

    Risk control involves Risk Management planning. Risk Resolution and Risk Monitoring.

  • 7/28/2019 Crime Reporter

    24/90

    24

    3.7.2 Risk Assessment

    Risk Identification

    Our development team identified 20 potential risks to the project. These risks were

    analyzed and were classified into various categories depending upon the threats

    they posed to the project. Some of these risks were generic risks while others were

    product specific risks. A considerable amount of time was spent in analyzing the

    product specific risks.

    Risk Analysis

    These risks were analyzed individually and came up with a classification of risk onthe basis of their impact on project schedule. These risks were rated as follows:

    Catastrophic

    Critical

    Marginal

    Negligible

    Risk PrioritizationAfter analyzing the risks, the risks were prioritized based on the review and

    consensus among the developers.

    Risk Control

    After the risks had been categorized, prioritized and their probability of occurrences

    determined, action will be taken to control these risks, which involved mitigating and

    monitoring these risks. The key steps for risk control are as follows:

    1. Stricter Completion Deadline

    2. Wrong estimate on size and effort

  • 7/28/2019 Crime Reporter

    25/90

    25

    3. Overly optimistic schedule

    4. Lower reuse of code than expected

    5. Lack of training on technology and tools

    6. Developers work slower than expected

    7. Increase on workload on developers and hence divided attention on project

    8. Lack of Software resources

    9. Developers assignments do not match their strengths

    10. Lack of rapport among project team members

    11. Change of technical guide

    12. Inexperience in project software environment

    13. Inexperience in programming language

    14. Lack of technical support on unforeseen environment

    15. Schedule omits necessary tasks

    16. Requirements keep changing

    17. Design neglects major issues resulting in redesign of certain components

    18. Technology does not match expectation

    19. Larger number of users accessing the server simultaneously

    20. Error prone modules require more testing and implementation work

  • 7/28/2019 Crime Reporter

    26/90

    26

    Risk Category Probability Impact RMMM

    Working with unfamiliar

    implementation

    software

    Technology risk Moderate Incorporate the

    learning time in the

    schedule

    Crowded, noisy and

    disruptive working

    environment

    Development

    environment risk

    Marginal Avoid crowded

    workplaces

    Unable to complete the

    project tasks in the

    stipulated time

    Project size risk Critical Follow the

    schedule

    Slow progress due to

    changing demands

    Policy risks Moderate Keep the project

    structure as

    flexible as possible

    Loss of technical

    support

    Policy risk Critical Try out other

    sources for

    support

    Table 2: Project Risk Table

  • 7/28/2019 Crime Reporter

    27/90

    27

    3.8 RMMM Plan

    1. Stricter Completion Deadline

    Risk mitigation:

    Schedule the project in such a fashion that major modules (authentication,

    sending a picture and showing location on the map) are completed first so that

    they get enough time for testing and debugging.

    Follow an incremental model of software development.

    Risk Monitoring and Management:

    Keep track of schedule slips.

    Put in extra hours to make up for the lost hours.

    2. Wrong estimation on size and effort

    Risk Mitigation:

    Qualify the size and schedule using ranges, so that the schedule estimate is not

    treated as very precise and gives sufficient padding for schedule estimates.

    Risk Monitoring and Management:

    Keep a track of the project by lines of code and complexity.

    Keep track on the number of man hours spent.

    Modify the estimates as the project develops and it becomes clearer as the

    development phase progresses.

    3. Overly optimistic schedule

    Risk Mitigation:

    Use available estimation tools to find the rough schedule estimate.

    Have best case, worst case and average case times on each project activity.

    This would give an idea on the confidence factor on estimates.

  • 7/28/2019 Crime Reporter

    28/90

    28

    Risk Monitoring and Management:

    Keep track of schedule slips.

    Modify the estimates as the project develops and it becomes clearer as the

    development phase progress.

    4. Lower reuse of code than expected

    Risk Mitigation:

    Design modules in such a way that code reuse are maximized.

    Risk Monitoring and Management:

    Consult guide and developers for suggestion on code reuse.

    If code reuse is less than expected then modify the design appropriately.

    5. Lack of training on technology and tools

    Risk Mitigation:

    Given enough time to learn all the technologies required before actual coding

    starts.

    Develop sample applications using these technologies.

    Risk Monitoring and Management:

    Consult technical guide in case of any problem.

    6. Developers work slower than expected

    Risk Mitigation:

    Prepare a detailed completion schedule keeping short-term deadlines.

    Review and keep log of the work done by each developer daily.

  • 7/28/2019 Crime Reporter

    29/90

    29

    Risk Monitoring and Management:

    See to it that the set deadlines are followed strictly.

    7. Increase on workload on developers and hence divided attention on project.

    Risk Mitigation:

    Schedule some simpler tasks related to project during this time.

    Increase efficiency of work.

    Risk Monitoring and Management:

    Try to decrease the other workload as soon as possible.

    8. Developers assignments do not match their strengths

    Risk Mitigation:

    Involve all the team members in a joint assignment to nurture understanding

    among team members and to test and understand the interests and expertise of

    the developers.

    Involve more than one developer in each task, so that at least one could continue

    the work, if the other is unable to perform satisfactorily.

    Risk Monitoring and Management:

    Perform regular reviews to check that the productivity is high and all developers

    are suitable and equally loaded.

    If a developer is unable to perform to the desired standards, reassign the task to

    another developer.

    Reschedule the planner to balance the workload.

  • 7/28/2019 Crime Reporter

    30/90

    30

    9. Lack of rapport among project team members

    Risk Mitigation:

    Involve all the team members in a joint assignment to nurture the understanding

    among team members and to test and understand the interests and experience

    and expertise of the developers.

    Occasionally have outings together to understand each other better.

    Discuss each others problems and try to solve them through mutual consensus.

    Risk Monitoring and Management:

    Review each others work every time when any of the members comes with

    something productive.

    In case of misunderstanding try to resolve the matter as soon as possible so that

    it doesnt hamper the project deadline.

    10. Inexperience in project software environment

    Risk Mitigation:

    Try to adapt to new project software environment.

    Risk Monitoring and Management:

    Consult the people working in this environment in case of any problems.

    11. Inexperience in programming languages

    Risk Mitigation

    Learn required programming thoroughly before starting with the coding.

    Make coding of simple applications using the new programming languages.

    Risk Monitoring and Management:

    Consult the people working in this environment in case of any difficulties.

  • 7/28/2019 Crime Reporter

    31/90

    31

    12. Lack of technical support on unforeseen environment

    Risk Mitigation:

    Design a very user-friendly user interface.

    Provide help to help users navigate through the system.

    13. Requirements keep changing

    Risk Mitigation:

    Study techniques in detail and come up with the comprehensive and detailed list

    of the requirements.

    Understand the problem definition precisely so that there is a smaller probability

    of change later.

    Risk Monitoring and Management:

    Keep a track of the progress and check if something had been forgotten when

    the requirements were laid down.

    In case of change of requirement, follow a reverse engineering approach so that

    the change reflects in all the work performed till date.

    14. Schedule omits necessary tasks

    Risk Mitigation:

    Prepare schedule that prioritizes the tasks according to importance and workflow.

    See to it that tasks are completed within their deadlines.

    Risk Monitoring and Management:

    Get the schedule reviewed from the guide from time to time.

  • 7/28/2019 Crime Reporter

    32/90

    32

    15. Design neglects major issues resulting in redesign of certain components

    Risk Mitigation:

    Prepare a detailed design document.

    Get the design approved from the external guide.

    Risk Monitoring and Management:

    Follow the design document when designing the classes.

    16. Technology does not meet expectation

    Risk Mitigation:

    Keep a track of the code to be changed which changes with the change in

    version of some software.

    Keep the code compatible to change in versions as far as possible.

    Risk Monitoring and Management:

    Check regularly for change in the version of the software being used.

    17. Error prone modules require more testing and implementation work

    Risk Mitigation:

    Keep a fixed date for the first prototype to enter the testing phase.

    Risk Monitoring and Management:

    Design the test cases as an umbrella activity.

    In case the code is reused, go through the documentation and consider the side

    effects due to coupling among modules.

  • 7/28/2019 Crime Reporter

    33/90

    33

    3.9 SQA Plan

    3.9.1 Introduction

    The Software Quality Assurance Plan provides a road map for instituting software

    quality assurance. It serves as a template for SQA activities.

    3.9.2 Documentation

    This section lists the documents that are produced as a part of software process:

    Project Documents:

    Software Quality Assurance Plan

    Risk Mitigation, Monitoring and Management Plan

    Project Plan

    Technical Documents:

    Software Requirements Specification

    Software Design Document

    Software Test PlanUser Document:

    User document implies the document provided to the user. It contains the

    information about how to use the system.

    3.9.3 Audits and Reviews

    Software reviews are taken as a filter for the software engineering process of MITCOLat various points during development and errors and defects are removed. A review is a

    way of using the diversity of a group of people to point out needed improvements in the

    product. It helps in achieving technical work of more uniform quality. We use Formal

    Technical Review (FTR) as a reviewing technique.

  • 7/28/2019 Crime Reporter

    34/90

    34

    Reviews and audits are performed in order to:

    Observe different approaches to software analysis, design and implementation.

    Uncover errors in function, logic or implementation of java coding.

    To ensure that the software has been represented according to predefinedstandards.

    To develop the software in uniform manner.

    To make the project more manageable.

    3.9.3 Standardization

    Document Standards

    Text font size: 12

    Text font: Arial

    Title font size: 14

    Justified, with page numbers center printed.

    Coding standards

    Code should ensure minimum database access, and at the same time avoid

    unnecessary replacing of data in the systems environment.

    Emphasis should be given on modularity and reusability.

    All function names should follow a uniform pattern.

  • 7/28/2019 Crime Reporter

    35/90

    35

    CHAPTER 4

    SOFTWARE REQUIREMENT SPECIFICATION

    The most difficult part of requirements gathering is not the act of recording what the

    user wants, it is the exploratory development activity of helping users figure out what

    they want.

  • 7/28/2019 Crime Reporter

    36/90

    36

    4.1 Introduction

    Software is a part of a larger system. Work begins by establishing requirements of the

    software. The system view is essential when software must interact with other elements

    such as Hardware, people and database. System Engineering and analysis encompass

    requirement gathering at the system level with a small amount of top-level design and

    analysis.

    Software requirement analysis may be divided into 5 areas of effort:

    a) Problem recognition.

    b) Evaluation and synthesis

    c) Modeling

    d) Specifications

    e) Review

    With lots of discussion with the company people, we try to understand depth of project.

    As problem evaluation and synthesis is an important area, we have defined all

    externally observable data objects and decided flow and contents of information.

    4.2 Purpose

    This SRS describe the basic information about Crime Reporter. Primary users of this

    SRS are Developers, Stakeholders and Testers.

  • 7/28/2019 Crime Reporter

    37/90

    37

    4.3 Scope in detail

    The basic objectives of the project are:

    1. To enable customers to report crime scene from the spot.

    2. To enable users to also mention the location of crime scene using GPS

    technology.

    3. To help Police in their investigation.

    4. Saves time because witness need not go to police station to report crime.

    5. To allow users to view the details of all the crimes they have reported in the form

    of history.

    6. To develop a system that would secure customers personal information.7. The police administration would have access to the server via a username and

    password.

    8. It would be easier for police administration to locate crime spot as it would be

    visible on the server in the form of a map.

    The fulfillment of the objectives would lead to following benefits:

    1. Crimes can be reported by anyone using android phones from the crimes spot.2. Police investigation will become a lot simpler.

    3. People will become more aware and responsible about reporting crime because

    what they need is just to click a photo and send.

  • 7/28/2019 Crime Reporter

    38/90

    38

    4.4 Overall Description

    4.4.1 User Characteristics

    Mobile applications strongly require a clear understanding of the motivations and

    circumstances surrounding mobile device use and adoption from the perspective of the

    consumers. In particular, culture is an important determinant of mobile device use and

    adoption since different cultures developed different traditions for mobile services use.

    For instance, people in Japan use a mobile to surf the web, making more surfing on

    mobiles than on PCs.

    This means that investigation into characteristics of prospective users, contexts of use

    and technology adoption factors must be a starting point in developing mobile

    applications for such a complex and specific task as Crime Reporter.

    This section describes various user classes that according to our anticipation will use

    this system. The main characteristic of each class is given below:

    Standard Users

    These users are the one targeted by the final release of the Crime Reporter. They are in

    possession of an mobile device running the Androidplatform and use it in case of an

    emergency (911 emergency). We expect their number to be quite important once this

    Androidbased system will be released.

    Police Administration

    These users are familiar with the Crime Reporter and they will be assigned a specific

    number of usernames and passwords to access it. They will primarily use this

    application to view the areas where crimes are going on and will act accordingly. These

    would be the second users of the Crime Reportersince the release of Crime Reporter.

  • 7/28/2019 Crime Reporter

    39/90

    39

    4.4.2 Operating Environment

    The operating system at client side would be a mobile device with android 2.2 or above

    with camera and GPS functionality embedded in it. While on the server side operating

    system should be windows 98 and above, Linux and Mac OSX. The system must befully compatible with all the major browsers such as Netscape navigator, internet

    explorer, Google chrome etc.

    4.5 External Interfaces Required

    4.5.1 Hardware Requirement:

    A server machine is needed, that is capable of running a web server. There are no

    hardware requirements for running the application because the user cannot customize

    the hardware. For running the software, they will have to visit their mobile carrier buy a

    device running Android 2.2 or higher and has camera and GPS embedded in it.

    4.5.2 Software Requirement:

    The sections below describes the system and software requirements for

    developing Android applications using the Android Development Tools

    Supported Operating Systems

    Windows XP (32-bit) or Vista (32- or 64-bit)

    Mac OS X 10.4.8 or later (x86 only)

    Linux (tested on Linux Ubuntu Hardy Heron)

    o 64-bit distributions must be capable of running 32-bit applications.

    For information about how to add support for 32-bit applications, see

    the Ubuntu Linux installation notes.

  • 7/28/2019 Crime Reporter

    40/90

    40

    Supported Development Environments

    Eclipse IDE

    o Eclipse 3.4 (Ganymede) or 3.5 (Galileo)

    Recommended Eclipse IDE packages: Eclipse IDE for Java EE

    Developers, Eclipse IDE for Java Developers, Eclipse for

    RCP/Plug-in

    Developers, or Eclipse Classic (3.5.1+)

    Eclipse JDT plug-in (included in most Eclipse IDE packages)

    o JDK 5 or JDK 6 (JRE alone is not sufficient)

    o Android Development Tools plug-in (optional)

    o Not compatible with Gnu Compiler for Java (gcj)

    Other development environments or IDEs

    o JDK 5 or JDK 6 (JRE alone is not sufficient)

    o Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows

    o Not compatible with Gnu Compiler for Java (gcj)

    If JDK is already installed on your development computer, it should meet the version

    requirements listed above. In particular, some Linux distributions may include JDK 1.4

    or Gnu Compiler for Java, both of which are not supported for Android development.

    4.5.3 Technology Used:

    The service can be integrated into a system that uses GPS GPRS and GSM

    technologies. It can be used with only android phones as it uses android technology, i.e.

    Android 2.2 or higher.

    4.5.4 Function Point calculation

    The function point method was originally developed by Bij Albrecht. A function point is a

    rough estimate of a unit of delivered functionality of a software project. Function points

    (FP) measure size in terms of the amount of functionality in a system. Function points

  • 7/28/2019 Crime Reporter

    41/90

    41

    are computed by first calculating an unadjusted function point count (UFC). Counts are

    made for the following categories

    1. Number of user inputs = 21

    Each user input that provides distinct application oriented data to the software is

    counted.

    2. Number of user outputs = 12

    Each user output that provides application oriented information to the user is counted. Inthis context "output" refers to reports, screens, error messages, etc. Individual data

    items within a report are not counted separately.

    3. Number of user inquiries = 7

    An inquiry is defined as an on-line input that results in the generation of some

    immediate software response in the form of an on-line output. Each distinct inquiry is

    counted.

    4. Number of files = 18

    Each logical master file is counted.

    5. Number of external interfaces = 6

    All machine-readable interfaces that are used to transmit information to another system

    are counted.

  • 7/28/2019 Crime Reporter

    42/90

    42

    Once this data has been collected, a complexity rating is associated with each count

    according to Table

    Measurement parameter Weighting factor

    Count Simple Average Complex Total Count

    Number of user input 12 x 4 4 5 48

    Number of user output 9 x 4 5 7 36

    Number of user inquiries 5 x 3 4 6 15

    Number of files 18 x 7 10 15 180

    Number of external interfaces. 6 x 5 7 10 30

    309

    Table 3: Function point complexity weights

    Each count is multiplied by its corresponding complexity weight and the results are

    summed to provide the UFC. The adjusted function point count (FP) is calculated by

    multiplying the UFC by a technical complexity factor (TCF) also referred to as Value

    Adjustment Factor (VAF). Components of the TCF are listed in Table 2

    F1 Reliable back-up and recovery F2 Data communications

    F3 Distributed functions F4 Performance

    F5 Heavily used configuration F6 Online data entry

    F7 Operational ease F8 Online update

    F9 Complex interface F10 Complex processing

    F11 Reusability F12 Installation ease

    F13 Multiple sites F14 Facilitate change

    Table 4: Components of the technical complexity factor

  • 7/28/2019 Crime Reporter

    43/90

    43

    Alternatively the following question could be utilized

    a. Does the system require reliable backup and recovery?

    3

    b. Are data communications required?

    5

    c. Are there distributed processing functions?

    2

    d. Is performance critical?

    5

    e. Will the system run in an existing, heavily utilized operational environment?

    4

    f. Does the system require on-line data entry?

    2

    g. Does the on-line data entry require the input transaction to be built over multiple

    screens or operations? 0

    h. Are the master files updated online?

    3

    i. Are the input, outputs, files or inquiries complex?

    3

    j. Is the internal processing complex?

    3

    k. Is the code designed to be reusable?

    4

  • 7/28/2019 Crime Reporter

    44/90

    44

    l. Are conversions and installation included in the design?

    4

    m. Is the system designed for multiple installations in different organizations?

    4

    n. Is the applications designed to facilitate change and ease of use?

    5

    Each component is rated from 0 to 5, where 0 means the component has no influence

    on the system and 5 means the component is essential (Pressman, 1997). The VAF can

    then be calculated as:

    VAF= 0.65 + (Sum of GSCs x 0.01)Where, Sum of GSCs = SUM (Fi)

    = 0.65 + (47 x 0.01)

    =1.12

    The factor varies from 0.65 (if each Fi is set to 0) to 1.35 (if each Fi is set to 5) (Fenton,

    1997). The final function point calculation is:

    Final Adjusted FP = UFC x VAF

    = 309 x 1.12

    = 346.08

  • 7/28/2019 Crime Reporter

    45/90

    45

    CHAPTER 5

    DESIGN SPECIFIACTION

    Design is not just what it looks like and feels like. Design is how it works.

    5. Design Specification

    5.1 Mathematical Analysis of Global Positioning System

    The idea behind GPS is rather simple. If the distances from a point on the Earth (a GPS

    receiver) to three GPS satellites are known along with the satellite locations, then the

    location of the point (or receiver) can be determined by simply applying the well-known

  • 7/28/2019 Crime Reporter

    46/90

    46

    concept of resection. Now arises a question on how we can get the distances to the

    satellites as well as the satellite locations?

    5.1.1 Introduction

    As mentioned before, each GPS satellite continuously transmits a microwave radio

    signal composed of two carriers, two codes, and a navigation message. When a GPS

    receiver is switched on, it will pick up the GPS signal through the receiver antenna.

    Once the receiver acquires the GPS signal, it will process it using its built-in software.

    The partial outcome of the signal processing insists of the distances to the GPS

    satellites through the digital codes (known as the pseudo ranges) and the satellite

    coordinates through the navigation message.

    Theoretically, only three distances to three simultaneously tracked satellites are

    needed. In this case, the receiver would be located at the intersection of three spheres;

    each has a radius of one receiver-satellite distance and is centered on that particular

    satellite . However from the practical point of view, a fourth satellite needed to account

    for the receiver clock offset

    5.1.2 Numerical Expression of the Coordinates

    The launching over the last three decade of the so-called geosynchronous satellites(i.e., satellites located at a fixed point above the surface of the earth) has made it

    possible to determine tracking signal position anywhere on earth. This is done by

    measuring the time it takes for a signal to travel between the observer and any satellite

    and translating it into distance between the two. To exact the desired coordinates of the

    observer from these measurements, we construct a sphere of radius ri about each of

    four satellites. The equations

    These spheres are given by:

  • 7/28/2019 Crime Reporter

    47/90

    47

    Where xi, yi, zi are the known coordinates of the satellites in the space and x, y, z are

    the unknown coordinate of the observer on the earth as shown. We now subtract the

    first of these equations from each of the three. This eliminates quadratic terms in x, y, z

    and leads to the following set of non homogeneous linear equation in x, y, z:

    Figure 3:-Satellite and Observer in the Global Positioning System

  • 7/28/2019 Crime Reporter

    48/90

    48

    This system can be solved by either Mathematica or Matlab containing package for

    Gaussian elimination.

    Let us consider an actual numerical example. Assuming that the coordinate of the

    satellites with respect to a chosen point on the earth are given by the following values(in meters):

    Suppose that in addition the distances registered by the GPS devices are given by:

    Using the Gaussian Elimination to solve the system (S), the following results are

    obtained:

    These are the coordinates of the observer with respect to a fixed known origin on earth.

    Hence we have here the application of simple expressions drawn from the analytical

    geometry of sphere and the elementary use of Gaussian elimination to arrive at the

    solution of a problem of some sophistication.

    5.1.3 Numerical Solution Using Mathematics

    The computer output obtained in connection with the above problem is as follow:

  • 7/28/2019 Crime Reporter

    49/90

    49

    GPS

    The 3-dimensional coordinates of each satellite are the following:

    x1 := 2088202.299

    y1 := -11757191.370

    z1 := 25391471.881

    x2 := 11092568.240

    y2 := -14198201.090

    z2 := 21471165.950

    x3 := 35606984.591

    y3 := -4447027.239

    z3 := 9101378.572

    x4 := 3966929.048

    y4 := 7362851.831

    z4 := 26388447.172

    The distances registered in the GPS device are:

    r1 := 23204698.51

    r2 := 21585835.37

    r3 := 31364260.01

    r4 := 24966798.73

  • 7/28/2019 Crime Reporter

    50/90

    50

    eqn1 := 2(x2-x1)x + 2(y2-y1)y + 2(z2-z1)z=r1^2-r2^2-x1^2+x2^2

    eqn2 := 2(x3-x1)x + 2(y3-y1)y + 2(z3-z1)z=r1^2-r3^2-x1^2+x3^2

    eqn3 := 2(x4-x1)x + 2(y4-y1)y + 2(z4-z1)z=r1^2-r4^2-x1^2+x4^2

    In[721] := Solve [{eqn1, eqn2, eqn3}, {x,y,z}]

    Out[721] = {{x --> -3.0168*10^6, y --> 7231.03, z --> -3.13188*10^7}}

    The striking feature in this output is the terseness of the statement implementing the

    solution. The bulk of the output is taken up with the description of the system to be

    solved and listing of the numerical coefficients of the equations involved.

    Implementation takes only two lines and is obtained with the command In[721], where

    Solve is the code for the Gaussian elimination routine and the Out[721] is the result of

    its application. It is worth mentioning here that the entire procedure is thus hidden in a

    "black box," which can be cracked open to provide more solution details, albeit at the

    cost of some additional effort. Black boxes containing standard AE or ODE solution

    methods often run to several hundred pages of instructions or more, which typical user

    never sees. The practical implementation of the GPS had to await the deployment of

    geosynchronous satellite and the hardware needed to reduce compact GPS devices,

    which can now be installed in automobiles. It is worth mentioning here that three

    equation (i.e., the use of only three satellites in our case given that many can be

    involved) would have been sufficient to calculate the Coordinates x, y, z of the observer.

    In practice problem when many satellites come into play. Hence, this algorithm could be

    used to solve the problem in such situation.

    5.2 UML Diagrams

    5.2.1 Use Case Diagram

  • 7/28/2019 Crime Reporter

    51/90

    51

    Use case diagrams overview the usage requirements for a system. They are useful for

    presentations to management and/or project stakeholders, but for actual development,

    use cases provide significantly more value.

    Use case diagrams depict:

    4. Use cases. A use case describes a sequence of actions that provide something

    of measurable value to an actor and is drawn as a horizontal ellipse.

    5. Actors. An actor is a person, organization, or external system that plays a role in

    one or more interactions with your system. Actors are drawn as stick figures.

    6. Associations. Associations between actors and use cases are indicated in use

    case diagrams by solid lines. An association exists whenever an actor is involvedwith an interaction described by a use case.

    7. Packages (optional). Packages are UML constructs that enable you to organize

    model elements (such as use cases) into groups. Packages are depicted as file

    folders and can be used on any of the UML diagrams, including both use case

    diagrams and class diagrams

    Figure 4: use case 1

    http://www.agilemodeling.com/artifacts/systemUseCase.htmhttp://www.agilemodeling.com/artifacts/systemUseCase.htm
  • 7/28/2019 Crime Reporter

    52/90

    52

    Figure 5: use case 2

  • 7/28/2019 Crime Reporter

    53/90

    53

    5.2.2 Activity Diagram

    Activity diagrams are typically used for business process modeling, for modeling the

    logic captured by a single use case or usage scenario, or for modeling the detailed logic

    of a business rule. Although UML activity diagrams could potentially model the internal

    logic of a complex operation it would be far better to simply rewrite the operation so that

    it is simple enough that you dont require an activity diagram. In many ways UML activity

    diagrams are the object-oriented equivalent offlow charts and data flow diagrams

    (DFDs) from structured development.

    http://www.agilemodeling.com/artifacts/systemUseCase.htmhttp://www.agilemodeling.com/artifacts/businessRule.htmhttp://www.agilemodeling.com/artifacts/flowChart.htmhttp://www.agilemodeling.com/artifacts/dataFlowDiagram.htmhttp://www.agilemodeling.com/artifacts/dataFlowDiagram.htmhttp://www.agilemodeling.com/artifacts/dataFlowDiagram.htmhttp://www.agilemodeling.com/artifacts/dataFlowDiagram.htmhttp://www.agilemodeling.com/artifacts/flowChart.htmhttp://www.agilemodeling.com/artifacts/businessRule.htmhttp://www.agilemodeling.com/artifacts/systemUseCase.htm
  • 7/28/2019 Crime Reporter

    54/90

    54

    Figure 6: Activity Diagram

  • 7/28/2019 Crime Reporter

    55/90

    55

    5.2.3 Class Diagram

    The purpose of a class diagram is to depict the classes within a model. In an object

    oriented application, classes have attributes (member variables), operations (member

    functions) and relationships with other classes. The UML class diagram can depict all

    these things quite easily. The fundamental element of the class diagram is an icon the

    represents a class.

    Figure 7: Class Diagram

    5.2.4 Sequence Diagram

    A fundamental goal of UML is to allow users to capture more than just structural

    relationships. UML is intended to capture processes and flows of events. Sequence

    diagrams draw from nearly every other facet of the language to put together a set of

    diagrams that capture communications between objects.

  • 7/28/2019 Crime Reporter

    56/90

    56

  • 7/28/2019 Crime Reporter

    57/90

    57

    5.2.5 State Diagram

    Derived using sequence and class diagram. It shows the transition of one state into

    another.

    Figure 9 : State Diagram

  • 7/28/2019 Crime Reporter

    58/90

    58

    5.2.6 Package Diagram

    Packages provide a way to group related UML elements and scope their names. For

    example, you can put all elements having to do with 3D rendering into a package

    named 3DGraphics. Package diagrams provide a great way to visualize dependencies

    between parts of your system and are often used to look for problems or determine

    compilation order.

    Figure 10: Package Diagram

  • 7/28/2019 Crime Reporter

    59/90

    59

    5.2.7 Component Diagram

    When modeling large software systems it is common to break the software into

    manageable subsystems. UML provides the component classifier for exactly this

    purpose. A component is a replaceable, executable piece of a larger system whose

    implementation details are hidden. The functionality provided by a component is

    specified by a set of provided interfaces that the component realizes. In addition to

    providing interfaces, a component may require interfaces in order to function. These are

    called required interfaces.

    Figure 11: Component Diagram

  • 7/28/2019 Crime Reporter

    60/90

    60

    5.2.8 Deployment Diagram

    Deployment diagrams are used to visualize the topology of the physical components of

    a system where the software components are deployed. So deployment diagrams are

    used to describe the static deployment view of a system. Deployment diagrams consist

    of nodes and their relationships.

    Figure 12: Deployment Diagram

  • 7/28/2019 Crime Reporter

    61/90

    61

    CHAPTER 6CODING

    The first 90 percent of the code accounts for the first 90 percent of the developmenttimeThe remaining 10 percent of the code accounts for the other 90 percent of the

    development time.

  • 7/28/2019 Crime Reporter

    62/90

    62

    6.1 Code Specification

    The project has been developed using Java and PHP. The software that is used is

    Eclipse and Android SDK. Android has many amazing and unique features that are of

    significance to developers and users alike, some of which are:

    Application Framework that enables reuse and replacement of components

    Optimized Graphics that is powered by customized 2D graphics library and 3D

    graphics based on the OpenGL ES 1.0 specification

    Media Support for common video, audio, and still image formats (MPEG4, H.264,

    MP3, AAC, AMR, JPG, PNG, GIF)

    Provision of Wi-Fi

    SQLite for structured data storage

    Open source WebKit engine based integrated web browser

    Camera, GPS.

    GSM Telephony

    Dalvik virtual machine optimised for mobile devices

    Rich Development environment that includes a device emulator, debugging tools,

    performance and memory profiling and an Eclipse IDE plugin.

    Google Android will be available with a host of features that includes a web browser,

    email client, calendar, contacts, SMS feature, maps and others. All the Google Android

    applications are written in Java and run on Dalvik virtual machine, which itself functions

    on top of a Linux kernel.

    With the above mentioned features and many more features of android, developers can

    get complete access to the identical framework APIs as used by the core applications.

    Besides this the app architecture is so designed so as to make the reuse of components

    simpler and the capabilities of any application can be published and used by any other

    app subject to the relevant security constraints. The users can also replace the

    components using the same mechanism.

  • 7/28/2019 Crime Reporter

    63/90

    63

    The fully integrated Android package comprising an OS, middleware, applications and

    user friendly interface is expected to considerably speed-up product development while

    lowering the cost of mobile services development.

    6.2 Software Used

    Operating System: Windows

    Technology/ Platform: Android SDK with Eclipse Plug-in

    Editor: Eclipse and Dreamweaver

    6.3 Coding Style Followed

    All variable is named by its work. It means name of all variable is how to use this

    variable. All the functions are named in same manner. It is to increase the

    understanding between team members. In case of android application, we divide codes

    and main activity will call the functions in other java file. The function which is working

    for the database in android mobile has been placed in different files. Also, all the

    functions related to Google map, and Export as text file or KML file. All the string used in

    GUI of application is placed in String.xml file. Initialization of variables, buttons in

    functions to reduce confusion and increase readability of code. Comment is used for all

    the functions to explain the code works. Server manager application is divided by main,

    Dialog for IP, Dialog for Customer information insertion. It is made of JFC Swing so

    control JDialog is placed in different function with main function. Space from left of page

    is to divide code from other function. It will be able to increase the readability by each

    member.

  • 7/28/2019 Crime Reporter

    64/90

    64

    CHAPTER7

    TESTING

    All code is guilty, until proven innocent.

  • 7/28/2019 Crime Reporter

    65/90

    65

    7. Test Plan

    7.1 Introduction

    Testing provides a road map that describes the steps to be constructed as a part of

    testing, when these steps are planned and then undertaken and how much effort, time

    and resources will be required. this section provides an overview of the entire test

    document. this section provides both test plan and test procedure.

    7.2 Goals and objectives

    Following are some of the important goals and objectives of the entire test process:

    to find out if each one of the requirements that have been mentioned in the

    document have met correctly.

    To find out if all the functionalities mentioned in the SRS have been performed.

    To check whether all the possible cases for various different modules have been

    handled and taken care of.

    To find out errors due to certain specific positions and input and rectify them.

    To ensure that the application avoids the unacceptable behaviour under normal

    conditions and behaves properly across a variety of conditions and inputs,

    normal and abnormal. To ensure that the program recovers gracefully and quickly from anomalous

    behaviour or conditions.

    The following initial test cases can be identified early in the design process as a vehicle

    for checking that the implementation is basically correct. No attempt has been made at

    this point to do thorough testing, including all possible errors and boundary cases. That

    needs to come later. These cases represent an initial check that the functionalityspecified by the use cases is present.

  • 7/28/2019 Crime Reporter

    66/90

    66

    7.3 Test Cases

    Use Case Function Being

    Tested

    Initial System

    State

    Input Expected

    Output

    Application

    startup

    Started by user

    by clicking on it.

    Application is

    off

    User clicks on

    application

    Application

    verifies Mobile

    user.

    Application

    startup

    On verification

    opens camera

    and activatesGPS

    System verifies

    user

    _ GPS gets

    activated and

    camerainterface

    appears

    Application

    startup

    Application

    closes if

    authentication

    fails

    System verifies

    User

    _ Application

    shuts down.

    Camera Snapshots gets

    saved

    Application

    opens camera

    interface and

    activates GPS.

    Captures

    Snapshot

    Photo gets

    saved and

    records time

    with it.

    Camera Snapshots

    records time

    Snapshot taken _ time recorded

    when snapshot

    is taken

    GPS location recorded Time recorded _ Location where

    snapshot is

  • 7/28/2019 Crime Reporter

    67/90

    67

    taken is

    recorded.

    Camera User chooses toopen photo

    gallery

    Camerainterface

    opened

    Selects photo Photo isselected to

    send

    Sending

    Image

    User clicks send Image selected User clicks send User is asked to

    add description

    Sending

    Image

    User sends with

    or without

    description

    user asked to

    add description

    After adding

    description user

    presses send

    Image goes for

    verification.

    Sending

    Image

    Image if edited Image goes for

    verification

    _ Image is

    rejected by

    application

    Sending

    Image

    Image if not

    edited

    Image goes for

    verification

    _ Sent to server

    in encrypted

    form

    Server Image gets

    decrypted

    waits to

    receive image

    _ Gets stored in

    database

    Server administratorwants to login

    Waits foradministrator to

    login

    Enters Usernameand password

    Verifiesadministrator

    Server administrator verifies admin Wrong username Asks

  • 7/28/2019 Crime Reporter

    68/90

    68

    cannot login and password administrator to

    enter correct

    username and

    password

    Server Admin logins Verify

    administrator

    right username

    and password

    administrator is

    able to login

    Server views Geomap System logins

    to administrator

    account

    _ views Geomap

    Server views Crime

    details

    Geomap view

    of account

    administrator

    points cursor to

    places where

    crime took place

    as it would be

    shown with a

    mark

    views location

    wise photos

    along with

    details

    Server views all details

    of user who has

    uploaded he

    photo

    Geomap view

    of account

    clicks on pointed

    location

    views senders

    details

    Server administrator

    downloads the

    details of crime

    along with

    senders details

    views crime

    and senders

    details

    click download details gets

    downloaded

  • 7/28/2019 Crime Reporter

    69/90

    69

    Server administrator

    prints the details

    of crime along

    with sendersdetails

    views crime

    and senders

    details

    click print details gets

    printed

    Server admin logouts geomap clicks on logout administrator

    logouts

    Table 5: Test Cases

    7.4 GUI test

    In computer science, GUI software testing is the process of testing a product that uses a

    graphical interface to ensure it meets its written specifications. This is normally done

    through the use of variety of test plans. Most client in client/server and web based

    systems deliver system functionality using a graphical user interface(GUI).

    This section provides tests about delivery, running the application, display and usability

    of the application.

    1. Delivery

    1.1. For the client server solutions, is the server Software available?

    Yes

    2. Running

  • 7/28/2019 Crime Reporter

    70/90

    70

    2.1. Does the application provide exit functionality?

    Yes

    2.2. If the application is not launched within 6 (six) seconds, is a warning message or a

    progress bar displayed?

    Yes

    2.3. If the application is resumed from a suspended state, does it return to this state?

    Yes

    2.4. When at the application main menu, is the application suspended?

    No

    3. Screens

    3.1. Does the first screen contain the application name or title in a title bar?

    No

    3.2.Are the screens properly refreshed after dismissing any another screen?

    Yes

    3.3. In the text fields, is the insertion point automatically placed at the end of the field?

    Yes

    3.4. Is the delay to display the next screen enough short (e.g. less than 10 seconds)?

    Yes

    3.5. If your application display icons, are they clear, visible and appropriate?

    Yes

    4.4. System

  • 7/28/2019 Crime Reporter

    71/90

    71

    4.1. If the application supports backup/restore feature, if the user wipes data, reinstalls

    the application and restore data, the previous data should be available in the

    application.

    Yes

    4.2. If the application is a widget, can it be installed in the home screen application?

    No

    4.3. If geo location is supported, is the accuracy sufficient?

    Yes

    4.4. If geo location is supported, does it save battery and data exchange as soon aspossible?

    Yes

    4.5. If geo location is supported and if updates are supported, do the location updates

    work?

    Yes

    4.6. If the application shares content with another application, can this another

    application access to these data?

    No

    4.7. If the application supports calendar and read events, can it read an event calendar?

    No

    4.8. If the application read files, can it read a file?

    No

  • 7/28/2019 Crime Reporter

    72/90

    72

    7.5 Tools for testing

    The test cases are intended to be run manually. But some parts can be automated with

    specific tools.

    1. Pre-Tests

    This section provides general tests about launching the application.

    Is the application launched successfully?

    No

    Once launched, does the application gain control?

    Yes

    Does the installation of your application not interfere with the pre-installed applications?

    Yes

    Can you come back to the application main menu screen in less than 3 seconds?

    No

    2. Network

    This section is only applicable for applications that support network capabilities.

    2.1. Protocol

  • 7/28/2019 Crime Reporter

    73/90

    73

    Does the application meet the protocols implemented on the handset (like HTTP

    protocol)?

    Yes

    3. User interactions

    Tap on the screen ten times at different positions, the application should work normally

    and not freeze.

    No

    When the application supports various ways to enter data, are all these solutions run

    correctly?

    Yes

    Does the application manage correctly multi key press?

    No

  • 7/28/2019 Crime Reporter

    74/90

    74

    CHAPTER 8

    PERFORMANCE ENHANCEMENT

    A software never dies before its last user

  • 7/28/2019 Crime Reporter

    75/90

    75

    8. Performance measurement

    The first and foremost requirement for installing the application (Crime Reporter) on

    your device is that the operating system should be Android 2.2 or higher equipped with

    camera functionality. GPS is the main resource for getting exact position of the parcel.

    Performance can be measured by the factors like time required for turning on the app,

    saving the picture, time required for sending the picture to the server and authentication.

    Most android phones are having different OS versions. So, performance may vary from

    device to device.

    Response of application can be different. It depends on the environment of the

    execution and different factors such as free memory and space. However, latest model

    of Android handsets are equipped with dual core processor and enhanced graphic chip.

    So performance of Android handset is going to be increased.

    Therefore, core operations of the application are also increased but execution in the

    lower version of Android OS and minimum specification can be slower.

  • 7/28/2019 Crime Reporter

    76/90

    76

    CHAPTER 9

    FUTURE ANHANCEMENT

    Future depends on what we do in the present

  • 7/28/2019 Crime Reporter

    77/90

    77

    8. Future Enhancement

    This project can be enhanced with much more features like future crime prediction,

    which could use data sent by users to analyze and detect where in future there is apossibility of crime taking place. This enhanced feature could be used with Android

    mobile set as well as other device which is support android OS and GPS features.

    And it also can be developed further for other smart phones, blackberry, etc which does

    not use android.

  • 7/28/2019 Crime Reporter

    78/90

    78

    CHAPTER 10

    CONCLUSION

    The software isn't finished until the last user is dead

  • 7/28/2019 Crime Reporter

    79/90

    79

    9. Conclusion

    We have outlined some of the specification which would be helpful for carrying out tests

    on the system. System will be able to handle all the data securely. This applicationwould help a lot in reducing the crime atleast at the city level and we hope that it would

    also create awareness among people to fight crime and reduce it, thus making the city a

    nice place to live in.

  • 7/28/2019 Crime Reporter

    80/90

    80

    CHAPTER 11

    SNAPSHOTS

  • 7/28/2019 Crime Reporter

    81/90

    81

  • 7/28/2019 Crime Reporter

    82/90

    82

  • 7/28/2019 Crime Reporter

    83/90

    83

  • 7/28/2019 Crime Reporter

    84/90

    84

  • 7/28/2019 Crime Reporter

    85/90

    85

  • 7/28/2019 Crime Reporter

    86/90

    86

  • 7/28/2019 Crime Reporter

    87/90

    87

  • 7/28/2019 Crime Reporter

    88/90

    88

    CHAPTER 12

    REFERENCES

  • 7/28/2019 Crime Reporter

    89/90

    89

    10. References

    [1] Zohaib Sibte Hassan , Ubiquitous Computing and Android, National University of

    Computer & Emerging Sciences, Lahore, Pakistan

    [2] John Whipple William Arensman Marian Starr Boler, A Public Safety Application of

    GPS-Enabled Smartphones and the Android Operating System, Information Systems

    Engineering Department Southwest Research Institute, P. O. Drawer 28510, San

    Antonio, Texas, 78228-0510

    [3] Machigar Ongtang, Stephen McLaughlin, William Enck and Patrick McDaniel,

    Semantically Rich Application-Centric Security in Android, Department of ComputerScience and Engineering,The Pennsylvania State University, University Park, PA 16802

    [4] Hyun Jung La and Soo Dong Kim, A Service-based Approach to Developing

    Android Mobile Internet Device (MID) Applications, Department of Computer Science,

    Soongsil University, 511 Sangdo-Dong, Dongjak-Ku, Seoul, Korea 156-743

    [5] Maoqiang Song , Wenkuo Xiong , Xiangling Fu, Research on Architecture of

    Multimedia and Its Design Based on Android, School of Software Engineering

    Beijing University of Posts and Telecommunications Beijing, China

    [6] Thomas Blasing, Leonid Batyuk, Aubrey-Derrick Schmidt, An Android Application

    Sandbox System for Suspicious Software Detection, Seyit Ahmet Camtepe, and Sahin

    Albayrak Technische Universitat Berlin - DAI-Labor

    [7] Roy Want, Android: Changing the Mobile Landscape, Intel Labs

    [8] Tapas Kumar Kundu, Prof. Collin Paul, improving android performance and energy

    efficiency, Dept.of computer science and engineering, IIT Delhi.

  • 7/28/2019 Crime Reporter

    90/90

    [9] Wei Tang, Guang Jin, Jiaming He, Xianliang Jiang, Extending Android Security

    Enforcement with A Security Distance Model, College of Information Science and

    Engineering Ningbo University, Ningbo, Zhejiang, China

    [10] Changhao Ai, Jie Liu, Chunxiao Fan, Xiaoying Zhang and Junwei Zou, Enhancing

    Personal Information Security on Android with a New Synchronization Scheme, School

    of Electronic Engineering Beijing University of Posts and Telecommunications

    Beijing, China