Download as pdf or txt
Download as pdf or txt
You are on page 1of 109

AN

INTERNSHIP REPORT
On
Online Crime Reporting System (OCRS)
Submitted
by

Sathvara Raj Vasantbhai


(Enrollment Number: 200020107097)

Guided By:
Ms. Ankita shah
An
Internship Report
Submitted to

Gujarat Technological University


In fulfillment for the award of degree of Bachelor of Engineering
in
COMPUTER ENGINEERING
ACADEMIC YEAR – 2024

AHMEDABAD INSTITUTE OF TECHNOLOGY


Nr. Vasantnagar Township, Gota-Ognaj Road, Gota,
Ahmedabad, GUJARAT- 382470.

i
AHMEDABAD INSTITUTE OF TECHNOLOGY

CERTIFICATE

This is to certify that the Internship report submitted along with the project entitled
Internship in Aavishkar CodeX Infotech LLP has been Completed by Sathvara Raj
Vasantbhai under my guidance in complete fulfilment for the Bachelor of Engineering in
Computer Engineering Branch, 8th Semester of Gujarat Technological University,
Ahmedabad during the academic year 2024.

Date:

Place: AIT, Ahmedabad.

Signature and Name of Guide Signature and Name of H.O.D.


Ms. Ankita shah Dr. Dushyantsinh Rathod,
Assistant Professor, Associate Professor & HOD,
Computer Engineering Department, Computer Engineering Department,
AIT (002), Ahmedabad. AIT (002), Ahmedabad.

Seal of Institute

ii
GUJARAT TECHNOLOGICAL UNIVERSITY
CERTIFICATE FOR COMPLETION OF ALL ACTIVITIES AT ONLINE PROJECT PORTAL
B.E. SEMESTER VIII, ACADEMIC YEAR 2023-2024
Date of certificate generation : 16 April 2024 (19:35:13)

This is to certify that, Sathvara Raj Vasantbhai ( Enrolment Number -


200020107097 ) working on project entitled with Smart crime report system
from Computer Engineering department of AHMEDABAD INSTITUTE OF
TECHNOLOGY, GOTA, AHMEDABAD had submitted following details at
online project portal.

Internship Project Report Completed

Name of Student : Sathvara Raj Vasantbhai Name of Guide : Mrs. Shah Ankita Praveenkumar

Signature of Student : *Signature of Guide :

Disclaimer :
This is a computer generated copy and does not indicate that your data has been evaluated. This is the receipt that GTU
has received a copy of the data that you have uploaded and submitted as your project work.

*Guide has to sign the certificate, Only if all above activities has been Completed.
Internship Completion Letter

Office order No. ACI/CL/04/18 Date: 20th April 2024

Student Name: Raj Sathvara.


Enrolment Number: 200020107097.
College: Ahmedabad Institute of Technology.

Subject: Letter for Successfully Completion of Fourteenth-week (84 Days)


Internship.

Dear Raj Sathvara,

This is to certify that, Mr. /Mrs. Raj Sathvara Enrolment No. 200020107097
Student of Ahmedabad Institute of Technology. Has successfully completed a
Fourteenth-week (84 Days) Internship in the field Web Development of from the date:
15th January 2024 to date: 20th April 2024.

During the period of his/her internship program with us, He / She were exposed to
following different processes and were found sincere and hardworking.

Authorized Signature Technical Head


Aavishkar CodeX Infotech LLP.
Mrs. Mohini Kumare
AHMEDABAD INSTITUTE OF TECHNOLOGY

DECLARATION

We hereby declare that the Internship report submitted along with the Internship
entitled Project Online Crime Reporting System (OCRS) submitted in Complete for
Bachelor of Engineering in Computer Engineering Branch to Gujarat Technological
University, Ahmedabad, is a bonafide record of original Internship work Completed by me
at Aavishkar CodeX Infotech LLP under the supervision of External Guide Ansh Patel
and that no part of this report has been directly copied from any students’ reports or taken
from any other source, without providing due reference.

Name of Student Signature of Student


Sathvara Raj Vasantbhai

iv
ACKNOWLEDGEMENT

I wish to express my sincere gratitude to my External guide Ansh Patel for


continuously guiding me at the company and answering all my doubts with patience. I
would also like to thank Dr. Dushyantsinh Rathod, (Associate Professor & HOD of CE
Department) for motivating me every time whenever I get confused, I would also like to
thank my Internal Guide Ms. Ankita Shah for helping me through my internship by
giving me the necessary suggestions and advices along with their valuable co-ordination in
completing this Internship.

I also thank my parents, friends and all the members of the family for their precious
support and encouragement which they had provided in completion of my work. In addition
to that, I would also like to mention the company personals who gave me the permission to
use and experience the valuable resources required for the Internship.

Thus, in conclusion to the above said, I once again thank the staff members of
Aavishkar CodeX Infotech LLP for their valuable support in completion of the
Internship.

Thank You

Name of Student Date:


Sathvara Raj Vasantbhai
Enrollment Number Signature of Student
200020107097

v
TABLE OF CONTENTS
CHAPTERS PAGE NO.
Title Page i
Certificate Page ii
Internship Certificate iii
Declaration iv
Acknowledgements v
Table of Contents vi
Abstract ix
CHAPTER 1 INTRODUCTION OF PROJECT & COMPANY 01
PROFILE
1.1 Introduction 2
1.1.1 Company Profile 2
1.1.2 Company Products 2
1.1.3 Company Mission and Vision 3
1.2 Introduction of the Project 4
1.2.1 Purpose of the Project 4
1.2.2 Function Requirements 4
1.2.3 Problems in Existing System 5

1.2.4 Main Modules 5

CHAPTER 2 SYSTEM REQUIREMENTS 07


2.1 Hardware & Software Requirements 08
2.1.1 Server-Side Requirements 08
2.1.2 Developer Side Requirements 08
2.1.3 User Side Requirements 08

CHAPTER 3 FRONT END OF SYSTEM 10


3.1 About Front End 11

3.1.1 about HTML 11

VI
3.1.2 about CSS 13

3.1.3 about JavaScript 14

CHAPTER 4 BACK END OF SYSTEM 17


4.1 About Python 18
4.2 Why Use Python 20
4.3 About Back End 23
4.3.1 about MySQLite 23
4.3.2 Why use MySQLite 25
4.4 About Django 26

CHAPTER 5 SYSTEM DESIGN 29


5.1 System Analysis and Design 30
5.2 Systems Development Life Cycle (SDLC) 31
5.2.1 Needs of SDLC 31
5.2.2 SDLC Cycle 32
5.3 Spiral Model 34
5.4 Class Diagram 36

CHAPTER 6 DATA DICTIONARY 41


6.1 Introduction 42
6.2 List of Tables 42
6.2.1: user_master 43
6.2.2: admin_master 44
6.2.3: police_incharge_master 44
6.2.4: police_master 46
6.2.5: complaint_master 47
6.2.6: csr_master 48
6.2.7: fir_master 50
6.2.8: police_station_master 52
6.2.9: rank_master 53

VII
6.2.10: district_master 53

6.2.11: state_master 54

6.2.12: crime_category_master 54

6.2.13: announcement_master 55
6.2.14: feedback_master 55

CHAPTER 7 TESTING 56
7.1 Testing Plan 57
7.2 Testing Strategies 59
7.3 Testing Method 62
7.4 Test Case 64

CHAPTER 8 SNAPSHOT OF WEBSITE 67


8.1 Landing Page 68
8.2 User Dashboard 71
8.3 Police Dashboard 78
8.4 Police In-charge Dashboard 81
8.5 Admin Dashboard 86

CHAPTER 9 ADVANTAGES 91
9.1 Advantages 92
9.2 Limitations 92

CHAPTER 10 CONCLUSION AND FUTURE ENHANCEMENT 94

10.1 Conclusion 95

10.2 Future Enhancement 95

BIBLIOGRAPHY 96

a. Course Outcome 97

b. Books & Web Reference 98

VIII
Online Crime Reporting System (OCRS)
Enrollment No.: 200020107097
Student Name: Sathvara Raj Vasantbhai

Ahmedabad Institute of Technology

Semester: VIII, CE Department

ABSTRACT

The purpose of Crime Report Management System is to automate the existing


manual system by the help of computerized equipment's and full-fledged computer
software, fulfilling the requirements of all policemen, so that their valuable
data/information can be stored for a longer period with easy accessing of the same. The
required software and hardware are easily available and easy to work with. This system
also maintains computerized records of all the FIR, CSR filed against crime. The main aim
of this project is to notify each and every policeman about the release of any criminal,
including his/her details, such as, criminal’s id, name, type of release and so on.
Additionally, it also provides the details of any new rule that has been introduced or any
event that is going to take place. It can be used as an application by the police department
to manage the records of different activities related to First Information Report. In this
system all these activities (like registration of the complaint, updating information) are
managed that saves time. This application is for the police stations that provide facilities
for reporting crimes, filing FIR and maintaining prisoner records. It provides better
prospective for the enhancement of organization regarding quality and transparency.

Keywords: Crime, Data/Information, Policemen, FIR(First Information Report),


CSR(Community service register), Criminal, Reporting, Records, quality and transparency

ix
Enrollment Number: 200020107097 Introduction of Project & Company Profile

CHAPTER: 1
INTRODUCTION OF PROJECT
&
COMPANY PROFILE

1.1. Introduction
1.1.1. Company Profile
1.1.2. Company Products
1.1.3. Company Mission and Vision
1.2. Introduction of the Project
1.2.1. Purpose of the Project
1.2.2. Function Requirements
1.2.3. Problems in Existing System
1.2.4. Main Modules

Gujarat Technological University Page 1 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Introduction of Project & Company Profile

1.1. Introduction
1.1.1. Company Profile

We offer a full range of IT services encompassing web hosting, website


development, mobile app development, MLM software consulting and development, e-
commerce, as well logo and brochure designing.

Aavishkar CodeX Infotech LLP is a brain child of Miss. Mohini Kumare and Mr.
Prakash Suthar who partnered to initiate the ambitious venture. Started as a small
partnership firm way back in 2022, it grew exponentially within a decade.

The glorious journey that started with web development, MLM, and digital
marketing services, moved on with new additions every year. The firm got its new
structure as a company named Aavishkar CodeX Infotech LLP and now has grown
into a full-fledged IT team of more than 10.

With its expansion, the company is all set to provide a comprehensive range of
services to the global market. Having already worked on more than 30 projects and
served top-notch clients from countries like Australia, Singapore, and Canada, we are
expanding our horizons to the other untraded markets as well.

1.1.2. Company Products


 Aavishkar CodeX Infotech LLP is an Information Technology Training Institute,
offering a wide area of solutions customized for a range of key verticals and
horizontals in the information technologies segment. People with the knowledge of
Python with Django are highly sought after in the world today. If you want to excel
at something that very few people are adept at, the Python with Django course
Ahmedabad is the right solution for you. This course offers in-depth information
about Python with Django which can help you establish a strong career in web
development.
 Joomla CMS is very well-known as it is powerful, straightforward, scalable,
protected and highly customizable. Aavishkar CodeX Infotech LLP provides
Joomla Customization training to for enhancing website, adding new modules and

Gujarat Technological University Page 2 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Introduction of Project & Company Profile

Plugins into existing website. Aavishkar CodeX Infotech LLP follows step-by-step
approach when providing Joomla Customization Services to get affirmative results
which will add unique needs.
 Aavishkar CodeX Infotech LLP is also providing Project Training for the
implementation of the right tools for enterprise-wide planning and software
development.
 Aavishkar CodeX Infotech LLP service portfolio encompasses the entire range of
solutions required by the IT industry. We also offer placement services to fresher
and experienced professionals in Ahmedabad.
 Aavishkar CodeX Infotech LLP is imparting high-quality education in the realm of
major programming and non-programming skills including Python with Django
development, Java, Python, ASP.Net, mobile app development, digital marketing,
graphic designing, web designing, SEO, and many others.
 The learners get intensive coaching from the highly experienced trainers with best
classroom environment and live project training.
1.1.3. Company Mission and Vision
 Company Mission:
o To provide the most effective and friendly computer training which will
result in productive and satisfied users of all levels.
o Aavishkar CodeX Infotech LLP aims at delivering cutting-edge web
solutions to the clients and helping them capitalize the optimum power of
the IT technologies.
o We ensure all our designing and development assignments are enhancing
performance and revenues of your business.
o Our training programs are specifically designed to train candidates to work
in the industry as soon as they complete training.
 Company Vision:
o As an established company now, we visualize our success in becoming a
top-notch IT company and training Centre for a plethora of skills and
technologies.

Gujarat Technological University Page 3 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Introduction of Project & Company Profile

o Keeping our customer's satisfaction at the Centre, we also provide the best
platform for the fresh talents to learn, nurture, and grow.

1.2. Introduction of the Project


1.2.1. Purpose of the Project
 The purpose of this paper is to develop an android application for crime area
detection and store criminal records. It provides an application for the user that
would provide an alternate path for the users passing by crime area. It allows user
to report incidents and get it verified by the police officials. It will consist of an
application for police officials which can perform database operations on criminal
record and allows efficient retrieval of required information from the centralized
database present on Cloud. The application targets general public and police
officials for managing the incidents and crime without consuming much time. This
proposed system will be divided into three major modules.

 This application will be useful for the remote access of criminal data which will be
helpful for the investigations carried by police department. Moreover, it will also
provide an alternate safe path on user’s demand before entering the crime area. The
database for this project will be stored on cloud to gain remote access. For avoiding
any false incidence to be notified to other user, the information provided will be
first verified by the police officials. After approval of the information, it will be
broadcasted to other users using the application.

1.2.2. Function Requirements


 Checking the status of Complaint.
 Entering Complaint information.
 Viewing Complaint information.
 Manage Complaint Priority.
 Investigation status.
 Shows the information about the new rules, guidelines and announcements.
 Store information for longer time.
 Manage and update status of reports.

Gujarat Technological University Page 4 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Introduction of Project & Company Profile

 Proper control of the higher authority.


 View FIR/CSR by using FIR /CSR Number.
1.2.3. Problems in Existing System

 In the present scenario filing an FIR/complaint is a hectic task since one must go
through a very huge process for justice. It matter how small or big the crime is. In
general, to file an FIR/complaint one must search for a nearby police station and
have to wait until a cop takes upon the request and either we have to recite or have
to give it as a written statement.

 Certainly this takes nearly a day of an individual’s time. In this busy world, it’s
quite tough to give up on our routine works. The existing system of filing
complaints/FIR affects our daily routine, makes us spend a lot of our precious time
in it. Filing an FIR, meanwhile we could have done three. Mainly could give a lot
of chances and time for verdicts to easily escape from cases making their pre bails
ready or even for absconding.

 To avoid such miserable situations we have designed an app that makes everything
happen in jut few minutes. Below diagram represents the existing process of filing
complaints/FIR in police station which starts by a simple request from a Citizen

1.2.4. Main Modules

 Admin
o Login
o Create category
o Create department ( division)
o City
o Area / Town
o Create police user
o Manage police user
o View compliant report
o All report ( CSR / FIR )

Gujarat Technological University Page 5 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Introduction of Project & Company Profile

 Police
o Login
o View FIR
o View CSR
o View status
 User
o Register
o Login
o Create FIR
o Create CSR
o View FIR

Gujarat Technological University Page 6 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Requirements

CHAPTER: 2
SYSTEM REQUIREMENTS

2.1 Hardware & Software Requirements


2.1.1 Server-Side Requirements
2.1.2 Developer Side Requirements
2.1.3 User Side Requirements

Gujarat Technological University Page 7 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Requirements

2.1 Hardware & Software Requirements


2.1.1 Server-Side Requirements
 Hardware Requirement
o I3 Processor or above.
o 500 GB HDD or above
o 8GB of RAM.
o Keyboard (Normal or Multimedia) and Mouse (Compatible Mouse)
 Software Requirement
o Front End: HTML, CSS, Django HTML, Bootstrap and JavaScript
o Back End: Python, SQLite and Django
o Server: Nginx and Gunicorn (Green Unicorn).
o Design Tool: VS Code and PyCharm Professional
o OS: Window 7 or Any Compatible OS
2.1.2 Developer Side Requirements
 Hardware Requirement
o I3 Processor or above.
o 500 GB HDD or above
o 8GB of RAM.
o Keyboard (Normal or Multimedia) and Mouse (Compatible Mouse)
 Software Requirement
o Front End: HTML, CSS, Django HTML, Bootstrap and JavaScript
o Back End: Python, SQLite and Django
o Server: Nginx and Gunicorn (Green Unicorn).
o Design Tool: VS Code and PyCharm Professional
o OS: Window 7 or Any Compatible OS
2.1.3 User Side Requirements
 Hardware Requirement
o I3 Processor or above.
o 500 GB HDD or above
o 8GB of RAM.
o Keyboard (Normal or Multimedia) and Mouse (Compatible Mouse)

Gujarat Technological University Page 8 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Requirements

 Software Requirement
o OS: Window 7 or Any Compatible OS
o Browser: Chrome or any Compatible browser
 Basic Requirement
o Internet Connection.

Gujarat Technological University Page 9 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Front End of System

CHAPTER: 3
FRONT END OF SYSTEM

3.1About Front End


3.1.1about HTML
3.1.1about CSS
3.1.1about JavaScript

Gujarat Technological University Page 10 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Front End of System

3.1About Front End


 Front end development refers to the part of web development that focuses on creating
the user interface and experience of a website or web application.
 It involves implementing designs provided by UI/UX designers using languages such
as HTML, CSS, and JavaScript.
3.1.1 about HTML
 HTML stands for Hyper Text Markup Language.
 HTML describes the structure of a Web page.
 HTML consists of a series of elements.
 HTML elements tell the browser how to display the content
 HTML elements label pieces of content such as "this is a heading", "this is a
paragraph", "this is a link", etc.
 HTML Page Structure

o Any HTML document mainly comprises two parts, the head and the body.

Gujarat Technological University Page 11 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Front End of System

o The Head includes the additional information of the document, apart from the
one displayed on the web page.
o It includes the HTML version, the title, and also the metadata.
o And the information that will be displayed on the web page is put inside
the Body tag.
o HTML, or Hypertext Markup Language, is the standard language used to create
and design web pages.
o It provides the structure and content of a webpage by using a system of markup
tags and attributes.
 Here's a breakdown of HTML's key components and concepts:
o Elements:
 HTML documents are composed of elements, which are represented by
tags enclosed in angle brackets (< and >).
 Elements can have attributes that provide additional information about
them.
o Tags:
 Tags are used to define the beginning and end of an element.
 Some elements are self-closing, meaning they don't have content and
close themselves within the opening tag.
o Attributes:
 Attributes provide additional information about an element and are
specified within the opening tag.
 They are comprised of a name and a value, separated by an equals sign
(=).
o Document Structure:
 HTML documents have a specific structure defined by a hierarchy of
elements.
 The basic structure typically includes a <!DOCTYPE> declaration,
<html>, <head>, and <body> elements.
o Semantic Markup:
 HTML provides semantic elements that convey the meaning and
structure of content to both browsers and developers.

Gujarat Technological University Page 12 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Front End of System

 These elements include headings (<h1> to <h6>), paragraphs (<p>),


lists (<ul>, <ol>, <li>), and more.
o Links and Images:
 HTML allows you to include hyperlinks (<a>) to navigate between
pages or sections within a page, and images (<img>) to display graphics
on a webpage.
o HTML forms the backbone of web development, providing the structure and
content for websites and web applications.
o It is often combined with CSS for styling and JavaScript for interactivity to
create rich, dynamic web experiences.
3.1.1about CSS
 CSS stands for Cascading Style Sheets.
 CSS describes how HTML elements are to be displayed on screen, paper, or in
other media
 CSS saves a lot of work. It can control the layout of multiple web pages all at once
 External stylesheets are stored in CSS files
 CSS, or Cascading Style Sheets, is a style sheet language used to describe the
presentation of a document written in HTML or XML (including XML dialects like
SVG or XHTML). CSS describes how elements should be rendered on screen, in
print, or even spoken aloud.
 Here's a deeper look at CSS:
o Selectors:
 CSS selectors are patterns used to select the elements you want to
style.
 They can target HTML elements, classes, IDs, attributes, and more.
o Properties and Values:
 CSS properties are the stylistic attributes you can apply to selected
elements, and values determine how those properties are applied.
o Cascade and Specificity:
 The "C" in CSS stands for "Cascading," meaning that styles can
cascade from parent elements to child elements. CSS also follows

Gujarat Technological University Page 13 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Front End of System

rules of specificity, which determine which styles are applied when


multiple rules conflict.
o Units and Values:
 CSS supports various units for specifying sizes, including pixels
(px), percentages (%), ems (em), and more.
 It also supports different value types such as colors, lengths, and
keywords.
o Box Model:
 CSS treats each HTML element as a box, comprising content,
padding, border, and margin.
 Understanding the box model is crucial for layout and positioning of
elements on a webpage.
o Responsive Design:
 CSS allows developers to create responsive designs that adapt to
different screen sizes and devices using techniques like media
queries, flexbox, and CSS grid.
o Preprocessors and Frameworks:
 CSS preprocessors like Sass and Less extend the capabilities of CSS
by adding features like variables, mixins, and nested rules.
 CSS frameworks like Bootstrap and Foundation provide pre-written
CSS and HTML templates to streamline development.
o CSS plays a fundamental role in web development by controlling the look
and feel of web pages, making them visually appealing and user-friendly. It
works hand-in-hand with HTML and often JavaScript to create dynamic
and interactive web experiences.

3.1.2 about JavaScript


 JavaScript is a high-level, versatile programming language primarily known for its use
in web development.
 It enables developers to add interactivity, behavior, and dynamic features to websites
and web applications. Here's a comprehensive overview of JavaScript:

Gujarat Technological University Page 14 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Front End of System

o Client-Side Scripting:
 JavaScript is primarily used as a client-side scripting language, meaning
it runs on the user's web browser rather than a remote server.
 This allows for dynamic updates and interaction without needing to
reload the entire webpage.
o Core Features:
 Variables and Data Types:
 JavaScript supports various data types such as numbers, strings,
booleans, arrays, objects, functions, and more.
 Variables are used to store data, and they can be dynamically
typed.
 Control Structures:
 JavaScript provides control structures like conditionals (if, else
if, else), loops (for, while, do-while), and switch statements.
 Functions:
 Functions are reusable blocks of code that perform a specific
task.
 JavaScript supports both function declarations and function
expressions, as well as arrow functions introduced in ES6.
 Objects and Prototypes:
 JavaScript is an object-oriented language, where objects are
collections of key-value pairs.
 Objects can also inherit properties and methods from other
objects through prototypes.
 DOM Manipulation:
 The Document Object Model (DOM) represents the structure of
HTML documents as a tree of objects.
 JavaScript can manipulate the DOM to dynamically change the
content, structure, and style of web pages.
o Event-Driven Programming:
 JavaScript follows an event-driven programming paradigm, where
actions or events (like mouse clicks, key presses, or page loads) trigger
the execution of specific code.

Gujarat Technological University Page 15 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Front End of System

 Event handlers are used to respond to these events and perform actions
accordingly.
o Asynchronous Programming:
 JavaScript supports asynchronous programming through mechanisms
like callbacks, promises, and async/await.
 This allows non-blocking execution of code, enabling tasks like
fetching data from servers, handling user input, and performing
animations without freezing the UI.
o Libraries and Frameworks:
 JavaScript has a vast ecosystem of libraries and frameworks that extend
its capabilities and streamline development. Popular libraries include
jQuery for DOM manipulation and AJAX requests, while frameworks
like React.js, Angular, and Vue.js provide structured approaches to
building complex web applications.
o Server-Side Development:
 While JavaScript is primarily associated with client-side scripting, it is
also used for server-side development.
 Node.js is a runtime environment that allows JavaScript to be executed
on the server, enabling full-stack JavaScript development.
o Security Considerations:
 JavaScript runs in a sandboxed environment within the browser, which
limits its access to the user's system.
 However, developers must still be cautious of security vulnerabilities
like cross-site scripting (XSS) and ensure proper data validation and
sanitization.
o JavaScript is a fundamental technology for web development, empowering
developers to create interactive and engaging web experiences across various
devices and platforms.
o Its versatility and extensive ecosystem make it a cornerstone of modern web
development.

Gujarat Technological University Page 16 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

CHAPTER: 4
BACK END OF SYSTEM

4.1 About Python


4.1 Why Use Python
4.1 About Back End
4.1.1 about MySQLite
4.1.2 How MySQLite Works
4.1.2 MySQLite Features
4.2 Why use MySQLite
4.3 About Django

Gujarat Technological University Page 17 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

4.1 About Python

Python is an interpreted, object-oriented, high-level programming language with


dynamic semantics. Its high-level built in data structures, combined with dynamic typing and
dynamic binding, make it very attractive for Rapid Application Development, as well as for
use as a scripting or glue language to connect existing components together. Python's simple,
easy to learn syntax emphasizes readability and therefore reduces the cost of program
maintenance. Python supports modules and packages, which encourages program modularity
and code reuse. The Python interpreter and the extensive standard library are available in
source or binary form without charge for all major platforms, and can be freely distributed.

Often, programmers fall in love with Python because of the increased productivity it
provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast.
Debugging Python programs is easy: a bug or bad input will never cause a segmentation fault.
Instead, when the interpreter discovers an error, it raises an exception. When the program
doesn't catch the exception, the interpreter prints a stack trace. A source level debugger allows
inspection of local and global variables, evaluation of arbitrary expressions, setting
breakpoints, stepping through the code a line at a time, and so on. The debugger is written in
Python itself, testifying to Python's introspective power. On the other hand, often the quickest
way to debug a program is to add a few print statements to the source: the fast edit-test-debug
cycle makes this simple approach very effective.

 Python Features:
Python provides many useful features which make it popular and valuable from the other
programming languages. It supports object-oriented programming, procedural
programming approaches and provides dynamic memory allocation. We have listed below
a few essential features.
o Easy to Learn and Use
 Python is easy to learn as compared to other programming languages. Its
syntax is straightforward and much the same as the English language. There
is no use of the semicolon or curly-bracket, the indentation defines the code
block. It is the recommended programming language for beginners.

Gujarat Technological University Page 18 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

o Expressive Language
 Python can perform complex tasks using a few lines of code. A simple
example, the hello world program you simply type print("Hello World"). It
will take only one line to execute, while Java or C takes multiple lines.
o Interpreted Language
 Python is an interpreted language; it means the Python program is executed
one line at a time. The advantage of being interpreted language, it makes
debugging easy and portable.
o Cross-platform Language
 Python can run equally on different platforms such as Windows, Linux,
UNIX, and Macintosh, etc. So, we can say that Python is a portable
language. It enables programmers to develop the software for several
competing platforms by writing a program only once.
o Free and Open Source
 Python is freely available for everyone. It is freely available on its official
website www.python.org. It has a large community across the world that is
dedicatedly working towards make new python modules and functions.
Anyone can contribute to the Python community. The open-source means,
"Anyone can download its source code without paying any penny."
o Object-Oriented Language
 Python supports object-oriented language and concepts of classes and
objects come into existence. It supports inheritance, polymorphism, and
encapsulation, etc. The object-oriented procedure helps to programmer to
write reusable code and develop applications in less code.
o Extensible
 It implies that other languages such as C/C++ can be used to compile the
code and thus it can be used further in our Python code. It converts the
program into byte code, and any platform can use that byte code.
o Large Standard Library
 It provides a vast range of libraries for the various fields such as machine
learning, web developer, and also for the scripting. There are various

Gujarat Technological University Page 19 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

machine learning libraries, such as Tensor flow, Pandas, Numpy, Keras,


and Pytorch, etc. Django, flask, pyramids are the popular framework for
Python web development.
o GUI Programming Support
 Graphical User Interface is used for the developing Desktop application.
PyQT5, Tkinter, Kivy are the libraries which are used for developing the
web application.
o Integrated
 It can be easily integrated with languages like C, C++, and JAVA, etc.
Python runs code line by line like C,C++ Java. It makes easy to debug the
code.
o Embeddable
 The code of the other programming language can use in the Python source
code. We can use Python source code in another programming language as
well. It can embed other language into our code.
o Dynamic Memory Allocation
 In Python, we don't need to specify the data-type of the variable. When we
assign some value to the variable, it automatically allocates the memory to
the variable at run time. Suppose we are assigned integer value 15 to x, then
we don't need to write int x = 15. Just write x = 15.

4.1 Why Use Python


 Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
 Python has a simple syntax similar to the English language.
 Python has syntax that allows developers to write programs with fewer lines than some other
programming languages.
 Python runs on an interpreter system, meaning that code can be executed as soon as it is written.
This means that prototyping can be very quick.
 Python can be treated in a procedural way, an object-oriented way or a functional way.
 Evidently, Python is a popular and helpful skill to master. But in what sectors and for what
purposes is Python programming used? Python is a general-purpose programming

Gujarat Technological University Page 20 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

language that is utilized in fields such as mathematics, software, and applications that we
are unaware of.
 The following are some of the numerous applications of the Python programming
language.
o Artificial Intelligence and Machine Learning:
 Python is ideal for a variety of machine learning (ML) and artificial
intelligence (AI) projects because to its security, flexibility, and simplicity.
Python has grown to be one of the most popular programming and coding
languages among data scientists. Because of its growing population and
uses, there are several Python machine learning and AI libraries and
packages on the market.
o Data analytics:
 Data analytics, like Artificial Intelligence and Machine Learning, is a
rapidly expanding discipline that utilizes Python programming. These are
the times when we generate more data than ever. As a result, those who can
gather, manipulate, and organize data are in high demand. Python coding
for data science and analytics has shown to be really useful. The Python
programming language is simple to learn, comprehend, and use. Python
programming is versatile and well-supported. As a result, it is relatively fast
and simple to utilize for data analysis.
o Data Visualization:
 Data visualization is another popular area of technology that can use Python
coding at its best to meet the requisite requirements. Data Visualization can
utilize the many strengths, benefits, and flexibility of Python coding. Since
Python programming is open-source, it provides a variety of graphing
libraries with all kinds of features. Whether you want to transform your
data into a creative graphical representation or represent it with a simple
plot, you will always find features to match your requirements.
o Programming Applications:
 Python coding may be used to develop a variety of applications. Python is a
general-purpose programming language capable of reading and creating file

Gujarat Technological University Page 21 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

directories, GUIs, APIs, and other objects. Python programming and coding
allow you to construct a wide range of applications, including blockchain,
audio and video, and machine learning.
o Web Development:
 Python programming is so flexible that it is easy to see why it is so
extensively employed in web development. Python is a great choice for web
development. There are several Python web development frameworks to
select from, including Django, Pyramid, and Flask; hence, Python is an
excellent choice for web development. These frameworks have powered a
variety of websites and services, including Spotify, Reddit, and Mozilla.
This is feasible because to the large and diverse libraries and modules that
come with Python frameworks. Python programming allows for and
facilitates database access, content management, and data permission.
o Game Development:
 Python programming language does have its uses in the industry of online
games. If you have just started using or learning Python or game
development, then you can also discover how to make a text-based
prototype game in Python Coding. In doing so, you can work on various
skills and improve your knowledge in various areas.
o Language Development:
 Python's simple and beautiful architecture, as well as its syntax, have
encouraged the development of other programming languages. Python's
syntax is comparable to that of Cobra, CoffeeScript, and Go, making it a
gateway language. So, even if you're completely new to programming,
knowing and studying Python will help you learn and build other
programming languages.
o SEO:
 Python coding is also used in the field of search engine optimization. It is
an area that may greatly benefit from automation, which is absolutely
doable with Python. Python programming may be used in SEO to make
modifications to several pages or to classify keywords.

Gujarat Technological University Page 22 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

4.1 About Back End


 The backend of a software application refers to the part that users don't see or interact
with directly. It typically consists of the server, the database, and the application itself.
Here's a breakdown of each component:
o Server:
 This is the computer or network of computers that run the application. It
receives requests from clients (like web browsers or mobile apps),
processes them, and sends back responses. Servers can be physical
machines or virtual servers hosted in the cloud.
o Database:
 This is where all the data used by the application is stored. It could be
structured data (like in a relational database) or unstructured data (like
in a NoSQL database). The backend interacts with the database to
retrieve, store, and manipulate data based on user requests.
o Application:
 This is the core logic of the software. It handles tasks like user
authentication, business logic, data processing, and communication with
the database. The backend application could be built using various
programming languages and frameworks, depending on the specific
requirements and preferences of the development team.
 The backend is responsible for the functionality and performance of an application. It
ensures that data is securely stored, processed efficiently, and delivered to clients as
needed. Backend developers focus on writing code that powers the server-side of the
application, often working closely with frontend developers who build the user
interface.
4.3.1 about SQLite
 SQLite is a popular relational database management system (RDBMS) known for its
simplicity, reliability, and lightweight nature. Unlike traditional client-server database
management systems, SQLite is self-contained, serverless, and requires minimal
configuration, making it a popular choice for embedded systems, mobile apps, and
small-scale applications. Here are some key points about SQLite:

Gujarat Technological University Page 23 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

o Serverless Architecture:
 Unlike most database systems, SQLite does not operate as a separate
server process. Instead, it is directly integrated into the application that
uses it. This means there is no need for a separate database server to be
running, making SQLite easy to deploy and manage.
o Self-contained:
 SQLite databases are stored as a single file on disk. This makes it easy
to transport and share databases between different systems. The entire
database engine is contained within a library that can be linked with the
application, eliminating the need for external dependencies.
o Zero Configuration:
 SQLite does not require any setup or administration. There are no
configuration files or user management tasks to worry about. You can
simply include the SQLite library in your application and start using it
immediately.
o Transaction Support:
 SQLite supports ACID (Atomicity, Consistency, Isolation, Durability)
transactions, ensuring data integrity and reliability. It provides support
for multiple transactions and concurrent access to the database, allowing
multiple processes or threads to read from and write to the database
simultaneously.
o SQL Compatibility:
 SQLite supports a large subset of SQL92 standard, including most of
the SQL language features such as joins, subqueries, triggers, and
views. This makes it easy for developers familiar with SQL to work
with SQLite databases.
o Cross-platform:
 SQLite is cross-platform and works on various operating systems,
including Windows, macOS, Linux, iOS, and Android. This makes it a
versatile choice for developing applications that need to run on different
platforms.

Gujarat Technological University Page 24 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

o Extensibility:
 SQLite allows developers to extend its functionality by writing custom
extensions in C/C++ or by loading dynamic link libraries (DLLs). This
enables developers to add new functions, collations, and virtual tables to
meet specific application requirements.
 Overall, SQLite is an excellent choice for small to medium-sized applications that
require a lightweight, embedded database solution with minimal setup and
administration overhead. However, it may not be suitable for high-concurrency, high-
transaction volume scenarios where a client-server database system like MySQL or
PostgreSQL would be more appropriate.

4.3.2 Why use SQLite


 SQLite offers several advantages that make it a compelling choice for certain use
cases:
o Simplicity:
 SQLite is easy to set up and use. Since it's serverless and self-contained,
there's no need to install and configure a separate database server.
Developers can simply include the SQLite library in their application
and start using it immediately.
o Portability:
 SQLite databases are stored as a single file on disk, making them highly
portable. They can be easily moved between different systems and
platforms without any compatibility issues.
o Low resource usage:
 SQLite is lightweight and has minimal resource requirements. It's well-
suited for embedded systems, mobile devices, and applications with
limited hardware resources.
o Zero configuration:
 Unlike many other database systems, SQLite doesn't require any
configuration or administration. There are no configuration files to
manage or user permissions to set up. This makes it ideal for
applications where simplicity and ease of use are priorities.

Gujarat Technological University Page 25 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

o Transactional support:
 SQLite supports ACID (Atomicity, Consistency, Isolation, Durability)
transactions, ensuring data integrity and reliability. It provides support
for multiple transactions and concurrent access to the database, allowing
for safe and efficient data manipulation.
o SQL compatibility:
 SQLite supports a large subset of the SQL92 standard, making it easy
for developers familiar with SQL to work with. It includes features such
as joins, subqueries, triggers, and views, allowing for complex data
manipulation and querying.
o Cross-platform:
 SQLite is cross-platform and works on various operating systems,
including Windows, macOS, Linux, iOS, and Android. This makes it a
versatile choice for developing applications that need to run on different
platforms.
 Overall, SQLite is an excellent choice for small to medium-sized applications,
embedded systems, and mobile apps that require a lightweight, embedded database
solution with minimal setup and administration overhead. However, it may not be
suitable for high-concurrency, high-transaction volume scenarios where a client-server
database system like MySQL or PostgreSQL would be more appropriate.

4.4 About Django


 Django is a high-level Python web framework that encourages rapid development and
clean, pragmatic design. It follows the "Don't Repeat Yourself" (DRY) principle, which
means avoiding repetition of code by promoting reusability and modularity. Here are some
key points about Django:
o MVC Architecture:
 Django follows the Model-View-Controller (MVC) architectural pattern,
although it terms it as the "Model-View-Template" (MVT). In Django,
models define the data structure, views handle the logic, and templates
manage the presentation layer.

Gujarat Technological University Page 26 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

o Object-Relational Mapping (ORM):


 Django comes with a built-in ORM that abstracts database access and
allows developers to interact with databases using Python classes and
methods. This makes database operations more intuitive and reduces the
need to write raw SQL queries.
o Admin Interface:
 Django provides a powerful admin interface out of the box, which allows
developers to manage application data without writing additional code.
 It automatically generates an admin interface based on model definitions,
making it easy to perform CRUD (Create, Read, Update, Delete) operations
on database records.
o URL Routing:
 Django uses a URL dispatcher to route incoming HTTP requests to the
appropriate view functions based on URL patterns defined in the project's
URL configuration. This allows for clean and modular URL structures.
o Template Engine:
 Django comes with its own template engine, which allows developers to
create HTML templates with Django template language (DTL).
 Templates can contain variables, template tags, and filters, making it easy
to generate dynamic content.
o Form Handling:
 Django provides a form handling library that simplifies the process of
validating and processing form data submitted by users.
 Forms can be created using Python classes and then rendered in HTML
templates with minimal boilerplate code.
o Security Features:
 Django has several built-in security features, including protection against
common web vulnerabilities such as SQL injection, cross-site scripting
(XSS), cross-site request forgery (CSRF), and clickjacking.
 It also provides utilities for user authentication, authorization, and session
management.

Gujarat Technological University Page 27 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Back End of System

o Community and Ecosystem:


 Django has a large and active community of developers, which means there
are plenty of third-party packages and extensions available to extend its
functionality.
 The Django Software Foundation oversees the development and
maintenance of the framework, ensuring its continued growth and
improvement.
o Overall, Django is well-suited for building a wide range of web applications, from
simple websites to complex, scalable web applications. Its emphasis on simplicity,
reusability, and scalability makes it a popular choice among developers for rapid
web development.

Gujarat Technological University Page 28 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

CHAPTER 5
SYSTEM ANALYSIS AND SYSTEM DESIGN

5.1System Analysis and Design


5.1Systems Development Life Cycle (SDLC)
5.1.1Needs of SDLC
5.1.2SDLC Cycle
5.1 Spiral Model
5.1 Class Diagram

Gujarat Technological University Page 29 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

5.1 System Analysis and Design


System Analysis and Design (SAD) is the backbone of software development, guiding
the creation of efficient and effective systems to address organizational needs. At its core,
SAD is about understanding the current state of affairs within an organization, envisioning a
better future, and architecting the pathway to get there.

During the analysis phase, SAD professionals delve deep into the existing systems and
processes, meticulously identifying strengths, weaknesses, and opportunities for improvement.
Through interviews, surveys, and observation, they gather requirements from stakeholders,
ensuring that every voice is heard and every need is accounted for.

With requirements in hand, the design phase begins, where SAD experts transform
abstract ideas into concrete plans. They define the system architecture, user interfaces, and
data structures, ensuring that the design aligns closely with the gathered requirements and the
overarching goals of the organization.

Implementation brings the design to life, as developers translate the blueprints into
functional code. Rigorous testing follows, with each component scrutinized to ensure its
reliability, security, and performance. User acceptance testing ensures that the system not only
meets technical specifications but also satisfies the needs and expectations of its intended
users.

Deployment marks the culmination of the SAD process, as the new system is
introduced into the organization's ecosystem. With proper training and support, users adapt to
the new system, embracing its capabilities and maximizing its potential to drive efficiency and
innovation.

But the journey doesn't end there. Maintenance and support are ongoing
responsibilities, as SAD professionals monitor the system, address issues, and incorporate
updates to keep it running smoothly and meeting the evolving needs of the organization.

Throughout every phase of System Analysis and Design, collaboration,


communication, and a relentless focus on the end-users are paramount. By aligning technology
with business objectives and user needs, SAD professionals play a vital role in shaping the
future success of organizations across industries.

Gujarat Technological University Page 30 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

5.1 Systems Development Life Cycle (SDLC)

A software life cycle model (also termed process model) is a pictorial and
diagrammatic representation of the software life cycle. A life cycle model represents all the
methods required to make a software product transit through its life cycle stages. It also
captures the structure in which these methods are to be undertaken.

In other words, a life cycle model maps the various activities performed on a software
product from its inception to retirement. Different life cycle models may plan the necessary
development activities to phases in different ways. Thus, no element which life cycle model is
followed, the essential activities are contained in all life cycle models though the action may
be carried out in distinct orders in different life cycle models. During any life cycle stage,
more than one activity may also be carried out.

5.1.1 Needs of SDLC

The development team must determine a suitable life cycle model for a
particular plan and then observe to it.

Without using an exact life cycle model, the development of a software product
would not be in a systematic and disciplined manner. When a team is developing a
software product, there must be a clear understanding among team representative about
when and what to do. Otherwise, it would point to chaos and project failure. This
problem can be defined by using an example. Suppose a software development issue is
divided into various parts and the parts are assigned to the team members. From then
on, suppose the team representative is allowed the freedom to develop the roles
assigned to them in whatever way they like. It is possible that one representative might
start writing the code for his part, another might choose to prepare the test documents
first, and some other engineer might begin with the design phase of the roles assigned
to him. This would be one of the perfect methods for project failure.

A software life cycle model describes entry and exit criteria for each phase. A
phase can begin only if its stage-entry criteria have been fulfilled. So without a

Gujarat Technological University Page 31 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

software life cycle model, the entry and exit criteria for a stage cannot be recognized.
Without software life cycle models, it becomes tough for software project managers to
monitor the progress of the project.

5.1.2 SDLC Cycle


SDLC Cycle represents the process of developing software. SDLC framework
includes the following steps:

Figure 5.2.1: SDCL Cycle

 The stages of SDLC are as follows:

Stage1: Planning and requirement analysis

 Requirement Analysis is the most important and necessary stage in SDLC.


 The senior members of the team perform it with inputs from all the stakeholders
and domain experts or SMEs in the industry.
 Planning for the quality assurance requirements and identifications of the risks
associated with the projects is also done at this stage.

Gujarat Technological University Page 32 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

Stage2: Defining Requirements

 Once the requirement analysis is done, the next stage is to certainly represent and
document the software requirements and get them accepted from the project
stakeholders.
 This is accomplished through "SRS"- Software Requirement Specification
document which contains all the product requirements to be constructed and
developed during the project life cycle.

Stage3: Designing the Software

 The next phase is about to bring down all the knowledge of requirements, analysis,
and design of the software project. This phase is the product of the last two, like
inputs from the customer and requirement gathering.

Stage4: Developing the project

 In this phase of SDLC, the actual development begins, and the programming is
built. The implementation of design begins concerning writing code.
 Developers have to follow the coding guidelines described by their management
and programming tools like compilers, interpreters, debuggers, etc. are used to
develop and implement the code.

Stage5: Testing

 After the code is generated, it is tested against the requirements to make sure that
the products are solving the needs addressed and gathered during the requirements
stage.
 During this stage, unit testing, integration testing, system testing, acceptance
testing are done.

Stage6: Deployment

 Once the software is certified, and no bugs or errors are stated, then it is deployed.
 Then based on the assessment, the software may be released as it is or with
suggested enhancement in the object segment. After the software is deployed, then
its maintenance begins.

Gujarat Technological University Page 33 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

Stage7: Maintenance

 Once when the client starts using the developed systems, then the real issues come
up and requirements to be solved from time to time. This procedure where the care
is taken for the developed product is known as maintenance.

5.2 Spiral Model


The Spiral Model is a Software Development Life Cycle (SDLC) model that provides
a systematic and iterative approach to software development. In its diagrammatic
representation, looks like a spiral with many loops. The exact number of loops of the spiral is
unknown and can vary from project to project. Each loop of the spiral is called a Phase of
the software development process.

The exact number of phases needed to develop the product can be varied by the project
manager depending upon the project risks.

As the project manager dynamically determines the number of phases, the project
manager has an important role in developing a product using the spiral model.

It is based on the idea of a spiral, with each iteration of the spiral representing a
complete software development cycle, from requirements gathering and analysis to design,
implementation, testing, and maintenance.

The Spiral Model is a risk-driven model, meaning that the focus is on managing risk
through multiple iterations of the software development process. It consists of the following
phases:

 Planning
o The first phase of the Spiral Model is the planning phase, where the scope
of the project is determined and a plan is created for the next iteration of the
spiral.
 Risk Analysis
o In the risk analysis phase, the risks associated with the project are identified
and evaluated.

Gujarat Technological University Page 34 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

 Engineering
o In the engineering phase, the software is developed based on the
requirements gathered in the previous iteration.
 Evaluation
o In the evaluation phase, the software is evaluated to determine if it meets
the customer’s requirements and if it is of high quality.
 Planning
o The next iteration of the spiral begins with a new planning phase, based on
the results of the evaluation.

The Spiral Model is often used for complex and large software development projects,
as it allows for a more flexible and adaptable approach to software development. It is also
well-suited to projects with significant uncertainty or high levels of risk.

The Radius of the spiral at any point represents the expenses(cost) of the project so far,
and the angular dimension represents the progress made so far in the current phase.

Figure 5.3.1: Spiral Model

Gujarat Technological University Page 35 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

Each phase of the Spiral Model is divided into four quadrants as shown in the above
figure. The functions of these four quadrants are discussed below:

 Objectives determination and identify alternative solutions:


o Requirements are gathered from the customers and the objectives are identified,
elaborated, and analyzed at the start of every phase. Then alternative solutions
possible for the phase are proposed in this quadrant.
 Identify and resolve Risks:
o During the second quadrant, all the possible solutions are evaluated to select
the best possible solution. Then the risks associated with that solution are
identified and the risks are resolved using the best possible strategy. At the end
of this quadrant, the Prototype is built for the best possible solution.
 Develop the next version of the Product:
o During the third quadrant, the identified features are developed and verified
through testing. At the end of the third quadrant, the next version of the
software is available.
 Review and plan for the next Phase:
o In the fourth quadrant, the Customers evaluate the so-far developed version of
the software. In the end, planning for the next phase is started.
5.3 Class Diagram
The class diagram depicts a static view of an application. It represents the types of objects
residing in the system and the relationships between them. A class consists of its objects, and
also it may inherit from other classes. A class diagram is used to visualize, describe, document
various different aspects of the system, and also construct executable software code.

It shows the attributes, classes, functions, and relationships to give an overview of the
software system. It constitutes class names, attributes, and functions in a separate
compartment that helps in software development. Since it is a collection of classes, interfaces,
associations, collaborations, and constraints, it is termed as a structural diagram.

 Purpose of Class Diagrams


o The main purpose of class diagrams is to build a static view of an application. It is
the only diagram that is widely used for construction, and it can be mapped with

Gujarat Technological University Page 36 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

object-oriented languages. It is one of the most popular UML diagrams. Following


are the purpose of class diagrams given below:
 It analyses and designs a static view of an application.
 It describes the major responsibilities of a system.
 It is a base for component and deployment diagrams.
 It incorporates forward and reverse engineering.
 Benefits of Class Diagrams
o It can represent the object model for complex systems.
o It reduces the maintenance time by providing an overview of how an application is
structured before coding.
o It provides a general schematic of an application for better understanding.
o It represents a detailed chart by highlighting the desired code, which is to be
programmed.
o It is helpful for the stakeholders and the developers.
 Symbols used in Class:

Gujarat Technological University Page 37 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

5.3.1 Class Diagram


 Main view

[Figure 5.4.1: Main view]

Gujarat Technological University Page 38 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

 Main view side 1

[Figure 5.4.1: Main view side 1]

Gujarat Technological University Page 39 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 System Analysis and System Design

 Main view side 2

[Figure 5.4.1: Main view side 2]

Gujarat Technological University Page 40 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

CHAPTER: 6
DATA DICTIONARY

6.1 Introduction
6.1 List of Tables
6.1.1: user_master
6.1.2: admin_master
6.1.3: police_incharge_master
6.1.4: police_master
6.1.5: complaint_master
6.1.6: csr_master
6.1.7: fir_master
6.1.8: police_station_master
6.1.9: rank_master
6.1.10: district_master
6.1.11: state_master
6.1.12: crime_category_master
6.1.13: announcement_master
6.1.14: feedback_master

Gujarat Technological University Page 41 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

6.1Introduction
Data Dictionary is an important part of a project or system which contains all
definition of elements in the system. In Data Dictionary you will find a list of all
elements composing the data flowing through a system.
 The major elements of a system:
o Data Flow
o Data Store
o Processes
 The data dictionary stores all details and description of these elements.
 The data dictionary provides additional information about the system.
 The data dictionary contains the data about data e.g. Student is a data and this
student belongs to this course is a description of STUDENT data which is
stored in data dictionary.
 Why is Data Dictionary important?
o To manage the details in large system.
o To communicate a common meaning for all system elements.
o To document the features of system.
o To determine where system changes should made.
o To locate errors and omissions in the system.

6.2 List of Tables


6.2.1: user_master

6.2.2: admin_master

6.2.3: police_incharge_master

6.2.4: police_master

6.2.5: complaint_master

6.2.6: csr_master

6.2.7: fir_master

6.2.8: police_station_master

Gujarat Technological University Page 42 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

6.2.9: rank_master

6.2.10: district_master

6.2.11: state_master

6.2.12: crime_category_master

6.2.13: announcement_master

6.2.14: feedback_master

 Table 6.2.1: user_master


o Description: It is used to store all the details of the users.

[Table 6.2.1: user_master]

Column name Datatype Comments Description

user_id Integer Primary key, Auto Stores the account id of the


Increment user.
username Varchar(150) Not Null, Unique Stores the sername of the
user.
first name Varchar(150) Not Null Stores the first name of the
user.
last name Varchar(150) Not Null Stores the last name of the
user.
gender Varchar(1) Not Null Defines the gender of the
user.
email Varchar(254) Not Null, Unique Stores the e-mail of the user.

password Varchar(128) Not Null Stores the password of the


user account.
contact_number Integer Not Null Stores the contact No. of the
user.
profile_image Varchar(100) Defines the path of the
profile image.
address Text Not Null Stores the address of the user.

pin_code Integer Not Null Stores the pincode of


the user.
district id Integer Foreign key, NN Defines the district of the
user.
state id Integer Foreign key, NN Defines the state of the user.

Gujarat Technological University Page 43 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

 Table 6.2.2: admin_master


o Description: It is used to store details of the admins.

[Table 6.2.2: admin_master]

Column name Datatype Comments Description

admin id Integer Primary key, Auto Stores the account id of the


Increment admin.
username Varchar(150) Not Null, Unique Stores the username of the
admin.
firstname Varchar(150) Not Null Stores the first name of the
admin.
lastname Varchar(150) Not Null Stores the last name of the
admin.
gender Varchar(1) Not Null Defines the gender of the
admin.
email Varchar(254) Not Null, Unique Stores the e-mail of the
admin.
password Varchar(128) Not Null Stores the password of the
admin account.
contact_number Integer Not Null Stores the contact No. of the
admin.
profile_image Varchar(100) Defines the path of the
profile image.
address Text Not Null Stores the address of the
admin.
pin_code Integer Not Null Stores the pincode of the
admin.
district id Integer Foreign key, NN Defines the district of the
admin.
state id Integer Foreign key, NN Defines the state of the
admin.

 Table 7.2.3: police_incharge_master


o Description: It is used to store the details of police Incharge officers.

[Table 6.2.3: police_incharge_master]

Column name Datatype Comments Description

incharge_id Integer Primary key, Auto Stores the account id of the


Increment police Incharge.

Gujarat Technological University Page 44 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

username Varchar(150) Not Null, Unique Stores the username of the


police Incharge.
first name Varchar(150) Not Null Stores the first name of the
police Incharge.
last name Varchar(150) Not Null Stores the last name of the
police Incharge.
gender Varchar(1) Not Null Defines the gender of the
police Incharge.
email Varchar(254) Not Null, Unique Stores the e-mail of the
police Incharge.
password Varchar(128) Not Null Stores the password of the
police Incharge account
contact_number Integer Not Null Stores the contact No. of the
police Incharge.
station id Integer Foreign key, NN Defines the incharge's
station.
rank id - Integer Foreign key, NN Defines the rank of the
police Incharge.
profile_image Varchar(100) Defines the path of the
profile image.
address Text Not Null Stores the address of the
police Incharge.
pin_code Integer Not Null Stores the pincode of the
police Incharge.
district_ic Integer Foreign key, NN Defines the district of the
police Incharge.
state_id Integer Foreign key, NN Defines the state of the
police Incharge.
country_id Integer Foreign key, NN Defines the country of the
police Incharge.
aadhar_number Integer Not Null, Unique Stores the aadhaar No. of the
police Incharge
status id - Integer NN, 0:inactive, Defines the status of the
l:active, 2: deleted, police Incharge.
::suspended
created at Datetime Not Null Stores the date and the time
of account creation.
updated at Datetime Stores date and time when
the account is updated.

Gujarat Technological University Page 45 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

 Table 6.2.4: police_master


o Description: It is used to store the details of the police officers.

[Table 6.2.4: police_master]

Column name Datatype Comments Description

police_id Integer Primary key, Auto Stores the account id of the


Increment police.
username Varchar(150) Not Null, Unique Stores the username of the
police.
first name Varchar(150) Not Null Stores the first name of the
police.
last name Varchar(150) Not Null Stores the last name of the
police.
gender Varchar(1) Not Null Defines the gender of the
police.
email Varchar(254) Not Null, Unique Stores the e-mail of the
police.
password Varchar(128) Not Null Stores the password of the
police account
contact number Integer Not Null Stores the contact No. of the
police.
station id Integer Foreign key, NN Defines the station of police.

rank id Integer Foreign key, NN Defines the rank of the


police.
profile_image Varchar(100) Defines the path of the
profile image.
address Text Not Null Stores the address of the
police.
pin code Integer Not Null Stores the pincode of the
police.
district id Integer Foreign key, NN Defines the district of the
police.
state id Integer Foreign key, NN Defines the state of the
police.
country id Integer Foreign key, NN Defines the country of the
police.
aadhar number Integer Not Null, Unique Stores the aadhaar No. of the
police.

Gujarat Technological University Page 46 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

status id Integer NN, 0:inactive, Defines the status of the


1:active, 2:deleted, police account.
3:suspended
created at Datetime Not Null Stores the date and the time
of account creation.
updated at Datetime Stores the last update date
and time of account.

 Table 6.2.5: complaint_master


o Description: It is used to store complaints reported by users.

[Table 6.2.4: complaint_master]

Column Name Datatype Comments Description

complaint_id Integer Primary key, Auto Stores the complaint ID.


Increment
name_complainant Varchar(150) Not Null Stores the name of the
complainant.
gender_complainant Varchar(1) Not Null Defines the gender of the
complainant.
email_complainant Varchar(254) Not Null Stores the email of the
complainant.
dob_complainant Date Not Null Stores the birth date of
the complainant.
address1_complainant Text Not Null Stores the address of the
complainant.
district_id_complainant Integer Foreign key, Not Defines the district of the
Null complainant.
state_id_complainant Integer Foreign key, Not Defines the state of the
Null complainant.
country_id_complainant Integer Foreign key, Not Defines the country of the
Null complainant.
contact_no_complainant Integer Not Null Stores the contact number
of the complainant.
station_id_complainant Integer Foreign key, Not Defines the police station
Null where the complaint is
filed.
status_id Integer Foreign key, Not Defines the status of the
Null complaint.

Gujarat Technological University Page 47 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

crime_category_id Integer Foreign key, Not Defines the category of


Null the crime.
other_cc Text - Stores other crime
categories.
date_time_of_occurrence_of Datetime Not Null Stores the date and time
_event of the incident.
place_of_occurrence_of_eve Text - Stores the place name of
nt the incident.
subject Text - Stores the main subject of
the incident.
detailed_description_of_eve Text - Stores the detailed
nt description of the
incident.
evidence_image_path Varchar(100) - Defines the path to the
evidence image.
Info_by_Station_Incharge Text Stores the investigation
information updated by
the police incharge or
police.
Created_By Integer Foreign Key, NN An integer representing
the user ID of the account
from which the complaint
is filed.
Created_At Datetime Not Null A datetime field
indicating the date and
time when the complaint
was filed.
Updated_By Datetime A datetime field
indicating the date and
time when the complaint
was last updated.
Updated_At Integer Foreign Key A datetime field
indicating the date and
time when the complaint
was last updated.
 Table 6.2.6: csr_master
o Description: Used to store information about non-cognizable offenses.

[Table 6.2.4: csr_master]

Column Name Datatype Comments Description

csr_no Varchar(255) Primary key Community Service


Register Number.

Gujarat Technological University Page 48 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

district_id Integer Foreign key, NN District of the police


station where CSR is
filed.
state_id Integer Foreign key, NN State of the police station
where CSR is filed.
station_id Integer Foreign key, NN Police station where CSR
is filed.
reporting_datetime Datetime Not Null Date and time when the
complaint is made.
date_of_occurrence Datetime Not Null Date and time of the
incident.
place_of_occurrence Text Not Null Name of the place of the
incident.
complainant_name Varchar(150) Not Null Name of the complainant.

complainant_gender Varchar(1) Not Null Gender of the


complainant.
complainant_email Varchar(254) Not Null Email address of the
complainant.
complainant_dob Date Not Null Birth date of the
complainant.
complainant_address Text Not Null Address of the
complainant.
district_id_complainant Integer Foreign key, NN District of the
complainant.
Defines the state of the
complainant_state_id Integer Foreign key, NN complainant.
Defines the country of the
complainant_country_id Integer Foreign key, NN complainant.
Stores the pincode of the
pin_code Integer Not Null complainant.
Stores the contact number
complainant_contactnumber Integer Not Null of the complainant.
Stores the main subject of
subject Text Not Null the incident.
Stores the detailed
ncr_detailed_description Text Not Null description of the incident.
NN, 0:inactive,
1:active, 2:deleted,
status_id Integer 3:in progress, Status of the incident.

Gujarat Technological University Page 49 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

4:rejected, 5:solved,
6:reopen
Defines the crime
crime_category_id Integer Foreign key, NN category.
Other reasons for delay in
other_cc_delay_reason String(100) case closure.
Information about
evidence_image_info_by_stati evidence images provided
on_incharge by the station in-charge.
User who created the
created_by Datetime Not Null record.
User who updated the
updated_by Integer record.
Timestamp of the last
updated_at Datetime update.

 Table 6.2.7: fir_master


o Description: Used to store information about First_Information_Report.

[Table 6.2.4: fir_master]

Column Name Datatype Comments Description

fir_no Varchar(255) Primary Key Stores the FIR number.

district_id Integer Foreign key, NN Defines the district of


police station where the
FIR is filed.
state_id Integer Foreign key, NN Defines the state where
the FIR is filed.
station_id Integer Foreign key, NN Defines the police station
where the FIR is filed.
reporting_date_time Datetime Not Null Stores the Date and time
when the complaint is
filed.
act_and_section Text Not Null Stores the acts and
sections.
datetime_of_occurrence Datetime Not Null Stores the date and
sections of incident.

Gujarat Technological University Page 50 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

place_of_occurrence Text Not Null Stores the place name of


incident.
gd_entry_number Varchar(255) NN, O:written; I:oral Stores general diary/CSR
entry number.
type_of_information Text NN, O:written; I:oral Defines type of
information provided
orally or written.
nearest_identifiable_place Text Stores nearest identifiable
place at incident place.
direction_and_distance_fro Text Stores direction and
m_station distance of incident place
from police station.
Complainant_name Varchar(150) Not Null Stores the complainant
name.
Complainant_gender Varchar(1) Not Null Defines the gender of
complainant.
Complainant_email Varchar(254) Not Null Stores the e-mail of the
complainant.
Complainant_dob Date Not Null Stores the address of the
complainant.
Complainant_religion Varchar(50) Stores the religion of the
complainant.
Complaintant_caste Varchar(50) Stores the caste of the
complainant.
Complainant_district_id Integer Foreign key, NN Defines the district of the
complainant.
Complainant_Stateid Integer Foreign key, NN Defines the state of the
complainant.
Defines the country of the
stateid Integer Foreign key, NN complainant.
Stores the pincode of the
complainant_country_id Integer Not Null complainant.
Stores the contact number
complainant_contact_num Integer Not Null of the complainant.
Stores the details of the
sus_accu_details Text suspect or accused.
Stores information about
property stolen or
properties_invo Text involved.
Stores the value of the
property_val Text property (if applicable).
Records the date of the
incident_date Date Not Null incident.

Gujarat Technological University Page 51 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

Records the time of the


incident_time Time incident.
Identifies the reporting
officer associated with the
reporting_officer_id Integer Foreign key FIR.
Indicates the status of the
case (e.g., open, closed,
case_status Text under investigation).
Categorizes the type of
case (e.g., theft, assault,
case_category Text fraud).
Stores information about
any witnesses to the
witness_details Text incident.
Contains the statement
victim_statement Text provided by the victim.
Contains the statement
suspect_statement Text provided by the suspect.
Describes any evidence
collected during the
evidence_details Text investigation.
User who created the
created_by Datetime record.
User who updated the
updated_by Integer record.
Timestamp of the last
updated_at Datetime update.
User who created the
created_by Integer record.

 Table 6.2.8: police_station_master


o Description: It is used to store the details about the police stations.

[Table 6.2.2: police_station_master]

Column Name Data Type Comments Description

station_id Integer Primary Key, Auto Stores the police station id.

station_name Varchar(150) Not Null Stores the police station


name.
station_mail Varchar(254) Not Null, Unique Stores the e-mail of the
police station.
address Text Not Null Stores the address of the

Gujarat Technological University Page 52 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

police station.

district_id Integer Foreign key, NN Defines the district of the


police station.
state_id Integer Foreign key, NN Defines the state of the
police station.
country_id Integer Foreign key, NN Defines the country of the
police station.
pin_code Integer Not Null Stores the pincode of the
country.
status_id Integer NN, 0:inactive, Defines the status of the
1:active police station.
created_at Datetime Not Null Stores the date and time
when the station is added in
the system.
updated_at Datetime Not Null Stores the date and time
when the station is updated
in the system.
created_by Integer Foreign key, NN Stores the id of the admin
when they add the station to
the system.
updated_by Integer Foreign key Stores the id of the admin
who updates the police
station.

 Table 6.2.9: rank_master


o Description: It is used to store the details about the ranks of police officers.

[Table 6.2.2: rank_master]

Column Name Data Type Comments Description

rank_id Integer Primary Key, Auto Stores the police rank id.
Increment
rank_name Varchar(100) Not Null Stores the name of the
police rank.

 Table 6.2.10: district_master


o Description: It is used to store the details of all the districts.

[Table 6.2.2: district_master]

Gujarat Technological University Page 53 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

Column Name Data Type Comments Description

district_id Integer Primary key, Auto Stores the district id.


Increment
district_name Varchar(150) Not Null Stores the name of the
district.
state_id Integer Foreign key, NN Defines the state of the city.

status_id Integer NN, 0:inactive, Defines the status of the


1:active district.

 Table 6.2.11: state_master


o Description: It is used to store the details of all the states.

[Table 6.2.2: state_master]

Column Name Data Type Comments Description

state_id Integer Primary key, Auto Stores the state id.


Increment
state_name Varchar(150) Not Null Stores the name of the states.

country_id Integer Foreign key, NN Defines the country of the


state.
status_id Integer NN, 0:inactive, Defines the status of the
1:active state.

 Table 6.2.12: crime_category_master


o Description: It is used to store the details about the crime categories.

[Table 6.2.2: crime_category_master]

Column Name Data Type Comments Description

category_id Integer Primary key, Auto Stores the id of the crime


Increment category.
category_name Varchar(150) Not Null Stores the name of the crime
category.
created_at Datetime Not Null Stores the date when the
crime category is added in
the system.
updated_at Datetime - Stores the date and time
when the crime category is
updated in the system.

Gujarat Technological University Page 54 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Data Dictionary

 Table 6.2.13: announcement_master


o Description: It is used to handle and store the announcements.
[Table 6.2.2: announcement_master]

Column Name Data Type Comments Description

feedback_id Integer Primary key, Auto Stores the feedback id.


Increment
subject Text Not Null Stores the subject of
feedback.
feedback_msg Text Not Null Stores the feedback.

status_id Integer NN, 0:inactive, Defines the status of


1:active feedback.
created_at Datetime Not Null Stores the date and time
when the announcement is
created.
updated_at Datetime - Stores the date and time
when the admin updates the
announcement.

 Table 6.2.14: feedback_master


o Description: It is used to handle and store the feedbacks.
[Table 6.2.2: feedback_master]

Column Name Data Type Comments Description

feedback_id Integer Primary key, Auto Stores the feedback id.


Increment
subject Text Not Null Stores the subject of
feedback.
feedback_msg Text Not Null Stores the feedback.
status_id Integer NN, 0:inactive, Defines the status of
1:active feedback.
created_at Datetime Not Null Stores the date and time
when the announcement is
created.
updated_at Datetime - Stores the date and time
when the admin updates the
announcement.
feedback_id Integer Primary key, Auto Stores the feedback id.
Increment
subject Text Not Null Stores the subject of
feedback.

Gujarat Technological University Page 55 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

CHAPTER:7
TESTING

7.1Testing Plan
7.2 Testing Strategies
7.3 Testing Method
7.4 Test Case

Gujarat Technological University Page 56 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

7.1Testing Plan

Great! Let's outline a detailed testing plan. Since you haven't specified the exact product or
system you're testing, I'll provide a generic outline that you can adapt to your specific needs.
Here's a structured testing plan:

 Introduction:
o Provide an overview of the testing plan.
o Include the objectives, scope, and key stakeholders.
 Purpose:
o Define the purpose of testing.
o Clarify what aspects of the product/system will be tested.
 Scope:
o Describe the boundaries of the testing.
o Identify the features, functionalities, or components included in the scope.
o Mention any excluded items or functionalities.
 Testing Goals:
o List the specific goals or objectives of the testing.
o These goals should align with the overall project objectives and stakeholder
requirements.
 Testing Strategy:
o Outline the overall testing approach.
o Specify the types of testing to be conducted (e.g., functional testing, usability
testing, performance testing, security testing).
o Describe any testing methodologies or frameworks to be followed (e.g., Agile,
Waterfall, DevOps).
 Test Deliverables:
o List the documents, reports, or artifacts that will be produced during testing.
o Include items such as test plans, test cases, test scripts, and test reports.
 Testing Environment:
o Specify the hardware, software, and network configurations required for
testing.

Gujarat Technological University Page 57 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

o Detail any test environment setup or configurations needed.


 Test Cases:
o Develop detailed test cases for each identified test scenario.
o Include preconditions, steps to execute, expected results, and post-conditions.
o Organize test cases by priority and complexity.
 Test Execution:
o Describe how test cases will be executed.
o Assign responsibilities for test execution.
o Define the criteria for determining when testing is complete.
 Defect Management:
o Explain how defects/issues will be logged, tracked, and managed.
o Define severity and priority levels for defects.
o Outline the defect resolution process.
 Risks and Mitigation:
o Identify potential risks associated with testing.
o Propose mitigation strategies for each identified risk.
 Schedule:
o Create a testing timeline or schedule.
o Allocate time for test preparation, execution, and reporting.
o Consider any dependencies or constraints that may impact the schedule.
 Roles and Responsibilities:
o Define the roles and responsibilities of team members involved in testing.
o Specify who is responsible for test planning, execution, documentation, and
communication.
 Communication Plan:
o Outline how communication will be managed throughout the testing process.
o Identify key stakeholders and their communication preferences.
o Specify the frequency and format of status updates and reports.
 Review and Approval:
o Establish a process for reviewing and approving the testing plan.
o Identify the stakeholders responsible for review and approval.

Gujarat Technological University Page 58 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

 Documentation:
o Document any changes or updates to the testing plan.
o Maintain a version history for reference.
 Conclusion:
o Summarize the key points of the testing plan.
o Confirm alignment with project goals and stakeholder expectations.
 Appendices:
o Include any supplementary information or reference materials relevant to the
testing plan.

Once you've drafted your testing plan, be sure to review it with your team and stakeholders to
ensure clarity, alignment, and agreement before proceeding with testing activities.

7.2Testing Strategies

Testing strategies are crucial for ensuring that the testing process is efficient, thorough, and
effective. Here's a detailed breakdown of various testing strategies:

 Unit Testing:
o Definition: This strategy involves testing individual components or units of
code in isolation.
o Focus: It verifies the correctness of each unit's behavior and functionality.
o Approach: Developers typically write unit tests using testing frameworks like
JUnit (for Java), NUnit (for .NET), or pytest (for Python).
o Benefits: Unit testing helps identify defects early in the development cycle and
promotes code modularity and reusability.
 Integration Testing:
o Definition: Integration testing verifies the interactions between different units
or modules within the system.
o Focus: It ensures that integrated components work together as expected.
o Approach: Integration tests can be conducted using techniques such as top-
down, bottom-up, or a combination of both.
o Benefits: Integration testing detects interface defects and integration issues
early, reducing the risk of major failures during system testing.

Gujarat Technological University Page 59 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

 System Testing:
o Definition: System testing evaluates the entire system as a whole, including all
integrated components.
o Focus: It validates the system against its functional and non-functional
requirements.
o Approach: System testing can include functional testing, usability testing,
performance testing, security testing, and more.
o Benefits: System testing ensures that the software meets user expectations and
performs reliably in its intended environment.
 Acceptance Testing:
o Definition: Acceptance testing determines whether the system meets the
acceptance criteria defined by stakeholders.
o Focus: It validates the system from the end-user's perspective and assesses its
readiness for deployment.
o Approach: Acceptance testing can be performed using techniques such as alpha
testing, beta testing, or user acceptance testing (UAT).
o Benefits: Acceptance testing ensures that the software satisfies business
requirements and aligns with user needs.
 Regression Testing:
o Definition: Regression testing verifies that recent code changes have not
adversely affected existing functionality.
o Focus: It ensures that previously tested features still work correctly after
modifications or enhancements.
o Approach: Automated regression testing tools can help efficiently re-run
existing test cases to detect regressions.
o Benefits: Regression testing helps maintain software quality and prevents the
introduction of unintended defects during development.
 Exploratory Testing:
o Definition: Exploratory testing involves simultaneous learning, test design, and
test execution.
o Focus: Testers explore the application dynamically, uncovering defects and
potential use cases.

Gujarat Technological University Page 60 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

o Approach: Testers rely on their domain knowledge and intuition to design and
execute tests on-the-fly.
o Benefits: Exploratory testing is effective for finding defects that may not be
identified through scripted tests and encourages creative and flexible testing
approaches.
 Risk-Based Testing:
o Definition: Risk-based testing prioritizes testing efforts based on the likelihood
and impact of potential failures.
o Focus: It focuses testing resources on high-risk areas of the system.
o Approach: Risk analysis techniques, such as Failure Mode and Effects Analysis
(FMEA), help identify critical areas for testing.
o Benefits: Risk-based testing optimizes testing efforts by directing resources
where they are most needed, reducing the likelihood of high-impact failures.
 Load Testing:
o Definition: Load testing evaluates the system's performance under expected and
peak load conditions.
o Focus: It assesses how the system handles concurrent user activity and data
processing.
o Approach: Load testing tools simulate high-volume traffic to measure system
response times, throughput, and scalability.
o Benefits: Load testing identifies performance bottlenecks, helps optimize
resource utilization, and ensures the system can handle expected workloads.
 Security Testing:
o Definition: Security testing identifies vulnerabilities and weaknesses in the
system's security controls.
o Focus: It evaluates the system's ability to protect data, prevent unauthorized
access, and resist attacks.
o Approach: Security testing includes techniques such as penetration testing,
vulnerability scanning, and code reviews.
o Benefits: Security testing helps mitigate security risks, safeguard sensitive
information, and maintain the integrity of the system.

Gujarat Technological University Page 61 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

 Usability Testing:
o Definition: Usability testing assesses the system's user interface and user
experience (UI/UX).
o Focus: It evaluates how easily users can interact with the system and
accomplish their tasks.
o Approach: Usability testing involves observing real users as they interact with
the system and collecting feedback through surveys or interviews.
o Benefits: Usability testing identifies usability issues, improves user satisfaction,
and enhances the overall user experience.

Each of these testing strategies plays a critical role in ensuring the quality, reliability, and
performance of software systems. The selection and combination of testing strategies depend
on factors such as project requirements, constraints, and risks. It's essential to tailor the testing
approach to the specific needs of the project and continuously adapt it throughout the software
development lifecycle.

7.2Testing Method
Testing methods refer to the specific approaches or techniques used to conduct testing
activities. These methods help ensure thorough coverage, accuracy, and effectiveness in
validating the software's functionality, performance, and other quality attributes. Here are
some common testing methods:

 Black Box Testing:


o Description: In black box testing, the tester does not have access to the internal
code or logic of the software. Instead, tests are designed based on the software's
specifications and requirements.
o Approach: Test cases are created to validate inputs, outputs, and system behavior
without knowledge of the internal implementation.
o Benefits: Black box testing focuses on the software's external behavior, allowing
testers to identify issues from a user's perspective.
 White Box Testing:
o Description: White box testing, also known as glass box or clear box testing,
involves examining the internal structure and logic of the software.

Gujarat Technological University Page 62 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

o Approach: Test cases are designed based on an understanding of the code, control
flow, and data flow within the software.
o Benefits: White box testing provides insights into code coverage, control flow, and
error handling, helping identify issues related to code execution and logic.
 Gray Box Testing:
o Description: Gray box testing combines elements of both black box and white box
testing. Testers have partial knowledge of the internal workings of the software.
o Approach: Test cases are designed based on a limited understanding of the internal
code or structure, allowing testers to target specific areas of interest.
o Benefits: Gray box testing leverages both external and internal perspectives,
providing a balance between test coverage and depth.
 Manual Testing:
o Description: Manual testing involves human testers executing test cases manually
without the use of automation tools.
o Approach: Testers interact with the software interface, input data, and observe
outputs to validate its behavior.
o Benefits: Manual testing allows for exploratory testing, subjective evaluation of
user experience, and validation of complex scenarios that may be challenging to
automate.
 Automated Testing:
o Description: Automated testing involves the use of software tools to execute pre-
scripted tests, compare actual outcomes with expected results, and generate test
reports.
o Approach: Test scripts are created to automate repetitive test scenarios, regression
tests, and performance tests.
o Benefits: Automated testing improves efficiency, repeatability, and coverage of
testing activities, especially for large-scale projects and continuous integration
pipelines.
 Static Testing:
o Description: Static testing focuses on reviewing code, requirements, and
documentation without executing the software.

Gujarat Technological University Page 63 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

o Approach: Techniques such as code reviews, walkthroughs, and inspections are


used to identify defects and improve quality early in the development lifecycle.
o Benefits: Static testing helps uncover defects at an early stage, reducing the cost
and effort of fixing issues later in the development process.
 Dynamic Testing:
o Description: Dynamic testing involves executing the software and observing its
behavior to validate its functionality, performance, and other quality attributes.
o Approach: Techniques such as unit testing, integration testing, system testing, and
performance testing fall under dynamic testing.
o Benefits: Dynamic testing verifies the software's behavior in a real-world
environment, uncovering defects that may not be apparent through static analysis
alone.
 Model-Based Testing:
o Description: Model-based testing involves creating abstract models of the system's
behavior and using them to generate test cases automatically.
o Approach: Models, such as finite state machines or UML diagrams, are analyzed to
derive test scenarios and expected outcomes.
o Benefits: Model-based testing improves test coverage, reduces manual effort in test
case design, and ensures consistency between requirements and tests.

These testing methods can be combined and adapted based on project requirements,
constraints, and goals. Effective testing often involves a combination of multiple methods to
achieve comprehensive coverage and ensure software quality.

7.2 Test Case


A test case is a detailed set of conditions or steps that are designed to verify the functionality,
behavior, or performance of a software application or system. Test cases are used to validate
whether the software meets specific requirements and functions correctly under various
scenarios. Here's a breakdown of what a test case typically includes:

 Test Case ID: A unique identifier for the test case, usually in the form of a combination of
letters and numbers.

Gujarat Technological University Page 64 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

 Test Case Title/Name: A descriptive title or name that summarizes the purpose or
objective of the test case.
 Description: A brief description or summary of what the test case is intended to achieve.
 Preconditions: Any prerequisites or conditions that must be met before executing the test
case, such as system configurations, data setup, or user permissions.
 Test Steps: A sequence of step-by-step instructions outlining the actions to be performed
to execute the test case. Each step should be clear, concise, and unambiguous.
 Input Data: The specific data values, parameters, or inputs that will be used during the
test execution.
 Expected Results: The expected outcomes or behaviors that the system should exhibit
when the test case is executed successfully. This includes both observable results and
system responses.
 Actual Results: The actual outcomes observed during test execution. Testers record the
results obtained after executing the test steps.
 Pass/Fail Criteria: Criteria used to determine whether the test case passes or fails based
on a comparison between the actual results and the expected results.
 Priority: The priority level assigned to the test case, indicating its relative importance or
urgency in the testing process.
 Severity: The severity level assigned to the test case, indicating the impact of a failure on
the system or its users. Common severity levels include critical, major, minor, and trivial.
 Test Environment: Information about the test environment, including hardware, software,
configurations, and dependencies required for test execution.
 Test Data: Any additional test data or conditions relevant to the test case, such as
boundary values, edge cases, or negative scenarios.
 Attachments/References: Any supporting documents, screenshots, logs, or references
that provide additional context or details for the test case.
 Notes/Comments: Any additional notes, comments, or observations relevant to the test
case, such as insights, assumptions, or recommendations.

By documenting test cases in a structured and standardized format, teams can ensure
consistent testing practices, facilitate test execution, and maintain comprehensive test coverage

Gujarat Technological University Page 65 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Testing

throughout the software development lifecycle. Additionally, well-written test cases serve as
valuable documentation for future reference, regression testing, and knowledge transfer within
the team.

Gujarat Technological University Page 66 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

CHAPTER: 8

SNAPSHOT OF WEBSITE

8.1 Landing Page


8.2 User Dashboard
8.3 Police Dashboard
8.4 Police In-charge Dashboard
8.5 Admin Dashboard

Gujarat Technological University Page 67 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

8.1 Landing Page:

[Figure 8.1.1: Landing Page (1)]

[Figure 8.1.2: Landing Page (2)]

Gujarat Technological University Page 68 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.1.3: Landing Page (3)]

[Figure 8.1.4: Landing Page (4)]

Gujarat Technological University Page 69 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.1.5: Landing Page (5)]

[Figure 8.1.6: Landing Page (6)]

Gujarat Technological University Page 70 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.1.7: Landing Page (7)]

8.6 User Dashboard:

[Figure 9.2.1: User Login]

Gujarat Technological University Page 71 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.2.2: User Register]

Gujarat Technological University Page 72 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.2.3: User Home]

[Figure 8.2.4: Manage Profile]

Gujarat Technological University Page 73 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.2.5: Create Complaint]

Gujarat Technological University Page 74 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.2.6: View Complaint Status]

[Figure 8.2.7: View FIR Status]

[Figure 8.2.8: View CSR Status(Table)]

Gujarat Technological University Page 75 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.2.9: View CSR Status]

Gujarat Technological University Page 76 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.2.10: Feedback(Table)]

[Figure 8.2.11: Announcements(Table)]

[Figure 8.2.12: Announcement]

Gujarat Technological University Page 77 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

8.7 Police Dashboard

[Figure 8.3.1: Police Login]

[Figure 8.3.3: Police Home]

Gujarat Technological University Page 78 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.3.4: Manage Profile]

[Figure 8.3.5: View CSR]

[Figure 8.3.6: Manage CSR(Table)]

Gujarat Technological University Page 79 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.3.7: Manage CSR]

Gujarat Technological University Page 80 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.3.8: view Announcements ]

8.8 Police In-charge Dashboard

[Figure 8.4.1: Police In-charge Login]

Gujarat Technological University Page 81 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.4.2: Police In-charge Home]

[Figure 8.4.4: Manage Profile]

Gujarat Technological University Page 82 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.4.5: Manage Complaint(Table)]

[Figure 8.4.6: Manage Complaint]

Gujarat Technological University Page 83 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.4.7: View FIR]

[Figure 8.4.8: View CSR (table)]

[Figure 8.4.9: View CSR]

Gujarat Technological University Page 84 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.4.10: Manage FIR]

[Figure 8.4.11: Manage CSR]

[Figure 8.4.12: Announcements (table)]

Gujarat Technological University Page 85 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.4.13: View Announcement]

8.9 Admin Dashboard

[Figure 8.5.1: Admin Login]

Gujarat Technological University Page 86 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.5.2: Admin Home]

[Figure 8.5.3: Manage District (Table)]

Gujarat Technological University Page 87 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.5.4: Add District]

[Figure 8.5.5: Manage Rank (Table)]

Gujarat Technological University Page 88 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.5.6: Manage Rank]

[Figure 8.5.7: Add Police Incharge]

Gujarat Technological University Page 89 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Snapshot of Website

[Figure 8.5.8: Add Police Officer]

Gujarat Technological University Page 90 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Advantages

CHAPTER: 9
ADVANTAGES

9.1 Advantages
9.1 Limitations

Gujarat Technological University Page 91 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Advantages

9.1 Advantages:

An online crime reporting system offers several advantages compared to traditional methods
of reporting crimes:

 Convenience: People can report crimes from anywhere with an internet connection,
eliminating the need to travel to a police station. This convenience encourages more
individuals to report crimes promptly.
 Accessibility: Online systems are available 24/7, allowing people to report crimes at any
time. This accessibility ensures that law enforcement agencies receive timely information,
potentially leading to faster responses and investigations.
 Efficiency: Reports submitted online can be processed more quickly and efficiently
compared to traditional paper-based reports. This efficiency saves time for both the
reporting individual and law enforcement personnel.
 Data Analysis: Digital reports can be easily stored, analyzed, and searched, providing
valuable data for identifying crime trends, allocating resources, and developing crime
prevention strategies.
 Multimedia Support: Online systems typically allow users to upload multimedia files
such as photos, videos, or documents as evidence. This additional information can enhance
the accuracy and comprehensiveness of crime reports.
 Cost-Effectiveness: By reducing the need for physical paperwork and manual data entry,
online reporting systems can help streamline administrative processes and reduce overall
operational costs for law enforcement agencies.
 Integration with Other Systems: Online crime reporting systems can be integrated with
other law enforcement databases and systems, facilitating information sharing and
collaboration between different agencies and jurisdictions.
9.1 Limitations:

Online crime reporting systems offer numerous advantages, they also have some limitations:

 Digital Divide: Not everyone has access to the internet or the necessary digital literacy
skills to use online reporting systems. This can create disparities in reporting rates, with
certain demographics or communities being underrepresented.

Gujarat Technological University Page 92 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Advantages

 Reporting Bias: Online reporting systems may attract certain types of crimes or reports
more than others, potentially leading to skewed data and inaccurate representations of
crime patterns. For example, individuals may be more likely to report minor offenses
online while serious crimes go unreported.
 Verification Challenges: Verifying the authenticity and accuracy of online crime reports
can be challenging, particularly when reports are submitted anonymously or lack sufficient
evidence. False or exaggerated reports can strain law enforcement resources and
undermine the credibility of the reporting system.
 Privacy Concerns: Despite measures to protect anonymity, individuals may still have
concerns about the privacy and security of their personal information when submitting
reports online. Fear of data breaches or unauthorized access may deter some people from
using online reporting systems.
 Language and Accessibility Barriers: While online systems can support multiple
languages, language barriers may still exist for individuals who are not proficient in the
languages offered. Additionally, people with disabilities may encounter accessibility issues
when using online platforms, such as screen reader compatibility or complex user
interfaces.

Gujarat Technological University Page 93 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Conclusion and Future Enhancement

CHAPTER: 10
CONCLUSION AND FUTURE ENHANCEMENT

10.1 Conclusion
10.1 Future Enhancement

Gujarat Technological University Page 94 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Conclusion and Future Enhancement

10.1 Conclusion
In conclusion, online crime reporting systems offer valuable benefits such as
convenience, accessibility, anonymity, and efficiency. These systems enhance community
engagement, data analysis capabilities, and resource allocation for law enforcement agencies.
However, they also come with limitations including the digital divide, reporting bias,
verification challenges, privacy concerns, and trust issues.

Despite these limitations, online crime reporting systems represent a significant step
forward in modernizing law enforcement practices and fostering collaboration between the
public and the police. By addressing these challenges through continuous improvement,
transparency, and community outreach efforts, online reporting systems can play a vital role in
enhancing public safety, reducing crime, and promoting trust and confidence in the criminal
justice system.

10.1 Future Enhancement


Looking ahead, several enhancements could further improve online crime reporting systems:

 User Interface Optimization: Continuously refining the user interface to make it more
intuitive and accessible for diverse user groups, including those with disabilities or limited
digital literacy.
 Integration with Mobile Platforms: Developing dedicated mobile applications for
reporting crimes, allowing users to submit reports conveniently from their smartphones
with features like geolocation tagging and multimedia uploads.
 Real-Time Communication: Implementing features for real-time communication
between reporting individuals and law enforcement personnel, enabling prompt follow-up
questions, updates on case status, and feedback mechanisms.
 Artificial Intelligence and Machine Learning: Incorporating AI and machine learning
algorithms to automate report classification, prioritize responses based on severity or
urgency, and identify patterns or trends in crime data more effectively.

Gujarat Technological University Page 95 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Bibliography

BIBLIOGRAPHY

a. Course Outcome
b. Books
c. Web Reference

Gujarat Technological University Page 96 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Bibliography

a. Course Outcome

Sr. CO statement Marks % Chapter No.


No. weightage
CO-1 Undertake problem identification, 20% CHAPTER 1
formulation and solution INTRODUCTION
Design engineering solutions to CHAPTER 2
CO-2 complex problems utilising a 30% SYSTEM REQUIREMENTS
systematic approach and team work CHAPTER 3
DAILY TASK
CHAPTER 6
SYSTEM DESIGN
Communicate with engineers and the CHAPTER 10
CO-3 community at large in written and 20% ADVANTAGES
oral forms CHAPTER 11
CONCLUSION AND FUTURE
ENHANCEMENT
CHAPTER 4
FRONT END OF SYSTEM
CHAPTER 5
Demonstrate the knowledge and BACK END OF SYSTEM
CO-4 understanding of engineering and CHAPTER 6
management principle and apply it to 30% SYSTEM DESIGN
assigned project CHAPTER 7
DATA DICTIONARY
CHAPTER 8
TESTING

Gujarat Technological University Page 97 Ahmedabad Institute of Technology


Enrollment Number: 200020107097 Bibliography

b. Books:
 Fundamental of Software Engineering
o Author: Rajib Mall
 Introduction to Computation and Programming Using Python
o Author: John V Guttag
 Core Python Programming
o Author: R. Nageswara Rao
 SQL Server Database
o Author: Mr.Gaurav Desani
 SQLite Forensics
o Author: Paul Sanderson

c. Web Reference:
 W3Schools. "CSS Tutorial." [Online].
o Available: https://www.w3schools.com/css/default.asp.. [Accessed: February 1,
2024].
 W3Schools. "JavaScript Tutorial." [Online].
o Available: https://www.w3schools.com/js/default.asp. [Accessed: February 7,
2024].
 Javatpoint. “Node JS Tutorial.”
o [Online] Available: https://www.javatpoint.com/nodejs-tutorial. [Accessed:
February 21, 2024].
 Free Code Camp. "Learn to code — for free." [Online].
o Available: https://www.freecodecamp.org/ [Accessed: March 15, 2024].
 Stack Overflow. "Where Developers Learn, Share, & Build Careers." [Online].
o Available: https://stackoverflow.com/ [Accessed: April 2, 2024]

Gujarat Technological University Page 98 Ahmedabad Institute of Technology

You might also like