Criminal Registration and Tracking System FOR COMPUTER SCIENCE AND COMPUTER ENGINEERING FULL PROJECT

Contents

List of tables VI

Lists of figures VII

Abbreviations IX

Chapter One 1

1.1 Introduction 1

1.2 Background Information 2

1.3 Statement of the problem 3

1.4 Objective of the project 3

1.4.1 General objective 3

1.4.2 Specific objective 3

1.5 Feasibility study 4

1.5.1 Operational feasibility 4

1.5.2 Technical feasibility 4

1.5.3 Economical feasibility 5

1.6 Scope and Limitation 5

1.6.1 Scope 5

1.6.2 Limitation 6

1.7 Significance of the project 6

1.8 Methodology 6

1.8.1 Data source 6

1.8.2 Fact Finding Methodologies 6

1.8.3 System Development Methodologies 7

1.8.4 Development Tools 7

1.9 Testing procedure 8

1.9.1 Unit testing 10

1.9.2 Integration testing 10

1.10 Overview of the project phase 10

1.11 Project Plan 14

1.11.1 Schedule 14

1.12 Team Composition 15

1.12.1 Team Member’s activity and responsibility 15

Chapter Two 16

Description of the existing system. 16

2.1. The major functionality of the current system 16

2.2. The user of the current system 16

2.3. The problem of the current system 20

2.4. Business rule of the current system 20

Chapter Three 21

3.1 Overview 21

3.2 Functional requirement 21

3.3. Non-functional requirement 21

3.4. System model 23

3.4.1. Scenario 23

3.5. Use case model 25

3.5.1. Actor identification 25

3.6. Object model 38

3.7. Class diagram 41

3.8. Dynamic Model 43

3.8.1. Sequence Diagram 43

3.9. Activity Diagram 48

Chapter 4 58

4.1. Overview 58

4.1.1. Purpose of the system design 58

4.1.2. Design Goal 58

4.2. Proposed System Architecture 60

4.2.1. System Process 61

4.2.2. Subsystem decomposition 68

4.2.3. Hardware/Software mapping 70

4.2.4. Persistent data management 71

4.2.5. Component Diagram 80

4.2.6. Deployment diagram 82

4.2.9 User interface design 87

4.2.10 Reference 88



List of tables





















Lists of figures

Figure 1 Five phases of project management. 11

Figure 2 Smart. 12

Figure 3 Use case diagram of CRTS 28

Figure 4 Class diagram 42

Figure 5 Sequence diagram for login 43

Figure 6 Sequence diagram for Register A crime 44

Figure 7 Sequence diagram for update a record 45

Figure 8 Sequence diagram for view record 46

Figure 9 Sequence diagram for provide Statics 47

Figure 10 Activity Diagram for Login 48

Figure 11 Activity Diagram for Register 49

Figure 12 Activity Diagram for Update record 50

Figure 13 Activity Diagram for View record 51

Figure 14 Activity Diagram for Provide Statistics 52

Figure 15 State diagram for login 53

Figure 16 State Diagram for update 54

Figure 17 State diagram for View Record 55

Figure 18 State Diagram for Register Record 56

Figure 19 States Diagram for Provide Statics 57

Figure 20 System overviews. 60

Figure 21 Client-server architecture for CRTS 61

Figure 22 System activity diagram. 61

Figure 23 System overview of police station. 62

Figure 24 System process of police station. 62

Figure 25 Prosecutor system overview. 63

Figure 26 System process of prosecutor. 63

Figure 27 System overview of Court registrar. 64

Figure 28 System process of court registrar. 64

Figure 29 System overview of investigator. 65

Figure 30 System process of investigator. 65

Figure 31 System overview of judge. 66

Figure 32 System process of judge. 66

Figure 33 System overview of lawyer. 67

Figure 34 System process of lawyer. 67

Figure 35 How users are accessing our system. 68

Figure 36 Subsystem decomposition level 1. 68

Figure 37 Subsystem decomposition level 2 69

Figure 38 Hardware and Software mapping 71

Figure 39 Mapping class to table. 71

Figure 40 Object police mapping. 72

Figure 41 Object admin mapping. 72

Figure 42 Object judge mapping. 73

Figure 43 Object lawyer/suspect mapping. 73

Figure 44 Object organization mapping. 74

Figure 45 Object case manage mapping. 74

Figure 46 Object court registral mapping. 74

Figure 47 Object loin mapping. 75

Figure 48 Object police station mapping. 75

Figure 49 Object court mapping. 75

Figure 50 Object user mapping. 76

Figure 51 Object police mapping. 76

Figure 52 Object police mapping. 77

Figure 53 Object organization mapping. 77

Figure 54 Object police mapping. 78

Figure 55 Object judge mapping. 78

Figure 56 Object prosecutor mapping. 79

Figure 57 Object lawyer/suspect mapping. 79

Figure 58 Object court registral mapping 80

Figure 59 Component diagram. 81

Figure 60 Deployment diagram. 83

Figure 61 Database relationship diagram. 84

Figure 62 User interface design 87

















Abbreviations

  • CRTS = Criminal Registration and tracking system

  • MVC = Model View Controller

  • JDK = Java Development Kit

  • JRE = Java Run time Environment

  • API = Application Program Interface

  • IDE = Integrated Development Environment

  • JSP = Java Server Pages

  • PMBOK = Project Management Body of Knowledge

  • PM = Project Managers

  • SMART = Specific, Measurable, Attainable, Realistic, Timely

  • CLEAR = Collaborative, Limited, Emotional, Appreciable, Refinable

  • KPI = Key Performance Indicators

  • CR = Criminal Registration

  • UML = Unified Modeling Language

  • SRS = Software Requirements Specifications

  • HTTP = Hypertext Transfer Protocol

  • XML = extensible Markup Language

  • SQL = Structured Query Language

  • JDBC = Java Database Connectivity


















Chapter One

1.1 Introduction

Criminal records may be used for many purposes, including background checks for purposes of employment, security clearance, adoption and licensing. Criminal records may be useful for identifying suspects within the course of a criminal investigation. They may be used for enhanced sentencing in criminal prosecutions. Criminal registration and tracking system are being used by many countries around the world after the innovation of computer and web technology. The police department of the countries is using this system for crime solving, investigation, keeping track of crime rate in the country, and to better understand the scope of crime to take corrective measures.


The need for good record-keeping and information sharing practice has taken on added significance in today’s global environment. In modern-day crime is increasing day by day. To combat such crime and to provide safety to citizens, the Criminal Justice System work plays a vital role. And must be modernized.


It always is a vital responsibility arresting any criminal who is a threat to the safety of society. In a traditional way, the police have to register information about the crime and the criminal. The police department uses paper and a pain approach to register files. This way of gathering information has led the governments to do the unorganized job in its police departments, lack of information sharing among different government office, police departments and risk of losing information.


In Ethiopia, the police department is administratively divided into regional states and chartered cities, zones, wereda (districts) and kebele (wards) police. Information about any crime in one region is not accessible in another region because of no means of sharing crime information. This leads to a repeated pattern of crime in the country. This affects the crime-fighting capacity of the criminal Justice System. Not sharing crime information has a significant effect on the budget and resource of the police force like investigating the same crime which occurred in another region just only by luck of information about the crime.


The system that we are going to develop is Criminal registration and tracking system (CRTS) and it mainly focuses on registering every suspect of a crime in the country with a mug shot. This system will solve the problem of sharing crime information between police departments, government offices, and anyone in need of criminal records. And also helps in creating an information sharing environment between police departments, prosecutors and courts. This increases communication and workflow of offices in the Criminal Justice System.


1.2 Background Information

In 1913, during the reign of Emperor Minilik II, the Ethiopian police were founded for the first time in our history. The police force was known as ‘’ YeketemaZebegna” or the City’s Guard. Just before the invasion of our country by Italy in 1963, City (Arada) “Zebegna”(Guard) was founded to keep the security of the capital and this establishment was well organized and suitable for the needs of the time. After the end of the invasion, all government structures were abolished and new ones instituted by Emperor Haile Selassie by royal decree No. 6/1934. A modern police establishment was newly founded. The police force was governed by British citizens, according to the book by Brigadier General MogesBeyene entitled “PolicenaGize” (Police at Different Times) published in 1972.

After the downfall of the monarchic government in 1974, the military junta – the Dergu – that came to power enacted proclamation no. 10/1974 to provide for the nation’s security and protection; however, no provision was incorporated therein regarding organizational matters of the police. No separate proclamation of the police establishment was enacted until the downfall of Dergue in 1991.

After the downfall of Dergue, it was found necessary to re-establish the police institution for better organizational capabilities. In so doing, the police force has become in better shape to discharge its duties of enforcing the constitution of the Federal Democratic Republic of Ethiopia and laws issued based upon that constitution; the police establishment is also better suited to contribute its share to the nationwide activities of development of a democratic system, to maintain peace and to expedite development.

The police institution in Ethiopia is classified in regions, zones, and weredas, each of them having their own investigation team. And also regions, zones, and weredas have a court system that works with the police force. This institution has served the people in many cases and situations of society. If any crime is conducted in the society the police arrest the suspect and take their word about the crime while recording every word of the suspect on paper. This information about the suspect will be used by the prosecutor to form a legal case on the suspect then the case will be sent to court. All this process is based on paper, and this has a significant effect on information privacy and tampering of crime information.

All police departments in the country use paper-based registration and tracking system. It is a hard job for police and courts to find a connection of crime. Also, this will result in losing important information.



1.3 Statement of the problem

It is obviously believed that the police force is charged with the responsibility of protecting lives and property and assuring safety and well-being of all citizens through the detection and apprehension of criminals, prevention and control of crime. Nevertheless, there are still some shortcomings:

  1. Poor criminal record keeping in short and long term bases which makes the processing and retrieval difficult.

  2. Lack of good storage media which makes retrieval of data and information quite stressful and cumbersome.

  3. The high cost of saving data as it is mostly associated with paperwork.

  4. A Frequent case of missing files /documents because records are not properly secure.

  5. The public does not have an easy access to record of any crime activity.

  6. There is no synergy with respect to crime records keeping by securities agencies.

  7. In a paper-based system, it's very hard to create a connection between crimes in the country.

  8. Information sharing between any police department and the rest of criminal justice system offices in the country is very poor because of the paper-based registration system.

1.4 Objective of the project

1.4.1 General objective

The general objective of this system is to develop a web-based distributed application that will change the current paper-based filing system of the criminal control and administration system into the digital filing system by helping all the participating parties share information online.

1.4.2 Specific objective

The following specific objectives will be achieved during the process of achieving the general objective of the system.

  • Understand the flow of the current system.

  • Understand and collect all the required questions that are filled during questioning by the police, the attorney and the judge.

  • Select a way to differentiate recorded individuals.

  • Design a well-structured database.

  • Select an appropriate tool which is in with our skill base.

  • Implement using the selected tools.

  • Test the system.

  • Deploy the system.

  • Create an easy and secure way to share information between the police, the court system, and the correction organization. As well as any authorized external organization looking for information.

  • Check for any modified data and keep the consistency of information.


1.5 Feasibility study

The feasibility study is a test of system proposal to its workability, impact on the organization, ability to meet user needs and effective use of resources. Apart from these, an initial investigation is launched to study the present system, evaluate the possible application of computer-based of methods. Selecting a tentative system, evaluate the cost and effectiveness of the proposed system, evaluate the impact of the proposed system, existing personal and ascertain the need for new personnel.


To define an improved information system, the study group must understand the information requirements of the organization. This understanding may be obtained by determining what is currently being done and of investigating through interviews and analysis of what information is needed to be provided that is not being furnished by the existing system. Data on the cost of operating the current system needs to be collected in order to make a cost-benefit for a new system.


The objective of the feasibility study is not to solve the problem, but to acquire a sense of its scope. During the study, the problem definition is crystallized and aspects of the problem to be included in the system are determined, consequently, costs and benefits are estimated with greater detail at this stage. The result of the feasibility study is a system formal proposal. This is simply a form of documenting or detailing the nature and scope of proposed solutions. The proposal summarizes what is known and what is going to be done.

1.5.1 Operational feasibility

Operational feasibility is the measure of how well a proposed system solves the problem and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development.

There is much difference in the existing system and our proposed system for the crime management and registration process. The existing system performs its activities, not in a digitalized way, every activity is done in a hard copy. The proposed system will end these trends by providing a digitalized and computerized services. And with great cooperation of the project team, the system can address overall problems of the existing system.

1.5.2 Technical feasibility

The feasibility center on the existing system and to what extent it can support the proposed addition. Technical feasibility is all about evaluating if the current technology has the potential to develop or unable to support our proposed system. Implementation of our proposed system will use windows operating system; scripting programming language. In our proposed system, data can be easily stored and managed in database management system software. The results for the various queries can be generated easily. Therefore, the system is technically feasible.


1.5.3 Economical feasibility

Economic analysis is the most frequently used method for comparing the cost with the benefit or income that is expected from the developed system. This is to determine the benefits and savings that are expected from our proposed system and compare them with costs. If its benefits, then the decisions are made to design and implement the system. It must first identify the accurate weighing of cost versus benefits before taking any action.

We can say our proposed system is feasible because: -

  • The proposed system uses software and hardware tools available at low cost or even some of the tools can be found for free. So, we can say our proposed system is economically feasible.

1.6 Scope and Limitation

1.6.1 Scope

Our system is used for automating the manual process of registering different cases in the police department. The scope of our project includes saving or recording suspects detailed confession and saving on a safe and secure database system. The system provides an interface to store and search criminal details of criminals for a specific user. The system should.

  • Have a login.

  • support data entry.

  • Give easy access to users.

  • Include editing the recorded data by higher authority users.

  • Replace or detect duplicate records.

  • Let information be accessed by users.

  • Record and display the full profile of criminals.

The system provides the following features:

  • The system asks the user to login with the correct username and password.

  • The user enters into the system with its authority level.

  • If the user enters the wrong information the system asks to enter the correct information.

  • The user makes an information record of criminal or suspect.

  • The user saves the data to the database.

  • The prosecutor edits data that has been entered before if necessary.

  • The court can modify, insert and review data.

1.6.2 Limitation

  • The system only records a criminal profile.

  • The system is limited only up to the final judgment of the central judicial facility.

1.7 Significance of the project

Upon the completion and implementation of the system for the police, the court and every organization participating in the criminal justice system.

  • They will be able to provide well-structured criminal information that is gathered and recorded from various justice system organizations and to provide reliable information sharing methods to enhance communication between the participating governmental offices by using the concept of networking mainly the internet.

  • With a really limited modification, this system can be implemented for different kinds of services for example for a centralized health record system or employee management system.

  • Provide trustworthy information about criminal activities for the Central Statistics Agency of Ethiopia.

  • Record the fingerprint information to help the police determine if the individual has been involved in any kind of criminal activity before.

  • To minimize the use of papers through the process of information gathering and sharing in order to enhance information storing and transactions among multiple organizations.

1.8 Methodology

A methodology is a model, which we employ for the design, planning, implementation and achievement of our project objectives. Under this chapter, we will discuss the methods we used with respect to the Data source, Fact-finding, System development methodologies, and Development tools.

1.8.1 Data source

Our main data sources for our system are the police stations prosecutor offices, and courts in the country. They have been registering crime and criminal information on paper for years. Therefore, the main data source for our system is police stations and courts.

1.8.2 Fact Finding Methodologies

A fact-finding methodology is a process of collecting data and information on techniques which contain a sampling of an existing document, research, observation, questionnaires, interviews, prototyping, and joint requirements planning. We are going to use the following fact-finding methodologies:

Interviews: Interview is the most commonly used technique to collect information from

face-to-face interviews. The purpose of the interview is to find, verify, clarify

facts, motivate end-users involved, identify requirements and gather ideas and

opinions.

Written sources Analysis: can be helpful when you try to gain some insight as to how the

requirement for a system arose. By examining documents, forms, reports,

and files associated with the current system, we have gained some thoughtful

concepts out of the system.

Observation: observing the police and court criminal registration system we can

understand how the current system works.

1.8.3 System Development Methodologies

In the system development Methodology of the project, we will be using the Model View Controller (MVC) in which the application will be separated into three main logical components: the model, the view, and the controller. Each of these components is built to handle specific development aspects of an application. We chose this architecture because MVC is one of the most frequently used industry-standard web development frameworks to create scalable and extensible projects.

1.8.4 Development Tools

Table 1 Development tools

Tools

Purpose

JDK

Because it includes the necessary Java Compiler, the Java Runtime Environment, and the Java APIs. It will help us get started with Java.

Netbeans

We chose this IDE because Netbeans is one of the best Java IDEs and we have experience working on it.

Spring

Spring is a very known and reliable web framework of java.

Hibernate

Hibernate is an open source lightweight Java framework that simplifies the development of Java application to interact with the database.

Apache Tomcat

Apache Tomcat is used to deploy your Java Servlets and JSPs as well as Spring Projects

Google Docs, GitHub and Slack

We use this for the purpose of managing cooperative works.

Find bugs

Since we are going to encounter bugs during the process of coding, we will us debugger.

1.9 Testing procedure

Testing is a critical aspect of Software Quality Assurance and represents the ultimate review of specification, design, and coding. Testing is a process of executing a program with the intent of finding an error. A good test is one that has a probability of finding an as yet undiscovered error. The purpose of testing is to identify and correct bugs in the developed system. Nothing is complete without testing. Testing is vital to the success of the system.


Unit testing focuses first on the modules in the proposed system to locate errors. This enables to detect errors in the coding and logic that are contained within that module alone. Those resulting from the interaction between modules are initially avoided. In unit testing step each module has to be checked separately.


System testing does not test the software as a whole, but rather that integration of each module in the system. The primary concern is the compatibility of individual modules. One has to find areas where modules have been designed with different specifications of data lengths, type, and data element name.


Testing and validation are the most important steps after the implementation of the developed system. System testing is performed to ensure that there are no errors in the implemented system. The software must be executed several times in order to find out the errors in the different modules of the system.


Test results

The primary goal of software implementation is the production of source code that is easy to read and understand. Clarification of source code helps in easier debugging, testing and modification. Source code clarification is enhanced by structured coding techniques, by good coding style, by appropriate supporting documents, by good internal comments and by the features provided in the modern programming language.

In our implementation phase, source code contains both global and formal variables. It contains predefined functions as well as the user-defined functions. If there is an error, the error must be debugged.



Test cases:

User Authentication


Table 2 Test case

Functions Tested

Expected Result

Test Result

The user should enter both username and password

When the user enters only one or none, the login screen will be displayed with an error message

As expected

Logout when the user wants to discontinue login section

Displaying the user logout successfully

As expected


Integer field check:

Checking whether a particular text field, which is supposed to receive only integers, is receiving any other characters.


Table 3 Field check

Input Value

Expected Result

Result

123

Display

Pass

Adfa

Doesn’t Display

pass

%$#>

Doesn’t Display

pass



Field checking:


Table 4 Filed checking.

Function Tested

Expected Result

Test Result

Name

The name of the user is entered here. It can contain only characters and blank space.

Test Successful

Mobile-phone, Date, Date of Birth

This should only contain numbers

Test Successful

1.9.1 Unit testing

In Unit testing, different modules are tested against the specifications produced during the design of the modules. Unit testing is essential for the verification of the code produced during the coding phase, and hence the goal is to test the internal logic of the modules.

The testing is carried out during the programming itself. After designing and coding each form they are run to see whether there are any anomalies. Some of the various test cases used to test the system are as follows:

  • Identify the unit test objectives

  • Test cases are given for testing against requirements of the unit being tested.

  • Test case for path or branch covering

  • Test case for data flow coverage.

  • Testing with classes of bad data

  • Perform the tests according to our plan

  • Analyze the test results

  • Document the test results

1.9.2 Integration testing

Integration testing is a systematic technique for constructing the program structure, while at the same time conducting a test to uncover errors associated with interfacing. That is the program is constructed and tested in small segments, which makes it easier to isolate and correct.

Invalid modules are invariably related to one another and interact in a total system. Each portion of the system is tested against the entire module with both testing and live data before the entire system is ready to be implemented. When the individual modules were found works satisfactory, the system integration test was carried out. Data was collected in such a way that all program paths could be covered. Using these data, a complete test was made. All outputs were generated. Different users were allowed to work on the system to check its performance.

In general, Tasks that we have performed under this phase

  • Prepare integration test plans.

  • Identify integration test objectives.

  • Identify integration test acceptance criteria

  • Perform the tests according to our plan.

  • Document the test results.

1.10 Overview of the project phase

When discussing project phases, mentioning life cycle is inevitable. So what’s the difference? The project phases make up a project life cycle, and as such, the phases are tailored to fit a project’s needs. According to the PMBOK® Guide, the elements of a project life cycle should define:

  • What work must be accomplished?

  • What Deliverables must be generated and reviewed

  • Who must be involved?

  • How to control and approve each phase

Determining these elements will take a project from start to finish. It provides a systematic, timely, and controlled process that benefits a project’s stakeholders. This helps PMs define what needs to be accomplished before moving onto the next phase of a project.


Figure 1 Five phases of project management. 

Five phases of Project management

 


 

PHASE 1: PROJECT INITIATION: This is the start of the project, and the goal of this phase is to define the project at a broad level. This phase usually begins with a business case. This is when you will research whether the project is feasible and if it should be undertaken. If feasibility testing needs to be done, this is the stage of the project in which that will be completed.


PHASE 2: PROJECT PLANNING: This phase is key to successful project management and focuses on developing a roadmap that everyone will follow. This phase typically begins with setting goals. Two of the more popular methods for setting goals are S.M.A.R.T. and CLEAR:








Figure 2 Smart.


S.M.A.R.T. Goals: This method helps ensure that the goals have been thoroughly vetted. It also provides a way to clearly understand the implications of the goal-setting process.

  • specific: To set specific goals, answer the following questions: who, what, where, when, which, and why.

  • Measurable: Create criteria that you can use to measure the success of a goal.

  • Attainable: Identify the most important goals and what it will take to achieve them.

  • Realistic: You should be willing and able to work toward a particular goal.

  • Timely: Create a timeframe to achieve the goal.

C.L.E.A.R. Goals: A newer method for setting goals that take into consideration the environment of today’s fast-paced businesses.

  • Collaborative: The goal should encourage employees to work together.

  • Limited: They should be limited in scope and time to keep it manageable.

  • Emotional: Goals should tap into the passion of employees and be something they can form an emotional connection to. This can optimize the quality of work.

  • Appreciable: Break larger goals into smaller tasks that can be quickly achieved.

  • Refinable: As new situations arise, be flexible and refine goals as needed.


PHASE 3: PROJECT EXECUTION

This is the phase where deliverables are developed and completed. This often feels like the meat of the project since a lot is happening during this time, like status reports and meetings, development updates, and performance reports. A “kick-off” meeting usually marks the start of the Project Execution phase where the teams involved are informed of their responsibilities.

Tasks completed during the Execution Phase include:

  • Develop team

  • Assign resources

  • Execute project management plans

  • Procurement management if needed

  • PM directs and manages project execution

  • Set up tracking systems

  • Task assignments are executed

  • Status meetings

  • Update project schedule

  • Modify project plans as needed


PHASE 4: PROJECT PERFORMANCE/MONITORING

This is all about measuring project progression and performance and ensuring that everything happening aligns with the project management plan. Project managers will use key performance indicators (KPIs) to determine if the project is on track. A PM will typically pick two to five of these KPIs to measure project performance:

  • Project Objectives: Measuring if a project is on schedule and budget is an indication if the project will meet stakeholder objectives.

  • Quality Deliverables: This determines if specific task deliverables are being met.

  • Effort and Cost Tracking: PMs will account for the effort and cost of resources to see if the budget is on track. This type of tracking informs if a project will meet its completion date based on current performance.

  • Project Performance: This monitors changes in the project. It takes into consideration the amount and types of issues that arise and how quickly they are addressed. These can occur from unforeseen hurdles and scope changes.


PHASE 5: PROJECT CLOSURE

This phase represents the completed project. Contractors hired to work specifically on the project are terminated at this time. Valuable team members are recognized. Some PMs even organize small work events for people who participated in the project to thank them for their efforts. Once a project is complete, a PM will often hold a meeting – sometimes referred to as a “post mortem”– to evaluate what went well in a project and identify project failures. This is especially helpful to understand lessons learned so that improvements can be made for future projects.











1.11 Project Plan

1.11.1 Schedule


Table 5 Schedule table

Phase

Months

February 18/19

April 1/19

April 16/19

May 31/19

June 1/19

July 24/19

July 24/19

Requirement gathering and Analysis





Design





Implementation





Testing



















1.12 Team Composition

Table 6 Team composition.

No.

Name

ID

E-mail

Responsibilities

1.


R/00341/07


Documentation, design, Programming, analysis, implementation, and Testing

2.


R/00142/07


Documentation, Requirement gathering, Programming, analysis, implementation, and Testing

3.


R/00569/07


Documentation, coordinating, Programming, analysis, implementation, and Testing

4.


R/00532/07


Documentation, Requirement gathering, Programming, analysis, implementation, and Testing

5.


R/1582/0


Documentation and requirement gathering.


1.12.1 Team Member’s activity and responsibility

The team members participate in-depth for making the system more effective by obeying their responsibility, discussing the issues in broad, and asking some stakeholders especially those, who could use our system. And also, our team members have the responsibility to keep in touch with the project adviser for the completion of the project as planned.








Chapter Two

Description of the existing system.

2.1. The major functionality of the current system

The major function of the existing system is to register information about the crime, criminal and provide criminal information about anyone in need of criminal records.

Steps in a Criminal Case

Step 1: Crime Committed / Police Notified

Step 2: Police Investigate

Step 3: Police Make an Arrest (or Request a Warrant)

Step 4: Warrant/Charging Request Reviewed by Prosecuting Attorney

Step 5: Warrant Issued

Step 6: Suspect Arrested

Step 7: District Court Arraignment

Step 8: Trial (Jury or Bench/Judge)

Step 9: Pre-Sentence Investigation and Report

Step 10: Sentence

Step 11: Appeals

Registering criminal

The current registration system follows the following steps.

  • The suspect who made a crime is arrested and brought to the police station.

  • The police officer will ask any question regarding the case the suspect is arrested.

  • While asking the questions the police officer will register every word on paper.

  • After the documentation, the file will pass to the prosecutor.

  • The prosecutor will add any information on the document and pass it to court for a judgment or reject it based on the low of the country.

  • When someone needs a criminal record the police will give the paper based on the request.

2.2. The user of the current system

Police

Police, the body of officers representing the civil authority of government. Police typically are responsible for maintaining public order and safety, enforcing the law, and preventing, detecting, and investigating criminal activities. These functions are known as policing. Police are often also entrusted with various licensing and regulatory activities. The following are the responsibilities of a Police force: -


  • Register the information in papers.

  • The detective in charge creates a file for every case and send to the prosecutor.

  • Keeps track of all cases in the separate criminal record file.

And also, they perform the following tasks


Investigation

An investigation may include interviewing the victim, witnesses, suspects; collecting physical evidence; visiting, viewing, photographing, measuring crime scene; identifying suspects.


Make an arrest (or request a warrant)

When a crime is committed in a police officer's presence or the officer has probable cause to believe that certain misdemeanors or any felony were committed that the officer did not see happen an officer may arrest a suspect on the spot without an arrest warrant. The officer will later submit a charging/warrant request to the Prosecuting Attorney, suggesting potential charges to be authorized.

Generally, the police's role in criminal cases is an investigation of the offence. The investigation includes seizure of articles/documents, questioning witnesses and recording their testimony, arrest of the accused (if necessary), protecting the Complainant etc.

The police effort in a criminal case ends with the filing of a charge sheet/final report. If the police have completed the investigation and have compiled satisfactory materials to proceed with the trial of the accused, they file a charge sheet. If they complete investigation and don't find sufficient material to proceed against the accused, they file a final report. Upon filing a charge sheet, police no longer conduct the progress of a criminal case. That role is taken up by the Public Prosecutor.

However, even though the Public Prosecutor begins conducting the case once a charge sheet is filed, the police aren't totally excluded from the trial. The Investigating Officers who had been involved with the case will have to depose in court as prosecution witnesses during the trial, where they will be examined and cross-examined. They also have to assist the Public Prosecutor with the conduct of the trial, although that is a secondary role they play.


Prosecutor

Prosecutors are attorneys who work for the government on a local, state or federal level. They represent the interests of public safety and work with law enforcement agencies to bring accused criminals to justice.

The Prosecutors have the following responsibilities: -

  • Gets new cases from the police.

  • Coordinate and keeps track of the status of the case in court representing the police.

  • Investigate the crime with or without coordinating with the police.

  • Forwarding the cases to the court

And also, the have the following tasks: -


Charging suspects

Once a suspect is arrested, a prosecutor must look at the evidence and decide whether or not to file charges of a crime against the person. Once he makes that determination, he files formal paperwork to charge the suspect with a specific crime or crimes.

It’s the job of the prosecutor to determine which specific charges to file. For instance, if someone has died, the prosecutor looks at the evidence and decides whether to file charges for manslaughter, second degree murder or first-degree murder. There are specific evidence requirements for each charge and the penalties differ greatly, so it’s important to choose the correct charge for the crime.

Research and Preparation


After he/she files charges, the prosecutor continues to research the case. He/She is responsible for convincing the judge that a suspect is guilty, and must do so using evidence and testimony.

Prosecutors interview witnesses, law enforcement officers, and experts, review police files and video or photos and look at evidence collected from the crime scene. They also study past cases and review applicable statutes to ensure that they proceed in accordance with the law.


Plea Bargains

In many cases, a prosecutor will present a plea bargain to a suspect and his attorney. There are many reasons for a plea bargain. The prosecutor may not feel confident that a jury will vote to convict, so he/she may opt for a plea bargain, which ensures that the criminal faces some punishment rather than none. Or, if there are extenuating circumstances, such as a first-time offender with a minor, non-violent charge or a large number of current cases, a prosecutor may offer the suspect a plea bargain in order to focus on cases with more serious charges.


Working in court

When a prosecutor takes a case to court, he/she must convince a jury that the suspect is guilty. He/She does this by questioning witnesses for the prosecution and cross-examining the defendant’s witnesses. He/She presents evidence to the jury, including photos, videos, audio recordings, and physical evidence. He/She may also have experts testify so that the jury can understand some of the evidence. For instance, in the case of a shooting, a prosecutor may ask an expert to testify about how he determined that a bullet came from a particular gun.


After Conviction

Once a jury has convicted a criminal, the prosecutor presents a sentencing recommendation to the judge. He/She may also present the victim(s) or friends and family members of the victim(s) to speak to the judge regarding the impact of the crime.


Court

The court is a tribunal which can be presided over by a judge, several judges or a magistrate, and is tasked with hearing and giving out judgement in civil and criminal cases. It is part of the judiciary arm of the government whose role is to ensure that laws are adhered to or followed strictly. The society is never shy of conflicts or disputes. If you are living in a society governed by the rule of law, then it is essential to follow the legal process when it comes to dispute resolution. The court plays a key role when it comes to resolving disputes that need to be addressed legally. It is designed to listen to all forms of cases, from those that are highly sensitive to those people refer to as petty offenses.

In most judicial systems, the courts are categorized into several structures or hierarchy levels; each meant to listen to a specific type of case. A good example is when one is not satisfied by the ruling of a particular court level. You can move to the next level to appeal the decision of a specific judge. The Supreme Court is always the highest level in most hierarchies. The judges of the Supreme Court have the final say in your case. Courts have been a significant player in the society, especially in matters to do with dispute resolution. Here is the essential role of courts in our society.


Protecting Constitutional rights

The courts play an essential role in protecting the constitutional rights of the citizens of a particular country. Some people engage in activities that infringe or violate the rights of other people in society. Taking legal action and having them presented before the court of law will have them punished or penalized and instructed not to interfere with the constitutional rights of others.


Hearing disputes

Disputes are the norm in every society. Those guided by the law are always advised to follow the legal process instead of using uncouth methods to sort out their differences. Court Hearings are part of the legal process where the conflicting parties sit down and argue their case before the judges who give out their final judgment after considering several things.


Upholding the law

All the verdicts issued by the court are always in accordance with the constitution of a particular country. Judges are always guided by the law when coming up with the final judgment of a specific case. Following the law when it comes to issuing judgments ensures justice is served correctly.

The following are the responsibilities of the court: -

  • analyze all evidence and give a final verdict

  • has the power to accept or decline evidence

  • is the only body that can give the final decision

Once the criminal is arrested and charged with a felony, the suspect appears in Court for arraignment. The defendant is told what the charge(s) is (are) and the maximum penalty if convicted, and is advised of his constitutional rights to a jury or bench trial, appointed attorney, presumption of innocence, etc. The charging document is called a Complaint. The conditions and amount of bond are determined by the judge. In some cases --- generally based on the nature of the charge --- the Judge imposes conditions on the bond, such as no contact with the victim. Bond is set in almost every case, but it is up to the defendant's own resources to post the bail money, which allows him to be released.

2.3. The problem of the current system

The current system has the following problems:

  • It takes a lot of time to register and make a case in time.

  • It uses a lot of manpower to keep the system going.

  • It takes a lot of money to prepare the registration papers.

  • Loss of data because of damage and aging of papers.

2.4. Business rule of the current system

The current Ethiopian criminal registration and tracking system have its own business rule and it is specified under the federal criminal registration law. In the current system:

  • The police whether gets submission of crime tips or the plaintiff make some charge.

  • The police take a word of testimony from both the accused and the plaintiff.

  • If the victim is hurt the police take information from the hospital that the victim is being treated on.

  • The police check whether there is an exhibit or not if there is an exhibit the department takes that as evidence and continue on the case.

  • The police initially record the date that the crime has been committed, type of the crime, the date that the charge has been underway, and the investigator's name within one document.

  • The police department finally transfers the case after a clear investigation to the prosecutor.

  • The prosecutor opens a charge on the suspect with the given evidence and investigation results.

  • The court makes a decision on the crime.

  • The police finally record the status of the investigation on CR document.












Chapter Three

3.1 Overview

Since the emergence of the concept of networking, sharing information has become significantly easy. Since then the value of information has grown. An organization needs and collects information to compile its job, hence information should be stored in a well-organized manner in order to support the workflow of the organization. This day's organizations are exchanging information more than products. So having various, fast, secure means of information exchange channels can, and will help any governmental or private organizations.

The system we are going to develop will provide a well-organized data storage and sharing system that will help to improve the communication between the police, the prosecutor office, and the court through a very reliable and easy interface with features like searching and general statistical reports. The system is going to be web-based so the users can access it through the internet regardless of their location.

3.2 Functional requirement

  • The police should be able to register information about a crime and the information about the suspect involved in that crime.

  • The detective in charge of investigating a crime should be able to record every new finding of the investigation including personal information.

  • The system should be able to generate an activity log file in order to track who accessed a particular file and crime report on a requested area.

  • The system should able the admin to manage system users and information transaction so the amount of information can be limited.

3.3. Non-functional requirement

These are the constraints on the service or function offered by our system, also has time constraints on the development process and standards. And they specify criteria that can be used to judge the operation of a system, rather than specific behaviors. So, they specify the following major emergent properties of CRTS: -


Accessibility

Our system should be accessible at any time. It is a web-based system, therefore internet connection and platform is required to be accessible.


Availability

Our system will be available using a web browser. To increase the availability of our system reliability of the network and power infrastructure must increase.

Compatibility

The system should have to be compatible: - since this system is web based it is compatible with any operating system environment if a web browser installed in the computer and internet connection is available.


Error Handling and Extreme Conditions

Each error that may occur in CRTS will be handled accordingly in order to reduce the amount of failure. Since users of our system are human, they may make mistakes, each and every input box are going to be handled according to their type.


Documentation

At the completion of the project, every activity of the entire development, design and another process will be documented for future reference. There will also be a documentation of implementation for maintenance during application failure. Furthermore, this will help for further maintenance and reusability of our system.


Maintainability

The system will be maintainable. Changes made on our system must not affect the current system state. The system will be easy to maintain at any time of failure.

Performance

The system should respond within a short period of time. It depends on the performance of the hardware environment and internet connection speed. As a governmental system, it should perform better to maximize its productivity.


Reliability

The system should be highly reliable. Since the users of the system are police, prosecutors and the courts. The system will be good at handling errors and display error messages appropriately in order to minimize system failures.

Security

The files which are going to be registered in the system must be secured because of the sensitivity of the documents. To fulfill this need of security, the system will be developed using Java and Java security modules. Also, classify authorization level according to their managing level and restrict unauthorized access to files.


Usability

The system should be easy to learn and understandable for the user to achieve the quantified objective with effectiveness, efficiency, and satisfaction.

Performance requirements

Performance requirements define acceptable response times for system functionality.

  • The load time for user interface screens shall take no longer than thirty seconds.

  • The log in information shall be verified within five seconds.

  • Queries shall return results within five seconds.

3.4. System model

System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system. It is about representing a system using some kind of graphical notation, which is now almost always based on notations in the Unified Modeling Language (UML). Models help the analyst to understand the functionality of the system; they are used to communicate with customers.

3.4.1. Scenario

Since a scenario is a tool that is used during requirement analysis to describe a specific use of a proposed system. Using this tool, we will illustrate some interaction of our proposed system.


Scenario: Register

Crime registration is done by a Police officer.in order the user to register user must have an internet connection, must navigate to our website and must input a valid username and password.

After the entry conditions are met User input username and password to login to the system. After authentication user Select new case button to get the registration form. The user fills the form and Click the save button to save the record. During this interaction there could be some alternate conditions like, if the user forgets to fill required fields then the system displays fill the form correctly message and the user may insert inappropriate data types while filling the form

When the user is done registering up on exit the system saves the information into a database and Displays success message.


Scenario: Log in

Police officer, prosecutor, judge, attorney or suspect and the CRTS admin must always first login for security purposes. In order for all users to login to the system users must have an internet connection and navigate to the systems domain name also the user must have a valid username and password, and must log in with their own username and password which gets recognized by the system.


For all users to log in to the system the system displays the login form including username and password form. Then the user fills the form and click the login button after that the user logs into the system. If the user fills the form incorrectly then the system will generate an error message.


Scenario: Fill the forms.

The police are those whom has the privilege to fill or update forms. Before the users fill or update a specific form Internet connection has to be available and the users have to navigate to the systems domain name. The user has a valid username/password and must log in with its own username and password which recognize by the system.


Once the entry conditions are met the user logs in to the system by entering username and password and clicks the login button. The system identifies who logged in and also display the service depend on their privilege. User clicks on fill the form button after that the system will display different forms based on their privileges. So The user can fill the forms. If user fills the form incorrectly then the system will generate an error message. Up on exit the system saves and exit.


Scenario: Update the forms

police officer, prosecutor, lawyer and judge all these uses can update appropriate forms. In order for the users to update any form the internet connection has to be available. They have navigate to the systems domain name. The user has a valid username/password and must log in with its own username and password which recognize by the system.


After the users fulfill the entry conditions the police officer, prosecutor, lawyer and judge logs in by inserting username and password and click the login button. After a successful authentication the users search a criminal by their full name. The system provides a list of valid names. The user clicks on the detail button then the system shows all information about the individual. User selects update and edits the chosen entries. After that user clicks on the save button then the system provides a successful message. Some alternate cases like, the user inserting an incorrect username or password or the criminal record the user searched may not exist, could happen. Upon exiting the system saves all changes and redirects to the search page


Scenario: Provide Statistics of crime.

Any one that has access to the criminal registration and tracking system can get statistics information from the system. But for anyone to use this feature internet connection has to be available and they have to navigate to the systems domain name.


After getting to the systems homepage the users click on the statistics button then the system redirects to the appropriate page. On that page the users search the location they want the information about using the search form. The system provide available information about the chosen location. After that the user saves provided data if needed. But there might not be any data about the location the user searched.




Scenario: suspect/lawyer View record

Lawyer of the criminal or suspect and the suspect themselves can view their record. To view the criminal record the user must get a username and password from the admin/owner of the system, the user must be connected to the internet and the user must first navigate to the systems domain name.


If the entry conditions are met user logs in using the provided username and password then system redirects to a page that only shows detailed information about the user with that username user clicks Done button after reviewing the record. There could be other cases like the suspect/ lawyer may not have an authentic username or password or the username and password may have expired.


Scenario: suspect/lawyer update record

Lawyer of criminal or suspect can update the criminal record. To update a record the user must get a username and password from the admin/owner of the system. The user must be connected to the internet. The user must first navigate to the systems domain name. And also the record must be authorized to be updated.


If the users fulfil the entry conditions and the record is authorized to be updated to update the record user logs in using the provided username and password then system redirects to a page that only shows detailed information about the user with that username. User selects the update button and edits chosen fields. User clicks Done button. In some cases the suspect/lawyer may not have an authentic username or password, The username and password may have expired or the file could be locked not to be updated. Upon exiting the system update data then redirects to the home page.

3.5. Use case model

A use case is a methodology used in system analysis to identify, clarify, and organize system requirements. The use case is made up of a set of possible sequences of interactions between systems and users in a particular environment and related to a particular goal. It consists of a group of elements (for example, classes and interfaces) that can be used together in a way that will have an effect larger than the sum of the separate elements combined. The use case should contain all system activities that have significance to the users. A use case can be thought of as a collection of possible scenarios related to a particular goal, indeed, the use case and goal are sometimes considered to be synonymous.

3.5.1. Actor identification

Actors

  • Police station

  • Investigator

  • Prosecutor

  • Judge

  • Court registrar (court file management office employee)

  • Lawyer

Name: Police Station

Description: A person or could be an officer which is in charge of opening a case and recording information about new unrecorded criminal activities

Role: record description about the new crime, open a CR file, and send this information to the designated investigator.

Name: Investigator

Description: A person in charge of investigating the crime and the one who keeps in touch with the prosecutor in charge of that specific case.

Role: investigates and record any information found during the investigation, pass the case file to the designated prosecutor.


Name: Prosecutor

Description: a person who represents the government in front of the court.

Role: Follows the status of the investigation, investigates with the investigator in charge of the case, validate the case file and pass it to the office of court file management.


Name: Court registrar (court file management office employee)

Description: A person responsible for managing case files that go through the court.

Role: Receive new case files from the prosecutor, validate those new cases and pass to the designated judge, get completed case files and return to the prosecutor.


Name: Judge

Description: A person in charge of analyzing the case with respect to the criminal code and pass the final verdict.

Role: get new validated case files from the file management office, record the final result and return to the file management office.

Name: Lawyer

Description: A person who represents the suspect and stand inside the courtroom.

Role: Access the case file, read and update the file.


3.5.2. Use case diagram and description

A use case diagram illustrates a set of use cases for a system, the actors of these use cases, the relations between the actors and these use cases, and the relations among the use cases. The UML notation for a use case diagram is shown on the figure, in which

  • An oval represents a use case,

  • A stick figure represents an actor,

  • A line between an actor and a use case represents that the actor initiates and/or participates in the process.





































Figure 3 Use case diagram of CRTS

Criminal Registration and Tracking System


Description of use case model


Table 7 Use Case description Register

Description 1

Use case name

Register

Use case number

1

Use case description

Register crime and criminal information.

Participating actors

Police officer, Investigator

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. The police officer gets a tip of crime.

2. Police officer inserts username and password.

3. Police officer logs into the system.

4. Clicks “log crime” to register the tip of the crime on that day.

5. The system will display form for a crime log file.

6. The police officer fills the form and sends the report to the investigator.

Postcondition

The system saves entered data into the database.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.

The crime might be a false claim.









Table 8 Use Case description login.

Description 2

Use case name

Log in

Use case number

2

Use case description

Authentication of the user.

Participating actors

Police officer, Prosecutor, Judge, Attorney or Suspect, CRTS admin.

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. The user enters username and password

2. The system logs in the user to the system.

3. The system display user page based on their

authorization level.

Postcondition

Log data will be saved on the database.

Alternative flow of events

If the user enters wrong password or user name the system will display error message.

If the user makes an error the system will display an appropriate error message.












Table 9 Use Case description Fill the forms.

Description 3

Use case name

Fill the forms.

Use case number

3

Use case description

Fill different forms in the system.

Participating actors

Police Officer, Prosecutor, Judge

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. User enters username and password.

2. User logs in to the system.

3. The user clicks fill form button.

4. The system will display forms based on the user authorization level.

5. The user fills the forms and saves.

Postcondition

The system saves entered data into the database.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.












Table 10 Use Case description Update.

Description 4

Use case name

Update

Use case number

4

Use case description

User update different forms.

Participating actors

Police officer, Prosecutor, Judge,

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. User enters the username and password.

2. The system logs in the users.

3. User clicks update button.

4. System will display forms that can be updated by the

user based on the authorization level.

5. User updates the form and saves the changes.

Postcondition

The system saves entered data into the database.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.












Table 11 Use Case description Provide Statistics of crime.

Description 5

Use case name

Provide Statistics of crime.

Use case number

5

Use case description

Provide statistics about crime type and aria.

Participating actors

Police officer, Prosecutor, Judge.

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. User enters the username and password.

2. The system logs in the users.

3. The user clicks on statistics button.

4. The system will display statistics of crime based on the area and type of crime.

Postcondition

The user saves data into external device.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.














Table 12 Use Case description Suspect/lawyer View record.

Description 6

Use case name

Suspect/lawyer View record.

Use case number

6

Use case description

Suspect/lawyer View record about the accusation

Participating actors

Suspect/Lawyer

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. User enters the username and password.

2. The system logs in the users.

3. System redirects to a page that only shows detailed information about the user with that username.

4. The users will see the accusation file.

Postcondition

The user saves data into external device.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.














Table 13 Use Case description Suspect/lawyer update record.

Description 7

Use case name

Suspect/lawyer update record

Use case number

7

Use case description

Suspect/lawyer add supporting file to the case the suspect is accused of.

Participating actors

Suspect, lawyer.

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. User enters the username and password.

2. The system logs in the users.

3. System redirects to a page that only shows detailed information about the user with that username.

4. User selects the update button

5. User saves the changes.

Postcondition

The system saves entered data into the database.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.












Table 14 Use case description of assign judge

Description 8

Use case name

Assign judge

Use case number

8

Use case description

Court registrar assign judge.

Participating actors

Court registrar

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. User enters the username and password.

2. The system logs in the users.

3. System redirects to a page that only shows detailed

information about the user with that username.

4. User selects the assign button and assign judge.

Postcondition

The system saves changes into the database.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.













Table 15 Use case description of approve or disqualify accusation.

Description 9

Use case name

Approve or disqualify accusation.

Use case number

9

Use case description

Court registrar and prosecutor approve or disqualify based on criminal law of the country.

Participating actors

Court registrar and Prosecutor.

Pre-conditions

They must have to navigate to www.ctrs.gov.

Flow of events

1. User enters the username and password.

2. The system logs in the users.

3. System redirects to a page that only shows detailed

information about the user with that username.

4. User selects the case button, selects the case and

approve or disqualify accusation.

Postcondition

The system saves changes into the database.

Alternative flow of events

If the user makes an error the system will display an appropriate error message.












3.6. Object model

3.6.1 Data dictionary

Object model is a description of an object-oriented architecture, including the details of the object structure, interfaces between objects and other object-oriented features and functions.


Table 16 Object class

Classes

Attributes

Operations

Description

Authenticate

ID log

Authenticate()

Authenticate the users of the system

Login

Username, Password

Login()

Logs the users into the system

Reset password

Username, E-mail, Security question

SendPasswordResetLink()

VerifySecurityQuestion()

ValidateEmail()

Allows the users to reset their password in case they forget their password

Access level

ID

allowAccess()

denyAccess()

setAccess

Level()

getAccessLevel()

Set the access level of different users of the system

Activity log

id

getLog()

Allows to track the activities of all users of the system

Admin

Admin_id

getAccess()

Allows the admin to access the CRTS system

Police station

id

WriteRecord()

UpdateRecord()

Allows the police department to record and update criminal information of a criminal or suspect.

Prosecutor

id

UpdateRecord()

ReadRecord()

getDetailedInformation()

Allows the prosecutor to read, update and get detailed information on criminals.

Court registrar

id

ReadRecord()

ApproveCase()

RejectCase()

AssignCase()

Allows to read criminal and crime information and approve and reject the case accordingly and assign the case to the appropriate judge.

court

id

ReadRecord()

UpdateRecord()

getDetailedInformation()

Allows the court to update, read and get detailed information on the criminals.

Crime log file

Id, Crime type,

Plaintiff name, Defendant name,

Crime registered date, crime occurred date, Assigned officer

Register()

Allows to register the first information about crime and suspect.

Register profile

Id, Plaintiff's name, Crime number, Investigators name, Defendant's name, Age, Address, Date of imprisonment, Date of crime, time of crime, Date filed on, Prosecutor Record number, Court Record number

Register()

Will allows to register criminals to the CRTS database.

Crime investigation form

Id, plaintiff, crime type, date of crime, date of crime recorded, officer who command the investigation, officer who approved the investigation, crime status

Register()

Allows to register a word from plaintiff.

Criminal personal information

Id, Full Name, Age, Religion, Occupation, Marital Status, Addiction, Address, Academic Level

getDetails()

Allows to display all information on the specified criminal.

Crime information

Id, Crime type,

Crime area,

Crime Date

getID()

DisplayInformation()

Identifies the user and display information accordingly.


3.7. Class diagram

Class diagram is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects.

The class diagram is the main building block of object-oriented modeling. It is used for general modelling of the structure of the application, and for detailed modeling translating the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main elements, interactions in the application, and the classes to be programmed.

In the diagram, classes are represented with boxes that contain three compartments:

  • The top compartment contains the name of the class. It is printed in bold and centered, and the first letter is capitalized.

  • The middle compartment contains the attributes of the class. They are left-aligned and the first letter is lowercase.

  • The bottom compartment contains the operations the class can execute. They are also left-aligned and the first letter is lowercase.

In the design of a system, a number of classes are identified and grouped together in a class diagram that helps to determine the static relations between them. With detailed modeling, the classes of the conceptual design are often split into a number of subclasses.


Class diagrams offer a number of benefits for any organization. We use UML class diagrams to:

  • Illustrate data models for information systems, no matter how simple or complex.

  • Better understand the general overview of the schematics of an application.

  • Visually express any specific needs of a system and disseminate that information throughout the business.

  • Create detailed charts that highlight any specific code needed to be programmed and implemented to the described structure.

  • Provide an implementation-independent description of types used in a system that are later passed between its components.










Figure 4 Class diagram

Description of use case model

Table 7 Use Case description Register
Description 1
Use case name
Register
Use case number
1
Use case description
Register crime and criminal information.
Participating actors
Police officer, Investigator  
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
       1.      The police officer gets a tip of crime.
2.      Police officer inserts username and password.
3.      Police officer logs into the system.
4.      Clicks “log crime” to register the tip of the crime on that day.
5.      The system will display form for a crime log file.
6.      The police officer fills the form and sends the report to the investigator.    
Postcondition
The system saves entered data into the database.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.
The crime might be a false claim.  








Table 8  Use Case description login.
Description 2
Use case name
Log in
Use case number
2
Use case description
Authentication of the user.
Participating actors
Police officer, Prosecutor, Judge, Attorney or Suspect, CRTS admin.
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      The user enters username and password
2.      The system logs in the user to the system.
3.      The system display user page based on their   
       authorization level.
Postcondition
Log data will be saved on the database.
Alternative flow of events
If the user enters wrong password or user name the system will display error message.
If the user makes an error the system will display an appropriate error message.
 











Table 9  Use Case description Fill the forms.
Description 3
Use case name
Fill the forms.
Use case number
3
Use case description
Fill different forms in the system.
Participating actors
Police Officer, Prosecutor, Judge
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      User enters username and password.
2.      User logs in to the system.
3.      The user clicks fill form button.
4.      The system will display forms based on the user authorization level.
5.      The user fills the forms and saves.
Postcondition
The system saves entered data into the database.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.











Table 10  Use Case description Update.
Description 4
Use case name
Update
Use case number
4
Use case description
User update different forms.
Participating actors
Police officer, Prosecutor, Judge,
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      User enters the username and password.
2.      The system logs in the users.
3.      User clicks update button.
4.      System will display forms that can be updated by the
       user based on the authorization level.
5.      User updates the form and saves the changes.
Postcondition
The system saves entered data into the database.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.











Table 11 Use Case description Provide Statistics of crime.
Description 5
Use case name
Provide Statistics of crime.
Use case number
5
Use case description
Provide statistics about crime type and aria.
Participating actors
Police officer, Prosecutor, Judge.
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      User enters the username and password.
2.      The system logs in the users.
3.      The user clicks on statistics button.
4.      The system will display statistics of crime based on the area and type of crime.
Postcondition
The user saves data into external device.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.













Table 12 Use Case description Suspect/lawyer View record.
Description 6
Use case name
Suspect/lawyer View record.
Use case number
6
Use case description
Suspect/lawyer View record about the accusation
Participating actors
Suspect/Lawyer
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      User enters the username and password.
2.      The system logs in the users.
3.       System redirects to a page that only shows detailed information about the user with that username.
4.      The users will see the accusation file.
Postcondition
The user saves data into external device.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.













Table 13  Use Case description Suspect/lawyer update record.
Description 7
Use case name
Suspect/lawyer update record
Use case number
7
Use case description
Suspect/lawyer add supporting file to the case the suspect is accused of.
Participating actors
Suspect, lawyer.
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      User enters the username and password.
2.      The system logs in the users.
3.      System redirects to a page that only shows detailed information about the user with that username.
4.      User selects the update button
5.      User saves the changes.
Postcondition
The system saves entered data into the database.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.











Table 14  Use case description of assign judge
Description 8
Use case name
Assign judge
Use case number
8
Use case description
Court registrar assign judge.
Participating actors
Court registrar
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      User enters the username and password.
2.      The system logs in the users.
3.                 System redirects to a page that only shows detailed
             information about the user with that username.
4.                 User selects the assign button and assign judge.
Postcondition
The system saves changes into the database.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.












Table 15  Use case description of approve or disqualify accusation.    
Description 9
Use case name
Approve or disqualify accusation.    
Use case number
9
Use case description
Court registrar and prosecutor approve or disqualify based on criminal law of the country.
Participating actors
Court registrar and Prosecutor.
Pre-conditions
They must have to navigate to www.ctrs.gov.
Flow of events
1.      User enters the username and password.
2.      The system logs in the users.
3.                 System redirects to a page that only shows detailed
             information about the user with that username.
4.                 User selects the case button, selects the case and
             approve or disqualify accusation.
Postcondition
The system saves changes into the database.
Alternative flow of events
If the user makes an error the system will display an appropriate error message.











3.6. Object model
3.6.1 Data dictionary
Object model is a description of an object-oriented architecture, including the details of the object structure, interfaces between objects and other object-oriented features and functions.

Table 16  Object class
Classes
Attributes
Operations
Description
Authenticate
ID log
Authenticate()
Authenticate the users of the system
Login
Username, Password
Login()
Logs the users into the system
Reset password
Username, E-mail, Security question
SendPasswordResetLink()
VerifySecurityQuestion()
ValidateEmail()
Allows the users to reset their password in case they forget their password
Access level
ID
allowAccess()
denyAccess()
setAccess
Level()
getAccessLevel()
Set the access level of different users of the system
Activity log
id
getLog()
Allows to track the activities of all users of the system
Admin
Admin_id
getAccess()
Allows the admin to access the CRTS system
Police station
id
WriteRecord()
UpdateRecord()
Allows the police department to record and update criminal information of a criminal or suspect.
Prosecutor
id
UpdateRecord()
ReadRecord()
getDetailedInformation()
Allows the prosecutor to read, update and get detailed information on criminals.
Court registrar
id
ReadRecord()
ApproveCase()
RejectCase()
AssignCase()
Allows to read criminal and crime information and approve and reject the case accordingly and assign the case to the appropriate judge.
court
id
ReadRecord()
UpdateRecord()
getDetailedInformation()
Allows the court to update, read and get detailed information on the criminals.
Crime log file
Id, Crime type,
Plaintiff name, Defendant name,
Crime registered date, crime occurred date, Assigned officer
Register()
Allows to register the first information about crime and suspect.
Register profile
 Id, Plaintiff's name, Crime number, Investigators name, Defendant's name, Age, Address, Date of imprisonment, Date of crime, time of crime, Date filed on, Prosecutor Record number, Court Record number
Register()
Will allows to register criminals to the CRTS database.
Crime investigation form
Id, plaintiff, crime type, date of crime, date of crime recorded, officer who command the investigation, officer who approved the investigation, crime status
Register()
Allows to register a word from plaintiff.
Criminal personal information
 Id, Full Name, Age, Religion, Occupation, Marital Status, Addiction, Address, Academic Level
getDetails()
Allows to display all information on the specified criminal.
Crime information
Id, Crime type,
Crime area,
Crime Date
getID()
DisplayInformation()
Identifies the user and display information accordingly.

3.7. Class diagram
Class diagram is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects.
The class diagram is the main building block of object-oriented modeling. It is used for general modelling of the structure of the application, and for detailed modeling translating the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main elements, interactions in the application, and the classes to be programmed.
In the diagram, classes are represented with boxes that contain three compartments:
    • The top compartment contains the name of the class. It is printed in bold and centered, and the first letter is capitalized.
    • The middle compartment contains the attributes of the class. They are left-aligned and the first letter is lowercase.
    • The bottom compartment contains the operations the class can execute. They are also left-aligned and the first letter is lowercase.
In the design of a system, a number of classes are identified and grouped together in a class diagram that helps to determine the static relations between them. With detailed modeling, the classes of the conceptual design are often split into a number of subclasses.

Class diagrams offer a number of benefits for any organization. We use UML class diagrams to:
    • Illustrate data models for information systems, no matter how simple or complex.
    • Better understand the general overview of the schematics of an application.
    • Visually express any specific needs of a system and disseminate that information throughout the business.
    • Create detailed charts that highlight any specific code needed to be programmed and implemented to the described structure.
    • Provide an implementation-independent description of types used in a system that are later passed between its components.






    



Figure 4 Class diagram


Figure 5 sequence diagram for login


 

Figure 6 sequence diagram for Register A crime

Figure 7 sequence diagram for update a record


 

Figure 8 Sequence diagram for view record


Figure 9 sequence diagram for provide Statics

3.9. Activity Diagram

Under this topic, we will describe the activities included in our system using the Activity Diagram. An activity diagram is another important diagram in UML to describe the dynamic aspects of the system. An activity diagram is basically a flowchart to represent the flow from one activity to another activity. The activity can be described as an operation of the system. The control flow is drawn from one operation to another.



Figure 10 Activity Diagram for Login


Figure 11 Activity Diagram for Register



Figure 12 Activity Diagram for Update record


Figure 13 Activity Diagram for View record


Figure 14 Activity Diagram for Provide Statistics

3.10. State diagram

Here we will be using a state diagram to express the behavior of our system because A Statechart diagram describes a state machine. A state machine can be defined as a machine which defines different states of an object and these states are controlled by external or internal events.


Figure 15 State diagram for login


 

Figure 16State diagram  


Figure 17 State diagram for View Record


 

Figure 18 State Diagram for Register Record


 

 

Figure 19 States Diagram for Provide Statics

Chapter 4

4.1. Overview

This is the System Design document for the Criminal Registration and Tracking System. The document includes the design goals, the proposed system Design, and the object design.

4.1.1. Purpose of the system design

This document describes the design issues of the overall system. It provides the complete

Architectural overview of the proposed system. It is intended to capture and express the

significant architectural decisions which have been made on the system as well as to obtain the

information needed to register and track criminals of the country.

4.1.2. Design Goal

The design goals describe the qualities of the system that are derived from the non-functional requirements which can lead to decisions of developers. The designing part is very important so as to make the implementation or the coding part very easy. The different types of system modeling techniques that are used for the implementation of the system such as deployment and component modeling are shown in detail. Not only the system modeling techniques but also some system design techniques such as system decomposition design are cover in detail in this phase. These goals can be inferred from the nonfunctional requirements. These are: -

  • Performance: In order for the Crime Registration and Tracking System application to give the user a good service, it should meet the following performance criteria.

  • Response time: Depending on the network connection that the user machine has the

system is going to interact and respond to the user’s request in a maximum of a second, if

the user is just viewing the pages, but if the user’s request requires the processing of the

database, like searching for schedule, is going to take an average of 1-5 seconds of

communication latency with the server system. And streaming of trailers is going to havea response time up to 2-4 seconds.

  • Memory: -The client system requires an average of 10-15 megabits of RAM memory to be loaded on a user’s web browser and the streaming of trailers require additional memory up to 20 megabits. The server system is going to require up to 40 GB of memory to store all the data and other components of the system.

  • Dependability: The Criminal Registration and Tracking System should achieve the following dependability characteristics in order to resist crash and be available and reliable.

  • Robustness: - since the system is a web-based system, that mainly uses a menu-driven

the entry there wouldn’t be an input problem by the user side. But for the server side, there might be an error during the process of entering data. In this time the system will provide an error page and the system will continue without failure or crush.

  • Availability: - as long as there is an internet connection the system will be available 7

days a week and 24 hours a day.

  • Security: - by the user side there is a low-security issue to be considered, the only thing that must be controlled is in the action of rating a movie that, they can rate or click the like or dislike button only one at a time. But by the official user side, the system will provide a user name and password that will manage their own page according to their level of access.

  • Reliability: - the information provided by the system is as reliable as it is presented on the web page interface, and this is maintained by the persistent database.

  • Maintenance: In the time of failure or need modification, the system needs to be maintained. To be maintainable the system should meet the following maintenance criteria

  • Extensibility: - if it is needed to add new functionality to the system, this must be achieved by only making a separate page and integrate this page with the existing system.

  • Modifiability: - if in the system, some functionality requires to be modified, this modification must be done specifically to that function or page without affecting the overall system organization.

  • Portability: - the system is developed to be viewed and retrieved from any web browser regardless of their version and platform it resides in it.

  • Readability: - the system code can be viewed by clicking on the current web page and choose “view the source code” option.

  • End User: From the user point of view, the system should provide the following end-user criteria so that the system can achieve At least a90% usability by the user

  • Utility: - in order to help the user, to easily understand and interact with the system, the system must provide the following utilities

  • Mouse over tips

  • Keyboard alternative

  • Usability: to enhance the usability of the system, the system should be designed

incorporating the following usability concepts

  • Site mapping

  • Consistent page pattern

  • Less overcrowded interface.


  • Priorities of the system

The design goals of the Criminal Registration and Tracking System (CRTS) are prioritized as follows


Priority

Design goal

1

End User

2

Performance

3

Dependability

4

Maintenance


Table 17 Priority table

4.2. Proposed System Architecture

Overview

The proposed system is mainly based on the SRS document that’s already developed and

submitted. It mainly deals with subsystem decomposition – dividing the system into

manageable components. Another major task in system design deals with hardware/software

mapping which deals with which components would be part in which hardware. Yet another

aspect of system design deals with persistent data management, which illustrates as to how

persistent data (file, database, etc.) are stored and managed and at last Access control will be

Presented.

Our system uses a three-tier architecture. A three-tier architecture is a client-server architecture in which the functional process logic, data access, computer data storage , and user interface are developed and maintained as independent modules on separate platforms. A three-tier architecture is a software design pattern and well-established software architecture.

  • Client-side: here in the client side Suspect or Attorney, Police, Prosecutor, and Court will exist.

  • Server-side: here the web servers to connect the database application are found; meaning that the application logic to perform the application by the client is found in here.

  • Database: here the databases that store the information are found.


Figure 20 system overviews.

Figure 21 Client-server architecture for CRTS

4.2.1. System Process

The following system process diagram shows an overall process of the system.


 

Figure 22 System activity diagram.

Police station


Figure 23 system overview of police station.


Figure 24 system process of police station.

Prosecutor

Figure 25 prosecutor system overview


 

Figure 26 system process of prosecutor.

Court Registrar



Figure 27 system overview of Court registrar.


 

Figure 28 system process of court registrar.

Investigator



Figure 29 system overview of investigator.


 

Figure 30 system process of investigator.

Judge 


 

Figure 31 system overview of judge.

 


Figure 32 system process of judge.

Lawyer 


 

Figure 33 system overview of lawyer.

 


Figure 34 system process of lawyer.

4.2.1.1 How Users Access Our System


 

Figure 35 how users are accessing our system.

4.2.2. Subsystem decomposition

System decomposition is used to simplify the system. The subsystems must hold a related classes or objects. Our system CRTS is decomposed into several subsystems as shown below. And the subsystems can be decomposed into other subsystems.


 

Figure 36 Subsystem decomposition level 1.


 

Figure 37 Subsystem decomposition level 2

4.2.2.1 Subsystems Description


Subsystem

Purpose

Class

Admin

Responsible for all user profile creation and management of the case.

Create user

Manage records

Police department

Responsible for registering the criminal case.

Create case file

Register crime information

Investigator

Responsible for every investigation required to the given case.

Update case file

Prosecutor

Responsible for see the investigated file and make a charge on the suspect.

Update case file

Court Registrar

Responsible for approving and rejecting the case also assigning a judge for the specific case.

Approve accusation

Disqualify accusation

Assign judge

Send accusation letter

Judge

Responsible for view the case and give judgement.

View case

Update case

Lawyer

Responsible for viewing and updating the case.

View case

Update case


Table 18 Subsystem decomposition table.

4.2.3. Hardware/Software mapping

The system will be deployed on a separate machine by using the concept of Distributed Systems. Since the system is deployed on the internet web server will be used to host the web pages of the system and process clients’ request. Also a database that runs on SQL will be used to maintain data for the system. From the client side a standard Computer, an Internet connection and a browser is required.



Figure 38 Hardware and Software mapping

4.2.3. Hardware/Software mapping

The system will be deployed on a separate machine by using the concept of Distributed Systems. Since the system is deployed on the internet web server will be used to host the web pages of the system and process clients’ request. Also a database that runs on SQL will be used to maintain data for the system. From the client side a standard Computer, an Internet connection and a browser is required.


 

Figure 38 Hardware and Software mapping

4.2.4. Persistent data management

The purpose of this section is to show the mapping of the objects/classes of the

system, identified during the analysis stage, in to the corresponding relational

database.


Key





Class

Mapped

Relational Database Table

Figure 39 mapping class to table.





 

 

Figure 40  object police mapping.

Figure 41 object admin mapping.





 

Figure 43 object lawyer/suspect mapping.





 

Figure 44 object organization mapping.


 

Figure 45 object case manage mapping.



 

Figure 46 object court registral mapping.



 

Figure 47 object loin mapping.



 

Figure 48 object police station mapping.


 


Figure 49 object court mapping.


 

Figure 50 object user mapping.


 

Figure 51 object police mapping.


 

Figure 52 object police mapping.



 

Figure 53 object organization mapping.



 

Figure 54 object police mapping.


 

Figure 55 object judge mapping.



 

Figure 56 object prosecutor mapping.



 

Figure 57 object lawyer/suspect mapping.



 

Figure 58 object court registral mapping

4.2.5. Component Diagram

In Unified Modeling Language (UML), a component diagram depicts how components are wired together to form larger components or software systems. They are used to illustrate the structure of arbitrarily complex systems. While other UML diagrams, which describe the functionality of a system, component diagrams are used to model the components that help make those functionalities.


 

Figure 59 component diagram.

Component Description

Authentication Controller

Description: This component is responsible to authenticate users.

Role: Read from user table and check validity of user trying to login.

Page Controller

Description: This component is responsible to manage pages.

Role: Accept page request and provide appropriate pages.

Form Controller

Description: This component is responsible to provide requested forms.

Role: Verify form request and provide the next needed form.

Statistics Controller

Description: Provide a criminal statistic on a requested location.

Role: Read from crime model and compose a statistics report on a specific location.

View Form

Description: Display forms.

Role: Display the forms requested by the form controller.

View Statistics

Description: Display Statistics information.

Role: Receive and display statistics information from Statistics controller.

Crime View

Description: Display information about a crime.

Role: Read data from Crime model and display information about the crime.

User View

Description: Display information about a user or a suspect.

Role: Read from user model and display information about a user.

User Model

Description: Save data about a user.

Role: Save an information about any user, which is provided by the admin.

Crime Model

Description: Record every information about a crime.

Role: Save any data about a crime recorded by an officer.

4.2.6. Deployment diagram

A deployment diagram is a UML diagram type that shows the execution architecture of a system, including nodes such as hardware or software execution environments, and the middleware connecting them.

Deployment diagrams are typically used to visualize the physical hardware and software of a system. Using it you can understand how the system will be physically deployed on the hardware.

Deployment diagrams help model the hardware topology of a system compared to other UML diagram types which mostly outline the logical components of a system.


 

Figure 60 deployment diagram.

4.2.7. Database design


 

Figure 61 database relationship diagram.

4.2.8. Access control

Our system is being utilized by various governmental offices and individuals on different levels. Because of this reason there is a security problem regarding with file access. Every user has different level of Access to the data stored and shared with in the system. Under this chapter we will list the types of access control the actors have.


Table 19 Access matrix table.

Actors

Users

Criminal record

Crime log

CR file

Case file

Case Management

Statistics

Police station


register()

view()

update()

register()

view()

update()

register()

View()

Update()

View()


View()

Investigator


View()

View()

View()

Register()

View()

Update()


View()

Prosecutor


View()



View()

Update()

caseAccept()

caseReject()

View()

Judge


View()



View()

Update()


View()

registrar (court file management office employee)

Lawyer





View()

caseAccept()

caseReject()

ChooseJudge()

View()

Admin

Register()

View()

Update()

Delete()






View()

Civilians







View()


 

 

FINISHED 10 Q


Post a Comment

0 Comments