Shubham Chaurasiya Software Engineering
Shubham Chaurasiya Software Engineering
1
INDEX
S. No Practical Name Date Signature
1 Select and write down the problem statement for a real time system.
5 Draw Data Flow Diagram (up to 2nd level) for the system.
2
INTRODUCTION TO COURT CASE MANAGEMENT SYSTEM
➢ They allow you to compile vast amounts of information that can be accessed easily and
quickly (more so than paper-based filing systems or Excel.)
3
Assignment - 1
Ques 1. Select and write down the problem statement for a real time
system.
1. INTRODUCTION
The explosion of sophisticated information and communication technologies (ICTs) creates new
opportunities as well as challenges for the whole service delivery systems, particularly to fulfil theever-
increasing demand of citizens who are mostly having high level of information technology (IT) literacy
and advanced in knowledge and awareness of their rights. In today’s world technology is growing to a
higher extent and it is used by many people of different age groups. As many services such as food
delivery, buying groceries, consultation from doctors etc is taking place through online mode. So, we
are bringing judiciary related services to online in order to ease the work of the people. Bringing the
Judiciary sector under technology will be used dynamically as well as it will be a boon for the people.
4
2. Case Information Management: A CCMS provides a centralized database
of all case-related data, including parties involved, attorneys, judges, court
orders, and case history.
2. Agile model: This model is iterative and incremental, where the development process is
divided into sprints. This model can be used for developing a court case management system
if there are frequent changes in the requirements or if the requirements are not well-defined.
3. Prototyping model: This model involves creating a prototype of the system and refining it
based on feedback from users. This model can be used for developing a court case management
system if there is a need to involve stakeholders in the development process and get their
feedback.
4. Spiral model: This model combines elements of both waterfall and prototyping models. It
involves iterative development with each iteration consisting of four phases: planning, risk
analysis, engineering, and evaluation. This model can be used for developing a court case
management system if there is a need to manage risks and uncertainties in the development
process.
2. Interviews: Interviews can be conducted with key stakeholders to gather more in-depth
information about their needs and requirements. This can be particularly useful for
understanding specific pain points or challenges in the current system.
5
3. Observation: Observing court proceedings and processes can provide valuable insights into
how the current system works and where improvements can be made. This can involve
observing court staff, judges, and lawyers in action, as well as reviewing case files and other
documentation.
4. Focus groups: Focus groups can be used to gather input from a group of stakeholders in a
structured and interactive setting. This can be particularly useful for generating ideas and
solutions for specific challenges.
5. Document analysis: Reviewing relevant documents such as court rules, case management
guidelines, and other related policies and procedures can provide valuable insights into the
current system and areas for improvement.
6. HARDWARE REQUIREMENTS
1. Development 2.4 GHz Dual Core or higher CPU Power
2. 1GB or higher physical memory
3. At least 10GB Hard disk space for the development tools
4. Removable storage for backups
5. Internet Access 6. Camera (for Verification)
7. SOFTWARE REQUIREMENTS
1. Operating System: Windows 7/8/8.1/10, Linux
2. Database: Firebase/MySQL/MongoDB
3. Tools: - VS Code, Google Chrome.
4. Language Requirement: HTML5, CSS3, JavaScript, Python, PHP, Node Js.
5. Server: Locally hosted
6
Assignment - 2
Ques 2. Analyze requirement for a system and Develop Software
Requirement Specification (SRS) as per IEEE format.
Introduction:
The court case management system is a software application that is designed to manage and
track court cases from initiation to final judgment. The system will provide a centralized
database for storing and retrieving case information, as well as tools for managing case
documents, scheduling court hearings, and generating reports.
Purpose:
The purpose of this software requirement specification (SRS) is to define the requirements
for the court case management system. This document will serve as a guide for the
development team in designing and implementing the system.
Scope:
The court case management system will be used by court personnel, judges, lawyers, and
other stakeholders involved in the court case management process. The system will be
designed to manage cases in all court types, including criminal, civil, and family courts.
Functional Requirements:
1. Case Management: The system shall allow court personnel to create, update, and delete
case records. The system shall allow for the tracking of case status, case history, and case
events.
2. Document Management: The system shall allow for the uploading and storage of case
documents, including pleadings, motions, and orders. The system shall allow for the viewing
and downloading of case documents by authorized users.
3. Scheduling: The system shall allow for the scheduling of court hearings, including the
assignment of judges and courtrooms. The system shall allow for the notification of parties
involved in the case of upcoming hearings.
4. Reporting: The system shall allow for the generation of reports on case status, case history,
and case events. The system shall allow for the customization of reports based on user
requirements.
5. User Management: The system shall allow for the creation, update, and deletion of user
accounts. The system shall allow for the assignment of user roles and permissions.
Non-Functional Requirements:
7
1. Performance: The system shall be able to handle a large number of concurrent users and
provide a response time of less than 3 seconds for all user interactions.
2. Security: The system shall provide secure access to case information and documents. The
system shall provide user authentication and authorization using industry-standard security
protocols.
3. Usability: The system shall be easy to use and navigate. The system shall provide a user-
friendly interface and clear instructions for all user interactions.
4. Reliability: The system shall be available 24/7 with a minimum of 99.9% uptime. The
system shall provide data backup and recovery mechanisms to prevent data loss.
5. Compatibility: The system shall be compatible with all major web browsers and operating
systems.
Conclusion:
The court case management system is an important tool for managing and tracking court
cases. This SRS document has defined the functional and non-functional requirements for the
system. The development team can use this document as a guide for designing and
implementing the system.
8
Assignment - 3
Ques 3. Draw Use Case Diagram and also elaborate it using
documentation.
Elaboration:
The use case diagram for the court case management system shows the actors and use cases
involved in the system. The actors are the users who interact with the system, including court
personnel, judges, lawyers, and other stakeholders. The use cases represent the functions or
tasks that the system can perform.
1. Create Case: This use case allows court personnel to create a new case in the system. The
user enters the necessary information such as case type, case number, and parties involved.
9
The system then creates a new case record and assigns a unique case number.
2. Update Case: This use case allows court personnel to update an existing case record in the
system. The user selects the case to be updated and makes the necessary changes. The system
then updates the case record and stores the changes.
3. Delete Case: This use case allows court personnel to delete an existing case record from
the system. The user selects the case to be deleted and confirms the deletion. The system then
removes the case record from the database.
4. View Case Information: This use case allows all authorized users to view case information
such as case status, case history, and case events. The user selects the case to be viewed and
the system displays the relevant information.
5. Upload Case Documents: This use case allows authorized users to upload case documents
such as pleadings, motions, and orders. The user selects the case and uploads the document.
The system then stores the document in the database and associates it with the case record.
6. Schedule Hearings: This use case allows court personnel to schedule court hearings for a
case. The user selects the case and enters the hearing details such as date, time, and location.
The system then schedules the hearing and notifies the parties involved.
7. Generate Reports: This use case allows authorized users to generate reports on case status,
case history, and case events. The user selects the report type and the system generates the
report based on the selected criteria.
8. Manage Users: This use case allows court personnel to create, update, and delete user
accounts. The user selects the user to be managed and performs the necessary action. The
system then updates the user account information in the database.
Conclusion:-
The use case diagram and elaboration provide a high-level overview of the functionality of
the court case management system. The use cases represent the actions that the system can
perform, and the actors represent the users who interact with the system. This diagram and
documentation will serve as a guide for the development team to design and implement the
system.
10
Assignment – 4
The ER diagram for the court case management system shows the entities, attributes, and
relationships involved in the system. The main entities in the system are Case, User, Hearing,
and Document. Each entity has its own attributes, which are listed below:
1. Case Entity: This entity represents the case record in the system. The attributes of the Case
entity are Case_ID, Case_Type, Case_Number, Case_Status, and Case_History.
2. User Entity: This entity represents the user account in the system. The attributes of the
User entity are User_ID, First_Name, Last_Name, Email, Password, and Role.
3. Hearing Entity: This entity represents the court hearing scheduled for a case. The attributes
of the Hearing entity are Hearing_ID, Hearing_Date, Hearing_Time, Hearing_Location, and
Hearing_Type.
4. Document Entity: This entity represents the document associated with a case. The
attributes of the Document entity are Document_ID, Document_Name, Document_Type, and
Document_File.
The relationships between the entities are shown using the cardinality notation. The
relationships are as follows:
1. A Case can have multiple Documents, but a Document belongs to only one Case. This is a
one-to-many relationship.
2. A Case can have multiple Hearings, but a Hearing belongs to only one Case. This is a one-
to-many relationship.
3. A User can be associated with multiple Cases, but a Case can be associated with only one
User. This is a many-to-one relationship.
4. A User can schedule multiple Hearings, but a Hearing can be scheduled by only one User.
This is a many-to-one relationship.
11
12
Assignment - 5
Ques 5. Draw Data Flow Diagram (up to 2nd level) for the system.
Level 0:
The Level 0 DFD shows the main processes in the system, which are Case Management,
User Management, and Hearing Management. The external entities in the system are the
Court Staff and the Court Users. The data stores in the system are the Case Data Store, User
Data Store, and Hearing Data Store.
Level 1:
The Level 1 DFD shows the sub-processes involved in the Case Management process, which
are Case Creation, Case Update, and Case Deletion. The sub-processes involved in the User
Management process are User Creation, User Update, and User Deletion. The sub-processes
involved in the Hearing Management process are Hearing Creation, Hearing Update, and
13
Hearing Deletion. The data stores in the system are the Case Data Store, User Data Store, and
Hearing Data Store.
Level 2:
The Level 2 DFD shows the detailed processes involved in the Case Creation sub-process,
which are Case Information Gathering, Case Validation, and Case Storage. The sub-processes
involved in the Case Update and Case Deletion are similar to that of Case Creation. The data
stores in the system are the Case Data Store, User Data Store, and Hearing Data Store.
14
Assignment – 6
Ques 6. Draw Class Diagram for the system.
The Class Diagram for the Court Case Management System shows the main classes,
attributes, and methods involved in the system. The diagram is divided into three sections:
Case Management, User Management, and Hearing Management.
Case Management:
The Case Management section shows the main classes involved in managing cases, which are
Case, CaseType, CaseStatus, and CaseDocument. The Case class has attributes such as
caseID, caseTitle, caseDescription, caseType, caseStatus, and caseDocuments. The CaseType
class has attributes such as typeID and typeName. The CaseStatus class has attributes such as
statusID and statusName. The CaseDocument class has attributes such as documentID,
documentName, and documentType.
The Case class has methods such as createCase(), updateCase(), deleteCase(), and
viewCase(). The CaseType class has methods such as createType(), updateType(),
deleteType(), and viewType(). The CaseStatus class has methods such as createStatus(),
updateStatus(), deleteStatus(), and viewStatus(). The CaseDocument class has methods such
as uploadDocument(), deleteDocument(), and viewDocument().
User Management:
The User Management section shows the main classes involved in managing users, which are
User, UserRole, and UserPermission. The User class has attributes such as userID, firstName,
lastName, email, password, and userRole. The UserRole class has attributes such as roleID
and roleName. The UserPermission class has attributes such as permissionID and
permissionName.
The User class has methods such as createUser(), updateUser(), deleteUser(), and viewUser().
The UserRole class has methods such as createRole(), updateRole(), deleteRole(), and
viewRole(). The UserPermission class has methods such as createPermission(),
updatePermission(), deletePermission(), and viewPermission().
Hearing Management:
The Hearing Management section shows the main classes involved in managing hearings,
which are Hearing, HearingType, and HearingStatus. The Hearing class has attributes such as
hearingID, hearingTitle, hearingDescription, hearingType, hearingStatus, and hearingDate.
The HearingType class has attributes such as typeID and typeName. The HearingStatus class
has attributes such as statusID and statusName.
15
updateStatus(), deleteStatus(), and viewStatus().
Conclusion:-
The Class Diagram for the Court Case Management System provides
a clear understanding of the classes, attributes, and methods involved
in the system. This diagram will serve as a guide for the development
team to design and implement the system.
16
Assignment – 7
Ques 7. Draw State-Chart Diagram or Activity Diagram for the system.
The Activity Diagram for the Court Case Management System shows the main activities
involved in managing cases, users, and hearings. The diagram is divided into three sections:
Case Management, User Management, and Hearing Management.
Case Management:
The Case Management section shows the main activities involved in managing cases, which
are Create Case, Update Case, Delete Case, and View Case. The Create Case activity starts
with gathering case information such as case title, case description, case type, and case status.
Then, the system validates the case information and stores it in the Case Data Store. The
Update Case activity starts with selecting a case to update and then gathering the updated
case information. The system validates the updated case information and updates the case in
the Case Data Store. The Delete Case activity starts with selecting a case to delete and then
deleting the case from the Case Data Store. The View Case activity starts with selecting a
case to view and then displaying the case information.
User Management:
The User Management section shows the main activities involved in managing users, which
are Create User, Update User, Delete User, and View User. The Create User activity starts
with gathering user information such as first name, last name, email, password, and user role.
Then, the system validates the user information and stores it in the User Data Store. The
Update User activity starts with selecting a user to update and then gathering the updated user
information. The system validates the updated user information and updates the user in the
User Data Store. The Delete User activity starts with selecting a user to delete and then
deleting the user from the User Data Store. The View User activity starts with selecting a user
to view and then displaying the user information.
Hearing Management:
The Hearing Management section shows the main activities involved in managing hearings,
which are Create Hearing, Update Hearing, Delete Hearing, and View Hearing. The Create
Hearing activity starts with gathering hearing information such as hearing title, hearing
description, hearing type, hearing status, and hearing date. Then, the system validates the
hearing information and stores it in the Hearing Data Store. The Update Hearing activity
starts with selecting a hearing to update and then gathering the updated hearing information.
The system validates the updated hearing information and updates the hearing in the Hearing
Data Store. The Delete Hearing activity starts with selecting a hearing to delete and then
deleting the hearing from the Hearing Data Store. The View Hearing activity starts with
selecting a hearing to view and then displaying the hearing information.
17
18
Assignment – 8
Ques 8. Draw Sequence Diagram for the system.
19
Assignment – 9
Ques 9. To Draw the Component Diagram for the system.
The deployment diagram for the court case management system includes
the following components:
1. User Interface: This component is used by the court clerks, judges, lawyers, and other
authorized personnel to interact with the system.
2. Application Server: This component hosts the application and provides the necessary
processing power and resources required by the system.
3. Database Server: This component stores all the data related to the court cases, including
case details, defendant information, and trial dates.
4. Network: This component provides the communication channel between the user interface,
application server, and database server.
5. Firewall: This component provides security to the system by filtering incoming and
outgoing traffic.
6. Load Balancer: This component distributes the incoming traffic across multiple application
servers to ensure optimal performance and availability.
7. Backup Server: This component is used to store the backup data in case of any disaster or
data loss.
8. Monitoring Server: This component continuously monitors the system's health and
performance, alerts the administrators in case of any issues, and generates reports.
20
Assignment – 10
Ques 10. To Draw the Deployment Diagram for the system.
The deployment diagram for the court case management system includes
the following components:
1. User Interface: This component is used by the court clerks, judges, lawyers, and other
authorized personnel to interact with the system.
2. Application Server: This component hosts the application and provides the necessary
processing power and resources required by the system.
3. Database Server: This component stores all the data related to the court cases, including
case details, defendant information, and trial dates.
4. Network: This component provides the communication channel between the user interface,
application server, and database server.
5. Firewall: This component provides security to the system by filtering incoming and
outgoing traffic.
6. Load Balancer: This component distributes the incoming traffic across multiple application
servers to ensure optimal performance and availability.
7. Backup Server: This component is used to store the backup data in case of any disaster or
data loss.
8. Monitoring Server: This component continuously monitors the system's health and
performance, alerts the administrators in case of any issues, and generates reports
21
Assignment – 11
Ques 11. Perform measurement of complexity with Halstead Metrics for
the system.
Halstead metrics are a set of software metrics that measure the complexity and size of a
software system based on the number of operators and operands used in the code. The four
primary Halstead metrics are:
1. Program vocabulary (n): The total number of unique operators and operands used in the
code.
2. Program length (N): The total number of operators and operands used in the code.
3. Volume (V): The quantitative measure of the code's size and complexity, calculated as V =
N * log2(n).
4. Difficulty (D): A measure of the complexity of the code's logic, calculated as D = (n1/2) *
(N2/n2), where n1 is the number of distinct operators, N2 is the total number of operands,
and n2 is the number of distinct operands.
To measure the complexity of the court case management system using Halstead metrics, we
would need to analyze the codebase and identify the unique operators and operands used in
the system. This would involve analyzing the source code of the system and counting the
number of unique operators and operands used in the code. Once we have this information,
we can calculate the Halstead metrics for the system and use them to measure the complexity
of the system.
The Halstead metrics can be used to identify potential areas of the system that may be more
complex and require more attention during development and maintenance. They can also be
used to compare the complexity of different software systems and identify areas for
improvement.
22