Mini Project 1
Mini Project 1
CERTIFICATE
Certified that mini project work entitled
The Students of "RajaRajeswari College of Engineering" in partial fulfillment for the fifth
Semester of Bachelor of Engineering in Computer Science & Engineering of the
Visvesvaraya Technological University, Belgaum during the year 2020—2021. It is certified that all
corrections/suggestions indicated for Internal Assessment have been incorporated in the report
deposited in the departmental library. Ihe mini project report has been approved as it satisfies the
academic requirements in respect of Mini Project work prescribed for the fifth semester.
7 CHAPTER 7:IMPLEMENTATIONS
CHAPTER 1
INTRODUCTION
A database is not generally portable across different DBMSs. but different DBMSs can
interoperate by using standards such as SQL and ODBC or JDBC to allow a single
application to work with more than one DBMS. Computer scientists may classify database-
management systems according to the database models that they support: the most popular
database systems since the have all supported the relational model - generally associated
with the SQL language. Sometimes a DBMS is loosely referred to as a "database"
Outside the world professional information technology. the term database is often used to refer
to any collection of related data (such as a spreadsheet or a card index). This article is
concerned only with databases where the size and usage requirements necessitate use of a
database management system
Existing DBMSs provide various functions that allow management of a database and its data
which can be classified into four main functional groups:
• Data definition— Creation, modification and removal of definitions that define the
organization of the data.
DBMS may become a complex software system and its development typically requires
thousands of human years of development effort. Some general-purpose DBMSs such as
Adobes. Oracle and DB2 have been upgraded since the 1970s. General-purpose DBMSs aim
to meet the needs of as many applications as possible. which adds to the complexity.
However, since their development cost can be spread over a large number of users, they are
often the most cost-effective approach. On the other hand, a general-purpose DBMS may
introduce unnecessary overhead. Theret0re. many systems use a special-purpose DBMS. A
common example is an email system that performs many of the functions of a general-
purpose DBMS such as the insertion and deletion of messages composed of various items of
data or associating messages with a particular email address; but these functions are limited
to what is required to handle email and don't provide the user with all of the functionality that
would be available using a general-purpose DBMS.
Application software can often access a database on behalf of end-users, without exposing
the DBMS interface directly. Application programmers may use a wire protocol directly, or
more likely through an application programming interface. Database designers and database
administrations interact with the DBMS through dedicated interfaces to build and maintain
the applications' databases, and thus need some more knowledge and understanding about
how DBMSs operate and the DBMSs' external interfaces and tuning parameters.
DBMS ARCHITECTURE:
External
Layout
View
Conceptual
Schema
Internal
Schema
Data stored
Dept. Of CSE, RRCE
Fig 1.1: DBMS Architecture
1.2 ORACLE/SQL
A database is a collection of data treated as a unit. The purpose of a database is to store and
retrieve related information. A database server is the key to information management. In general, a
server reliably manages a large amount of data in a multiuser environment so that many users can
concurrently access the same data. A database server also prevents unauthorized access and
provides efficient solutions for failure recovery.
Oracle Database is the first database designed for enterprise grid computing. the most flexible and
cost-effective way to manage information and applications. Enterprise grid computing creates
large pools industry-standard. modular storage and servers. With this architecture, each new
System can be rapidly provisioned from the pool of components. There is no need to provide extra
hardware to support peak workloads. because capacity can be easily added or reallocated froth the
resource pools as needed.
The database has physical structures and logical structures. Because the physical and logical
structures are separate. the physical storage of data can be managed without affecting access to
logical storage structures.
their operations.
CDS empowers law enforcement personnel with the tools and insights necessary to combat crime
effectively and uphold public safety.
Key Components:
CHAPTER 3
Problem Definition:
3.1Existing System:
• The existing CDS relies on a combination of relational and/or NoSQL databases to store diverse
types of criminal data, including personal details, criminal records, case information, fingerprints,
mugshots, and associated metadata.
• Data management functionalities encompass data entry, updating, indexing, and archival processes,
ensuring the integrity and accessibility of stored information.
• The system provides a user-friendly interface accessible to authorized personnel within law
enforcement agencies.
• User authentication mechanisms verify the identity of users and grant access privileges based on
predefined roles and permissions.
• Access control mechanisms restrict access to sensitive information, ensuring that only authorized
individuals can view or modify specific data records.
• Search functionalities enable users to query the database based on various criteria such as name,
identification number, crime type, location, and time frame.
• Basic and advanced search options facilitate the retrieval of specific records or the generation of
broader reports on criminal activities and suspects.
• Fuzzy search algorithms accommodate variations in input, improving the accuracy and
completeness of search results.
• Reporting tools enable law enforcement agencies to generate customized reports on crime statistics,
trends, and patterns.
CRIMINAL DATABASE MANAGEMENT SYSTEM
• Analytical capabilities allow for the exploration and visualization of data through charts, graphs,
and maps, aiding in the identification of crime hotspots, modus operandi, and other actionable
insights.
Advantages:
• Enhanced scalability, flexibility, and resilience through a microservices architecture and cloud-
based infrastructure.
• Advanced search and analytics capabilities empower law enforcement agencies with actionable
insights and predictive intelligence.
• Blockchain-based data integrity ensures trustworthiness and immutability of criminal records,
enhancing transparency and accountability.
• Improved security measures protect sensitive data against cyber threats and unauthorized access,
maintaining confidentiality and compliance.
• User-friendly interfaces and intuitive data visualization tools streamline operations and facilitate
informed decision-making.
Disadvantages:
While criminal databases offer numerous advantages to law enforcement agencies, they also come with
certain disadvantages and challenges:
1.Privacy Concern:
Storing vast amounts of personal information in criminal databases raises privacy concerns.
Unauthorized access or misuse of this data can lead to breaches of privacy rights and potential violations of
data protection laws.
2.Data Accuracy Issues:
Criminal databases rely on the accuracy of the information entered by law enforcement personnel.
Errors or inaccuracies in data entry can lead to false identifications, wrongful arrests, and miscarriages of
justice.
3.Data Bias:
Biases present in the criminal justice system can perpetuate in criminal databases, leading to
disparities in how individuals from different demographic groups are treated. This can result in
disproportionate targeting and enforcement actions against certain communities
4.Security Risks:
1. Microservices Architecture:
2. Cloud-based infrastructure
3. Advanced Search and Retrieval
4. Data Analytics and Visualization
5. Blockchain for data Integrity
6. Enhanced Security Measures.
3.3 CHALLENGES AND LIMITATIONS:
• Limited interoperability with external systems and databases, hindering seamless data exchange and
collaboration between agencies and jurisdictions.
• Scalability issues may arise with the growing volume of data and user base, necessitating periodic
upgrades and optimizations.
• Maintenance and support requirements to address system glitches, performance issues, and evolving
security threats.
• Compliance with regulatory requirements and data privacy laws poses ongoing challenges for
ensuring data security and confidentiality.
1.User Acceptance:
Assessing whether law enforcement personnel will accept and embrace the new system is crucial.
Conducting surveys, interviews, or focus groups with potential users can provide insights into their needs,
preferences, and concerns regarding the proposed system.
2.Training Needs:
Determining the training requirements for users to effectively utilize the system is essential.
Providing comprehensive training programs and user manuals can help minimize resistance to change and
ensure that users are proficient in using the system.
3. Resource Availability:
Evaluating the availability of resources, including budget, staffing, and infrastructure, is necessary to
implement and maintain the criminal database system. Adequate funding, skilled personnel, and suitable
technology infrastructure are vital for the successful deployment and operation of the system.
4.Integration with Existing System:
Assessing how well the proposed system integrates with existing systems and workflows within law
enforcement agencies is critical. Seamless integration can minimize disruptions to operational processes
and enhance the system's effectiveness and usability.
5.Data Quality and Integrity:
Ensuring the quality and integrity of the data stored in the system is essential for its operational
feasibility. Implementing data validation checks, data cleansing processes, and data governance policies
can help maintain accurate and reliable data within the database.
The Economic feasibility of a criminal database system refers to its cost-effectiveness and financial
viability over its lifecycle. Here are some factors to consider when evaluating the Economic feasibility of
implementing a criminal database system:
1.cost of development
2.infrastucture costs
3.Training and Implementation costs
4.Operational Costs
5.Cost Savings and Benefits
6.Return on Investment (ROI)
7.Cost-Benefit Analysis .
CHAPTER 5
SYSTEM DESIGN:
System design is a process of defining the architecture. modules. interfaces, and data for a
system to satisfy specified requirements. System Design could be seen as the application
of systems theory to product development.
Data elements and data structures to be stored have been identified at analysis stage.
They are structured and put together, to design the data storage and retrieval system. A
database is a collection of interrelated data stored with minimum redundancy to serve
many users quickly and efficiently. The general objective is to make database access easy,
quick, inexpensive and flexible for the user. Relationships are established between the
data items and unnecessary data items are removed. Normalization is done to get an
internal consistency of data and to have minimum redundancy and maximum stability.
This ensures minimizing data storage required, minimizing chances of data
inconsistencies and optimizing for updates. The MS Access database has been chosen for
developing the relevant databases.
• Many-to-one (N:1)
• Many-to-Many (M:N)
• ER DIAGRAM:
1 N
1
CRIMINAL DATABASE MANAGEMENT SYSTEM
1. Input requirement,
2. Output requirement,
3. Storage requirement,
4. Processing requirement.
5. System control and backup or recovery.
Put another way. the physical portion of system design can generally be broken down into three sub-
tasks:
3. Process Design
User Interface Design is concerned with how users add information to the system and with how
the system presents information back to them. Data Design is Concerned with how the data is
represented and stored within the system. Finally. Process Design is concerned with how data
moves through the system, and with how and while it is validated, secured and /or transformed as
it flows into. through and out of the system. At the end of the system design phase, documentation
describing the three sub-tasks is produced and made available for use in the next phase. Physical
design. in this context, does not refer to the tangible physical design of an information system use
and analogy, a personal computer's physical design involves input via a keyboard. processing
within the CPU, and output via monitor, printer, etc. It would not concern the actual layout of the
tangible hardware, which for a PC would be a monitor, CPU, motherboard, hard drive, modems,
video/graphics card, USB slots, etc. It involves a detailed of a user and a product database
structure processor and a control processor. The H/S personal specification is developed for the
proposed system.
CRIMINAL DATABASE MANAGEMENT SYSTEM
CHAPTER 6
LIST OF FIGURES:
CRIMINAL DATABASE MANAGEMENT SYSTEM
CRIMINAL DATABASE MANAGEMENT SYSTEM
CHAPTER 7
IMPLEMENTATIONS :
Insert ()
{ Includes the Insert statements that takes all the values of already existing data given through the
keyboard}
Update
{Includes the statements that takes all the values of already existing data}
Delete 0
{Includes the statements that delete information Of that entity, whichever the user wants to}
View ()
{Includes the statements that display all the set of data stored in that entity}
Retrieve ()
{Includes the statements that retrieve or get the data of given/requested attribute}
CHAPTER 8
TESTING:
Testing a criminal database system involves ensuring its functionality, security, performance, and
usability. Here's a general outline of the types of testing that would typically be conducted:
1. Functionality Testing:
• Verify that all features and functionalities of the criminal database system are working as
expected.
• Test data entry, retrieval, update, and deletion processes.
• Ensure proper handling of various types of queries, including complex searches.
• Check for accuracy in data processing and reporting.
2. Security Testing:
• Verify that the system is secure against unauthorized access.
• Test authentication mechanisms such as login screens, password protection, and multi-factor
authentication.
• Conduct authorization testing to ensure that users can only access data and perform actions
appropriate to their roles.
• Test encryption mechanisms for sensitive data both at rest and in transit.
• Check for vulnerabilities such as SQL injection, cross-site scripting (XSS), and cross-site
request forgery (CSRF).
3. Performance Testing:
• Evaluate the system's performance under normal and peak loads.
• Test response times for various operations, such as data retrieval and updates.
• Assess scalability to ensure the system can handle increasing amounts of data and user traffic.
4. Usability Testing:
• Evaluate the user interface for ease of use and intuitiveness.
• Test navigation flows to ensure users can easily perform common tasks.
• Gather feedback from potential users to identify areas for improvement.
5. Compatibility Testing:
• Ensure compatibility with different web browsers, operating systems, and devices.
• Test integration with other systems or databases that the criminal database system may interact
with.
• Verify the integrity of data stored in the system by performing data validation checks.
• Test data import/export processes to ensure data consistency and accuracy.
7. Recovery Testing:
• Test backup and recovery procedures to ensure that data can be restored in case of system
failures or data loss.
9. Localization Testing:
• If the system will be used in multiple regions or countries, test for localization issues such as
language support, date and time formats, and cultural sensitivities.
By conducting thorough testing across these areas, you can ensure that the criminal database system is robust,
secure, and reliable for its intended purpose.
8.1Module Testing:
1.Module testing:
Also known as unit testing, involves testing individual components or modules of a system in
isolation to ensure they function correctly. In the context of a criminal database system, which likely
comprises various modules or components handling different functionalities, module testing would focus
on testing each of these components independently. Here's how module testing can be approached:
2.Identify Modules:
Break down the criminal database system into its constituent modules or components. These
could include modules for user authentication, data entry, search and retrieval, reporting, security, etc.
4.Isolate Modules:
Test each module in isolation from the rest of the system. This can be achieved by mocking or
stubbing dependencies that the module interacts with, such as databases, external APIs, or other
modules.
5.Execute Tests:
Run the test cases for each module and observe the results. Verify that the module produces the
expected outputs and behaves correctly according to its specifications. Pay attention to error messages,
exceptions, and any unexpected behaviour.
6.Test Coverage:
Measure test coverage to ensure that the tests exercise all paths through the module's code. Aim
for high coverage to minimize the risk of undetected bugs.
7.egression Testing:
After making changes to a module, rerun the module tests to ensure that the changes haven't
introduced new defects or regressions.
8.Integration Testing:
Once individual modules have been tested and verified, conduct integration testing to ensure that
they work together correctly as a cohesive system. This involves testing the interactions and interfaces
between modules.
9.Documentation:
Document test results, including any defects found and their resolutions. This documentation
serves as a reference for future development and maintenance efforts.
10.Automate Testing:
Whenever possible, automate module testing to streamline the testing process and facilitate
regression testing. Automated tests can be run frequently and consistently to catch bugs early in the
development cycle.
By following these steps, module testing ensures that each component of the criminal database system
functions correctly in isolation, laying a solid foundation for the overall system's reliability and robustness.
8.2 Test:
Here are some examples of test cases for various functionalities of a criminal database system:
1. User Authentication:
• Verify that valid credentials allow users to log in successfully.
• Confirm that invalid credentials result in appropriate error messages.
• Test the handling of password expiration and password reset functionality.
2. Data Entry:
• Ensure that new criminal records can be accurately entered into the system.
• Verify that all required fields are properly validated.
• Test the handling of special characters, numeric data, and text inputs.
• Check for proper error handling when duplicate records are attempted.
4. Reporting:
• Ensure that predefined reports can be generated accurately (e.g., crime statistics by region,
offender demographics).
• Test custom report generation by specifying criteria and filters.
• Verify that reports can be exported in different formats (e.g., PDF, CSV) and that the exported
data matches the displayed results.
6. Data Integrity:
• Test data validation rules to ensure that only valid data can be entered into the system.
• Verify that data integrity constraints (e.g., foreign key relationships) are enforced properly.
• Test data import and export functionality to ensure that data can be transferred to and from
external systems without loss or corruption.
These test cases cover a range of functionalities and scenarios that a criminal database system might
encounter, helping to ensure its reliability, accuracy, and security.