Functional Specification and High Level Design
Project Jailbird
Version: 1.60
Date: 5-Dec-08
Revision History
Version
Date
Author
Change Description
v1.0
v1.1
01/12/2008
Group C, Sec D
New Project
CONTENTS
EXECUTIVE SUMMARY 5
SOFTWARE REQUIREMENTS 5
HARDWARE REQUIREMENTS 5
FUNCTIONAL REQUIREMENTS 6
FR1 - Automation of Prisoner Admissions Process 6
FR2 - Automation of Prisoner Exit Process 6
FR3 - Automation of Activity Logging & CLOSURE 6
FR4 - Automation of Remittance Allocation 6
FR5 - Automation of Additional Responsibility Allocation & DE-ALLOCATION 6
FR6 - ENTRY OF PERIODIC MEDICAL EXAMINATION RESULTS 6
FR7 - AUDIT Logging 7
FR8 - Automation of undertrial court visit and conversion to convict 7
System ARCHITECTURE 7
Database Design 8
Dynamic Database 8
Database Details 8
High Level Design 12
HLD1 - Automation of Prisoner Admissions Process 12
Design overview 12
Design Details 13
HLD2 - Automation of Prisoner Exit Process 13
Design overview 13
Design Details 15
HLD3 - Automation of Activity Logging 16
Design overview 16
Design Details 16
HLD4 - Automation of Remittance and Check Date Calculation 17
Design overview 17
Design Details 18
HLD5 - Automation of Additional Responsibility Allocation 19
Design overview 19
Design Details 19
HLD6 - Entry of RESULTS of PERIODIC MEDICAL Examination RESULTS 20
Design overview 20
Design Details 20
HLD7 - Automation of undertrial court visit and conversion to convict 21
Design overview 21
Design Details 21
Requirements Traceability MAtrix 23
TESTING 24
Testing Requirements 24
Testing Levels, Types and Responsibilities 24
Testing Acceptance Criteria 24
STAKEHOLDER SIGNOFF 25
INFORMATION SYSTEMS PLANNING
ORGANIZATIONAL MISSION, OBJECTIVES AND STRATEGY
Madhya Pradesh Jails are state run institutions meant for legal confinement of prisoners charged or convicted in relation to unlawful activities as per constitution of India. The organization is headed by Director General (DG) which reports and answerable for Jail administration to the Principal Secretary, Madhya Pradesh Government. The headquarters are located at Bhopal. The functional head of the headquarters is the Inspector General (IG). He reports to the DG. The office also consists of 4 Deputy Inspector Generals (DIGs).
There are three different types of Jails existing as per the organizational structure of the department. These are:
. Central (or Circle) Jails
2. District Jails
3. Sub Jails
Central Jails are the institutions at the division level. There are eight such Jails in M.P. These are also called Circle Jails. They are headed by Circle Jail Superintendent. He reports to the Inspector General. He is the functional head for the Jail administration at division level.
District Jails are the Jails at the district level. They are headed by Jail Superintendent (class II). He reports to the Circle Jail Superintendent.
Sub Jails are the Jails at the tehsil or taluka level. They are functionally headed by Deputy Jailors. Unlike Central or District Jails, Sub Jails are audited and controlled by local administration. SDM or equivalent Class II officer has the authority for general administration.
CLASSIFICATION:
The above mentioned Jails are different in there operations. These Jails are classified according to the intensity of crime and the duration of sentence for the criminals. For convicted prisoners the classification is as follows:
Jail
Duration of sentence
Central Jail
Greater than 10 years
District Jail
Upto 10 Years
Sub Jail
less than 5 years
For under trial prisoners these Jails do not differ according to the intensity of crime. The local court usually asks for judicial custody for the nearby Jail.
INFORMATIONAL INVENTORY
Central Jail, Indore is the largest prison for Indore division. Five district Jails and eight Sub Jails comes under the direct administration of Central Jail, Indore. As on 26 October 2008, Central Jail, Indore has 1700 convicted and 600 (approx.) under trial prisoners. This ratio is heavily biased toward number of under trial prisoners for lower jails. The main processes and activities in the organization is as follows:
ADMISSIONS
The admissions for new incoming prisoners, both convicted and under trials, is the most important activity for the Jail administration. This can be understood from the fact that a separate sub-division for Central Jail, Indore is dedicated for this particular activity. As per the Jail Superintendent, Mr. Sanjay Pandey, admissions in the Jail accounts for almost 60% of the total data handling and also employs 30% of the total staff. The section, which deals with all the admission and release activities is called, the Warrant section.
The admission process differs a bit for convicted and under trial prisoners. For convicted prisoners the process starts with a preliminary physical examination. This is usually done before the prisoner gets admitted inside the main gate. The prisoner is inspected for any visible physical injuries. He is also interviewed for the verification of details given in the court ruling or extension order. For any discrepancy the court order is sent back for rectification. In case of any visible injuries the accompanying police guard, which brings in the accused from court countersigns the record book at the gate. Once ...
This is a preview of the whole essay
The admission process differs a bit for convicted and under trial prisoners. For convicted prisoners the process starts with a preliminary physical examination. This is usually done before the prisoner gets admitted inside the main gate. The prisoner is inspected for any visible physical injuries. He is also interviewed for the verification of details given in the court ruling or extension order. For any discrepancy the court order is sent back for rectification. In case of any visible injuries the accompanying police guard, which brings in the accused from court countersigns the record book at the gate. Once the preliminary examination is over, the prisoner is sent to the convicted criminals Warrant section for further record keeping.
For under trial prisoners, the admission process differs slightly. After the preliminary examination, the details from court warrant is recorded in the admission register in a very similar manner. However, the details are much less than in case of convicted prisoners. A history ticket is then prepared for the prisoner for the complete duration of the stay of the prisoner in the jail.
The Warrant section, firstly, maintains an alphabetical record book. Each fresh prisoner is allocated a convict number and the name is recorded in the alphabetical register. This register can be used to search for other records of a given prisoner. The details then from the court warrant are recorded in the admission register. Thereafter a history ticket is prepared for each incoming prisoner. History Ticket is a very important record, which record all the concerned activities of a prisoner during his stay in the Jail. These activities are, date of admission, remissions earned, health record, details of the work done, court ruling, check date and the anticipated release date.
For the court hearing of stipulated prisoners next day, a court-hearing book is maintained daily. The strength of the police guard required is then demanded from police department daily.
After a prisoner is set free by the court, he gets a discharge certificate from the Warrant section. Also, if the court sentences a prisoner, a fresh incoming procedure as for a convicted prisoner is followed.
REMISSIONS EARNED:
This is a provision whereby a prisoner earns a stipulated remission for his sentence each month. For normal prisoners there is a provision of 6 days per month of remission. For prisoners who are involved in some works inside the jail during Sundays, this amounts to 7 days. Also, for some prisoner who shows some leadership in various administrative activities inside the jail, there is provision of 8 days per month of remission. The remission earned are accumulated and recorded in Remissions earned record book quarterly.
CHECK DATE:
On completion of two-third of the stipulated sentence the records of a particular prisoner are reviewed and updated for total remission earned. The cumulative remissions earned are then subtracted from the stipulated full sentence and a fresh release date is then allocated. The review date of two-third sentence is called Check-date. A separate register is maintained for the check date.
The total jail stay of the under trial prisoner is adjusted against the total sentence as per the ruling of the court. Accordingly a check date is prepared for them.
RELEASE:
At the beginning of the month the check date register is reviewed and the coming releases for the month is extracted from it. Accordingly, a release list for the next day is prepared and the respective prisoner is informed. At the release, the prisoner is provided with a release certificate. This certificate contains details of the sentence, duration of the stay and the amount of work done by the prisoner in the jail.
MISSION AND OBJECTIVES OF THE INFORMATION SYSTEM
As indicated before, a considerable amount of time and resources are currently devoted to the Admissions process. The entire process is conducted manually. The implementation of an Information System will serve the objective of facilitating a much smoother and efficient process. This is true not just in the admissions activity, but for an entire end to end Prisoners' record keeping system. It would avoid redundancies, multiple/incorrect data entries and keep track of the prisoners' activities within. It would greatly reduce the number of personnel required to administer the system as compared to the present system. The automation process will also be useful in maintaining an updated health record of the prisoners. Various features incorporated in the Information System would ensure a fast and easy accessibility of data, which would ultimately result in more efficient processes. The organization will have a distinct cost and strategic advantage once the system is implemented.
CONSTRAINTS ON IS DEVELOPMENT
The major constraint in the IS development is in terms of the appointment and training of personnel. Also, being a central government institution, clearances and funding would be required from the government apparatus to implement the project. There would be considerable infrastructural requirements in terms of computers to be purchased and an IS framework to be laid. The current plan is to appoint an external administrator to supervise the system, but in time, in house personnel could be trained to use and manage the system.
EXECUTIVE SUMMARY
This Functional Specification will describe the requirements of Project Jailbird which aims at implementation of a automated Prisoner Management System at Central Jail, Indore.
SOFTWARE REQUIREMENTS
Operating system software Cost in Rs
Windows 3500
Oracle 9i
Java
Firewall, antivirus 4500
Training users in application use Cost in Rs
Basic computer training (4 personnel) 4*1000 = 4000
HARDWARE REQUIREMENTS
Hardware Costs in $
Computers (4) 1000
Server (1) 400-500
Backup server 400-500
Misc (LAN cable, modem, switch etc) 50
Other Operating Costs would include Equipment installation costs, System maintenance costs, Asset depreciation, and Management, operation and planning personnel costs.
FUNCTIONAL REQUIREMENTS
FR1 - AUTOMATION OF PRISONER ADMISSIONS PROCESS
FR1.1. Create a unique record of each prisoner
FR1.2. Create a unique record of each prison visit
FR1.3. Record possessions of prisoner
FR1.4. Record illnesses, weight, height and other medical details
FR1.5. Record father's name, occupation, home district, marital status, spouse's name and other miscellaneous details
FR1.6. Record origin court and crime
FR1.7. Record whether prisoner is convict / undertrial
FR1.8. Record next hearing date in case prisoner is undertrial
FR2 - AUTOMATION OF PRISONER EXIT PROCESS
FR2.1. Facilitate user initiated prisoner exit
FR2.1 a. Prisoner search facility for user
FR2.1 b. Automatic reminder / trigger to user prompting return of possessions if present
FR2.2. Automatic reminder / trigger to user notifying exit of prisoner the following day
FR3 - AUTOMATION OF ACTIVITY LOGGING & CLOSURE
FR3.1. User uninitiated activity logging
FR3.2. User initiated activity closure
FR4 - AUTOMATION OF REMITTANCE ALLOCATION
FR4.1. Remittance & activity related addition / subtraction in term to figure automatically
FR5 - AUTOMATION OF ADDITIONAL RESPONSIBILITY ALLOCATION & DE-ALLOCATION
FR5.1. User uninitiated allocation of additional responsibility
FR5.2. User uninitiated de-allocation of additional responsibility
FR6 - ENTRY OF PERIODIC MEDICAL EXAMINATION RESULTS
FR6.1. Enter new illness if any
FR6.2. Remove illness if applicable
FR6.3. Update weight
FR7 - AUDIT LOGGING
Logging of:
FR7.1. Exits
FR7.2. New Stay
FR7.3. New Prisoners
FR7.4. Illnesses
FR7.5. Undertrial Court Visit
FR7.6. Undertrial Return from Court
FR7.7. Undertrial to Convict conversion
FR8 - AUTOMATION OF UNDERTRIAL COURT VISIT AND CONVERSION TO CONVICT
FR8.1. Make record when Undertrial visits court
FR8.2. Make record when Undertrial returns from court
FR8.3. Make record when Undertrial is deemed a Convict
SYSTEM ARCHITECTURE
DATABASE DESIGN
DYNAMIC DATABASE
DATABASE DETAILS
Table
Table Type
Columns
Desc
Type
Mandatory?
Prison_Stay
Dynamic
Stay_Id
Primary key
Number
Y
Prisoner_Id
Refers to table - Prisoner
Number
Y
Prisoner_Type
U - Undertrial, C - Convict
Char
Y
Next_Court_Visit_Date
Date
N
Next_Court_Visit_Ref
Refers to table - Court
Number
N
Undertrial_Court_Visit_Ind
C - Gone to Court, J - In Jail, N - Not Applicable (for Convicts)
Char
Y
Entry_Date
Date of entry into prison
Date
Y
Illness_At_Start
Refers to table - Illness
Number
Y
Illness_Now
Refers to table - Illness
Number
Y
Weight_At_Start
Number
Y
Weight_Now
Number
Y
Court_Order_Number
Number
Y
Court_Ref_No
Refers to table - Court
Number
Y
Charged_Crime
Refers to table - Crime
Number
Y
Orig_Leaving_Date
Date
Y
Curr_Leaving_Date
Date
Y
Active_Ind
Y or N
Char
Y
Original_Term
Orig_Leaving_Date - Entry_Date
Number
Y
Current_Term
Curr_Leaving_Date - Entry_Date
Number
Y
Check_Date
Entry Date + 2/3*Term
Date
Y
Additional_Responsibility
Refers to table - Additional_Responsibility
Number
Y
Prepare_For_Exit
Y or N
Char
Y
Prisoner
Dynamic
Prisoner_Id
Primary Key
Number
Y
Prisoner_Name
String
Y
Father_Name
String
N
Married_Ind
Y or N
Char
Y
Spouse_Name
String
N
Home_District
String
Y
Home_District_Pin
Pin Code of Home District
Number
Y
Education_Ind
0 - No schooling, 1 - Left school in middle, 2 - Finished School, 3 - Left college/diploma in middle, 4 - Finished college/diploma
Number
Y
DOB
Date of Birth
Number
Y
Height
In cm
Number
Y
ID_Mark_1
Identification mark
String
Y
ID_Mark_2
Identification mark
String
N
ID_Mark_3
Identification mark
String
N
Skill
Refers to table - Skill
String
N
Posessions
Dynamic
Possession_Id
Primary Key
Number
Y
Prisoner_Id
Refers to table Prisoner
Number
Y
Stay_Id
Refers to table Prison_Stay
Number
Y
Posessions
List of possessions
String
Y
Status_Ind
Y - Possessions with Jail, N - Possessions returned
Char
Y
Log
Dynamic
Prisoner_Id
Refers to table Prisoner
Number
Y
Stay_Id
Refers to table Prison_Stay
Number
Y
Log
Log Format - <Stay_Id>_<Prisoner_Id>_<LOG>_<Time Stamp>
Possible LOG values are EXIT, NEWPRISONER, NEWSTAY, ILLNESS, UTCOURT, UTRETURN, UT-CONVICT
String
Y
Activity_Log
Dynamic
Prisoner_Id
Refers to table Prisoner
Number
Y
Stay_Id
Refers to table Prison_Stay
Number
Y
Activity_Id
Primary Key, Refers to table - Activity
String
Y
Activity_Status
I - In Progress, C - Completed but not recorded, R - Recorded
String
Y
Start_Date
Activity Start Date
Date
Y
End_Date
Acitivty End Date
Date
Y
Remittance
Dynamic
Remittance_Id
Primary Key
Number
Y
Stay_Id
Number
Y
Days
Days that will be subtracted from the term
Number
Y
Prisoner_Id
Number
Y
Remittance_Status
N - Not recorded, R - Recorded
Char
Y
Time_Stamp
Date
Y
Activity
Static
Prisoner_Id
Number
Y
Stay_Id
Number
Activity_Id
Primary Key
Number
Y
Days_Change
Days that will be added / subtracted from the term
Number
Y
Activity_Type
G - Good, B - Bad
Char
Y
Activity_Desc
String
Y
Crime
Static
Crime_Id
Primary Key
Number
Y
Crime_Desc
String
Y
Crime_Type
R - Remissionable, N - Non remissionable
Char
Y
Illness
Static
Illness_Id
Primary Key
Number
Y
Illness_Desc
String
Y
Prescription
String
Y
Court
Static
Court_Id
Primary Key
Number
Y
Court_Type
String
Y
Court_Location
String
Y
Skill
Static
Skill_Id
Priamry Key
Number
Y
Skill_Description
String
Y
Additional_Responsibility
Static
AR_Id
Primary Key
Number
Y
AR_Desc
String
Y
HIGH LEVEL DESIGN
HLD1 - AUTOMATION OF PRISONER ADMISSIONS PROCESS
DESIGN OVERVIEW
DESIGN DETAILS
Sub-Process
Description
Database Interaction
Interaction Type
New / Or Prisoner Check
User checks if prisoner is new or not by searching in the PRISONER table
PRISONER
READ
Prisoner Details Entry
User enters the following details:
- Father's name, occupation, home district, marital status, spouse's name and other miscellaneous details
- Schooling details (0 - No schooling, 1 - Left school in middle, 2 - Finished School, 3 - Left college/diploma in middle, 4 - Finished college/diploma)
- Skill level (User refers SKILL table)
PRISONER
SKILL
INSERT
READ
Prison Stay Details Entry
User enters the following details:
- Expected release date
- Prisoner type - Undertrial / Convict
- Court # (User refers COURT table)
- Crime # (User refers CRIME table)
PRISON_STAY
COURT
CRIME
INSERT
READ
READ
Possessions Entry
User enters possessions
POSSESSIONS
INSERT
Medical Examination
Conduct Medical Examination
- If illness found enter illness (User refers ILLNESS table)
- User enters medical details like date of birth, weight, identification marks, height
PRISON_STAY
ILLNESS
MODIFY
READ
HLD2 - AUTOMATION OF PRISONER EXIT PROCESS
DESIGN OVERVIEW
DESIGN DETAILS
Sub-Process
Description
Database Interaction
Interaction Type
Prisoner Search
User searches PRISON_STAY for prisoners that are scheduled for exit using STAY_ID
PRISON_STAY
READ
Background processes
- CURR_LEAVING_DATE is set to system date
- ACTIVE_IND is set to N
PRISON_STAY
MODIFY
Returning Possessions
- POSSESSIONS table is searched for any possessions that are present with the jail for the exiting prisoners
- All possessions are then set STATUS_IND to N
POSSESSIONS
READ/MODIFY
Closing outstanding Activities and Remittances
- Outstanding Activities (ACTIVITY_STATUS is C or I), Remittances (REMITTANCE_STATUS is N) are closed
- Activities are set ACTIVITY_STATUS R
- Remittances are set REMITTANCE_STATUS R
ACTIVITY_LOG
REMITTANCE
READ/MODIFY
READ/MODIFY
HLD3 - AUTOMATION OF ACTIVITY LOGGING
DESIGN OVERVIEW
DESIGN DETAILS
Sub-Process
Description
Database Interaction
Interaction Type
User searches Prison Stay
User searches PRISON_STAY for prisoners that have started activity with STAY_ID
PRISON_STAY
READ
User adds Activity
User adds relevant activity by referring to the ACTIVITY table
ACTIVITY_LOG
ACTIVITY
INSERT
READ
User searches Prison Stay and Activity Log
User searches PRISON_STAY and ACTIVITY_LOG for prisoners whose activity has come to an end
PRISON_STAY
ACTIVTY_LOG
READ
READ
Activity Closure
Relevant activities are set ACTIVITY_STATUS C
ACTIVITY_LOG
MODIFY
HLD4 - AUTOMATION OF REMITTANCE AND CHECK DATE CALCULATION
DESIGN OVERVIEW
DESIGN DETAILS
Sub-Process
Description
Database Interaction
Interaction Type
User searches Prison Stay
User searches PRISON_STAY for prisoners that have been assigned Remittance
PRISON_STAY
READ
User adds Remittance
User adds remittance in REMITTANCE table
REMITTANCE
INSERT
Auto search for unrecorded remittances
Automatic search for remittances in REMITTANCE table with REMITTANCE_STATUS N
REMITTANCE
READ
Auto search for unrecorded activities
Automatic search for activities in table ACTIVITY_LOG with ACTIVITY_STATUS C
ACTIVITY_LOG
READ
Updation of Term and Leaving Date
On the basis of increase / decrease in term in number of days (found from REMITTANCE and ACTIVITY) adjust CURRENT_TERM, CURR_LEAVING_DATE and CHECK_DATE in PRISON_STAY table
REMITTANCE
ACTIVITY
ACTIVTY_LOG
PRISON_STAY
READ
READ
READ
MODIFY
Background Processes
- Update ACTIVITY_LOG, set ACTIVITY_STATUS R
- Update REMITTANCE, set REMITTANCE_STATUS R
REMITTANCE
ACTIVITY_LOG
MODIFY
MODIFY
HLD5 - AUTOMATION OF ADDITIONAL RESPONSIBILITY ALLOCATION
DESIGN OVERVIEW
DESIGN DETAILS
Sub-Process
Description
Database Interaction
Interaction Type
User searches Prison Stay
User searches PRISON_STAY for prisoners that have been assigned Additional Responsibility
PRISON_STAY
READ
User adds Responsibility
User adds Additional Responsibility by referring to ADDITIONAL_RESPONSIBILITY table
PRISON_STAY
ADDITIONAL_RESPOSIBILITY
MODIFY
READ
User searches Prison Stay
User searches PRISON_STAY for prisoners for whom de-allocation must be done
PRISON_STAY
READ
Responsibility de-allocation
ADDITIONAL_RESPOSIBILITY is set to NULL
PRISON_STAY
MODIFY
HLD6 - ENTRY OF RESULTS OF PERIODIC MEDICAL EXAMINATION RESULTS
DESIGN OVERVIEW
DESIGN DETAILS
Sub-Process
Description
Database Interaction
Interaction Type
Remove Current Illness
If there exist a current illness in the PRISON_TABLE table and it has been cured set ILLNESS_NOW to NULL
PRISON_STAY
READ/MODIFY
Enter new Illness
If there is a new illness enter ILLNESS_NOW (Refer to table ILLNESS)
PRISON_STAY
ILLNESS
READ/MODIFY
READ
HLD7 - AUTOMATION OF UNDERTRIAL COURT VISIT AND CONVERSION TO CONVICT
DESIGN OVERVIEW
DESIGN DETAILS
Sub-Process
Description
Database Interaction
Interaction Type
User Searches Prison Stay
User searches PRISON_STAY
- For Undertrial Court Visit
- For Undertrial Return
- For Undertrial to Convict
PRISON_STAY
READ/MODIFY
Undertrial court visit
UNDERTRIAL_COURT_VISIT_IND set to C
PRISON_STAY
MODIFY
Undertrial's return from court visit
UNDERTRIAL_COURT_VISIT_IND set to J
PRISON_STAY
MODIFY
Undertrial to Convict
UNDERTRIAL_COURT_VISIT_IND set to N
Set CURRENT TERM, ORIGINAL_TERM, ORIG_LEAVING_DATE & CURR_LEAVING DATE
PRISON_STAY
MODIFY
REQUIREMENTS TRACEABILITY MATRIX
FR #
HLD #
FR1, FR7.2, FR7.3, FR7.4
HLD1
FR2, FR7.1
HLD2
FR3
HLD3
FR4
HLD4
FR5
HLD5
FR6, FR7.4
HLD6
FR8, FR7.5, FR7.6, FR7.7
HLD7
TESTING
TESTING REQUIREMENTS
This section focuses on the specific requirements for testing the functional requirements which are identified within this Functional Specification.
TESTING LEVELS, TYPES AND RESPONSIBILITIES
The matrix below indicates the requirements for specific types of testing for each testing level. It also specifies which groups have responsibility for performing the required levels and types of testing.
Responsible Groups
Developers
Developers
Users
Level of Testing
Type of Testing
System
Systems Integration
User Acceptance
Documentation
X
X
X
Error Handling
X
X
X
Functional Requirements
X
X
X
Installation & Backout
X
X
X
TESTING ACCEPTANCE CRITERIA
All necessary testing will be conducted, in order to satisfactorily prove the software changes for each of the business requirements which are specified within this functional specification.
STAKEHOLDER SIGNOFF
I have reviewed the functional specification for Project Jailbird. I agree that the specification accurately and completely defines the requirements of this change.
Signature:
Reviewer:
Title:
Date:
Phone:
Location:
Signature:
Reviewer:
Title:
Date:
Phone:
Location:
AUTOCAT Functional Specification - ii -
Functional Specification - Project Jailbird Page 10 of 29