DV Unit CMS:Requirements and Analysis Document

Introduction
The DV Unit CMS group will design and implement an application that will be able to store, organize, and edit data entries pertaining to persons associated with the Domestic Violence Unit in Manchester.

Client Profile
The Domestiv Violence Unit in Manchester is an organization dedicated to providing counseling for persons court-ordered to attend such sessions. It is made up of Administrative personnel, prosecutors, and counselors.

Problem Description
The problem with the current system is that it is very simplistic, and ultimately not a good method for storing data. It is so far in Excel format, and thus finding, adding and editing data is a cumbersome task.

System Objectives
The system should be able to add and delete entries in an organized manner into an actual database. There should be an easy way to search for entries. The database should be backed up for security reasons. The application should be able to facilitate these goals through an easily understood user interface.

Current System
The current system is in Excel format, and is made up of spreadsheets.

Functional Requirements
This database must be able to store varying amounts of data. The data must be easily accessible, and must be safe, and therefore backed up.

Non-Functional Requirements
The graphic user interface should be appropriate for the client, and easily interpreted by users that are not very tech-savvy.

Analysis Models
Prosecutors Counselors Network Adminisrator
 * Prosecutors will use the application to add cases to their personal records. They will then be able to file cases as well. They can also delete and edit cases as necessary.
 * Counselors will use the application to add, remove and edit persons that need counseling sessions.
 * Network Administrators will be able to add and drop users, and set up their associated privileges.

Prosecutor Page
Prosecutor page GUI



Name: Add case

Description: A new case has been brought to the prosecutor that needs to be added to the system

Actor: Prosecutor

Goals: Prosecutors will be able to add new cases as they are received

Entry Conditions: 1. A new case needs to be received 2. You must have all the required information of the case to add

Exit Conditions: A new case has been added

Related Use Cases: Add Program, Add User

Steps:



Name: Edit Case

Description: A previously added case has changed. Administrators and authorized users will be able to edit cases as required.

Actor: Prosecutors

Goals: As cases change, users will have the ability to update them as necessary

Entry conditions: The data of a specific case has changed and is required to be updated in the system.

Exit Conditions: 1. The case(s) in question have been edited and now have the correct data. 2. They have been deleted from the system.

Related Use Cases: Edit Program, Edit User

Steps:



Name: File Case

Description: A new case has been brought to the prosecutor that needs to be added to the system. By using File case you can continue adding new cases to a particular prosecutor

Actor: Prosecutor

Goals: Continue to add new cases to a particular prosecutor without having to re-enter their data

Entry Conditions: 1. A new case needs to be received 2. You must have all the required information of the case to add 3. The case is for the same prosecutor previously used

Exit Conditions: A new case has been added

Related Use Cases: File Program

Steps:



Counselor Page
Counselor page GUI



Name: Add Program

Description: Add a user to a particular program

Actor: Counselor

Goals: 1. Add a new person to a program

Entry Conditions: 1. Have a new user to add to the program

Exit Conditions: Add a user to a particular program

Related Use Cases: Add Case, Add User

Steps:



Name: Edit Program

Description: A previously added person's program has changed. Counselors and authorized users will be able to edit cases as required.

Actor: Counselor

Goals: Counselor's will have the ability to update a person's program as necessary

Entry Conditions: 1. A situation has occurred where a person's program needs to be changed 2. You have all required data to modify

Exit Conditions: 1. The programs in question have been edited and now have the correct data. 2. They have been deleted from the system.

Related Use Cases: Edit Case, Edit User

Steps:



Name: File Program

Description: A new person needs to be added to a program for the same Counselor as previously used. By using file program you can continue adding persons to a particular counselor

Actor: Counselor

Goals: Continue to adding persons to a particular counselor without having to re-enter their data

Entry Conditions: 1. A new person to add to a program has been received 2. You must have all the required information of the person to add 3. The counselor is for the same as previously used

Exit Conditions: A person has been added to a program successfully

Related Use Cases: File Case

Steps:



Administrator/User Page
Administrator/User page GUI



Name: Add User

Description: New users can be added as required by DVUnit

Actor: Network Administrator

Goals: As changes are made to personnel, DVUnit will be able to add new users.

Entry conditions: 1. A request has been made to add a new user 2. You have the required data to add a user in the system.

Exit conditions: Add user request completed

Related Use Cases: Add Case, Add Program

Steps:



Name: Edit privileges

Description: After adding a user, administrators will be able to edit user privileges as requested by the DVunit

Actor: Network Administrators

Goals: Administrators will need to modify or delete users as required by changes in DVUnit

Entry Conditions: 1. You have the specific user to modify or delete. 2. If modifying, you have the required information on what is being modified

Exit Conditions: Modify/delete user request completed

Related Use Cases: Edit Case, Edit Program

Steps:



Application Domain Classes and Class Diagram
The application Domain classes are case, person, person_case, counselor, counseling_status, counseling_type, prosecutor, user_name, user_type, and counselingType.

The class diagram mirrors the object model