Roberto de Andrade Guimares Cassius Felipe Silva Filipe Lima Leonardo Coutinho Neves Marcelo Verssimo
Vitria 2011
Roberto de Andrade Guimares Cassius Felipe Silva Filipe Lima Leonardo Coutinho Neves Marcelo Verssimo
Trabalho apresentado disciplina de Engenharia de Software do Curso de Bacharelado em Sistemas de Informao da Faculdade Vitoriana de Tecnologia como requisito para avaliao. Orientador: Prof. Eraldo Souza Rocha
Vitria 2011
Sumrio
1. Introduo_______________________________________________________________ 4 1.1. Finalidade ___________________________________________________________ 4 1.2. Escopo _____________________________________________________________ 4 1.3. Definies, acrnimos e abreviaes ______________________________________ 4 2. Descrio geral ___________________________________________________________ 4 3. Requisitos especficos _____________________________________________________ 4 3.1. Requisito funcional ____________________________________________________ 4 3.2. Requisitos de usabilidade_______________________________________________ 5 3.3. Requisitos de confiabilidade _____________________________________________ 5 3.4. Requisitos de desempenho _____________________________________________ 5 3.5. Requisitos de suportabilidade ___________________________________________ 6 3.6. Restries de desenho _________________________________________________ 6 3.7. Requisitos de interfaces ________________________________________________ 6 3.7.1. Interface de hardware______________________________________________ 6 3.7.2. Interface de usurio _______________________________________________ 6 3.7.3. Interface de comunicao __________________________________________ 6 3.8. Requisitos de licenciamento _____________________________________________ 6 4. Diagramas ______________________________________________________________ 7 4.1. Diagramas de Classe ____________________________________________________ 7 4.1.1. CD-01 Modelo de Domnio ________________________________________ 7 4.1.2. CD-02 Servios e Repositrios _____________________________________ 8 4.2. Diagramas de Estados ___________________________________________________ 9 4.2.1. ST-01 Cadastro de Tipo de Viatura__________________________________ 9 4.2.2. ST-02 - Cadastro de Viaturas _______________________________________ 10 4.2.3. ST-03 Cadastro de Operadores ___________________________________ 11 4.2.4. ST-04 Gerenciar Incidente _______________________________________ 12 4.3. Modelo de Dados ____________________________________________________ 13 5. Dicionrio de Dados ______________________________________________________ 14
1. Introduo
1.1. Finalidade
1.2.
Escopo
Realizar o registro das ocorrncias policiais; auxiliar na classificao correta da ocorrncia; encaminhar apropriadamente a ocorrncia para a viatura melhor posicionada para atender ocorrncia. As viaturas disponveis devem estar previamente cadastradas no sistema e sua posio dever ser atualizada periodicamente
1.3.
Incidentes: Qualquer chamado solicitando interveno policial. Ocorrncias: Qualquer interveno policial que evolui para a lavragem e emisso de um Boletim de Ocorrncia.
2. Descrio geral
O produto tem o intuito de permitir que o atendimento dos incidentes policiais seja realizado de forma mais rpida e precisa. A principal funo do sistema registrar e encaminhar apropriadamente os incidentes para viaturas de acordo com critrios pr-definidos. O usurio do sistema um membro do corpo policial propriamente treinado chamado operador central.
3. Requisitos especficos
3.1. Requisito funcional
1. O sistema deve possuir um cadastro de tipos de viaturas para permitir ao operador identificar se a viatura adequada para atender a um determinado incidente. Ele dever permitir gravar descries para o tipo como, por exemplo, ambulncia, furgo, moto, rabeco, etc. 2. O sistema deve possuir um cadastro de viaturas, e dever permitir a o operador efetuar alteraes neste cadastro. O cadastro de viaturas dever conter informaes que permitam ao operador a identificao individual de uma viatura. O tipo de viatura, cdigo de chamada e placa da viatura so informaes obrigatrias no cadastro e so usadas para identificar uma determinada viatura. O tipo de viatura dever ser um dos valores existentes no Cadastro de Tipos de Viaturas. 3. O sistema dever permitir o cadastramento dos seus operadores. O objetivo deste cadastro impedir que pessoas no autorizadas utilizem o sistema. O cadastro dos operadores dever conter o nome do operador, sua matrcula, um nome de usurio, que ser usado para identificar o operador dentro do sistema, e uma senha. 4. O sistema dever permitir o cadastramento de tipos de incidentes. Os tipos de incidentes determinam o tipo de viatura a ser designada para atendimento. Este
5.
6.
7.
8.
cadastro dever possuir uma descrio do tipo como, por exemplo, assalto, homicdio, atropelamento, etc. Alm da descrio, cada tipo de incidente tambm possuir uma classificao: normal, urgncia ou emergncia. Esta classificao ir determinar a prioridade de atendimento do incidente. As emergncias sempre sero os incidentes de maior prioridade seguidos pelas urgncias e normais respectivamente. O sistema dever possuir um cadastro de localidades. Este cadastro dever ser fornecido j contendo algumas localidades, porm os operadores podero efetuar alteraes e novas incluses se necessrio. A localidade dever conter informaes como tipo/nome de logradouro, bairro, cidade. Cada localidade dever conter tambm um indicador informando o seu nvel de risco. Este indicador tem a objetivo de informar ao operador se a localidade em questo apresenta um grau de risco onde aconselhvel o envio de mais de uma viatura. Caso um incidente demande a necessidade do envolvimento de outros servios de emergncia tais como bombeiros ou defesa civil, entre outros, o sistema dever possuir um cadastro com os nmeros de telefones que permitam o contato imediato com estes servios. O sistema dever permitir ao operador inserir, alterar e visualizar as informaes de um determinado incidente. O incidente dever possuir o maior nmero de informaes possvel, facilitando o trabalho do operador ao designar uma viatura para o seu atendimento, porm dever ser flexvel o suficiente para permitir que um incidente seja registrado com informaes apenas parciais. Entre as informaes necessrias ao cadastro do incidente temos o tipo do incidente, a localizao do incidente, as viaturas designadas, e um local para o preenchimento de informaes livres, tais como ponto de referncia, situao da vtima, etc. Alm destas informaes, para questes de controle interno do prprio sistema o registro do incidente tambm dever conter um nmero de identificao nico, a identificao do operador, data/hora de abertura e fechamento do incidente, e a situao do incidente que podem ser: aberto, fechado, em andamento, encaminhado para outro servio ou cancelado. O sistema dever ser capaz de visualizar num mapa o posicionamento atual das viaturas que esto disponveis. Este mapa dever permitir que o operador navegue por ele indo diretamente a um determinado ponto usando como informao o cdigo de chamada da viatura ou a localizao de um incidente.
3.2.
Requisitos de usabilidade
1. A posio das viaturas dever ser atualizada automaticamente a cada 60 segundos. 2. Sero necessrias 4 horas de treinamento para os usurios. 3. O cadastro de incidente deve levar no mximo 3 minutos.
3.3.
Requisitos de confiabilidade
1. O sistema dever estar disponvel durante 99% do ano. 2. Os aparelhos de GPS necessitam ter preciso mnima de 10 metros.
3.4.
Requisitos de desempenho
1. A transmisso dos dados do GPS dever ser em pacotes de at 32KB. 2. Tempo de resposta das telas online deve ser de no mximo 3 segundos.
3.5.
Requisitos de suportabilidade
1. Sistema operacional de servidor Windows; 2. Banco de dados SQL Server 2008 R2;
3.6.
Restries de desenho
3.7.
Requisitos de interfaces
3.7.1. Interface de hardware 1. A comunicao dos aparelhos de GPS com o sistema dever ser feita atravs de web service dedicado a esta funo. 3.7.2. Interface de usurio 1. Interface dever utilizar padro WEB HTML 4 ou superior. 3.7.3. Interface de comunicao 1. A comunicao do sistema ser realizada atravs da internet pelos protocolos HTTP via TCP/IP;
3.8.
Requisitos de licenciamento
4. Diagramas
4.1. Diagramas de Classe
4.1.1. CD-01 Modelo de Domnio
Operador <<Enum>> SituacaoViatura + svDisponivel : EnumConstant + svEmManutencao : EnumConstant + svForaOperacao : EnumConstant Coordenada + <<Property>> X : double + <<Property>> Y : double + + + + <<Property>> <<Property>> <<Property>> <<Property>> Matricula Nome Login Senha : : : : int string String string
1..1 Situacao
1..1 Localizacao
1..1 Localizacao
1..1 Responsavel
1..1 1..1 Viatura + <<Property>> Codigo : int + <<Property>> CodigoCham ada : String + <<Property>> Placa : String 0..* Incidentes Incidente 0..* + + + + 0..* Incidentes + + + + <<Property>> <<Property>> <<Property>> <<Property>> Codigo DataAbertura DataEncerramento Observacoes : : : : int DateT ime DateT ime String : : : : System.TimeSpan void void void 1..1
1..1
TempoAtendimento () FinalizarAtendimento () EnviarViaturas (List<Viatura> viaturas) EncaminharIncidente (ServicoAuxiliar servico) 0..* Incidentes 0..*
1..1
1..1 LocalIncidente Localidade + + + + + + <<Property>> <<Property>> <<Property>> <<Property>> <<Property>> <<Property>> Codigo PontoReferencia Bairro T ipoLogradouro Municipio Logradouro : : : : : : int String String string String String 0..* Viatura ViaturaIncidente + viatura : Viatura + data : DateT ime
1..* TiposIncidente
1..1 Tipo
0..* 1..1 ServicoAuxiliar + <<Property>> Codigo : int + <<Property>> Nome : string + <<Property>> T elefones : string[]
0..*
1..1 Risco <<Enum>> NivelRisco + nrBaixo : EnumConstant + nrNormal : EnumConstant + nrAlto : EnumConstant
1..1 Situacao <<Enum>> SituacaoIncidente + + + + + siAberto siFechado siCancelado siEmAndamento siEncaminhado : : : : : EnumConstant EnumConstant EnumConstant EnumConstant EnumConstant
1..1 Classe <<Enum>> ClasseIncidente + ciUrgencia : EnumConstant + ciEmergencia : EnumConstant + ciNormal : EnumConstant
4.1.2.
TipoInci denteRepositorio Inci denteReposi torio + + + + ObterPorId (int id) Excl uir (TipoIncidente o) Salvar (TipoIncidente o) Listar () : : : : Ti poInci dente void void List<Ti poInci dente>
+ + + + + + +
ObterPorId (int id) Exclui r (Incidente o) Salvar (Incidente o) Listar () ListarAbertos () ListarEncaminhados () ListarAtendi dos ()
: : : : : : :
ViaturaRepositorio
OperadorReposi tori o
+ + + +
: : : :
+ + + + +
ObterPorId (i nt i d) Sal var (Viatura o) Excluir (Vi atura o) Li star () Li starPorLocali dade (Local idade l)
: : : : :
ServicoAuxilizarRepositorio Ti poVi aturaRepositori o + + + + ObterPorId (int id) Salvar (ServicoAuxil iar o) Exclui r (ServicoAuxili ar o) Listar () : : : : ServicoAuxiliar voi d voi d Li st<ServicoAuxiliar>
+ + + +
ObterPorId (int i d) Salvar (Ti poVi atura o) Exclui r (TipoVi atura o) Li star ()
: : : :
+ + + + + +
ObterPorId (int i d) Salvar (int o) Excluir (i nt o) Li star () Li starPorBairro (String municipio, string bai rro) Li starPorLogradouro (String locali dade, String bai rro, Stri ng logradouro)
: : : : : :
GPSService
SegurancaService
MapaServi ce
As classes GPSService e MapaService encapsulam as chamadas para os servios que recebem o posi cionamento das viaturas via GPS e responsvel por exibi r a posio das vi aturas em um mapa.
Em Espera Selecionar
Comando Comando Processando Comando entry / opcao Editar Novo Possui Dependencia Carregando Tipo Edi tar
Excluir
Carregando Editor
Di gitando Valores entry / codigo entry / descricao Invali do Salvar Cancelar Aguardando Confi rmacao Cancelar entry / opcao Confirmar
Exclui ndo Salvando T ipo entry / codi go entry / descricao do / Salvar entry / codigo do / Exclui r
4.2.2.
Em Espera
Localizar
Comando
Excluir
Verificando Dependencias
Digitando Valores Viatura entry / entry / entry / entry / codigo codigo_chamada placa TipoViatura Cancelar
Salvar Invalido Validando Viatura Confirmar Excluindo Salvando entry / codigo entry / codigo_chamada entry / placa entry / TipoViatura do / Salvar entry / codigo do / Excluir Cancelar Aguardando Confirmacao entry / opcao
4.2.3.
Em Espera
Digitando Dados Operador entry entry entry entry / / / / matricula nome login senha
Possui Dependencia
Cancelar Cancelar
Invalido
Salvar
Validando Operador
Salvando Operador entry / matricula entry / nome entry / login entry / senha do / Salvar
4.2.4.
Em Espera
Carregando Editor
Digitando Dados Incidente entry entry entry entry / dataabertura / localidade / situacao / observacao Cancelar Selecionando Viaturas Encaminhando Incidente Encaminhar Incidente Processando Encaminhamento entry / destinatario
4.3.
Modelo de Dados
FK_INCIDENT_RESPONSAV_OPERADOR ViaturasCompativeis ViaturaIncidente FK_TIPOVIAT _T IPOVIATU_VIATURAT cod_incidente cod_viatura data cod_viaturaincidente int <fk1> integer <fk2> datetime integer <pk> Viatura Incidentes FK_VIATURAI_VIATURAIN_INCIDENT Incidentes cod_incidente cod_localidade cod_serv_aux mat_operador cod_tipoincidente dthr_abertura dthr_encerramento obs cod_situacao int int int int int datetime datetime text smallint <pk> <fk2> <fk4> <fk3> <fk1>
Incidentes
T iposIncidente IncidenteT ipos cod_tipoincidente int <pk> desc_tipoincidente varchar(20) cod_classeincidente smallint
FK_INCIDENT_INCIDENTE_INCIDENT
Incidentes Tipo
LocalIncidente ServicosAuxiliares cod_serv_aux int <pk> nm_serv_aux varchar(15) num_telefones varchar(10) Localidades cod_localidade pto_referencia nm_bairro tp_logradouro nm_municipio nm_logradouro cod_nivelrisco int <pk> text varchar(30) varchar(3) varchar(30) varchar(30) smallint
5. Dicionrio de Dados
Viaturas Campo cod_viatura cod_tipoviatura cod_chamada placa cod_situacao
PK X
FK
NN X X X X X
AI X
Descrio Cdigo de Identificao da Viatura para o Sistema Cdigo do Tipo de Viatura Cdigo de chamada rdio da viatura Placa da Viatura Cdigo de indicao da situao da viatura
Operadores Campo mat_operador nome_operador login senha Incidentes Campo cod_incidente cod_localidade mat_operador
PK X
FK
NN X X X X
AI X
Descrio Matrcula do Operador Nome completo do Operador Nome de usurio do Operador Senha do Operador
PK X
FK
NN X X X
AI X
X X
X X
Descrio Cdigo de Identificao do Incidente Cdigo de Identificao da Localidade do Incidente Matricula do Operador responsvel pelo registro e atendimento do incidente Cdigo que identifica o Tipo de Incidente Data/Hora de registro do Incidente Data/Hora de encerramento do Incidente Observaes pertinentes ao incidente Cdigo da situao atual do Incidente. 1 Aberto 2 Fechado 3 Cancelado 4 Em Andamento 5 Encaminhado a outro Servio
PK X
FK
NN X X
AI X
TipoViaturaIncidente Campo Tipo cod_tipoviatura Integer cod_tipoincidente Integer IncidenteTipos Campo cod_tipoincidente desc_tipoincidente cod_classeincidente
PK X X
FK X X
NN X X
AI
PK X
FK
NN X X X
AI X
Descrio Cdigo do Tipo de Incidente Descrio do Tipo de Incidente Cdigo da Classe de Incidente 1 Urgncia 2 - Emergncia 3 - Normal
ViaturaIncidente Campo cod_incidente cod_viatura data cod_viaturaincidente ServicosAuxiliares Campo cod_serv_aux nm_serv_aux num_telefone
PK
FK X X
NN X X X X
AI
Descrio Cdigo do Incidente Cdigo da Viatura Data de Envio da Viatura Cdigo Viatura Incidente
PK X
FK
NN X X X
AI X
Descrio Cdigo do Servio Auxiliar Nome do Servio Auxiliar Nmero de Telefone do Servio Auxiliar
PK X
FK
NN X X X X X X
AI X
Descrio Cdigo da Localidade Ponto de Referncia Nome do Bairro Tipo de Logradouro (Rua, Av, Bco, etc..) Nome do Municpio Nome do Logradouro Cdigo indicador do nvel de risco da localidade. 1 Risco Baixo 2 Normal 3 Alto Risco