Ambulance Dispatch System

Final Project Document

Ali Hashi

Ananthapriya Mummineni

Brandon Bass

Faisal Azizullah

Shveta Mupparapu

Sirisha Koneru

Sonali Jejurkar

Vidya Perumal

http://ace6354.com/adv_soft_engg.aspx

Submitted for:

CS 6354.581

Final Deliverable

Table of Contents

1. Project Plan 5

1.1 Introduction 5

1.1.1 Project overview 5

1.1.2 Project deliverables 5

1.1.3 Evolution of this document 5

1.1.4 References 5

1.1.5 Definitions, acronyms, and abbreviations 6

1.2 Project organization 6

1.2.1 Process model 6

1.2.2 Organizational structure 6

1.2.3 Organizational boundaries and interfaces 6

1.2.4 Project responsibilities 7

1.3 Managerial process 7

1.3.1 Management objectives and priorities 7

1.3.2 Assumptions, dependencies, and constraints 7

1.3.3 Risk management 7

1.3.4 Monitoring and controlling mechanisms 7

1.4 Technical process 7

1.4.1 Methods, tools, and techniques 7

1.4.2 Software documentation 7

1.4.3 Project support functions 7

1.5 Work elements, schedule, and budget 8

2. Requirements Analysis 8

2.1 Introduction 8

2.1.1 Purpose of the system 8

2.1.2 Scope of the system 8

2.1.3 Objectives and success criteria of the project 8

2.2 Current System 8

2.3 Proposed System 8

2.3.1 Overview 9

2.3.2 Functional requirements 9

2.3.3 Nonfunctional requirements 9

2.3.4 System models 9

2.3.4.1 Scenarios 9

2.3.4.2 Use case model 10

2.3.4.2.1 Actors 10

3.4.2.2 Description of the use cases 11

2.3.4.3 Object model 15

2.3.4.4 Dynamic model 16

2.3.4.5 User interface 20

3. System Design 22

3.1 Introduction 22

3.1.1 Purpose of the System 22

3.1.2 Design goals 23

3.1.3 System Overview 23

3.2 Current Software Architecture 23

3.3 Proposed software architecture 24

3.3.1 Overview 24

3.3.2 Subsystem decomposition 24

3.3.3 Hardware/software mapping 25

3.3.4 Persistent data management 26

3.3.4 Access control and security 27

3.3.5 Global software control 27

3.3.6 Boundary conditions 27

4. Object Design 27

4.1 Introduction 27

4.1.2 Interface documentation guidelines 28

4.1.3.1 Façade Pattern 28

4.1.3.2 Data Access Objects 29

4.1.2 Packages 30

4.2.1.1 Package CS6354 30

4.1.3 Class interfaces 31

4.1.3.1 Boundary classes: 32

4.1.3.2 Controller class: 32

4.1.3.1 Entity classes: 33

4.1.4 Glossary 33

Revision History:

Version / Revision Date / Description / Author
1.0 / 06/02/2007 / Initial project plan / Brandon Bass
1.1 / 06/10/2007 / Updated project plan for Requirements Analysis deliverable / Brandon Bass
1.2 / 06/14/2007 / RequirementsAnalysis initial / Priya and Sveta
1.3 / 06/18/2007 / Updates from group review / Priya and Sveta
1.4 / 06/19/2007 / Document formatting updates / Ali Hashi
1.5 / 06/22/2007 / Updated project plan for System Design deliverable / Sirisha Koneru
1.6 / 06/23/2007 / Initial for System Design section / Sonali Jejurkar
1.7 / 06/29/2007 / System Design section refinement / Sonali Jejurkar
1.8 / 06/30/2007 / System Design updated with all the sections and necessary UML diagrams / Sonali Jejurkar
1.9 / 07/01/2001 / Typo in section 3.3.5 is fixed / Vidya Perumal
1.10 / 07/01/2007 / Paragraph 2 in section 3.1.3 should be describing the dispatcher interface / Brandon Bass
1.11 / 07/06/2007 / Updated class diagram and receive call use case (TA feedback) / Brandon Bass
1.12 / 07/10/2007 / Updated project plan for Object Design deliverable / Brandon Bass
1.13 / 07/12/2007 / Initial for Object Design section / Vidya Perumal
1.14 / 07/16/2007 / Finalized project plan / Brandon Bass
1.14 / 07/18/2007 / Combined deliverables 0-4 / Brandon Bass

Note- Adapted from each individual document

1. Project Plan

1.1 Introduction

1.1.1 Project overview

This is a project plan to be used for the implementation of the ambulance dispatch system. The project includes creating an ambulance dispatch system whereby the information regarding an emergency can be recorded, ambulances can be dispatched to the scene of an emergency within a three-minute deadline, and ambulances can be tracked during their transit through the use of a location tracking system.

The system as a whole will have three main components. There will be a dispatcher interface, an incident processing system, and an external database. The dispatcher interface will allow the ambulance dispatcher to enter the information they receive from the caller about an incident (address of the incident, number of injured people, etc) so that it can be processed by the incident processing system. The incident processing system will interact with an external database that holds the information about each incident as well as the current ambulance location data. The system will check if each newly submitted form might be a duplicate and will bring this information to the attention of the ambulance dispatcher. The system will locate a suitable ambulance and mobilize it within three minutes. If no ambulance is available within an eleven-minute window the incident processing system will raise an exception message on the dispatcher interface and the location of the nearest three ambulances will be displayed.

1.1.2 Project deliverables

The following are the deliverables for this project:

a)  Preliminary Project Plan ------Deliverable 0

b)  Requirements Elicitation –------Deliverable 1

c)  Requirements Analysis ------Deliverable 2

d)  Architectural Design ------Deliverable 3

e)  Object/Component Design ------Deliverable 4

f)  Coding ------Deliverable 5

g)  Testing ------Deliverable 6

1.1.3 Evolution of this document

This is a preliminary document with the scope of the project.

1.1.4 References

·  Problem Statement: http://utdallas.edu/~chung/CS6354/Project.doc

·  RAD Template: http://wwwbruegge.informatik.tu- muenchen.de/twiki/bin/view/OOSE/RequirementsAnalysisDocumentTemplate

·  Architecture Template: http://wwwbruegge.informatik.tu-muenchen.de/twiki/bin/view/OOSE/SystemDesignDocumentTemplate

·  ODD Template: http://wwwbruegge.informatik.tu-muenchen.de/twiki/bin/view/OOSE/ObjectDesignDocumentTemplate

·  Problem Statement: http://utdallas.edu/~chung/CS6354/Project.doc

·  Object-Oriented Software Engineering - Using UML, Patterns, and Java 2nd Edition

·  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd ed., C. Larman

1.1.5 Definitions, acronyms, and abbreviations

·  Dispatcher: A person, who receives the call and enters the caller information into the CAD system, dispatches and monitors the ambulance.

·  CAD System: The system would allocate and mobilize a suitable ambulance within 3 minutes, transmit details to the selected vehicle, and monitor its actual performance and position.

·  Location Tracking System: Takes the patient information from the CAD System (phone number) and tracks the location of the patient and returns it to the CAD system.

·  System Administrator: This person is responsible for managing the user accounts (dispatcher).

1.2 Project organization

1.2.1 Process model

Our design process will be based heavily on the creation of UML diagrams for the project. With good UML diagrams, we will have a basis for the system, a basis for group programming, and a graphical representation of the system for use in this document. We will be using Waterfall model for our project development with few exchanges between intermediate phases.

1.2.2 Organizational structure

The members involved in life cycle of this project are:

·  Ali Hashi

·  Ananthapriya Mummineni

·  Brandon Bass

·  Faisal Azizullah

·  Shveta Mupparapu

·  Sirisha Koneru

·  Sonali Jejurkar

·  Vidya Perumal

Deliverable 0 Team Lead – Brandon Bass

Deliverable 1 Team Lead – Shveta Mupparapu

Deliverable 2 Team Lead – Ananthapriya Mummineni

Deliverable 3 Team Lead – Sonali Jejurkar

Deliverable 4 Team Lead – Vidya Perumal

Deliverable 5 Team Lead – Sirisha Koneru

Deliverable 6 Team Lead – Ali Hashi

1.2.3 Organizational boundaries and interfaces

For deliverables 2 and 3 there were 4 main artifacts that were identified and used to create organizational boundaries. Use case diagram, sequence diagrams, class diagram, and requirements document were the 4 main pieces identified. The entire group provided initial input for each section but the refinement of each artifact was done by groups of 2. The outputs of each sub-group were combined in to one final document that was reviewed by the entire group.

For deliverable 4, the group had to deliver a completed object design document. The main pieces of this document were a package diagram and a class diagram with all the method signatures. This would allow us to show dependencies between classes and packages, the interface of each class, and the naming conventions that we be used during implementation. To do this, the group sat down and provided inputs to the team lead as to what interfaces were needed, what packages were needed, and what naming conventions should be used. The team lead then took this information and assimilated it in to the object design document. The group then reviewed the final document.

For deliverables 5 and 6 there is a common deadline and the two deliverables will be worked on in parallel wherever possible. The code is a document in itself but the test plan document needs to be created and submitted for deliverable 6. There were separate team leads for each deliverable and the team members who were familiar with the Java technologies used during implementation were assigned to mainly work on deliverable 5. The team members who are not assisting with the implementation will help create the test plan.

1.2.4 Project responsibilities

All the team members will be involved in each phase of the project. Those who are not team leads are expected to work on the deliverable in a way that is determined by the team lead. All members are expected to actively provide input during brainstorming sessions.

1.3 Managerial process

The managerial process is carried out by the team lead and involves constantly monitoring the progress of the group, the quality of the group output, and the participation level of each group member.

1.3.1 Management objectives and priorities

The main objective of the management position is to organize the meetings for discussions, check the status of the project, and submit the project on time.

1.3.2 Assumptions, dependencies, and constraints

There is a time constraint applied to each deliverable. See section 5 for a listing of each deliverables due date.

1.3.3 Risk management

Risk will be managed by the team lead designated for each deliverable. At the beginning of a particular deliverable the group will try to identify and mitigate risk conditions that might arise during that phase. The team lead will monitor this process and be responsible for seeing that all risks are mitigated, if possible, or otherwise handled.

1.3.4 Monitoring and controlling mechanisms

Email and frequent group meetings are used to monitor and control the group as it strives to achieve a deliverable.

1.4 Technical process

1.4.1 Methods, tools, and techniques

·  Rational Rose tool will be used to do the UML modeling.

·  Our project team is using GoogleGroups for easy team member communication.

·  All the defects during the testing phase will be tracked in an Excel spreadsheet. Multiple versions of the spreadsheet will be maintained to track the revisions of the spreadsheet.

1.4.2 Software documentation

The software will come with documentation stating how to start and run the system.

1.4.3 Project support functions

All project documents will be posted on our team website at http://ace6354.com/adv_soft_engg.aspx.

1.5 Work elements, schedule, and budget

This project is scheduled to be completed by July 18th 2007 for the final demo. Here is the outline of the timeline of the deliverables:

Deliverable 0 was delivered on 06/06/2007

Deliverable 1 was delivered on 06/20/2007

Deliverable 2 was delivered on 06/20/2007

Deliverable 3 was delivered on 07/02/2007

Deliverable 4, 5, 6 due by 07/23/2007

Final Demo will take place on 07/23/2007

2. Requirements Analysis

2.1 Introduction

2.1.1 Purpose of the system

The purpose of this project is to develop a Computer Aided Dispatch system (Ambulance dispatch system) that successfully allocates the nearest ambulance to the patient location within the time constraint.

2.1.2 Scope of the system

The scope of this project can be defined in two phases:

Phase 1: When the dispatcher receives an emergency call from the caller, he/she communicates with the Ambulance system checks for the availability of ambulances and allocates an ambulance with the help of the CAD system within the 3 minutes time constraint.

Phase 2: Based on the preference of the patient the CAD system finds the nearest hospital and tracks the ambulance on its way to the hospital.

2.1.3 Objectives and success criteria of the project

Objective: The objective of the CAD System is to allocate and mobilize a suitable ambulance within 3 minutes, transmit details to the selected vehicle, and track and monitor actual performance and position.

Success Criteria:

·  Allocate, dispatch and monitor the ambulance.

·  Mobilize the ambulance within the 3 minutes.

2.2 Current System

The CAD system is a Greenfield engineering project. There is no current system to replace and the tasks of the system are not yet accomplished.

2.3 Proposed System

2.3.1 Overview

The focus of this project is the development of a CAD system whereby the information regarding an emergency can be recorded, ambulances can be dispatched to the scene of an emergency within a three-minute time constraint, and ambulances can be tracked during their transit.

2.3.2 Functional requirements

·  When a call is received the patient details need to be entered into the CAD system for further processing.

·  The data feed above is used for tracking the location of the patient with the help of the Location Tracking System.

·  Using this location the nearest available ambulance is discovered and dispatched within the 3 minute time constraint.

·  Monitor the ambulance dispatched until it reaches the destination.

2.3.3 Nonfunctional requirements

·  Usability-The system should be simple to use.

·  Reliability-The system have a 99.9% uptime.

·  Performance-The system should have a quick response time.

·  Supportability-Maintenance of the system should be easy.

·  Implementation- The project is implemented using Java.

·  Interface-The system being tab-oriented makes it user-friendly.

·  Packaging-The system is packaged in a WAR file.

·  Legal-The system should be licensed.

2.3.4 System models

2.3.4.1 Scenarios

Dispatcher:

  1. Receive a call from a patient. Ask the nature of the emergency. Ask the seriousness of the emergency. Ask the location of the patient.
  2. Enter the name of the patient into the system. Enter the type of the emergency. Enter the location of the patient. Receive the location of the three nearest ambulances to the patient’s location. Dispatch the nearest ambulance (Enter dispatch button to submit the info to the closest ambulance.

CAD system: