CS SE 6354 Advanced Software Engineering Summer 2007 Ambulance Dispatch System Architecture Specification Document Submitted to Dr Lawrence Chung Associate Professor Department of Computer Science The University of Texas at Dallas Richardson TX 75080 Submitted by GoE Gang of Eight 1 2 3 4 5 6 7 8 Anand Rajeevalochana axr067000 Prashanth Guha png051000 Santosh Bheemarajaiah sxb062000 Santhosh Nagaraj sxn061000 Kiran Kumar Mohan kkm062000 Arvind Prabhakar axp065000 Nikhil Narayan nxn063000 Ramiah Natarajan rxn059000 Version 1 0 Date 07 02 2007 1 INDEX SECTION SUBSECTION 1 PAGE NUMBER Introduction 3 1 1 Purpose of the system 3 1 2 Design Goal 3 1 3 Definition Acronyms and Abbreviation 5 1 4 References 5 1 5 Overview 6 Current System Architecture 7 2 1 Various architecture styles 7 2 2 Current system Architecture 10 Proposed Software Architecture 12 3 1 Overview 12 3 2 Subsystem decomposition 12 3 3 Hardware Software Mapping 15 3 4 Persistent Data Management 16 3 5 Access control and Security 18 3 6 Global software control 18 3 7 Boundary condition 19 Sub system Services Glossary 20 2 3 4 CONTENT 2 1 Introduction 1 1 Purpose of the system This document specifies the architecture model for the Ambulance Dispatch System The system is decomposed into subsystems and the classes that compose each subsystem are specified The system decomposition has been done in a way that minimizes coupling and cohesion This document specifies what architectural styles have been used to design the system structures and the rationale behind choosing these architectural styles Besides describing system decomposition this architecture model specifies how this architecture provides for how concurrency is going to be achieved provides for persistence data management provides for control between the various modules achieves boundary conditions of initialization termination and failure Each of the terms concurrency persistency error handling initialization and termination will also be defined in the context of the Ambulance Dispatch System The document specifies only a high level abstraction view of the system The specific details of implementation and system interaction will be dealt with in the Object Specification Further the signatures of the methods and attributes of the classes will also be dealt in Object Specification document 1 2 Design goals Identify Current Technology Constraints Fixed Network Connection Determination of Location of Accident Entering of Precise Information into Ambulance Dispatch System Generalize Constraints Using Technology Enable Mobile Network Connection GPS Determination of Location of Accident Entering minimal information for Ambulance Dispatch The Ambulance Dispatch System uses Closed Layered Architecture style with any layer being able to invoke operations from layer below it The layers top bottom are UI Layer System Layer Incident Management Fleet Management and User Management ADS Layer and Persistent Layer The interaction pattern between layers is Client Server Style 3 Establish New Design Goals Reliability The sub system service should be reliable so that layer above it which is being serviced can function properly Modifiability The sub system components should be modifiable so that service provided can be extended Adaptability Reusability The sub system functionality should be reusable by layer below it Efficiency The sub system being designed should be efficient in the service it provides Portability The system being developed should be portable so that it can be used easily wherever need arises Traceability of requirements Subsystem being designed should be such that service they provide can be easily traced to those recognized during Requirements Robustness The sub system being designed must be robust so that changes in layers below it don t affect it Well defined interfaces The service provided by the sub systems should be through well defined interfaces User friendliness Readability Flexibility Sharpen Design Goals Reliability The sub system service should be reliable so that layer above it which is being serviced can function properly Modifiability The sub system components should be modifiable so that service provided can be extended Reusability The sub system functionality should be reusable by layer below it Efficiency The sub system being designed should be efficient in the service it provides Portability The system being developed should be portable so that it can be used easily wherever need arises Traceability of requirements Subsystem being designed should be such that service they provide can be easily traced to those recognized during Requirements 4 Robustness The sub system being designed must be robust so that changes in layers below it don t affect it Well defined interfaces The service provided by the sub systems should be through well defined interfaces 1 3 Definitions acronyms and abbreviations Coupling is defined to be the number of interactions between two subsystems In other words it expresses how one subsystem is dependent on another A system with high coupling would be hard to maintain because a small change in a module may involve significant changes in modules dependent on this module and would invariable be very costly So an architecture that minimizes the coupling between subsystems is preferable Cohesion is defined to be the number of dependencies within a subsystem An architecture in which all the classes in each subsystem are closely related to each other would be easy to understand and would make the implementation much easier Data integration is much easier to maintain Architectures in which the classes of the subsystems are closely related are said to have high cohesion and are preferred Architecture styles are some predefined styles in which system decomposition can take place The architecture styles can serve as a basis for developing the architecture of the system Each style has certain trade offs in terms of space and time performance and its suitability for a particular system It is the part of the system architects to analyze which style would be good to the problem at hand In most cases a modification to an existing architectural style would be more suitable to the system Some of the more popular styles include Layered Client and server Pipe and filter Peer to Peer Repositories MVC 1 4 References 1 2 Bernd Bruegge and Allen H Dutoit Object Oriented Software Engineering Using UML Patterns and Java Prentice Hall 2nd ed 2004
View Full Document
Unlocking...