0% found this document useful (0 votes)
87 views61 pages

Manage Prisons.: Version: 1.0. Team Name: RESILIENCE College Name: Dehradun Institute Technology, Dehradun

This document provides requirements for managing prisons through a software system. It includes specifications for basic and additional features, definitions, technologies used, architecture diagrams, use cases, and actor roles. The system allows creating users and assigning roles, tracking prisoners, staff, visitors, and funds. It also generates reports.

Uploaded by

prachipandey2k
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views61 pages

Manage Prisons.: Version: 1.0. Team Name: RESILIENCE College Name: Dehradun Institute Technology, Dehradun

This document provides requirements for managing prisons through a software system. It includes specifications for basic and additional features, definitions, technologies used, architecture diagrams, use cases, and actor roles. The system allows creating users and assigning roles, tracking prisoners, staff, visitors, and funds. It also generates reports.

Uploaded by

prachipandey2k
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 61

Manage prisons.

Synopsis Requirement Specifications

Version: 1.0. Team Name : RESILIENCE College Name : Dehradun Institute Technology,dehradun

Team Guide : Nidhi Sethi

Team members : Akankshi Aggarwal

Nupur Bhan

Pooja Bansal

Prachi Pandey
Table of Contents

1. Introduction 5

1.1 Purpose 5

1.2 Scope 5

1.3 Abbreviations 6

1.4 References 7

1.5 Technologies 7
Basic features:

• Create different system users and assign different roles with related permissions.

• Group the users together in a single account according to some criteria.

• Authenticate all user of the system.

• Track all the visitors their contact details.

• Track all the staff, non-staff and prisoner in out details.

• Graphical report on fund and other details generated in easily downloadable format.

• Track the Fund allotment and expenditure details.

• All activities performed by the system users will be maintained in the form of logs for auditing and
maintaining the integrity of the system.

• Automated Diary Generation based on condition.

• JAVA based client for Super User.

• Maintain a centralized database to provide security to information which can be accessed only by
the admin.

• Customizable Profile feature with predefined skins to choose from.

Additional features:

• Easily changeable Database Location in between servers.

• Secure Socket Layer (SSL) connectivity to ensure security.

• Optimized AJAX usage for better user interaction.


• Private Messaging service to request the needs.

• Usage of Jquery for Pluggable look and feel.

• One time static creation of prisoner details.

• Password modification is made easy using JDBC connectivity.

1.3 Definitions, Acronyms and Abbreviations

• Prisoner details: Details of prisoner such as name, id, date of birth, address, father’s name, digital
photo and finger prints etc.

• Staff details: Details of staff associated with the prison.

• HTML: Hypertext Markup Language is a markup language used to design static web pages.

• EJB: Enterprise Java Beans.

• JSP: Java Server Pages.

• JAVASCRIPT: scripting language used for client side web development.

• JQUERY: lightweight JavaScript library that emphasizes interaction between JavaScript and HTML.

• AJAX: Asynchronous java script and XML.-used to change page content without reload

• J2EE: Java 2 Enterprise Edition is a programming platform— part of the Java Platform—for
developing and running distributed multitier architecture Java applications, based largely on
modular software components running on an application server.

• DB2: DB2 Database is the database management system that delivers a flexible and cost-effective
database platform to build robust on demand business applications.

• WAS: Web sphere application server is an application server that runs business applications and
supports the J2EE and web services standards.

• RAD: Rational application developer is a toolkit which is designed for the creation of more complex
projects, providing fully dynamic web application utilizing EJB’s . This consist of EJB tools , CMP ,data
mapping tools & a universal test client that is designed to aid testing of EJB’s.

• HTTP: Hypertext Transfer Protocol is a transaction oriented client/server protocol between web
browser & a Web Server.

• HTTPS: Secure Hypertext Transfer Protocol is a HTTP over SSL (secure socket layer).
• TCP/IP: Transmission Control Protocol/Internet Protocol, the suite of communication protocols
used to connect hosts on the Internet. TCP/IP uses several protocols, the two main ones being TCP
and IP.

1.4 References

• Problem Definition (Provided by IBM)

• IEEE SRS Format

• Object Oriented systems development using Unified Modeling Language by Ali Bahrami,
publication: McGraw-Hill, International edition 1999

• http://java.sun.com/developer/technicalArticles/J2EE/AJAX/RealtimeValidation/

1.5 Technologies to be used

• RAD: Development Tool

• WAS: Web Server

• Rational: Design Tool

• J2EE: Application Architecture

• DB2: Database

1.6 Overview
• Overall Description will describe major components of the system, interconnection and external
interfaces.

• Specific Requirements will describe the functions of actors, their role in the system and
constraints.

2. Overall Description Describe the general factors that affect the product and its requirements.

2.1 Product Perspective:

• The web pages (XHTML/JSP) are present to provide the user interface on client side.
Communication between client and server is provided through HTTP/HTTPS protocols.
• The Client Software is to provide the user interface on system user client side and for this TCP/IP
protocols are used.

• On the server side web server is for EJB and database server is for storing the information.

2.2 Software Interface:

Client on Internet: Web Browser, Operating System (any) Client on Intranet: Client Software, Web
Browser, Operating System (any) Web Server: WAS, Operating System (any) Data Base Server: DB2,
Operating System (any) Development End: RAD (J2EE, Java, Java Bean, Servlets, Jsp, Ejb), DB2, Linux,
Web Server.
2.3 Hardware Interface: Minimum Hardware requirements:

Client Side

Internet

Explorer6.0

&above, Mozilla

Firefox, Chrome

Processor

RAM

Disk Space

Pentium III

at 500 MHz

128MB

1GB

Server Side

Web sphere
application

server v6.1

Pentium IV

at 1.3 GHz

512MB

2GB

DB2 V9.1

Pentium IV

at 1.3 GHz

512MB

1GB(Excluding

data size)

2.4 Communication Interface:


• Client on Internet will be using HTTP/HTTPS protocol.

• Client on Intranet will be using TCP/IP protocol.

2.5 Product Functionalities: • Nominal Roll: The details of the prisoner and his/her demographic
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. • Case register: All the
details of the cases against the prisoner should be captured. This must include the sentence details,
remand/conviction details, etc.
• 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. • Parole
register: This module should track all prisoners on parole and provide necessary reports on this data.
• Duty register: Who was where, why and when? • Interview requests: All interview requests by the
relatives of the prisoners need to be recorded and tracked. • In-out register: 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. • Funds: Fund allotted and routine
accounting transactions should be captured. • Admin facilities: Basic and advance admin facilities
like add/update users, backup/recovery of data, generating various reports etc.

2.6 User Characteristics: Every user should be comfortable of working with computer and net
browsing. He must have basic knowledge of English too.

2.7 Constraints:

• GUI is only in English.

• Login and password is used for identification of customer and there is no facility for guest.

• Limited to HTTP/HTTPS.
Usecase4.PNG

2.8 Use-Case Model Survey:

USE CASE DIAGRAM

1. Police: Responsible for activities such as searching prisoner, viewing prisoner, exporting to Pdf and
Send Private Message.
Architecture2.PNG

2. Jail Admin: Responsible for activities such as generating reports for jail, viewing diary generator.

3. Government Official: Responsible for activities of generating cumulative reports

4. Data Manager: Responsible for activities such as tracking prisoner detail, tracking parole detail,
tracking fund detail, tracking staff detail, tracking duty detail, tracking interview detail and diary
generation.

5. Gate Keeper: Responsible for activities such as tracking staff in/out detail, tracking non-staff in/out
detail, tracking prisoner in/out detail, Modifying in/out detail and Generating report.

6. Super User: Responsible for activities such as adding prison, changing database location,
performance tuning, viewing log, finding intruder, adding user, removing user, reading private
message and making back up.

2.9 Architecture diagram


FinalER1_3.PNG

2.10 Database design

ER Diagrams
C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\ER
diagrams\FinalER2_4.PNG
C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Schema
diagrams\Schema1_3.PNG

2.11 Schema Diagrams


C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Schema
diagrams\Schema2_3.PNG
Class1.PNG

2.12 Class Diagrams


C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Class
diagrams\Class2_31.PNG

SERVLETS
C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Class
diagrams\Class2_32.PNG
C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Class
diagrams\Class3_31.PNG

EJB CLASSES
C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Class
diagrams\Class3_32.PNG
2.13 Assumptions and Dependencies

• The end user should have a basic knowledge of English and computer usage.

• Administrator is created in the system already.

• Roles and tasks are predefined.

3. Specific Requirements:

3.1 Use-Case Reports:

Actors: The system caters to following types of user.

1. Police user

2. Jail Administrator

3. Government Official

4. Data Manager

5. Gate Keeper

6. Super User

The initial system requirement only specified users 1-4. The users 5, 6 were included to provide jail

specific functionalities & database administrative functionalities.


Common Functionalities:

The following function may be performed any one of the six types of users.

• Login:

In order to access other specific functionalities a user must login to the system. All users can

login to the system using their user name and password.

Name of use case: login

Description: client enters user name and password and the system authenticates the user.

Preconditions: The user account is existing in the database and has not yet logged in.

Normal flow of events:

. The client enters user name and password.

. Javascript validates the provided information using regular expression.

. The Jsp page passes the request to Servlet.

. The Servlet checks against database and returns true.

. A bean instance is created and property is set by javascript.

. User is asked for the option of continuing with previous session by java script.

. Based on user input the session detail is got from Servlet and DOM is updated.
Seq_Login1.PNG
C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Sequence
Diagrams\SeqLoginFail2.PNG

Alternative flow of events:

. The client enters user name and password.

. Javascript validates the provided information using regular expression.

. The Jsp page passes the request to Servlet.

. The Servlet checks against database and returns true.

. The Jsp page is updated with corresponding error message.


• Logout:

After completion all his/her activities an user may logout of the system. After logout a user

wouldn’t be able access features of the system.

• Change password:

A user of the system would be provided a default password at the beginning. To maintain

privacy he/she can change his/her password.

Name of use case: Change Password

Description: client enters the new password in order to replace his existing password.

Preconditions: The user account is exists in the database and user has logged in.

Normal flow of events:

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. The Servlet checks against database and returns true.

. EJB makes changes to the database.

. EJB reports the change to servlet.

. Servlet similarly reports back to the JSP which updates the DOM.
Seq_Changepass1.PNG
• View help:

A 24x7 help feature would be provided. The help is available both online and offline. The

user may access help feature that is convenient to him.

• Customize profile:

To give user a better look and feel, the system boasts several kinds of skins and theme. The

user can customize his profile by selecting one from the available.

Name of use case: Customize profile

Description: client customizes his/her profile by choosing from predefined skins.

Preconditions: The user account is exists in the database and user has logged in.

Normal flow of events:

. The client chooses the skin.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB makes changes to the database.

. EJB reports the change to servlet.

. Servlet similarly reports back to the JSP

. JSP updates the DOM.


CustomizeProfile.PNG
User Specific Functionalities:

Police:

• Search Prisoner

A police user may use the system to search for a prisoner detail based on some search

condition.

Name of use case: Search Prisoner

Description: Police user searches for a prisoner by providing search conditions.

Preconditions: The user account exists in the database and user has logged in.

Normal flow of events:

. The client provides the search criteria.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB queries the database.

. EJB reports the change to servlet.

. Servlet similarly reports back to the JSP

. JSP updates the DOM to provide the result of the search.


SearchPrisoner.PNG
C:\Documents and Settings\John Dalton\My Documents\My Pictures\Diagrams\Sequence
Diagrams\ImageLoad2.PNG

• View Prisoner

A police user may view the searched prisoner.

Name of use case: View prisoner

Description: Police user may view the searched prisoner.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet queries the database.

. Servlet gets the image from database.

. Servlet responds to Jsp page back.

. JSP updates the DOM to display the report.


• Export to Pdf

After making search the police user may export the result of the search in a pdf format for

offline use and other purposes.

• Send Private Message

In case that a new police officer has been deputized on special duty, A new user record has to

be created .this must be indicated to the Super Admin user. In such case a private message

may be sent to Super Admin requesting the necessary providing sufficient details.

JAIL ADMIN:

• Generate Report for Jail

The jail admin user may generate various reports that are specific to the prison he/she

manage. The graphical reports generated may range from funds report to the prisoner report.

Name of use case: Generate report for jail

Description: Jail admin user generates report for his/her prison.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides the lists to generate report.

. The client clicks the button.


. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB queries the database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


ReportGenrate.PNG

• View Diary generator

The jail Admin may view automatic diary generated to plan the day’s activities. He/she may

also specify conditions for diary generation.


Government Official:

• Generate report

Name of use case: Generate report

Description: government official user generates a cumulative report.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides the lists to generate report.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB queries the database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


ReportGenrate.PNG

The government official may generate graphical report to make comparison among various
prisoners.

Further the report generation is limited to a prison or prison in particular state. The report may serve

as a tool for these users in future decision making.


Data Manager:

• Track Prisoner Detail

Data Manager User is provided with functionality of tracking prisoner’s details. This includes

creation new prisoner record and updating existing record.

Name of use case: Add prisoner

Description: Data manager user adds new prisoner details.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides the details of the prisoner.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB insert details into database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


AddPrisoner.PNG
• Track Parole Detail

Prisoners are granted 14 days holiday per year which may be availed as whole or in part. In such a

case they are sent on parole. Tracking the parole detail is done by Data manager

• Track Fund Detail

Government and Non-governmental organization allocates fund to each prison for its maintenance

and upkeeping.The allocation and expenditure of these funds are tracked by Data Manager.

Name of use case: Add Fund Details

Description: Data manager user may add fund details.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides fund details.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB insert details into database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


AddFundDetails.PNG

• Track Staff Detail

Data manager keeps track of various staff details such as transfer of staff, promotion and retirement.

Name of use case: Add Staff Detail

Description: Data manager user adds staff details.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.
AddStaffDetails.PNG

Normal flow of events:

. The client provides staff details.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB insert details into database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


• Track Duty Detail

Data manager keeps track of various duty details such as posting and shift changes

• Track Interview Detail

Prisoner is allowed to meet with relatives and well wisher upon request made by the relative.

The detail of these interviews is tracked by Data Manager.

• Diary Generation

Data Manager may generate various diaries such as release diary, parole diary, etc. The generated

diary helps to perform other activities of Data Manger.

Gate Keeper:

• Track Staff in/out detail

Gate keeper may tracks various staff entering the prisoner

• Track non-Staff in/out detail

Gate keeper may track various non staff such as electrician, plumber etc entering the prison
• Track prisoner in/out detail

Gate keeper may track prisoner in & out detail. This include prisoner leaving jail on parole or

medical reason

Name of use case: Insert into In-Out register

Description: Data manager user inserts record into in-out register.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides the details.

. The client chooses the type of register.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB insert details into database.


InsertIORegister.PNG

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


• Modify in/out detail

Gate keeper may modify errata in tracked in/out detail

• Generate report

Gate keeper may generate a reports based on the statistic in various in/out register

Super Admin:

• Add Prison

Super admin add a new prison easily.

Name of use case: Add prison

Description: Super user may add new prison.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides the prison details.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB insert details into database.

. EJB generate the report and forward it to servlet.


. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


AddPrision__1.PNG
• Change Database Location

Super Admin may change the IP address and port no of database location easily.

Name of use case: Change database location

Description: Super user may change IP address and port of database location.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides IP address and port number.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB makes changes to database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


ChangeDBLocation.PNG
• Performance Tuning

Super Admin may perform various performance tunings like index creation upon viewing the

log file

• View Log

A log file is maintained for all important activity performed by each user. Super Admin may

view this log file to do his/her other activities exemplary manner

• Detect Intruder

Upon viewing the log file Super admin detect any intruder to the System

• Add User

Super Admin may add a new user of the system.

Name of use case: Add new user

Description: Super user may add new user to the system.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:


. The client provides the user details.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB insert details into database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


AddNewUser.PNG

• Remove User

Super Admin may remove an existing user of the system

• Read Private Message

Super admin can read private message sent by police and jail admin users. These messages

illustrate creation/deletion of user.


• Make Back up

Super Admin may make a back of the Database

• Add Skin

Super Admin may add new skins.

Name of use case: Add skin

Description: Super user generates may add new skin details.

Preconditions: The user account exists in the database; user has logged in and has perquisite

privileges.

Normal flow of events:

. The client provides skin details.

. The client clicks the button.

. Jsp page asynchronously requests the servlet.

. Servlet forwards the request to EJB.

. EJB insert details into database.

. EJB generate the report and forward it to servlet.

. Servlet similarly forwards the report back to the JSP

. JSP updates the DOM to display the report.


AddSkins.PNG
3.2 Supplementary Requirements

• 24 x 7 Availability - If the base is now the entire world, staying open 24 hours a day becomes

critical. Because system can be an automated Process, so it can stay open for 24 hours a day. So

UPS support must be on server site for at least 8 hours in case of power failure. System will

remain inaccessible to users at 2:00 to 4:00 am for backup and maintenance purpose.

• Dynamic Website - Many early Web implementations consisted of static HTML pages. This

becomes very difficult to manage if the number of pages gets too large. An effective system

should be largely dynamic taking advantage of technology that automates this process rather

than relying on manual processes. Application should serve dynamic user based customized web

pages to its clients from server.

• Integration with existing enterprise systems – Any existing Web site that relies on the

manual duplication of data from another system is one that can be improved. Most of the

business data in the world today exists in enterprise servers that can be connected to the Web

servers to make this process far more effective.


• Provide good performance and the ability to scale the server – The Web application Server

should provide good performance and the ability to manage performance with techniques, such

as support for caching, clustering, and load balancing.

• Providing session management capability - Web application developers should not spend

valuable time worrying about how to maintain sessions within the application. The Web

Application Server should provide these services.

4. Concerns / Queries / Doubts if any: We tried to install IBM Rational Application Server (Version:
7.0.0.6) along with Websphere

Application Server in Ubuntu 8.04. While WAS version6.1 failed to install WAS version 6.0 installed
successfully. But the problem now is that we are not able to start the Server through “Add Server”
option. Help us to get rid of this problem.

You might also like