Software Requirement Specification On: Prison Management System
Software Requirement Specification On: Prison Management System
Software Requirement Specification On: Prison Management System
on
PRISON MANAGEMENT SYSTEM
Submitted in Partial Fulfillment for the Award of Degree of Bachelor of Technology in
Computer Science and Engineering from Rajasthan Technical University, Kota
MENTOR:
Mr. Harpreet Singh
(Dept. of Computer Science & Engineering)
SUBMITTED BY :
SEENU MANGAL (18ESKCS153)
SUBMITTED TO :
RAVI GUPTA (18ESKCS135)
NEHA JANU
ASSOCIATE PROFESSOR
CS DEPARTMENT
ABSTRACT
This project titled “Prison Management System” is built in the view of providing management
software for handling the inner working of any small jail across the country. Since most popular
jail in INDIA known as “Tihar jail” already provide certain recreational facilities and has a very
1|Page
strong management system for their working. However, in our research we found out that most
of the jails in India does not have an inner proper management system for handling all the
activities taking place in the inner premises of a jail and this could be improvised to a great
extend and thus could be considered useful soon. This report is basically based on main five
sections which include – Introduction and Actuation, Literature Review, Design Modules,
Implementation, Benefits and Scalability.
TABLE OF CONTENTS
1. Introduction
1.1 Methodologies
2|Page
1.2 Purpose
1.3 Scope
1.4 Document conventions
1.5 Intended Audience
1.6 Definitions, Acronyms and Abbrevations
1.7 Tools Used
1.8 Technologies to be used
1.9 Overview
1.10 Assumptions and Dependencies
2. Overall Description
2.1 Class Structure
2.2 Product Perspective
2.3 Product Features
2.4 Software Interface
2.5 Hardware Interface
2.6 Communication Interface
2.7 Database Design
2.8 System Design Architecture
2.9 User Interface
2.10 Constraints
3. Non-functional Requirements
3.1 Performance Requirements
3.2 Safety requirements
3.3 Security requirements
3.4 Software quality attributes
4. Diagrams
5. References
3|Page
INTRODUCTION
4|Page
1.1 Methodologies
The design of a system starts with incorporating all of the data and procedures into functional
program design. The researcher adopted a developmental research approach that considers
design, development, evaluation and implementation. In connection with this, the throwaway
prototyping software development methodology was used and some of their schemes are
discussed below.
1) Planning: This is the fundamental phase that considers why a student project allocation
system should be built and how the developers are going to tackle the various tasks in
terms of project initiation and/or management.
2) System Design: The goal of the design phase is to transform the requirements specified
into a structure most suitable for the implementation in a particular programming
language. The inputs from users and information gathered in requirement gathering phase
are the inputs of this stage. The output of this stage comes in the form of the logical
design and/or physical design.
3) Coding: This step is also known as programming phase. The purpose of coding is 3 to
transform the software design into source code using a suitable programming language
and developing error-free executable programs efficiently.
4) Testing: An estimate says that 50% of whole software development process should be
tested. Errors may ruin the software from critical level to its own removal. Software
testing is done while coding by the developer and thorough testing is conducted by
testing experts at various levels of code such as module testing.
The prototyping model involves building a prototype before building the actual software. The
prototype displays the functions of the product but may not actually hold the logic of the
original software.
5|Page
It provides scope for understanding customer requirements at early stage and then proceeding
accordingly. Also, errors can be detected much earlier. This model is used for applications which
tend to have a lot of user interactions.
1.2 Purpose:
This project is aimed at developing a prison management system that is a collection of registers
and reports for the effective management of prisons. this system should contain the modules like
nominal roll, case register, parole register, interview requests, in-out register and an automated
release diary generator.
1) Nominal Roll: the details of the prisoner and his/her demographics details should be
captured. A digital photo comprising different views of the prisoner and the list of articles
surrendered by prisoner during nominal roll are to be recorded.
2) Case register: All the details of cases against the prisoner should be captured. this must
include the sentence details, remand/conviction details etc.
3) Automated release diary generator: This report should be display the list of prisoners to
be released on a day, the next day, the next week, the next month or any given duration of
time. the system should consider the reduction of sentence length due to various
considerations.
4) Parole register: this module should track all prisoners on parole and provide necessary
reports on this data.
5) Interview requests and In-Out register: All interview requests by the relatives of the
prisoners need to be recorded and tracked. An in-out register will track all prisoners and
others who move in and out for various reasons. this should include provisions for
recording the prisoners sent to courts for hearing.
6) Various status reports and demographical analysis reports are to be generated.
1.3 Scope:
1) The system should have a login.
2) System should support for interview requests and In-out register modules for visitors.
6|Page
3) System should support for Data entry Module for nominal roll case register for each
prisoner entering in the prison.
4) Automated release diary generator.
5) Jailer should be able to generate various reports Prisoner Wise, Case-wise.
6) Jailer should be able to generate Visitor reports Prisoner wise and Visitor wise.
document is prepared using Google Docs and has used the font type 'Times New Roman' for the
entire document. The fixed font size that has been used to type this document is 16pt for main
headings, 14pt for sub-headings and 12pt for description. The diagrams are made using an online
tool, Lucid software.
This SRS will be used by the system development team which is constructing the Student Project
Allocation and Management. The project team will use the SRS to fully understand the
expectations of this project to construct the appropriate software. The institute’s end users will be
able to use this SRS as a "test" to see if the constructing team will be constructing the system to
their expectations. If it is not up to their expectations, the end users can specify how it is not to
their liking and the team will change the SRS to fit the end user's needs.
2) JSON (JavaScript Object Notation): JSON is a standard text-based format for representing
structured data based on JavaScript object syntax. It is a data interchange format that uses
human-readable text to store and transmit data objects consisting of attribute-value pair and
7|Page
array values. It is a common data format with a diverse range of functionality in data
interchange including communication of web applications with servers. It is commonly
used for transmitting data in web applications.
1) .Visual Studio Code: Visual Studio Code is an integrated development environment made by
Microsoft for Windows, Linux and macOS. It is a code editor redefined and optimized for
building and debugging modern web and cloud applications. It allows users to open one or
more directories, which can then be saved in workspaces for future reuse. This allows it to
operate as a language-agnostic code editor for any language. It supports a number of
programming languages and a set of features that differs per language.
8|Page
2) Postman: Postman is an application used for API testing. It is an HTTP client that tests
HTTP requests, utilizing a graphical user interface, through which we obtain different types
of responses that need to be subsequently validated.
CSS is used for defining the styles for web pages. It describes the look and
formatting of a document which is written in a markup language. It provides an
additional feature to HTML. It is generally used with HTML to change the style of
web pages and user interface. It is easier to make the web pages presentable
using CSS. It is easy to learn and understand and used to control the presentation of
an HTML document. CSS helps us to control the text color, font style, the spacing
between paragraphs, sizing of columns, layout designs, and many more. It is
independent of HTML, and we can use it with any XML-based markup language. It is
recommended to use CSS because the HTML Attribute are being deprecated. So, for
making HTML pages compatible with future browsers, it is good to start using CSS
in HTML pages.
9|Page
3) JavaScript:
JavaScript is a text-based programming language used both on the client-side and server-side
that allows you to make web pages interactive. Where HTML and CSS are languages that
give structure and style to web pages, JavaScript gives web pages interactive elements that
engage a user.
5) MYSQL:
MySQL is a relational database management system based on the Structured Query Language,
which is the popular language for accessing and managing the records in the database.
MySQL is a database system used on the web. MySQL is a database system that runs on a
server. MySQL follows the working of Client-Server Architecture. This model is designed for
the end-users called clients to access the resources from a central computer known as a server
using network services. Here, the clients make requests through a graphical user 8 interface
(GUI), and the server will give the desired output as soon as the instructions are matched.
1.9 Overview
Existing System:
1) In the present system, an institute maintains information manually into the register
2) Storing and managing the information manually on a system or register requires an ample
amount of time.
3) Also, once the information is stored, then accessing it is a tedious process.
Drawbacks:
10 | P a g e
1) This may raise any chances of errors during the entry in the system.
2) The information may also be misplaced after sometime.
Proposed System:
1) The proposed Prison Management system is based on the internet so that data can be
accessed by any system from any place.
2) The system user will need to enter the Prisoner information into the system so that whenever
they require it, they can access the same with simple procedure.
This system will contain Prisoner’ records, projects’ information and an Prison management table to
conveniently allot an available project to the Prisoner.
OVERALL DISCRIPTION
11 | P a g e
Class Structure A class diagram visualizes the paths between classes in the form
of aggregations and associations as well as through the passing on of properties
and behavior between classes. Class diagrams are the most important kind of
UML diagram and are vitally important in software development.
User Description
Class
Jailor The jailor can record the details about prisoner.
Prisoner The prisoner can also see his record through jailor or
his lawyer.
Interior The interior minister can see the monthly or daily
Minister basis report of the prison
Lawyer The lawyer can see the report of the specific prisoner
if he has taken permission from the court.
12 | P a g e
13 | P a g e
2.2 Product Perspective
Jails all over the world have transformed into a place of transformation and somewhat of
educational institute in making. In India, the Tihar Jail has provided a lot of facilities for the
inmates such as recreational facilities, educational facilities, panchayat systems, 2 psychological
treatment, yoga and meditation, creative art therapy to help overall development and
nourishment of inmates. Various bakery products, shirts, handlooms, paintings, etc. are available
online under the brand name “TJ’s” for people to buy. These products are designed and
manufactured by the inmates inside the jail premises. Also, a food court is established under the
name “Tihar Food Court”, which has received rave reviews for the quality of food and gesture of
inmates. So, our project aims to create a management system for record management and
automated task allocation of the inmates for efficient time utilization, cost minimization and to
help the government convert convicts into civilized individuals.
2. Proper use of technology to bring transparency in the system and provide accurate
implementation of rules and make data easily available to bring in efficient decision making.
3. To bring in full accuracy in the prison management is the key functional and operational areas,
to overcome the manual or hand-written system and to bring in the advancement and use of
new technology in the process with proper record keeping and make the work of staff much
easier and smooth in day-to-day activity.
14 | P a g e
Responsibilities Of A Mentor
The supervisor(s) shall monitor, support and direct the student ’s work and progress soon after the
allocation of project/dissertation titles. The responsibilities of supervisor include:
research project and focusing on the objectives of the research (if applicable).
Responsibilities Of Student:
Client on Internet
Web Browser, Operating System (any)
Data Base Server
MYSQL, Operating System
Development End VS
Code(HTML,CSS,JAVASCRIPT,PHP and MYSQL), OS (Windows )
16 | P a g e
All Intel or AMD - 2 500 MB
DB2 - 9.5 512 MB (Excluding Data
GHZ Size)
Server Side
Processor RAM Disk Space
Recommended Requirements:
Client Side
Processor RAM Disk Space
Server Side
Processor RAM Disk Space
All Intel or AMD - 2
RAD 2 GB 3.5 GB
GHZ
● Since much of the information is stored in the database rather than in the
application, the database is somewhat self-documenting.
● Since the database follows a well-formulated model, it behaves predictably.
This is a conceptual model that defines the structure, behavior and more views
of a system. An architecture description is a formal description and
representation of a system organized in a way that supports reasoning about the
structures and behaviors of the system. A system architecture can comprise
system components that will work together to implement the overall system. This
architecture primarily concentrates on the internals or subsystems and on the
interfaces between the system and its external environment.
18 | P a g e
Begin
Login
Registration form
Register prisoner
Prisoner Registration form
Visitors Registration form
Officer Registration form
Prisoner’s information
Court information
Visitors’ information
New prison
Prisoners
Prison/officers transfer
Comment
Logout
This system is made up of several interfaces that handle different tasks. The
Graphical User Interface (GUI) for this system is very user-friendly and does not
require any special training just to learn but requires that the administrator at the
various stop points be quick-witted to avoid discrepancies in handling student
information. Below are the images and description of the GUI.
1. Login Page
The system begins with a login page where a registered admin can enter a
unique username and password to enable access to the system. A notification
pops up informing the admin to check the username and password again
when an incorrect username and/or password is used.
2. Home Page
19 | P a g e
The home page displays all the results after the Prisoner list, project list and
Officer list has been uploaded and generation has occurred. It displays the
ID, Prisoner Name, Officer, Level, Program and Prisoner ID. The option to
log out is also available.
3. Prisoner Page
The Prisoner page provides the opportunity for the admin to add/update
Prisoner’ details.
4. Upload Project
On this page, the admin will be able to add/update project details.
2.10 Constraints
20 | P a g e
Non-Functional Requirement
Admin will be able to login into the Prison management system. Access to the various subsystems
will be protected by a user login screen that requires a username and password.
The system will be secured from the outside attacks and unauthorized access. The
system should be protected from all other outside premises.
Critically : As this site is going to be accessed through the internet so it is important
that it has security functions for outside attacks. It should also ensure that the system
is always protected from other premises like malware. The security options should
21 | P a g e
also be implemented for the protection against internal attacks from the same
network.
Technical issues : As the site contains the personal information of users, the
security options must be implemented in order to prevent theft or misuse of the
information.
Cost : The project will be following security measures in the coding itself, yet
the client has to arrange for precaution against external attacks by using antivirus
and firewall software.
Usability : A new user must find the functions easily that he is looking for on the
system. EXAMPLE: If a new user wants to search for his/her project allocation, these
details should be categorized in a way which makes it easy for the user to access
them.
Adaptability : The system should be able to easily accept the changes. If any
time something new is introduced to the system, it is necessary that it can accept the
changes easily.
22 | P a g e
DIAGRAM
In a level 1 data flow diagram, the single process node from the context
23 | P a g e
diagram is broken down into subprocesses. As these processes are added,
the diagram will need additional data flows and data stores to link them
together.
In a level 3 Data Flow Diagram (DFD) which illustrates the user can
preview; Prisoner details and Case details.
25 | P a g e
4.5 4-level DFD
In a level 4 Data Flow Diagram (DFD) which illustrates the Prisoner request
for details which includes his Crime, Punishment and Case details.
26 | P a g e
data storage necessities with three primary segments: entities, attributes,
and relationships. in an Entity-Relationship Diagram, or ERD which
illustrates the relationship between the entity; Jailer, Prisoner, Lawyer,
PMS and Interior Minister.
27 | P a g e
4.7 State Transaction Diagram
State transition diagram have been utilized right from the earliest starting
point as a part of object-oriented modeling. The essential thought is to
characterize a machine that has various states (thus the term finite state
machine). The machine gets events from the outside world, and every event
can bring about the machine to move transition with one state then onto the
next.
28 | P a g e
29 | P a g e
4.8 Activity Diagram
30 | P a g e
4.9 Class Diagram
A class diagram is an outline of the relationships and source code
dependencies among classes in the Unified Modeling Language (UML). In
this context, a class characterizes the methods and variables in an object,
which is a particular entity in a program or the unit of code representing to
that entity.
in a Class Diagram which illustrates the different classes and their objects
in the PMS.
31 | P a g e
32 | P a g e
4.10 Use case Diagram
A use case diagram at its simplest is a representation of a user's
interaction with the framework that demonstrates the relationship
between the user and the different use cases in which the user is
involved. A use case diagram can recognize the different types of
users of a system and the different use cases and will frequently be
accompanied by other types of diagrams as well.
In a use case diagram which illustrate the interactions between PMS,
Jailer, Interior Minister, Lawyer and Prisoner
33 | P a g e
4.11 Sequence Diagram
A Sequence diagram is a connection chart that shows how procedures work
with each other and in what request. It is a build of a Message Sequence
Chart. A sequence diagram shows object collaborations orchestrated in time
arrangement. It portrays the articles and classes included in the situation and
the succession of messages traded between the items expected to do the
situation's usefulness. Arrangement graphs are normally connected with use
case acknowledge in the Logical View of the framework a work in progress.
Succession outlines are now and then called occasion charts or occasion
situations.
34 | P a g e
4.12 collaboration /timing diagram
A timing diagram includes timing data for at least one horizontal lifeline, with
vertical messages exchanged between states. Timing diagrams represent timing data
for individual classifiers and interactions of classifiers.
REFERENCES
35 | P a g e
● GeeksforGeeks
● TutorialsPoint
● Wikipedia
● You tube
36 | P a g e
1|Page