You are on page 1of 37

Software requirement specification

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

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING (ACCREDITED BY NBA)

SWAMI KESHVANAND INSTITUTE OF TECHNOLOGY, MANAGEMENT AND GRAMOTHAN, JAIPUR

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.

1.4 Document Conventions

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.

1.5 Intended Audience

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.

1.6 Definitions, Acronyms and Abbreviations

1) Admin (Administrator): He has the authority to add/delete projects, allocate projects to


students and assign mentors to them. He can also update user details in the project.

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.

3) REST API REST (Representational State Transfer API - Application Programming


Interface REST): APIs provide a flexible, lightweight way to integrate applications, and
have emerged as the most common method for connecting components in microservices
architectures.

4) UML (Unified Modeling Language): It is a standard language for writing software


blueprints. The UML may be used to visualize, specify, construct and document.
5) XML (Extensible Markup Language): It is a textbased format that let developers describe,
deliver and exchange structured data between a range of applications to clients for display
and manipulation.

6) HTTP (Hypertext Transfer Protocol) It is an application protocol for distributed,


collaborative, hypermedia information systems that allows users to communicate data on
the World Wide Web. As a request-response protocol, HTTP gives users a way to
interactwith web resources such as HTML files by transmitting hypertext messages between
clients and servers. HTTP clients generally use Transmission Control Protocol (TCP)
connections to communicate with servers.

1.7 Tools Used

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.

1.8 Technologies Used

1) HTML (Hyper Text Markup Language):


HTML is a set of codes that a website author inserts into a plain text file to format the
content. The author inserts HTML tags, or commands, before and after words or phrases to
indicate their format and location on the page. HTML tags are also used to add tables, lists,
images, music, and other elements to a webpage. Web documents contain three main
sections: the head, title, and body. The head includes the webpage’s identifying
information, including the website’s title and important keywords. The viewer sees the
site’s title, but any other information is hidden. The site’s title appears in the browser’s tab.

2) CSS (Cascading Style Sheets):

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.

4) PHP (Hypertext Preprocessor):


PHP is a programming language and stands for Hypertext Preprocessor. It’s through the PHP
language, and other languages such as HTML, that we can build stuff on the worldwide web.
Moreover, PHP is open-source, which means that everyone is free to use it. In fact, PHP has
attained its popularity by leading opensource web technology. 

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

2.1 Class Diagram

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.

Table 1 : User Classes And Characterstics

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.3 Product Features


1. To deliver a system that covers all region of prison management from the admission to the
release of the prisoner and connectivity/connection across jails; brings in administrative
efficiency and sense of security; leads to prisoner empowerment in the jails.

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:

1. Proposing/supervising projects/dissertations in their own subject area.


2. Setting a framework for regularly scheduled progress meetings between supervisor (s) and
student.
3. Providing advice on issues of plagiarism, in line with the university’s regulations.
4. Briefing the students and apprising them of the regulations pertaining to final year
projects/dissertation.
5. Giving frequent feedback/comments on progress achieved by the student.
6. Giving guidance on the approach for the appropriate analysis of data obtained,
interpretation and presentation of results (If applicable)
7. Assisting in the identification of a research methodology, planning and execution of the
research project (if applicable).
8. Giving guidance about the formulation of an appropriate hypothesis-driven

research project and focusing on the objectives of the research (if applicable).

Responsibilities Of Student:

Throughout project/dissertation work, the students are to seek advice, comments


and guidance from his/her supervisor(s) on the nature of the project/dissertation
work and standard expected. Students are also advised to keep a notebook for the
purpose of the meeting with the supervisor(s) while the supervisor(s) may wish to
keep a brief record of each meeting held.

1. Responding to the supervisor’s suggestions and/or criticisms on


his/her work and progress; Following all laboratory safety
15 | P a g e
guidelines (if applicable).
2. Bringing to the attention of the supervisor(s) any problems
(academic and personal) associated with progress.
3. Discussing the layout of the final dissertation with the
supervisor(s) prior to the writing-up stage.
4. Arranging with his/her supervisor(s) mutually agreed convenient
times to discuss progress achieved (in the event that meetings are
not possible, e-mails or other
forms of communication may be used

2.4 Software Interface

 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 )

2.5 Hardware Interface


Minimum Requirements:
Client Side
Processor RAM Disk Space

Internet Explorer - 6 Intel Pentium III or 128 MB 100 MB


AMD -800 MHz

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

RAD Intel Pentium III or 1 GB 3.5 GB


AMD -800 MHz
500 MB
DB2 - 9.5 Intel Pentium III or 256 MB (Excluding Data
AMD -800 MHz Size)

Recommended Requirements:

Client Side
Processor RAM Disk Space

Internet Explorer - 6 All Intel or AMD - 1 256 MB 100 MB


GHZ

Server Side
Processor RAM Disk Space
All Intel or AMD - 2
RAD 2 GB 3.5 GB
GHZ

2.6 Communication Interface


● Client (customer) on Internet will be using HTTP/HTTPS protocol.

● Client (system user) on Internet will be using HTTP/HTTPS protocol.

2.7 Data Base Design


The relational database model was used in the design of the database for the
system. The basic concept behind the relational model is that a database consists
17 | P a g e
of a series of unordered tables or relations. It is flexible to reduce ambiguity of the
information used in the system which has been divided into appropriate sets of
normalized tables. The benefits of a database designed according to the relational
model are:
● Data entry, updates and deletions will be efficient.

● 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.

● Data retrieval, summarization and reporting will also be efficient.

● Changes to the database schema are easy to make.

2.8 System Design Architecture

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.

Flowchart is a common system design tool which represents the sequential


representation of data and data modules used to design basic schema of the
system based on an algorithm. This algorithm depicts the sequence of actions to
be taken and the order in which to execute them, in order for the new system
design to become a reality. Algorithm can be seen as the step-by-step method of
implementing the system using the ordinary or simple language. The student
project allocation system is designed based on the
following algorithm:

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

2.9 User Interface

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

● GUI is only in English.


● Login and password is used for the identification of system users.
● This system is working for a single server.

20 | P a g e
Non-Functional Requirement

Non-Functional requirements define the needs in terms of performance, logical database


requirements, design constraints, standards compliance, reliability, availability, security,
maintainability, and portability.

3.1 Performance Requirement


Performance requirements define acceptable response times for system functionality.
● The load time for user interface screens shall take no longer than two seconds.
● The log in information shall be verified within five seconds.
● Queries shall return results within five seconds.

3.2 Safety Requirement


There are several user levels in the student project allocation system. Access to the
various subsystems will be protected by a system user login screen that requires a
username and password. This gives different views and accessible functions of user
levels through the system. Maintaining backups ensures the system database security.
System can be restored in any case of emergency.

3.3 Security 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.

3.4 Software Quality Attribute

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.

Efficiency : As there can be various requirements accessed by the users, the


system may need some specific updating. But not too much time should be spent on
updating.

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.

Extensibility : When we develop a system, it should be created in a way which would


support the extensibility. If a new user or admin detail is to be added, the procedure
should be easy and less time consuming, there can also be multiple functionalities
added for doing it.

22 | P a g e
DIAGRAM

4.1 0-level DFD


DFD Level 0 is also called a Context Diagram. It's a basic overview of the whole
system or process being analyzed or modeled. It's designed to be an at-a-glance view,
showing the system as a single high-level process, with its relationship to external
entities.

4.2 1-level DFD

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.

4.3 2-level DFD

In a level 2 Data Flow Diagram (DFD) which illustrates the user


24 | P a g e
check the details of; Prisoner, Lawyer and Jailer.

4.4 3-level DFD

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.

4.6 Entity Relationship Diagram

An Entity-Relationship Diagram, or ERD, is a chart that visually shows the


relationship between database elements. ERDs model an organization's

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.

In State Transition Diagrams which illustrates the different states of the


PMS in between the jailer, interior minister, victim, FIR, and Prisoner.

28 | P a g e
29 | P a g e
4.8 Activity Diagram

Activities diagrams are graphical representations of work processes of


stepwise exercises and actions with backing for decision, emphasis and
simultaneousness. In the Unified Modeling Language, movement outlines are
planned to display both computational and authoritative procedures (i.e.
workflows). Activity charts demonstrate the general stream of control

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

● Google

36 | P a g e
1|Page

You might also like