RELATÓRIO DE PROJETO - bdigital.ipg.ptbdigital.ipg.pt/dspace/bitstream/10314/2001/1/Marco...
-
Upload
duongxuyen -
Category
Documents
-
view
214 -
download
0
Transcript of RELATÓRIO DE PROJETO - bdigital.ipg.ptbdigital.ipg.pt/dspace/bitstream/10314/2001/1/Marco...
TPG folitéenico1 daiGuardaPoiyleehnicof Guarda
RELATÓRIO DE PROJETO
Licenciatura em Engenharia Informática
Marco Alexandre da cunha Lucas
dezembro 1 2014
Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão
Aplicação Web de Gestão de Recursos
Marco Alexandre da Cunha Lucas
Nº 1008375
Projeto de Informática em contexto de estágio do curso
Engenharia Informática
Dezembro de 2014
3
Instituto Politécnico da Guarda
Escola Superior de Tecnologia e Gestão
Aplicação Web de Gestão de Recursos
Marco Alexandre da Cunha Lucas
Nº 10008375
Projeto de Informática em contexto de estágio do curso
Engenharia Informática
Supervisor: Paulo Sequeira, Comandante dos Bombeiros Voluntários Egitanienses.
Orientador: Doutor Noel Lopes.
Dezembro de 2014
i
Agradecimentos
Agradeço em primeiro lugar a todos os elementos dos Bombeiros Voluntários
Egitanienses pela sua disponibilidade em me ajudarem em alguns problemas que foram
aparecendo, em especial ao Comandante dos Bombeiros Paulo Sequeira pela ajuda e na
disponibilidade de toda a informação que necessitei.
Em segundo agradecer aos docentes do curso de Engenharia Informática pelos
conhecimentos fornecidos ao longo de todo o curso, em especial ao Professor Noel
Lopes o meu orientador.
Gostaria ainda de agradecer a todos os colegas que me ajudaram, com destaque
aos meus colegas Júlio Antunes e Ruben Ventura, pela ajuda nos problemas
encontrados no decorrer da elaboração deste projeto.
Por último, mas não menos importante um agradecimento mais pessoal a toda a
minha família que me apoiou ao longo destes anos.
Um obrigado a todos.
iii
Resumo
O presente documento descreve o trabalho realizado em contexto de estágio no
âmbito da Unidade Curricular Projeto de Informática, que está englobada na
Licenciatura em Engenharia Informática da Escola Superior de Tecnologia e Gestão do
Instituto Politécnico da Guarda.
Hoje em dia é cada vez mais importante o acesso e partilha da informação a
qualquer hora e em qualquer lugar, nas Instituições. Em particular no caso dos
Bombeiros Voluntários da Guarda onde existia uma necessidade da gestão das
ocorrências e dos diversos setores desta Instituição de forma a informatizar os dados
que atualmente são registados em papel.
O presente projeto consistiu no desenvolvimento de uma aplicação web,
preparada para dispositivos móveis, onde é possível gerir (consultar, editar, inserir,
apagar) a informação relativamente a cada setor, para dar resposta ao problema acima
descrito.
O trabalho foi proposto pelo Comandante dos Bombeiros, Paulo Sequeira, com o
intuito de simplificar e controlar a informação que é gerada no Corpo de Bombeiros,
bem como facilitar o acesso a essa mesma informação. A aplicação desenvolvida serve
como complemento a uma outra já utilizada nos Bombeiros, com o intuito de colmatar
algumas lacunas na gestão de determinadas informações. A presente aplicação já esteve
a funcionar para a realização de testes da mesma, entrando em pleno funcionamento
quando criados todos os requisitos (quer de servidor quer de dispositivos finais) na
Instituição.
As ferramentas utilizadas no desenvolvimento desta aplicação foram o Microsoft
Visual Studio 2013, SQL Server e Windows server 2008, já a linguagem utilizada foi o
C# e ASP.NET.
Palavras-chave: Aplicação Web, C#, ASP.NET, Base de Dados, SQL Server,
Bombeiros, Ocorrências, Setor.
v
Abstract
This document describes the work done in stage context in the Course Unit
Computer Project, which is embraced in Bachelor in Engineering Informatics, School of
Technology and Management, Polytechnic Institute of Guarda.
Nowadays it is increasingly important to access and share information anytime
and anywhere, in the institutions. Particular in the case of voluntary firemen of the
Guarda where there was a need for management of occurrences and of the various
sectors of the institution in order to computerize data that are currently registered on
paper.
This project consisted in the development of a web application, ready for mobile
devices, where it is possible to manage (consult, edit, insert, delete) the information in
respect of each sector, to respond to the problem described above.
The work was proposed by the Commander of the Firemen, Paulo Sequeira, with
the intentionof simplifying and controlling the information that is produced in the Fire
brigade, as well asmaking easy the access to the same information. The developed
application serves as a complement to another already used at the fire station, in order to
bridge some gaps in the management of certain information. This application has
already been up and running for testing the same, coming into full operation when
created all requirements (either server or end devices) in the institution.
The tools used in developing this application were Microsoft Visual Studio
2013, SQL Server and Windows server 2008, the language used was C# and ASP.NET.
Keywords: Web Application, C #, ASP.NET, Database, SQL Server, fire department,
occurrences, sector.
vii
Índice
Resumo .......................................................................................................................................... iii
1. Introdução ............................................................................................................................. 3
1.1 Instituição .................................................................................................................. 3
1.2 Definição do Problema .............................................................................................. 4
1.3 Objetivos Previstos .................................................................................................... 5
1.5 Estrutura do Documento ............................................................................................ 6
2. Estado da Arte ....................................................................................................................... 7
2.1 Introdução.................................................................................................................. 7
2.2 Aplicações Existentes ................................................................................................ 7
2.3 Análise Crítica ......................................................................................................... 10
3. Metodologia ............................................................................................................................ 11
3.1 Metodologia ............................................................................................................ 11
3.2 Descrição das Tarefas .............................................................................................. 12
4. Tecnologias e Software utilizado ............................................................................................ 14
4.1 Tecnologias ............................................................................................................. 14
4.2 Software ................................................................................................................. 17
5. Análise dos Requisitos ............................................................................................................ 18
5.1 Diagrama de Contexto ............................................................................................. 18
5.2 Casos de Uso ........................................................................................................... 19
5.3 Diagramas de Sequência ......................................................................................... 26
5.6 Diagrama de Classes ............................................................................................... 31
5.5 Diagrama de Atividades .......................................................................................... 64
5.6 Diagrama de Instalação ........................................................................................... 65
6. Implementação da Solução...................................................................................................... 66
6.1 Introdução................................................................................................................ 66
6.2 Base de Dados ......................................................................................................... 67
6.2 Código Utilizado na Aplicação e Testes ................................................................. 68
7. Conclusões e Trabalho Futuro................................................................................................. 74
7.1 Conclusões .............................................................................................................. 74
7.2 Trabalho Futuro ....................................................................................................... 75
Bibliografia ................................................................................................................................. 76
Anexos A ..................................................................................................................................... 78
ix
Lista de Figuras
Figura 1: Faixada principal do Quartel.......................................................................................... 4
Figura 2: Página de ocorrências .................................................................................................... 8
Figura 3: IFFIRE – Ecrã Principal ................................................................................................ 9
Figura 4: DecimalFire ................................................................................................................... 9
Figura 5: Mapa de Gantt previsto ................................................................................................ 13
Figura 6: Mapa de Gantt efetivo ................................................................................................. 13
Figura 7: Visual Studio 2013 ...................................................................................................... 17
Figura 8: Diagrama de Contexto da Aplicação ........................................................................... 18
Figura 9: Diagrama de Casos de Uso .......................................................................................... 21
Figura 10:Diagrama de Sequência – Inserir Bombeiro ............................................................... 27
Figura 11: Diagrama de Sequência – Inserir equipamento de saúde ........................................... 28
Figura 12: Diagrama de Sequência – Atribuir equipamento a bombeiro .................................... 28
Figura 13: Diagrama de Sequência – Inserir anomalia veículo ................................................... 29
Figura 14: Diagrama de Sequência – Inserir talão de combustível ............................................. 29
Figura 15: Diagrama de Sequência – Inserir saída de chave ....................................................... 30
Figura 16: Diagrama de Sequência – Inserir ocorrência ............................................................. 30
Figura 17: Diagrama de Classes .................................................................................................. 32
Figura 18: Diagrama de Atividades: Inserir Ocorrência ............................................................. 64
Figura 19: Diagrama de Instalação .............................................................................................. 65
Figura 20: Página de Inicio ......................................................................................................... 66
Figura 21: Base de Dados............................................................................................................ 67
Figura 22: Página Central de Comunicações .............................................................................. 68
Figura 23: Página ocorrências: inserir ocorrência pré-hospitalar ................................................ 69
Figura 24: Página ocorrências: inserir ocorrência pré-hospitalar, adicionar veículo .................. 70
Figura 25: Página veículo: ocorrência ......................................................................................... 70
Figura 26: Página ocorrências: editar ocorrência ........................................................................ 72
Figura 27: Página Inserir Bombeiro ............................................................................................ 73
x
Lista de Tabelas
Tabela 1: Atores e respetivos casos de uso ..................................................................... 19
Tabela 2: Inserir Bombeiro .............................................................................................. 22
Tabela 3: Inserir equipamento de saúde .......................................................................... 23
Tabela 4: Atribuir equipamento a bombeiro ................................................................... 23
Tabela 5: Inserir anomalia em veículo ............................................................................ 24
Tabela 6: Inserir talão de combustível ............................................................................. 25
Tabela 7: Inserir saída de chave ...................................................................................... 25
Tabela 8: Inserir ocorrência ............................................................................................. 26
Tabela 9: Semântica de Classe: AnomaliaEquipamento ................................................. 33
Tabela 10: Operadores da Semantica de Classes: AnomaliaEquipamento ..................... 34
Tabela 11: Semântica de Classe: AnomaliaVeiculo ........................................................ 35
Tabela 12: Operadores da Semantica de Classes: AnomaliaVeiculo .............................. 36
Tabela 13: Semântica de Classe: ArmazemSaude ........................................................... 36
Tabela 14: Operadores da Semantica de Classes: ArmazemSaude ................................. 37
Tabela 15: Semântica de Classe: ArmazemSaudeSaida .................................................. 38
Tabela 16: Operadores da Semantica de Classes: ArmazemSaudeSaida ........................ 39
Tabela 17: Semântica de Classe: Bombeiro .................................................................... 39
Tabela 18: Operadores da Semântica de Classes: Bombeiro .......................................... 41
Tabela 19: Semântica de Classe: CedenciaChave ........................................................... 41
Tabela 20: Operadores da Semântica de Classes: CedenciaChave ................................. 42
Tabela 21: Semântica de Classe: Chave .......................................................................... 43
Tabela 22: Operadores da Semântica de Classes: Chave ................................................ 44
Tabela 23: Semântica de Classe: CheckListVeiculo ....................................................... 44
Tabela 24: Operadores da Semântica de Classes: CheckListVeiculo ............................. 46
Tabela 25: Semântica de Classe: CombustivelRepsol ..................................................... 46
Tabela 26: Operadores da Semântica de Classes: CombustivelRepsol ........................... 47
Tabela 27: Semântica de Classe: Entidade ...................................................................... 48
Tabela 28: Operadores da Semântica de Classes: Entidade ............................................ 49
Tabela 29: Semântica de Classe: Equipamento ............................................................... 49
Tabela 30: Operadores da Semântica de Classes: Equipamento ..................................... 50
Tabela 31: Semântica de Classe: Escala .......................................................................... 51
Tabela 32: Operadores da Semântica de Classes: Escala ................................................ 51
Tabela 33: Semântica de Classe: Informacao .................................................................. 52
Tabela 34: Operadores da Semântica de Classes: Informacao ........................................ 53
Tabela 35: Semântica de Classe: OrdensServico ............................................................ 53
Tabela 36: Operadores da Semântica de Classes: OrdenServico .................................... 54
Tabela 37: Semântica de Classe: TipoEquipamento ....................................................... 54
Tabela 38: Operadores da Semântica de Classes: TipoEquipamento.............................. 55
Tabela 39: Semântica de Classe: EstadoEquipamento .................................................... 55
Tabela 40: Operadores da Semântica de Classes: EstadoEquipamento .......................... 56
xi
Tabela 41: Semântica de Classe: TamanhoEquipamento ................................................ 56
Tabela 42: Operadores da Semântica de Classes: TamanhoEquipamento ...................... 57
Tabela 43: Semântica de Classe: Ocorrencia .................................................................. 57
Tabela 44: Operadores da Semântica de Classes: Ocorrencia ......................................... 58
Tabela 45: Semântica de Classe: OcorrenciaVeiculo ...................................................... 59
Tabela 46: Semântica de Classe: OcorrenciaTipo ........................................................... 59
Tabela 47: Operadores da Semântica de Classes: OcorrenciaTipo ................................. 60
Tabela 48: Semântica de Classe: Veiculo........................................................................ 60
Tabela 49: Operadores da Semântica de Classes: Veiculo .............................................. 61
Tabela 50: Semântica de Classe: VeiculoEstado ............................................................. 62
Tabela 51: Operadores da Semântica de Classes: VeiculoEstado ................................... 63
Tabela 52:Semântica de Classe: VeiculoTipo ................................................................. 63
Tabela 53: Operadores da Semântica de Classes: VeiculoTipo ...................................... 63
1
Glossário
ASP.NET – Active Server Pages é a plataforma da Microsoft para desenvolvimento de
aplicações Web.
Base de Dados – Conjunto de dados estruturados e relacionados entre si.
C# - É uma linguagem de programação orientada a objetos, desenvolvida
pela Microsoft como parte da plataforma.NET.
HTML – Hyper Text Markup Language, linguagem de marcação para produção de
páginas Web.
Site – Site ou web site é um conjunto de páginas web.
SQL Server- É um Sistema de Gestão de Base de Dados (SGBD), criado pela
Microsoft e Sysbase que permite interação com os dados através da linguagem SQL.
Visual Studio 2013 – Plataforma de desenvolvimento de aplicações ASP.NET.
Windows Server 2008 – Sistema operacional de servidores da Microsoft.
3
1. Introdução
Neste primeiro capítulo é dada a conhecer a Instituição. Por outro lado é ainda
definido o problema, os objetivos previstos e a contribuição. Finalmente descreve-se a
estrutura do documento.
1.1 Instituição
O Projeto de Informática foi realizado em contexto de estágio na Associação
Humanitária dos Bombeiros Voluntários Egitanienses situa-se na Rotunda dos
Bombeiros Voluntários, em Guarda.
Tem como missão:
A Proteção, prevenção e combate a incêndios;
O socorro às populações em caso de incêndios, inundações,
desabamentos, abalroamentos e em todos os acidentes, catástrofes ou
calamidades;
O socorro a náufragos e buscas subaquáticas;
A prevenção contra incêndios em edifícios públicos, casas de espetáculos
e divertimento público e outros recintos, mediante solicitação e de acordo
com as normas em vigor, nomeadamente durante a realização de eventos
com aglomeração de público;
A emissão, nos termos da lei, de pareceres técnicos em matéria de
prevenção e segurança contra riscos de incêndios e outros sinistros;
A colaboração em outras atividades de proteção civil, no âmbito do
exercício das funções específicas que lhe forem cometidas;
A participação noutras ações, para as quais estejam tecnicamente
preparados e se enquadrem nos seus fins específicos;
O exercício da atividade de formação cívica, com especial incidência nos
domínios da prevenção contra o risco de incendio e outros acidentes
domésticos.
4
Esta Associação foi fundada em 5 de Agosto de 1876, com o lema “Periculis Ire
Obviam”, (para enfrentar os perigos) que permanece até aos dias de hoje.
Nos dias de hoje a Corporação de Bombeiros conta com 140 elementos, 30 dos
quais contratados pela Associação e os restantes elementos são voluntários. Onde estes
prestam socorro numa área de atuação que tem uma população de mais de 40 600
Habitantes numa área de 618,18 Km2.
Figura 1: Faixada principal do Quartel
1.2 Definição do Problema
Na Instituição existia uma necessidade de uma aplicação que colmata-se as
lacunas, de uma outra aplicação já em funcionamento, e que toda a informação que era
preenchida em papel fosse informatizada.
Assim pretendia-se desenvolver uma aplicação Web para os “Bombeiros
Voluntários Egitanienses”, de modo a ter todas as funcionalidades necessárias:
Manipular (inserir, alterar, consultar) toda a informação relativa a cada um dos
setores existentes no corpo de bombeiros (setor saúde, setor central, setor
fardamento, setor secretaria, setor incêndios e oficina).
5
Acessos personalizados aos diversos setores, dependendo da função atribuída.
Criar alerta de ocorrência e enviar informação para dispositivo móvel no
veículo.
Elaborar com o dispositivo móvel Verificações diárias dos veículos.
Acesso a todos os bombeiros a toda a informação e escalas.
A aplicação deve ser desenvolvida juntamente com uma base de dados, de modo
a não ser necessária a instalação de qualquer outro programa ou de ter a base de dados
num servidor independente.
A principal motivação para o desenvolvimento deste projeto é o facto de eu
também ser bombeiro nesta Corporação, e com esta aplicação poder vir a melhorar o
funcionamento da Instituição. Trabalhar com uma linguagem de programação com que
me sentisse à vontade também contribuiu para aumentar a motivação em avançar com
este projeto.
Como a Instituição não tem fins lucrativos todas as soluções, com custos
reduzidos, são boas para que ajudem a melhorar o funcionamento e reduzir os custos.
1.3 Objetivos Previstos
Os objetivos que pretendo atingir consistem em:
Criar, editar e pesquisar toda a informação de acesso livre a todos os bombeiros;
Criar, editar e pesquisar todos os veículos do corpo de bombeiros;
Criar, editar e pesquisar todos os equipamentos de cada setor;
Criar, editar e enviar para dispositivo móvel as ocorrências criadas;
Diferenciação entre bombeiros com responsabilidades em cada setor;
6
1.5 Estrutura do Documento
Sendo este um relatório que relata todo o processo de conceção da aplicação, a
sua estrutura seguirá uma ordem cronológica de todos os acontecimentos, tal como
aconteceu na realidade.
Este documento está dividido em 6 capítulos:
Capítulo 1 – apresentação da Instituição e sua história, definição do
problema, objetivos previstos, contribuição e estrutura do documento.
Capítulo 2 – descrição do estado da arte, onde são apresentadas
aplicações já existentes no mercado bem como opinião em relação à esta
aplicação.
Capítulo 3 – apresenta a metodologia utilizada no desenvolvimento desde
projeto e descrição das tarefas que foram seguidas ao longo do
desenvolvimento da aplicação.
Capítulo 4 – descrita a análise pormenorizada dos requisitos necessários
da aplicação através dos diversos diagramas.
Capítulo 5 – apresenta a implementação da solução proposta com
ilustração de algumas imagens da aplicação.
Capítulo 6 – descritas as conclusões mais relevantes do trabalho e as
perspetivas de desenvolvimento que se pretendem efetuar no futuro.
7
2. Estado da Arte
Neste capítulo está descrito o estado da arte, que visa o estudo de aplicações
semelhantes existentes no mercado e a análise critica destas em relação à aplicação a
desenvolver.
2.1 Introdução
As aplicações existentes no mercado são aplicações que se destinam a uma
gestão da parte operacional e da gestão financeira, destinadas à gestão das ocorrências,
dos veículos e faturação. Enquanto esta aplicação, tendo em conta que é uma aplicação
personalizada e elaborada de acordo com os requisitos pedidos, vai incidir mais na
partilha de informação e nas lacunas que a aplicação já existente não implementa.
2.2 Aplicações Existentes
IFFIRE
Esta aplicação foi desenvolvida exclusivamente para as Corporações de
Bombeiros, é uma solução modular que cobre a área operacional e administrativa.
O IFFIRE é totalmente desenvolvido em ambiente gráfico, podendo ser utilizado
por qualquer pessoa sem conhecimentos informáticos.
O IFFIRE foi desenvolvido numa plataforma evolutiva, sofrendo atualizações
periódicas de acordo com as sugestões dos clientes.
Esta aplicação dispões de um serviço de assistência (help-desk), para
esclarecimento de dúvidas ou problemas.
A aplicação divide-se em três áreas:
Administrativa – gestão de toda a faturação;
Operacional – gestão das ocorrências;
8
Stocks – gestão de equipamentos.
Na área administrativa é possível a criação de faturas bem como o registo de
toda a informação relativamente a cada elemento do Corpo de Bombeiros.
Na parte de gestão de ocorrências a aplicação é capaz de registar uma ocorrência
com os dados do veículo, os elementos e todos os tempos e dados que uma ocorrência
necessita. Permite também a consulta de ocorrências quer por data ou por o número da
mesma. Na figura 2 mostra a interface de gestão de ocorrências.
Figura 2: Página de ocorrências
Já na área de gestão de equipamentos é possível introduzir um equipamento ou
atribuir a um veículo um determinado equipamento.
Esta aplicação está atualmente em funcionamento no Corpo de Bombeiros da
Guarda.
Na figura 3 é possível ver a página principal da aplicação, onde é possível ver os
menus da aplicação das diversas áreas de trabalho.
9
Figura 3: IFFIRE – Ecrã Principal
DecimalFire
O DecimalFire é uma aplicação exclusivamente concebida para servir a Gestão
de Bombeiros, usando base de dados SQL, com arquitetura servidor/cliente e interface
WINDOWS.
A base de dados corre a partir dum computador (servidor).
Esta aplicação está preparada para responder às novas exigências no domínio da
apresentação de contas, poe parte das Associações de Bombeiros.
O DecimalFire contempla também o módulo de processamento de salários,
necessário às Associações de Bombeiros.
Esta aplicação também integra a gestão de correspondência.
Como é uma aplicação paga e não está disponibilizada uma versão demo, não é
possível mostrar a aplicação e nem especificar com mais detalhe as funcionalidades da
mesma [1].
Figura 4: DecimalFire
10
2.3 Análise Crítica
As aplicações apresentadas nos tópicos anteriores já realizam algum trabalho
nesta área, mas nenhuma é uma aplicação Web, e por isso tem todas as vantagens de se
poder em qualquer lugar aceder a toda a informação. Qualquer uma das aplicações
anteriormente descritas estão centradas na gestão das ocorrências e na gestão financeira,
não incluindo a gestão e partilha da informação que é criada na Instituição e que está
disponível para todos os elementos do Corpo de Bombeiros.
Na aplicação IFFIRE a grande lacuna é o fato de a gestão de equipamentos estar
toda na mesmas página e não dividida por tipo de equipamento e por setor, assim torna-
se um pouco confuso e desordenado a área dos equipamentos. Já no que toca à criação
de ocorrências é um processo um pouco demoroso porque o bombeiro tem de inserir
demasiada informação para a criação da mesma.
No DecimalFire, como não foi possível trabalhar com a mesma, mas pelo estudo
e informação disponibilizada por a empresa detentora do software é possível dizer que
no que refere à gestão de equipamentos está tudo dividido por setores e não foi possível
verificar mais a fundo toda a aplicação [2].
11
3. Metodologia
Nesta parte do relatório é descrita a metodologia a seguir na elaboração do
trabalho. É um conjunto de passos parcialmente ordenados, cujo objetivo é atingir uma
meta que é entregar um produto de software de maneira eficiente, previsível e que
cumpra as necessidades de negócio.
Também neste capítulo são descritas as tarefas a serem realizadas ao longo do
desenvolvimento do projeto bem como o tempo da realização das mesmas.
3.1 Metodologia
Para o desenvolvimento deste projeto foi utilizada a metodologia de
Desenvolvimento Ágil XP, que consiste em desenvolver, implementar e testar a
aplicação. O principal objetivo desta metodologia é dar agilidade ao desenvolvimento
do projeto e garantir a satisfação do cliente [3].
Os princípios da metodologia Ágil XP são:
Princípio da Comunicação – Cooperação constante entre o cliente e o
programador, dando prioridade a conversas pessoais com o cliente.
Princípio da Simplicidade – Implementação do software com o menor
número de classes e métodos, e implementar apenas requisitos atuais,
evitando adicionar funcionalidades que podem ser importantes apenas no
futuro.
Princípio do Feedback – Constante feedback por parte do cliente, a fim
de garantir que as soluções usadas estão de acordo com o cliente.
Princípio da Coragem – Oportunidade de simplificar o software é
percebida, a equipa pode experimentar e buscar novas soluções, além
disso, é preciso coragem para obter e cobrar constantemente um feedback
do cliente.
Indivíduos e interações em vez de processos e ferramentas – Existiu
sempre uma cooperação constante entre nós e o cliente e também com os
12
professores acompanhantes em vez de mantermos a análise inicial de
requisitos.
Esta metodologia Ágil não descarta os métodos tradicionais tais como
documentação, ferramentas e processos, planeamentos e negociações, mas visa dar a
esses uma cotação secundária. Para o bom funcionamento do software, a colaboração do
cliente é uma mais-valia para qualquer projeto, pelo que deverá ser um método a
utilizar.
3.2 Descrição das Tarefas
De acordo com os objetivos previstos descritos no capítulo 1 foram identificadas
as seguintes tarefas a serem realizadas:
1) Análise de requisitos.
2) Discussão com a Instituição Bombeiros da Guarda sobre o trabalho a ser
implementado.
3) Estudo da Arte.
4) Obtenção da documentação, formulários em papel.
5) Criação da base de dados.
6) Criação e discussão do Form inicial e dos menus da aplicação.
7) Criação dos restantes Forms e programação das mesmas.
8) Teste da aplicação.
9) Elaboração do relatório.
O agendamento das tarefas são apresentados nos Mapas de Gantt das figuras 5 e
6, sendo o primeiro um mapa previsto e o segundo um mapa efetivo do tempo
real da elaboração das tarefas.
Mapa de Gantt previsto
14
4. Tecnologias e Software utilizado
Neste capítulo são analisadas as tecnologias utilizadas para o desenvolvimento
do projeto, bem como o software utilizado.
4.1 Tecnologias
HTML
Hypertext Markup Language (Linguagem de Marcação de Hipertexto), é uma
das linguagens que utilizamos para desenvolver web sites, podendo ser considerada a
linguagem base da Internet.
Existem outras linguagens mais avançadas para desenvolver sites, porém
dificilmente conseguimos encontrar um site que não utilize HTML [4].
Na listagem a seguir (Listagem 1) mostra um pequeno exemplo de código
HTML 5.
Listagem 1 Exemplo de código HTML 5
<!DOCTYPE html>
<html>
<head>
<!--conteudo do head-->
</head>
<body>
<!--conteudo do body-->
</body>
</html>
15
C#
CSharp é uma linguagem de programação orientada a objetos criada pela
Microsoft, fazendo parte da sua plataforma .Net. A linguagem C# baseou-se no C++ e
no Java. Foi criada junto com a arquitetura. NET, embora existam várias outras
linguagens que suportam essa tecnologia (como VB.NET, C++, J#). É considerada a
linguagem símbolo do .NET, por várias razões: foi criada de novo para funcionar logo
na plataforma, o compilador da linguagem foi o primeiro a ser desenvolvido e a maior
parte das classes do.NET Framework foram desenvolvidas na mesma linguagem. [5]
Na listagem a seguir (Listagem 2) mostra um pequeno exemplo de código C#,
onde mostra na consola “Olá!”.
Listagem 2 Exemplo de código C#
using System;
namespace Exemplo
{
class Ola
{
static void Main()
{
Console.WriteLine("Olá!");
}
}
}
ASP.NET
O ASP.NET (Active Server Pages) é um ambiente de desenvolvimento onde são
desenvolvidos aplicativos para a Web, sendo uma tecnologia da Microsoft que é uma
evolução do ASP. Os aplicativos feitos neste ambiente rodam no servidor Web
especificamente dentro da Internet Information Services (IIS) e necessitam do .NET
Framework, onde as páginas do aplicativo, vão ficar disponíveis para poderem ser
acedidas por qualquer sistema operacional e navegador [6].
16
Na listagem a seguir (Listagem 3) mostra um pequeno exemplo de código
ASP.NET.
Listagem 3 Exemplo de código ASP.NET
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Olá Mundo!">
</asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
SQL Server
O SQL (Structured Query Language ou Linguagem de Consulta Estruturada), é
uma linguagem de pesquisa declarativa para base de dados relacionais. [23] O Microsoft
SQL SERVER foi o SGBD (Sistema de Gestão de Base de dados) usado no projeto, já
que é uma base de dados robusta que vem incluída no Microsoft Visual Studio
(software usado na elaboração do projeto) [7].
17
4.2 Software
Microsoft Visual Studio 2013
O Microsoft Visual Studio é um pacote de programas da Microsoft para
desenvolvimento de software especialmente dedicado ao. NET Framework e às
linguagens Visual Basic (VB), C, C++, C# (C Sharp) e J# (J Sharp). É também um
grande produto de desenvolvimento na área web, usando a plataforma do ASP.NET. As
linguagens usadas nesta plataforma são: VB.NET (Visual Basic.Net) e o C# (C Sharp)
[8].
Figura 7: Visual Studio 2013
18
5. Análise dos Requisitos
Este capítulo descreve a análise pormenorizada dos requisitos necessários
da aplicação através de uma Linguagem de Modelagem Unificada (UML), que é uma
linguagem de modelagem visual e não uma linguagem de programação. Esta linguagem
permite a utilização de diagramas padronizados para especificação e visualização de um
sistema [9].
5.1 Diagrama de Contexto
O diagrama de contexto é composto por fluxos de dados que apresentam o fluxo
de informação entre o sistema e as entidades externas. Descreve a ideia geral do sistema
de um recurso visual facilitando assim a sua compreensão.
Um diagrama de contexto permite identificar os limites dos processos, as áreas
envolvidas com o processo e os relacionamentos com outros processos e elementos
externos, como se pode visualizar na figura 8 [9].
Figura 8: Diagrama de Contexto da Aplicação
19
5.2 Casos de Uso
Atores e Respetivos Casos de Uso
A tabela seguinte (Tabela 1) tem como objetivo definir o ator/atores bem como
os respetivos casos de uso que interferem com o sistema. Os casos de uso definem a
maioria dos requisitos de um sistema computacional [9].
Tabela 1: Atores e respetivos casos de uso
Ator Caso de Uso Objetivos
Bombeiro
setor Central
Inserir Ocorrências O objetivo é o bombeiro inserir todos os
dados de uma ocorrência
Consultar Ocorrências O objetivo é o bombeiro consultar todas as
ocorrências
Consultar Verbetes O objetivo é o bombeiro consultar todo os
verbetes, criados automaticamente quando
inserida uma ocorrência
Inserir Veículo O objetivo é o bombeiro inserir todos os
dados de um veículo
Consultar Veículo O objetivo é o bombeiro consultar todos os
dados de um veículo
Inserir Saída de Chave O objetivo é o bombeiro inserir todos os
dados de uma cedência de chave
Consultar Saída de Chave O objetivo é o bombeiro consultar todos os
dados de uma cedência de chave
Inserir Talões de Combustível O objetivo é o bombeiro inserir todos os
dados de um talão de combustível
Consultar Talões de Combustível O objetivo é o bombeiro consultar todos os
dados de um talão de combustível
Bombeiro Consultar escalas, informações e
ordens de serviço
O objetivo é o bombeiro consultar todas as
informações, escalas e ordens de serviço.
Inserir anomalias em equipamentos
e veículos
O objetivo é o bombeiro inserir todos os
dados de uma anomalia de equipamento ou
veículo.
20
Ator Caso de Uso Objetivos
Bombeiro
setor saúde
Inserir equipamento de saúde O objetivo é o bombeiro inserir todos os
dados de um equipamento.
Consultar equipamentos de saúde O objetivo é o bombeiro consultar todos os
dados de um equipamento
Inserir saída de equipamento de
saúde
O objetivo é o bombeiro inserir todos os
dados de uma saída de equipamento
Consultar saída de equipamento de
saúde
O objetivo é o bombeiro consultar todos os
dados de uma saída de equipamento
Bombeiro
setor
Fardamento
Inserir equipamento de fardamento O objetivo é o bombeiro inserir todos os
dados de um equipamento
Consultar equipamentos de
fardamento
O objetivo é o bombeiro consultar todos os
dados de um equipamento
Atribuir equipamento a bombeiro O objetivo é o bombeiro atribuir fardamento a
bombeiro
Consultar equipamento atribuído a
bombeiro
O objetivo é o bombeiro consultar
equipamento atribuído
Administrador Inserir informações, escalas e
ordens de serviço
O objetivo é o Administrador inserir as
informações, escalas e ordens de serviço
Consultar as informações, escalas e
ordens de serviço
O objetivo é o Administrador consultar as
informações, escalas e ordens de serviço
Inserir bombeiros O objetivo é o Administrador inserir o
bombeiro como utilizador
Consultar todos os bombeiros O objetivo é o Administrador consultar todos
os dados de um bombeiro
Diagrama de Casos de Uso
Um diagrama de casos de uso, como se pode ver na figura 9, descreve um
cenário que mostra as funcionalidades do sistema do ponto de vista do utilizador. Este
permite definir o ator bem como a interação que este tem com o sistema. [9]
22
Descrição de Casos de Uso
Esta seção descreve alguns dos casos de uso mais relevantes que utilizei
(Tabelas 2, 3, 4, 5, 6, 7 e 8). Cada tabela é constituída por:
Nome – Indica o nome do caso de uso que se trata.
Descrição – Descreve o objetivo do caso de uso.
Atores Envolvidos – Indica os atores que interagem no caso de uso.
Pré Condições – Indica se existir a pré condição necessária para se poder dar
início ao caso de uso.
Fluxo principal – Descreve as várias etapas do caso de uso entre o ator e o
sistema.
Fluxos Alternativos – Descreve validações de campos e operações anormais ao
fluxo principal.
Suplementos – Indica os casos de teste concretos ao caso de uso.
Inserir Bombeiro
A tabela seguinte (Tabela 2) descreve com detalhe o caso de uso inserir
bombeiro.
Tabela 2: Inserir Bombeiro
Nome: Inserir Bombeiro
Descrição: O objetivo é o administrador inserir um novo bombeiro
Atores Envolvidos: Administrador
Pré Condições Login Válido
Fluxo Principal: 1. O caso de uso começa quando o administrador seleciona a
opção “Inserir Bombeiro”;
2. O sistema disponibiliza o formulário com todos os campos a
preencher;
3. O administrador preenche todos os campos: nome curto, o
número, a categoria, a seção, a localidade, o telemóvel da casa,
o telemóvel, o nome completo, o correio eletrónico, uma
pergunta, uma resposta e a palavra-chave;
4. O sistema pede para confirmar.
5. O administrador confirma
6. O sistema guarda
Fluxos
Alternativos:
A qualquer momento o sistema cancela o pedido se o administrador
pressionar o botão da página de início;
3a) o sistema cancela se forem introduzidos campos nulos e inválidos;
5a) o sistema cancela quando o administrador não confirmar
Suplementos: Testar se o sistema deixa introduzir campos nulos e/ou inválidos;
Pós-Condições Não tem.
23
Inserir equipamento de saúde
A tabela seguinte (Tabela 3) descreve com detalhe o caso de uso inserir
equipamento de saúde.
Tabela 3: Inserir equipamento de saúde
Nome: Inserir equipamento de saúde
Descrição: O objetivo é o bombeiro do setor de saúde inserir um equipamento de
saúde
Atores Envolvidos: Bombeiro do setor de saúde
Pré Condições Login Válido
Fluxo Principal: 1. O caso de uso começa quando o bombeiro do setor de saúde
seleciona a opção “Entrada”;
2. O sistema disponibiliza o formulário com todos os campos a
preencher;
3. O bombeiro do setor de saúde preenche todos os campos:
quantidade e descrição;
4. O sistema pede para confirmar.
5. O bombeiro do setor de saúde confirma
6. O sistema guarda
Fluxos
Alternativos:
A qualquer momento o sistema cancela o pedido se o bombeiro do
setor de saúde pressionar o botão “Cancelar”;
3a) o sistema cancela se forem introduzidos campos nulos e inválidos;
5a) o sistema cancela quando o bombeiro do setor de saúde não
confirmar
Suplementos: Testar se o sistema deixa introduzir campos nulos e/ou inválidos;
Pós-Condições Não tem.
Atribuir equipamento a bombeiro
A tabela seguinte (Tabela 4) descreve com detalhe o caso de uso atribuir
equipamento a bombeiro.
Tabela 4: Atribuir equipamento a bombeiro
Nome: Atribuir equipamento a bombeiro
Descrição: O objetivo é o bombeiro do setor de fardamento atribuir um
equipamento a um bombeiro
Atores Envolvidos: Bombeiro do setor de fardamento
Pré Condições Login Válido
Fluxo Principal: 1. O caso de uso começa quando o bombeiro do setor de
fardamento tem selecionado o fardamento seleciona a opção
“Atribuir”
2. O sistema disponibiliza o formulário com todos os campos a
preencher;
3. O bombeiro do setor de fardamento preenche todos os campos:
elemento;
24
4. O sistema pede para confirmar.
5. O bombeiro do setor de fardamento confirma
6. O sistema guarda
Fluxos
Alternativos:
A qualquer momento o sistema cancela o pedido se o bombeiro do
setor de fardamento pressionar o botão “Cancelar”;
3a) o sistema cancela se forem introduzidos campos nulos e inválidos;
5a) o sistema cancela quando o bombeiro do setor de fardamento não
confirmar
Suplementos: Testar se o sistema deixa introduzir campos nulos e/ou inválidos;
Pós-Condições Não tem.
Inserir anomalia em veículo
A tabela seguinte (Tabela 5) descreve com detalhe o caso de uso inserir
anomalia em veículo.
Tabela 5: Inserir anomalia em veículo
Nome: Inserir anomalia em veículo
Descrição: O objetivo é o bombeiro inserir uma anomalia de um veículo
Atores Envolvidos: Bombeiro
Pré Condições Login Válido
Fluxo Principal: 1. O caso de uso começa quando o bombeiro na pagina das
Anomalias seleciona a opção “Veículos”
2. O sistema disponibiliza o formulário com todos os campos a
preencher;
3. O bombeiro preenche todos os campos: veículo, data,
descrição;
4. O sistema pede para confirmar.
5. O bombeiro confirma
6. O sistema guarda
Fluxos
Alternativos:
A qualquer momento o sistema cancela o pedido se o bombeiro
pressionar o botão “Cancelar”;
3a) o sistema cancela se forem introduzidos campos nulos e inválidos;
5a) o sistema cancela quando o bombeiro do setor de fardamento não
confirmar
Suplementos: Testar se o sistema deixa introduzir campos nulos e/ou inválidos;
Pós-Condições Não tem.
Inserir talão de combustível
A tabela seguinte (Tabela 6) descreve com detalhe o caso de uso inserir talão de
combustível.
25
Tabela 6: Inserir talão de combustível
Nome: Atribuir equipamento a bombeiro
Descrição: O objetivo é o bombeiro do setor da central inserir um talão de
combustível
Atores Envolvidos: Bombeiro do setor da central
Pré Condições Login Válido
Fluxo Principal: 1. O caso de uso começa quando o bombeiro do setor da central
na pagina das Combustíveis seleciona a opção “Inserir”
2. O sistema disponibiliza o formulário com todos os campos a
preencher;
3. O bombeiro do setor da central preenche todos os campos:
veículo, os quilómetros, o valor, o talão e o motorista;
4. O sistema pede para confirmar.
5. O bombeiro do setor da central confirma
6. O sistema guarda
Fluxos
Alternativos:
A qualquer momento o sistema cancela o pedido se o bombeiro do
setor da central pressionar o botão “Cancelar”;
3a) o sistema cancela se forem introduzidos campos nulos e inválidos;
5a) o sistema cancela quando o bombeiro do setor da central não
confirmar
Suplementos: Testar se o sistema deixa introduzir campos nulos e/ou inválidos;
Pós-Condições Não tem.
Inserir saída de chave
A tabela seguinte (Tabela 7) descreve com detalhe o caso de uso inserir saída de
chave.
Tabela 7: Inserir saída de chave
Nome: Atribuir equipamento a bombeiro
Descrição: O objetivo é o bombeiro do setor da central inserir uma saída duma chave
Atores Envolvidos: Bombeiro do setor da central
Pré Condições Login Válido
Fluxo Principal: 1. O caso de uso começa quando o bombeiro do setor da central na
pagina das Chaves seleciona a opção “Saída”
2. O sistema disponibiliza o formulário com todos os campos a
preencher;
3. O bombeiro do setor da central preenche todos os campos: número de
chave, nome, utilização;
4. O sistema pede para confirmar.
5. O bombeiro do setor da central confirma
6. O sistema guarda
Fluxos Alternativos: A qualquer momento o sistema cancela o pedido se o bombeiro do setor da
central pressionar o botão “Cancelar”;
3a) o sistema cancela se forem introduzidos campos nulos e inválidos;
5a) o sistema cancela quando o bombeiro do setor da central não confirmar
Suplementos: Testar se o sistema deixa introduzir campos nulos e/ou inválidos;
Pós-Condições Não tem.
26
Inserir ocorrência
A tabela seguinte (Tabela 8) descreve com detalhe o caso de uso inserir
ocorrência.
Tabela 8: Inserir ocorrência
Nome: Inserir ocorrência
Descrição: O objetivo é o bombeiro do setor da central inserir uma ocorrência
Atores Envolvidos: Bombeiro do setor da central
Pré Condições Login Válido
Fluxo Principal: 1. O caso de uso começa quando o bombeiro do setor da central na
pagina das Ocorrências seleciona a opção “Outras”
2. O sistema disponibiliza o formulário com todos os campos a
preencher;
3. O bombeiro do setor da central preenche todos os campos: data de
alerta, data saída, tipo, entidade, local e observações;
4. O sistema pede para confirmar.
5. O bombeiro do setor da central confirma
6. O sistema guarda
7. O sistema disponibiliza o formulário para adicionar o veículo.
8. O bombeiro do setor da central preenche todos os campos: veículo e
elementos;
9. O sistema pede para confirmar ou adicionar mais veículos.
10. Se o bombeiro do setor da central adicionar mais veículos volta ao
ponto 7); se o bombeiro do setor da central confirma
11. O sistema guarda
Fluxos Alternativos: A qualquer momento o sistema cancela o pedido se o bombeiro do setor da
central pressionar o botão “Cancelar”;
3a) o sistema cancela se forem introduzidos campos nulos e inválidos;
5a) o sistema cancela quando o bombeiro do setor da central não confirmar
Suplementos: Testar se o sistema deixa introduzir campos nulos e/ou inválidos;
Pós-Condições Não tem.
5.3 Diagramas de Sequência
Os diagramas de sequência representam as trocas de mensagens entre vários
objetos numa sequência temporal. São utilizados para representar casos de uso com o
objetivo de modelar o fluxo de mensagens, eventos e ações entre objetos e
componentes. Nos diagramas de sequência está representado o ator bem como os
objetos e métodos ordenados pelo tempo. [9]
Neste caso serão apresentados os diagramas de sequência dos casos de usos
descritos anteriormente.
27
Inserir Bombeiro
O diagrama de sequência representado na Figura 10 descreve os eventos e ações
quando o administrador insere um bombeiro.
Figura 10:Diagrama de Sequência – Inserir Bombeiro
Inserir equipamento de saúde
O diagrama de sequência representado na Figura 11 descreve os eventos e ações
quando o bombeiro do setor de saúde insere um equipamento de saúde.
28
Figura 11: Diagrama de Sequência – Inserir equipamento de saúde
Atribuir Equipamento a Bombeiro
O diagrama de sequência representado na Figura 12 descreve os eventos e ações
quando o bombeiro do setor de fardamento atribuir um equipamento a um bombeiro.
Figura 12: Diagrama de Sequência – Atribuir equipamento a bombeiro
29
Inserir anomalia em veículo
O diagrama de sequência representado na Figura 13 descreve os eventos e ações
quando o bombeiro insere uma anomalia num veículo.
Figura 13: Diagrama de Sequência – Inserir anomalia veículo
Inserir talão de combustível
O diagrama de sequência representado na Figura 14 descreve os eventos e ações
quando o bombeiro do setor central insere um talão de combustível.
Figura 14: Diagrama de Sequência – Inserir talão de combustível
30
Inserir saída de chave
O diagrama de sequência representado na Figura 15 descreve os eventos e ações
quando o bombeiro do setor central insere uma saída de chave.
Figura 15: Diagrama de Sequência – Inserir saída de chave
Inserir ocorrência
O diagrama de sequência representado na Figura 16 descreve os eventos e ações
quando o bombeiro do setor central insere uma ocorrência.
Figura 16: Diagrama de Sequência – Inserir ocorrência
31
5.6 Diagrama de Classes
Neste tópico será apresentado o diagrama de classes da aplicação desenvolvida,
representado pela Figura 17.
O diagrama de classes define a estrutura a desenvolver, mostra a relação entre as
várias classes implementadas.
A análise de requisitos previamente efetuada dá resultado a este diagrama.
Este diagrama é constituído por três itens:
Classes: objetos que fazem sentido para o negócio ou para a estrutura do
aplicativo.
Atributos da Classes: Elementos que caraterizam a classe a qual pertencem,
informação contida no sistema.
Métodos da Classe: Fazem com que o programa execute as chamadas do
algoritmo (funções), contendo ou não regras que fazem com que os atributos alterem
seus valores e que uma classe comunique com as outras classes de objeto gerando assim
as suas associações, que juntas geram o funcionamento da aplicação [9].
33
Semântica de Classes
A semântica de classes é composta por todos os atributos, tipos de dados,
descrição, valores válidos, formato e restrições de cada classe do diagrama.
Atributos – campos da classe;
Tipo de dados – valores que compõem o atributo;
Descrição – o que representa o atributo na classe;
Valores válidos – referenciar os valores válidos no contexto que esses valores
irão ser usados;
Formato – representação do atributo, indica o limite máximo de dados que
podem ser inseridos, e o modo de como estes devem ser inseridos;
Restrições – como é tratado o atributo, diretrizes que devem ser cumpridas
relativamente à inserção de dados, bem como a sua obrigatoriedade.
Classe AnomaliaEquipamento
A tabela seguinte (Tabela 9) descreve todos os campos existentes na classe
AnomaliaEquipamento.
Tabela 9: Semântica de Classe: AnomaliaEquipamento
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdAnomaliaEq
uipamento
Numeração
automática
Número
sequencial que
identifica
univocamente
cada anomalia
de equipamento
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não
alterável
Data Date Data da
verificação da
anomalia do
equipamento
Números de 0
a 9
MM/DD/
YYYY
Obrigatório
e alterável
Equipamento String Nome do
equipamento
Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 50
Caractere
s
Obrigatório
e alterável
34
Descricao String Descrição da
anomalia do
equipamento
Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 1024
Caractere
s
Obrigatório
e alterável
IdBombeiro Integer Número que
identifica o
Bombeiro que
introduz a
anomalia
Maior que 0 Até 5
dígitos
Obrigatório
e não
alterável
Conhecimento Bit Identifica se o
responsável teve
conhecimento
da anomalia
0 e 1 0 – False
1 - True
Não
obrigatório e
alterável
Operadores:
A tabela seguinte (Tabela 10) descreve de forma detalhada as operações
relacionadas com a classe AnomaliaEquipamento.
Tabela 10: Operadores da Semantica de Classes: AnomaliaEquipamento
Nome Descrição
Consultar()
Operação que permite Consultar a anomalia do equipamento selecionada.
1. Selecionar a Anomalia através do IdAnomaliaEquipamento.
2. Mostrar a descrição da anomalia selecionada.
Inserir()
Operação que permite inserir uma anomalia de um equipamento.
1. O sistema gera o IdAnomaliaEquipamento (incrementa uma unidade
ao último IdAnomaliaEquipamento).
2. Introduzir a data, o equipamento e a descrição.
3. IdBombeiro = IdBombeiro que esta a inserir a anomalia.
4. Valida campos inseridos.
5. Insere na base de dados.
Classe AnomaliaVeiculo
A tabela seguinte (Tabela 11) descreve todos os campos existentes na classe
AnomaliaVeiculo.
35
Tabela 11: Semântica de Classe: AnomaliaVeiculo
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdAnomaliaVeicul
o
Numeraçã
o
automática
Número
sequencial
que identifica
univocament
e cada
anomalia de
veículo
Maior que
0
Até 5 Dígitos Gerado
Pelo
Sistema /
Não
alterável
Data Date Data da
verificação
da anomalia
do veículo
Números
de 0 a 9
MM/DD/YYY
Y
Obrigatóri
o e
alterável
IdVeiculo Integer Número que
identifica o
veículo que
tem a
anomalia
Maior que
0
Até 5 dígitos Obrigatóri
o e não
alterável
Descricao String Descrição da
anomalia do
veículo
Caractere
s de A a
Z,
Números
de 0 a 9 e
caracteres
especiais
Até 1024
Caracteres
Obrigatóri
o e
alterável
IdBombeiro Integer Número que
identifica o
Bombeiro
que introduz
a anomalia
Maior que
0
Até 5 dígitos Obrigatóri
o e não
alterável
Conhecimento Bit Identifica se
o responsável
teve
conheciment
o da
anomalia
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
36
Operadores:
A tabela seguinte (Tabela 12) descreve de forma detalhada as operações
relacionadas com a classe AnomaliaVeiculo.
Tabela 12: Operadores da Semantica de Classes: AnomaliaVeiculo
Nome Descrição
Consultar()
Operação que permite Consultar a anomalia do veículo selecionada.
3. Selecionar a Anomalia através do IdAnomaliaVeiculo.
4. Mostrar a descrição da anomalia selecionada.
Inserir()
Operação que permite inserir uma anomalia de um veículo.
1. O sistema gera o IdAnomaliaVeiculo (incrementa uma unidade ao
último IdAnomaliaEquipamento).
2. Introduzir a data e a descrição.
3. IdBombeiro = IdBombeiro que esta a inserir a anomalia
4. Selecionar o IdVeiculo com a anomalia.
5. Valida campos inseridos.
6. Insere na base de dados.
Classe ArmazemSaude
A tabela seguinte (Tabela 13) descreve todos os campos existentes na classe
ArmazemSaude.
Tabela 13: Semântica de Classe: ArmazemSaude
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdArmazemSaude Numeração
automática
Número
sequencial
que identifica
univocamente
cada entrada
de
equipamento
no armazém
de saúde
Maior que
0
Até 5 Dígitos Gerado
Pelo
Sistema /
Não
alterável
Data Date Data da
entrada de
equipamento
no armazém
de saúde
Números
de 0 a 9
MM/DD/YYYY Obrigatório
e alterável
37
Designacao String Descrição do
equipamento
Caracteres
de A a Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Quantidade Integer Quantidade
de
equipamento.
Maior que
0
Até 5 dígitos Obrigatório
e alterável
IdBombeiro Integer Número que
identifica o
Bombeiro
que insere o
equipamento
Maior que
0
Até 5 dígitos Obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 14) descreve de forma detalhada as operações
relacionadas com a classe ArmazemSaude.
Tabela 14: Operadores da Semantica de Classes: ArmazemSaude
Nome Descrição
Consultar()
Operação que permite Consultar equipamento de saúde selecionado.
1. Selecionar o equipamento através do IdArmazemSaude.
2. Mostrar a descrição do equipamento selecionado.
Inserir()
Operação que permite inserir um equipamento no armazém.
1. O sistema gera o IdArmazemSaude (incrementa uma unidade ao
último IdArmazemSaude).
2. Introduzir a quantidade e a designação do equipamento.
3. IdBombeiro = IdBombeiro que esta a inserir o equipamento.
4. Data = Data do sistema.
5. Valida campos inseridos.
6. Insere na base de dados.
Alterar()
Operação que permite alterar a quantidade um equipamento no armazém.
1. Selecionar o equipamento através do IdArmazemSaude.
2. Mostrar a descrição do equipamento selecionado.
3. Alterar a quantidade.
4. Valida campos alterados.
5. Altera na base de dados.
38
Classe ArmazemSaudeSaida
A tabela seguinte (Tabela 15) descreve todos os campos existentes na classe
ArmazemSaudeSaída.
Tabela 15: Semântica de Classe: ArmazemSaudeSaida
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restriçõe
s
IdArmazemSaudeSai
da
Numeraçã
o
automátic
a
Número
sequencial
que
identifica
univocament
e cada saída
de
equipamento
no armazém
de saúde
Maior
que 0
Até 5 Dígitos Gerado
Pelo
Sistema /
Não
alterável
Data Date Data da
saída de
equipamento
no armazém
de saúde
Números
de 0 a 9
MM/DD/YYY
Y
Obrigatóri
o e
alterável
Designacao String Descrição do
equipamento
Caractere
s de A a
Z,
Números
de 0 a 9 e
caractere
s
especiais
Até 50
Caracteres
Obrigatóri
o e
alterável
Quantidade Integer Quantidade
de
equipamento
.
Maior
que 0
Até 5 dígitos Obrigatóri
o e
alterável
IdBombeiro Integer Número que
identifica o
Bombeiro
que insere a
saída de
equipamento
Maior
que 0
Até 5 dígitos Obrigatóri
o e
alterável
39
Local String Local para o
qual o
equipamento
vai.
Caractere
s de A a
Z,
Números
de 0 a 9 e
caractere
s
especiais
Até 50
Caracteres
Obrigatóri
o e
alterável
Operadores:
A tabela seguinte (Tabela 16) descreve de forma detalhada as operações
relacionadas com a classe ArmazemSaudeSaida.
Tabela 16: Operadores da Semantica de Classes: ArmazemSaudeSaida
Nome Descrição
Consultar()
Operação que permite Consultar saída de equipamento de saúde selecionado.
1. Selecionar o equipamento através do IdArmazemSaudeSaida.
2. Mostrar a descrição do equipamento selecionado.
Inserir()
Operação que permite inserir uma saída de equipamento do armazém.
1. Selecionar o equipamento através do IdArmazemSaude.
2. Mostrar a descrição do equipamento selecionado.
3. Inserir quantidade de saída e local.
4. O sistema gera o IdArmazemSaudeSaida (incrementa uma unidade ao
último IdArmazemSaudeSaida).
5. IdBombeiro = IdBombeiro que esta a inserir o equipamento.
6. Data = Data do sistema.
7. Valida campos inseridos.
8. Insere na base de dados.
Classe Bombeiro
A tabela seguinte (Tabela 17) descreve todos os campos existentes na classe
Bombeiro.
Tabela 17: Semântica de Classe: Bombeiro
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdBombeiro Numeração
automática
Número
sequencial que
identifica
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
40
univocamente
cada bombeiro
Não alterável
NomeCurto String Primeiro e
ultimo nome do
bombeiro
Caracteres de
A a Z
Até 50
Caracteres
Obrigatório e
alterável
Numero Integer Número do
bombeiro
Números de 0
a 9
Até 9
Dígitos
Obrigatório e
alterável
Categoria String Primeiro e
ultimo nome do
bombeiro
Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório e
alterável
Seção Integer Número do
bombeiro
Números de 0
a 9
Até 9
Dígitos
Obrigatório e
alterável
Localidade String Primeiro e
ultimo nome do
bombeiro
Caracteres de
A a Z
Até 50
Caracteres
Obrigatório e
alterável
TelemovelCasa Integer Número do
bombeiro
Números de 0
a 9
Até 8
Dígitos
Obrigatório e
alterável
Telemovel Integer Número do
bombeiro
Números de 0
a 9
Até 8
Dígitos
Obrigatório e
alterável
NomeCompleto String Primeiro e
ultimo nome do
bombeiro
Caracteres de
A a Z
Até 50
Caracteres
Obrigatório e
alterável
Email String Primeiro e
ultimo nome do
bombeiro
Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório e
alterável
Operadores:
A tabela seguinte (Tabela 18) descreve de forma detalhada as operações
relacionadas com a classe Bombeiro.
41
Tabela 18: Operadores da Semântica de Classes: Bombeiro
Nome Descrição
Consultar()
Operação que permite Consultar o bombeiro selecionado.
1. Selecionar o bombeiro através do IdBombeiro.
2. Mostrar o bombeiro correspondente.
Inserir()
Operação que permite inserir um bombeiro.
1. O sistema gera o IdBombeiro (incrementa uma unidade ao último
IdBombeiro).
2. Introduzir o número, o nome curto, o nome completo, a categoria, a
seção, a localidade, o telemóvel da casa, o telemóvel particular, o
email, uma pergunta, uma resposta e password.
3. Valida campos inseridos.
4. Insere na base de dados.
Classe CedenciaChave
A tabela seguinte (Tabela 19) descreve todos os campos existentes na classe
CedenciaChave.
Tabela 19: Semântica de Classe: CedenciaChave
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdCedenciaChave Numeraçã
o
automática
Número
sequencial
que identifica
univocament
e cada
bombeiro
Maior
que 0
Até 5 Dígitos Gerado
Pelo
Sistema /
Não
alterável
DataSaida Date Data da saída
de chave
Números
de 0 a 9
MM/DD/YYY
Y HH:MM
Obrigatóri
o e
alterável
Utilizacao String Primeiro e
ultimo nome
do bombeiro
Caractere
s de A a
Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Não
obrigatório
e alterável
DataEntrada Date Data da
entrada da
Números
de 0 a 9
MM/DD/YYY
Y HH:MM
Obrigatóri
o e
42
chave alterável
IdOperadorSaida Integer Número que
identifica o
operador que
insere a saída
da chave
Maior
que 0
Até 5 dígitos Obrigatóri
o e não
alterável
IdOperadorEntrad
a
Integer Número que
identifica o
Bombeiro
que insere a
entrada da
chave
Maior
que 0
Até 5 dígitos Obrigatóri
o e não
alterável
IdChave Integer Número que
identifica a
chave
Maior
que 0
Até 5 dígitos Obrigatóri
o e não
alterável
Nome String Primeiro
nome quem
levanta a
chave
Caractere
s de A a
Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Não
obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 20) descreve de forma detalhada as operações
relacionadas com a classe CedenciaChave.
Tabela 20: Operadores da Semântica de Classes: CedenciaChave
Nome Descrição
Consultar()
Operação que permite Consultar a cedência de chave selecionada.
1. Selecionar a cedência de chave através do IdCedenciaChave.
2. Mostrar a cedência de chave correspondente.
Inserir()
Operação que permite inserir uma cedência de chave.
1. O sistema gera o IdCedenciaChave (incrementa uma unidade ao último
IdCedenciaChave).
2. Introduzir o nome e a utilização.
3. Idchave = IdChave a dar a saída.
4. IdOperadorSaida = IdOperadorSaida que insere a saída da chave.
5. IdDataSaida = Data do sistema.
6. Valida campos inseridos.
43
7. Insere na base de dados.
Alterar()
Operação que permite alterar a cedência de chave.
1. Selecionar a cedência de chave através do IdCedenciaChave.
2. Mostrar a descrição da cedência de chave selecionado.
3. Alterar os dados.
4. Valida campos alterados.
5. Altera na base de dados.
Classe Chave
A tabela seguinte (Tabela 21) descreve todos os campos existentes na classe
Chave.
Tabela 21: Semântica de Classe: Chave
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdCedenciaChave Numeração
automática
Número
sequencial que
identifica
univocamente
cada chave
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não
alterável
Numero Float Número da
chave
Números de
0 a 9
Até 5
dígitos e 2
casas
decimais
Obrigatório
e alterável
Local String Local da chave Caracteres
de A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 22) descreve de forma detalhada as operações
relacionadas com a classe Chave.
44
Tabela 22: Operadores da Semântica de Classes: Chave
Nome Descrição
Consultar()
Operação que permite Consultar a chave selecionada.
1. Selecionar a cedência de chave através do IdChave.
2. Mostrar a chave correspondente.
Classe CheckListVeiculo
A tabela seguinte (Tabela 23) descreve todos os campos existentes na classe
CheckListVeiculo.
Tabela 23: Semântica de Classe: CheckListVeiculo
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IcCheckListVeicul
o
Numeraçã
o
automática
Número
sequencial
que identifica
univocament
e cada check-
list
Maior que
0
Até 5 Dígitos Gerado
Pelo
Sistema /
Não
alterável
Luzes Bit Identifica se
as luzes estão
boas
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Rotativos Bit Identifica se
os rotativos
estão bons
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Strob Bit Identifica se
os stobs estão
bons
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Aquecimento Bit Identifica se
o
aquecimento
está bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Radios Bit Identifica se
os radios
estão bons
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Observacoes String Observações
ocorridas
Caractere
s de A a
Até 50
Caracteres
Obrigatóri
o e
45
durante o
check-list
Z,
Números
de 0 a 9 e
caracteres
especiais
alterável
Data Date Data da
verificação
do veículo
Números
de 0 a 9
MM/DD/YYY
Y HH:MM
Obrigatóri
o e
alterável
Carrocaria Bit Identifica se
a carroçaria
está boa
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Vidros Bit Identifica se
os vidros
estão bons
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Comandos Bit Identifica se
os comandos
estão bons
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Interior Bit Identifica se
o interior está
bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Exterior Bit Identifica se
o exterior
está bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
OleoMotor Bit Identifica se
o óleo do
motor está
bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
LiquidoRadiador Bit Identifica se
o líquido do
radiador está
bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
OleoDirecao Bit Identifica se
o óleo da
direçãoestá
bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
OleoTravoes Bit Identifica se
o óleo dos
travões está
bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
46
OleoEmbraiagem Bit Identifica se
o óleo da
embraiagem
está bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
Combustivel Bit Identifica se
combustível
está bom
0 e 1 0 – False
1 - True
Não
obrigatório
e alterável
IdVeiculo Integer Número que
identifica a
viatura
Maior que
0
Até 5 dígitos Obrigatóri
o e não
alterável
Operadores:
A tabela seguinte (Tabela 24) descreve de forma detalhada as operações
relacionadas com a classe CheckListVeiculo.
Tabela 24: Operadores da Semântica de Classes: CheckListVeiculo
Nome Descrição
Consultar()
Operação que permite Consultar um check-list do veículo selecionado.
1. Selecionar o check-list através do IdCheckListVeiculo.
2. Mostrar check-list correspondente.
Inserir()
Operação que permite inserir um check-list de veículo.
1. O sistema gera o IdCheckListVeiculo (incrementa uma unidade ao
último IdCheckListVeiculo).
2. Selecionar os valores que estiverem bons.
3. IdVeiculo = IdVeiculo a inspecionar.
4. IdDataSaida = Data do sistema.
5. Valida campos inseridos.
6. Insere na base de dados.
Classe CombustivelRepsol
A tabela seguinte (Tabela 25) descreve todos os campos existentes na classe
CombustivelRepsol.
Tabela 25: Semântica de Classe: CombustivelRepsol
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
47
IdCombustivelRepso
l
Numeraçã
o
automática
Número
sequencial
que identifica
univocament
e cada recibo
de
combustível
Maior
que 0
Até 5 Dígitos Gerado
Pelo
Sistema /
Não
alterável
Data Date Data do
recibo
Número
s de 0 a
9
MM/DD/YYY
Y HH:MM
Obrigatóri
o e
alterável
IdVeiculo Integer Número que
identifica a
viatura
Maior
que 0
Até 5 dígitos Obrigatóri
o e não
alterável
Valor Float Valor do
recibo de
combustível
Número
s de 0 a
9
Até 5 dígitos e
2 casas
decimais
Obrigatóri
o e
alterável
Talao Integer Número do
talão de
combustível
Número
s de 0 a
9
Até 8 Dígitos Obrigatóri
o e
alterável
IdBombeiro Integer Número que
identifica o
bombeiro
efetuou o
abasteciment
o
Maior
que 0
Até 5 dígitos Obrigatóri
o e não
alterável
IdOperador Integer Número que
identifica o
operador que
insere o
recibo
Maior
que 0
Até 5 dígitos Obrigatóri
o e não
alterável
Operadores:
A tabela seguinte (Tabela 26) descreve de forma detalhada as operações
relacionadas com a classe CombustivelRepsol.
Tabela 26: Operadores da Semântica de Classes: CombustivelRepsol
Nome Descrição
Consultar() Operação que permite Consultar o recibo de combustível selecionado.
48
1. Selecionar o recibo de combustível através do IdCombustivelRepsol.
2. Mostrar o recibo correspondente.
Inserir()
Operação que permite inserir um recibo de combustível.
1. O sistema gera o IdCombustivelRepsol (incrementa uma unidade ao
último IdCombustivelRepsol).
2. Introduzir os quilómetros, o valor, o número do talão.
3. IdVeiculo = IdVeiculo a inspecionar.
4. IdBombeiro = idBombeiro que efectuou o abastecimento.
5. IdOperador = IdOperador que insere o recibo.
6. IdDataSaida = Data do sistema.
7. Valida campos inseridos.
8. Insere na base de dados.
Classe Entidade
A tabela seguinte (Tabela 27) descreve todos os campos existentes na classe
Entidade.
Tabela 27: Semântica de Classe: Entidade
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdEntidade Numeração
automática
Número
sequencial que
identifica
univocamente
cada entidade
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não alterável
Entidade String Nome da
entidade
Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório e
alterável
Numero Integer Número da
entidade
Maior que 0 Até 5
dígitos
Obrigatório e
alterável
Operadores:
A tabela seguinte (Tabela 28) descreve de forma detalhada as operações
relacionadas com a classe Entidade.
49
Tabela 28: Operadores da Semântica de Classes: Entidade
Nome Descrição
Consultar()
Operação que permite Consultar a entidade selecionado.
1. Selecionar a entidade através do IdEntidade.
2. Mostrar a entidade correspondente.
Classe Equipamento
A tabela seguinte (Tabela 29) descreve todos os campos existentes na classe
Equipamento.
Tabela 29: Semântica de Classe: Equipamento
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdEquipamento Numeração
automática
Número
sequencial
que identifica
univocamente
cada
equipamento
Maior que
0
Até 5
Dígitos
Gerado
Pelo
Sistema /
Não
alterável
Codigo String Código do
equipamento
Caracteres
de A a Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Não
obrigatório
e alterável
Designacao String Designação
do
equipamento
Caracteres
de A a Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
IdTipoEquipamento Integer Número que
identifica o
tipo de
equipamento
Números
de 0 a 9
Até 8
Dígitos
Obrigatório
e não
alterável
IdEstadoEquipamento Integer Número que
identifica o
estado do
Números
de 0 a 9
Até 8
Dígitos
Obrigatório
e não
alterável
50
equipamento
IdBombeiro Integer Número que
identifica o
bombeiro
Maior que
0
Até 5
dígitos
Não
obrigatório
e não
alterável
IdTamanho Integer Número que
identifica o
tamanho
Maior que
0
Até 5
dígitos
Obrigatório
e não
alterável
Operadores:
A tabela seguinte (Tabela 30) descreve de forma detalhada as operações
relacionadas com a classe Equipamento.
Tabela 30: Operadores da Semântica de Classes: Equipamento
Nome Descrição
Consultar()
Operação que permite Consultar um equipamento selecionado.
1. Selecionar um equipamento através do IdEquipamento.
2. Mostrar o equipamento correspondente.
Inserir()
Operação que permite inserir um equipamento.
1. O sistema gera o IdEquipamento (incrementa uma unidade ao último
IdEquipamento).
2. Introduzir a designação e o código.
3. IdTipoEquipamento = IdTipoEquipamento selecionado.
4. IdEstadoEquipamento = IdEstadoEquipamento selecionado.
5. IdTamanho = IdTamanho selecionado.
6. Valida campos inseridos.
7. Insere na base de dados.
Alterar()
Operação que permite alterar um equipamento.
1. Selecionar um equipamento através do IdEquipamento.
2. Mostrar a descrição do equipamento selecionado.
3. Alterar os dados.
4. Se quiser atribuir o equipameto a um bombeiro
4.1. IdBombeiro = IdBombeiro Selecionado.
5. Valida campos alterados.
6. Altera na base de dados.
Classe Escala
A tabela seguinte (Tabela 31) descreve todos os campos existentes na classe
Escala.
51
Tabela 31: Semântica de Classe: Escala
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdEscala Numeração
automática
Número
sequencial que
identifica
univocamente
cada escala
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não alterável
Data String Data da escala Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório e
alterável
Piquete String Designação do
piquete
Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório e
alterável
Ficheiro String Nome do
ficheiro
Caracteres de
A a Z,
Números de 0
a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório e
alterável
Ano Integer Ano da escala Números de 0
a 9
Até 8
Dígitos
Obrigatório e
alterável
Operadores:
A tabela seguinte (Tabela 32) descreve de forma detalhada as operações
relacionadas com a classe Escala.
Tabela 32: Operadores da Semântica de Classes: Escala
Nome Descrição
Consultar()
Operação que permite Consultar uma escala selecionado.
1. Selecionar uma escala através do IdEscala.
2. Mostrar a escala correspondente.
52
Inserir()
Operação que permite inserir uma escala.
1. O sistema gera o IdEscala (incrementa uma unidade ao último
IdEscala).
2. Introduzir a data, o piquete, o ano e o nome do ficheiro.
3. Valida campos inseridos.
4. Insere na base de dados.
Classe Informacao
A tabela seguinte (Tabela 33) descreve todos os campos existentes na classe
Informacao.
Tabela 33: Semântica de Classe: Informacao
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdInformacao Numeração
automática
Número
sequencial que
identifica
univocamente
cada
informação
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não
alterável
Numero String Número da
informação
Caracteres de
A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Titulo Integer Titulo da
informação
Números de
0 a 9
Até 8
Dígitos
Obrigatório
e alterável
Ano Integer Ano da
informação
Números de
0 a 9
Até 8
Dígitos
Obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 34) descreve de forma detalhada as operações
relacionadas com a classe Informacao.
53
Tabela 34: Operadores da Semântica de Classes: Informacao
Nome Descrição
Consultar()
Operação que permite Consultar uma informação selecionado.
3. Selecionar uma informação através do IdInformacao.
4. Mostrar a informação correspondente.
Inserir()
Operação que permite inserir uma informação.
5. O sistema gera o IdInformacao (incrementa uma unidade ao último
IdInformacao).
6. Introduzir o ano, o número e o título da informação.
7. Valida campos inseridos.
8. Insere na base de dados.
Classe OrdensServico
A tabela seguinte (Tabela 35) descreve todos os campos existentes na classe
OrdensServico.
Tabela 35: Semântica de Classe: OrdensServico
Atributo Tipo de
Dados
Descrição Valores Validos Formato Restrições
IdOrdensServico Numeração
automática
Número
sequencial
que identifica
univocament
e cada ordem
de serviço
Maior que 0 Até 5
Dígitos
Gerado
Pelo
Sistema /
Não
alterável
Numero Integer Número da
ordem de
serviço
Números de 0 a
9
Até 8
Dígitos
Obrigatório
e alterável
Assunto String Assunto da
ordem de
serviço
Caracteres de A
a Z, Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Ano Integer Ano da
ordem de
serviço
Números de 0 a
9
Até 8
Dígitos
Obrigatório
e alterável
Ficheiro String Nome do
ficheiro
Caracteres de A
a Z, Números de
Até 50
Caracteres
Obrigatório
e alterável
54
0 a 9 e
caracteres
especiais
Operadores:
A tabela seguinte (Tabela 36) descreve de forma detalhada as operações
relacionadas com a classe OrdenServico.
Tabela 36: Operadores da Semântica de Classes: OrdenServico
Nome Descrição
Consultar()
Operação que permite Consultar uma ordem de serviço selecionado.
5. Selecionar uma ordem de serviço através do IdOrdensServico.
6. Mostrar a informação correspondente.
Inserir()
Operação que permite inserir uma ordem de serviço.
9. O sistema gera o IdOrdensServico (incrementa uma unidade ao último
IdOrdensServico).
10. Introduzir o ano, o número, o título da informação e nome do ficheiro.
11. Valida campos inseridos.
12. Insere na base de dados.
Classe TipoEquipamento
A tabela seguinte (Tabela 37) descreve todos os campos existentes na classe
TipoEquipamento.
Tabela 37: Semântica de Classe: TipoEquipamento
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdTipoEquipamento Numeração
automática
Número
sequencial que
identifica
univocamente
cada tipo de
equipamento
Maior que 0 Até 5
Dígitos
Gerado
Pelo
Sistema /
Não
alterável
Tipo String Nome do tipo
de euipamento
Caracteres de
A a Z,
Números de
0 a 9 e
Até 50
Caracteres
Obrigatório
e alterável
55
caracteres
especiais
Operadores:
A tabela seguinte (Tabela 38) descreve de forma detalhada as operações
relacionadas com a classe TipoEquipamento.
Tabela 38: Operadores da Semântica de Classes: TipoEquipamento
Nome Descrição
Consultar()
Operação que permite Consultar um tipo de equipamento selecionado.
7. Selecionar um tipo equipamento através do IdTipoEquipamento.
8. Mostrar o tipo equipamento correspondente.
Classe EstadoEquipamento
A tabela seguinte (Tabela 39) descreve todos os campos existentes na classe
EstadoEquipamento.
Tabela 39: Semântica de Classe: EstadoEquipamento
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdEstadoEquipamento Numeração
automática
Número
sequencial
que identifica
univocamente
cada estado
de
equipamento
Maior que
0
Até 5
Dígitos
Gerado
Pelo
Sistema /
Não
alterável
Estado String Nome estado Caracteres
de A a Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
56
Operadores:
A tabela seguinte (Tabela 40) descreve de forma detalhada as operações
relacionadas com a classe EstadoEquipamento.
Tabela 40: Operadores da Semântica de Classes: EstadoEquipamento
Nome Descrição
Consultar()
Operação que permite Consultar um estado de equipamento selecionado.
1. Selecionar um estado equipamento através do IdEstadoEquipamento.
2. Mostrar o estado equipamento correspondente.
Classe TamanhoEquipamento
A tabela seguinte (Tabela 41) descreve todos os campos existentes na classe
TamanhoEquipamento.
Tabela 41: Semântica de Classe: TamanhoEquipamento
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdTamanhoEquipament
o
Numeraçã
o
automática
Número
sequencial
que identifica
univocament
e cada
tamanho de
equipamento
Maior que
0
Até 5
Dígitos
Gerado
Pelo
Sistema /
Não
alterável
Tamanho String Tamanho
equipamento
Caractere
s de A a
Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caractere
s
Obrigatóri
o e
alterável
Operadores:
A tabela seguinte (Tabela 42) descreve de forma detalhada as operações
relacionadas com a classe TamanhoEquipamento.
57
Tabela 42: Operadores da Semântica de Classes: TamanhoEquipamento
Nome Descrição
Consultar()
Operação que permite Consultar um tamanho de equipamento selecionado.
1. Selecionar um tamanho equipamento através do
IdTamanhoEquipamento.
2. Mostrar o tamanho equipamento correspondente.
Classe Ocorrencia
A tabela seguinte (Tabela 43) descreve todos os campos existentes na classe Ocorrencia.
Tabela 43: Semântica de Classe: Ocorrencia
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdOcorrencia Numeração
automática
Número
sequencial
que identifica
univocamente
cada
ocorrência
Maior que
0
Até 5 Dígitos Gerado
Pelo
Sistema /
Não
alterável
Local String Local da
ocorrência
Caracteres
de A a Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Quilometros Integer Quilometros
da
ocorrência.
Números
de 0 a 9
Até 8 Dígitos Não
obrigatório
e alterável
DataAlerta Date Data de alerta
da ocorrência
Números
de 0 a 9
MM/DD/YYYY
HH:MM
Obrigatório
e alterável
DataSaida Date Data da saída
da ocorrência
Números
de 0 a 9
MM/DD/YYYY
HH:MM
Obrigatório
e alterável
DataTo Date Data da
chegada ao to
Números
de 0 a 9
MM/DD/YYYY
HH:MM
Não
obrigatório
e alterável
DataSaidaTo Date Data da saída
do to
Números
de 0 a 9
MM/DD/YYYY
HH:MM
Não
obrigatório
58
e alterável
DataEntrada Date Data de fecho
da ocorrência
Números
de 0 a 9
MM/DD/YYYY
HH:MM
Não
obrigatório
e alterável
Observacoes String Observações
da ocorrência
Caracteres
de A a Z,
Números
de 0 a 9 e
caracteres
especiais
Até 50
Caracteres
Não
obrigatório
e alterável
IdOcorrenciaTipo Integer Número que
identifica o
tipo de
ocorrência
Maior que
0
Até 5 dígitos Obrigatório
e alterável
FichaCodu Integer Número da
ficha do codu
Maior que
0
Até 5 dígitos Não
obrigatório
e alterável
IdEntidade Integer Número que
identifica a
entidade
Maior que
0
Até 5 dígitos Obrigatório
e alterável
Elementos Integer Número de
elementos
Maior que
0
Até 5 dígitos Não
obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 44) descreve de forma detalhada as operações
relacionadas com a classe Ocorrencia.
Tabela 44: Operadores da Semântica de Classes: Ocorrencia
Nome Descrição
Consultar()
Operação que permite Consultar uma ocorrência selecionado.
1. Selecionar uma ocorrência o através do IdOcorrencia.
2. Mostrara ocorrência correspondente.
Inserir()
Operação que permite inserir uma ocorrência.
1. O sistema gera o IdOcorrencia (incrementa uma unidade ao último
IdOcorrencia).
2. Introduzir a data de alerta, data de saída, local e observações.
3. IdOcorrenciaTipo = IdOcorrenciaTipo selecionado.
59
4. IdEntidade = IdEntidade selecionado.
5. IdTamanho = IdTamanho selecionado.
6. Valida campos inseridos.
7. Insere na base de dados.
Alterar()
Operação que permite alterar uma ocorrência.
1. Selecionar um equipamento através do IdOcorrencia.
2. Mostrar a descrição da ocorrência selecionado.
3. Alterar os dados.
4. Valida campos alterados.
5. Altera na base de dados.
Classe OcorrenciaVeiculo
A tabela seguinte (Tabela 45) descreve todos os campos existentes na classe
OcorrenciaVeiculo.
Tabela 45: Semântica de Classe: OcorrenciaVeiculo
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdOcorrencia Integer Número que
identifica a
ocorrência
Maior que 0 Até 5
dígitos
Obrigatório
e não
alterável
IdVeiculo Integer Número que
identifica o
veículo
Maior que 0 Até 5
dígitos
Obrigatório
e não
alterável
VerbeteNumero Integer Número de
verbete
Maior que 0 Até 5
dígitos
Não
obrigatório e
alterável
Classe OcorrenciaTipo
A tabela seguinte (Tabela 46) descreve todos os campos existentes na classe
OcorrenciaTipo.
Tabela 46: Semântica de Classe: OcorrenciaTipo
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdOcorrenciaTipo Numeração
automática
Número
sequencial que
identifica
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não
60
univocamente
cada tipo de
ocorrência
alterável
Tipo String Tipo de
ocorrência
Caracteres
de A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Numero Integer Número de
tipo ocorrência
Maior que 0 Até 5
dígitos
Obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 47) descreve de forma detalhada as operações
relacionadas com a classe OcorrenciaTipo.
Tabela 47: Operadores da Semântica de Classes: OcorrenciaTipo
Nome Descrição
Consultar()
Operação que permite Consultar um tipo de ocorrência selecionado.
1. Selecionar um tipo de ocorrência através do IdOcorrenciaTipo.
2. Mostrar o tipo de ocorrência correspondente.
Classe Veiculo
A tabela seguinte (Tabela 48) descreve todos os campos existentes na classe
Veiculo.
Tabela 48: Semântica de Classe: Veiculo
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdVeiculo Numeração
automática
Número
sequencial que
identifica
univocamente
cada veículo
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não
alterável
Matricula String Matrícula do
veículo
Caracteres
de A a Z,
Até 50
Caracteres
Obrigatório
e alterável
61
Números de
0 a 9 e
caracteres
especiais
Quilometros Integer Quilómetros o
veículo
Números de
0 a 9
Até 8
Dígitos
Obrigatório
e alterável
Nome String Nome do
veículo
Caracteres
de A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Marca String Marca do
veículo
Caracteres
de A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Modelo String Modelo do
veículo
Caracteres
de A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
IdVeiculoEstado Integer Número que
identifica o
estado veículo
Maior que 0 Até 5
dígitos
Obrigatório
e não
alterável
IdVeiculoTipo Integer Número que
identifica o
tipo de veículo
Maior que 0 Até 5
dígitos
Obrigatório
e não
alterável
Operadores:
A tabela seguinte (Tabela 49) descreve de forma detalhada as operações
relacionadas com a classe Veiculo.
Tabela 49: Operadores da Semântica de Classes: Veiculo
Nome Descrição
Consultar() Operação que permite Consultar um veículo selecionado.
62
1. Selecionar um veículo o através do IdVeiculo.
2. Mostrara veículo correspondente.
Inserir()
Operação que permite inserir uma ocorrência.
1. O sistema gera o IdVeiculo (incrementa uma unidade ao último
IdVeiculo).
2. Introduzir marca, modelo, nome, matricula e os quilometros
3. IdVeiculoTipo = IdVeiculoTipo selecionado.
4. IdVeiculoEstado = IdVeiculoEstado selecionado.
5. Valida campos inseridos.
6. Insere na base de dados.
Alterar()
Operação que permite alterar um veículo.
1. Selecionar um veículo através do IdVeiculo.
2. Mostrar a descrição do veículo selecionado.
3. Alterar os dados.
4. Valida campos alterados.
5. Altera na base de dados.
Classe VeiculoEstado
A tabela seguinte (Tabela 50) descreve todos os campos existentes na classe
VeiculoEstado.
Tabela 50: Semântica de Classe: VeiculoEstado
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdVeiculoEstado Numeração
automática
Número
sequencial que
identifica
univocamente
cada estado de
veículo
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não
alterável
Estado String Estado do
veículo
Caracteres
de A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 51) descreve de forma detalhada as operações
relacionadas com a classe VeiculoEstado.
63
Tabela 51: Operadores da Semântica de Classes: VeiculoEstado
Nome Descrição
Consultar()
Operação que permite Consultar um estado veículo selecionado.
3. Selecionar um estado veículo o através do IdVeiculoEstado.
4. Mostrara estado de veículo correspondente.
Classe VeiculoTipo
A tabela seguinte (Tabela 52) descreve todos os campos existentes na classe
VeiculoTipo.
Tabela 52:Semântica de Classe: VeiculoTipo
Atributo Tipo de
Dados
Descrição Valores
Validos
Formato Restrições
IdVeiculoTipo Numeração
automática
Número
sequencial que
identifica
univocamente
cada tipo de
veículo
Maior que 0 Até 5
Dígitos
Gerado Pelo
Sistema /
Não
alterável
Tipo String Tipo de veículo Caracteres
de A a Z,
Números de
0 a 9 e
caracteres
especiais
Até 50
Caracteres
Obrigatório
e alterável
Operadores:
A tabela seguinte (Tabela 53) descreve de forma detalhada as operações
relacionadas com a classe VeiculoTipo.
Tabela 53: Operadores da Semântica de Classes: VeiculoTipo
Nome Descrição
Consultar()
Operação que permite Consultar um tipo de veículo selecionado.
1. Selecionar um tipo de veículo o através do IdVeiculoTipo.
2. Mostrara tipo de veículo correspondente.
64
5.5 Diagrama de Atividades
O diagrama de atividades pode ser utilizado para descrever cada um dos casos de
uso, realçando o encadeamento de atividades realizadas por cada um dos objetos do
sistema. O diagrama mostra o fluxo de atividades num único processo, mostrando como
uma atividade depende da outra.
Na figura 18 representa o diagrama de atividade, com os fluxos operacionais do
sistema descrevendo de uma forma genética e organizada as operações que constituem
um nova ocorrência [9].
Figura 18: Diagrama de Atividades: Inserir Ocorrência
65
5.6 Diagrama de Instalação
O diagrama de instalação ilustra a arquitetura do sistema, permite demostrar
como o hardware está organizado e como os componentes de software estão
distribuídos, estabelecendo assim uma ligação física, como mostra a figura 19 [9].
Figura 19: Diagrama de Instalação
Como a aplicação é uma aplicação web tudo o que o Bombeiro precisa é de ter
um computador ou dispositivo móvel e de uma ligação à internet para aceder à
aplicação que está num servidor, juntamente com a base de dados, desta forma torna a
aplicação acessível em todo lado.
66
6. Implementação da Solução
Neste capítulo apresenta a base de dados da aplicação, partes de código mais
relevantes e alguns exemplos, ilustrados com imagens da aplicação, do funcionamento
da mesma.
6.1 Introdução
Como a análise de requisitos foi um estudo bem elaborado a implementação da
aplicação tornou-se mais fácil. No desenvolvimento da aplicação tentou-se sempre
procurar formas mais eficazes e simples de realizar o pretendido, de modo a traduzir
numa maior eficácia e rapidez da execução das tarefas. E é essa a missão de um
programador para tornar o produto final o mais simples e fácil de utilizar, não
esquecendo a rapidez de execução da aplicação. Na figura 20 mostra a página de início
da aplicação, a seguir à criação da base de dados foi a primeira interface a ser criada e
discutida com o responsável dos Bombeiros.
Figura 20: Página de Inicio
67
6.2 Base de Dados
Neste capítulo será apresentado o Modelo Entidade Relacionamento (ER)
relativo à aplicação.
O modelo físico representado pela figura 21 é a implementação da Base de
Dados da aplicação, que foi elaborado durante a fase inicial do desenvolvimento da
aplicação. Contudo ao longo da elaboração da aplicação este modelo foi sofrendo
alterações, de modo a torna-lo mais eficiente.
Figura 21: Base de Dados
68
6.2 Código Utilizado na Aplicação e Testes
Neste ponto do relatório vou ilustrar algumas das interfaces mais importantes da
aplicação da parte de criação de Ocorrências., bem como alguns pedaços de código
mais relevantes.
Será apresentado um exemplo de inserir, editar e pesquisar uma ocorrência.
Na figura 22 mostra a página da central de comunicações, que faz a gestão das
ocorrências, onde se pode consultar as ocorrências estejam elas em curso ou já fechadas,
inserir uma nova ocorrência e editar dados de uma ocorrência. As ocorrências podem
ser pesquisadas pelo número ou pelo estado da ocorrência se ainda está aberta ou já se
encontra fechada.
Figura 22: Página Central de Comunicações
69
Para a criação de uma nova ocorrência basta selecionar na parte dos alertas por
exemplo Pré-Hosp, onde irá aparecer na página os dados para a inserção de uma
ocorrência pré-hospitalar como mostra a figura 23.
Figura 23: Página ocorrências: inserir ocorrência pré-hospitalar
Como visualizado na figura anterior, para a inserção de uma ocorrência pré-
hospitalar basta preencher o local da ocorrência, o tipo de ocorrência, o número da ficha
CODU e outras observações importantes, todos estes campos são obrigatórios e o
campo do número CODU só deixa inserir números.
Com estes dados e com a hora do sistema é criada uma ocorrência na base de
dados. De seguida é pedido ao bombeiro para selecionar o veículo e inserir o número de
elementos, só deixa selecionar um tipo de veículos em conforme o tipo de ocorrência e
se o veículo não estiver noutra ocorrência que ainda se encontre aberta.
70
Figura 24: Página ocorrências: inserir ocorrência pré-hospitalar, adicionar veículo
Na figura 24 mostra em cima os dados da ocorrência, já com a hora, e em baixo
os dados para selecionar o veículo e o número de elementos. Após o bombeiro carregar
em inserir o veículo e o número de elementos e adicionado à ocorrência bem como essa
informação é enviada para a página do veículo inserido, afim de, os elementos terem a
informação da ocorrência e ainda terem num mapa o local da ocorrência como
visualizado na figura 25.
Figura 25: Página veículo: ocorrência
71
Como mostrado na figura anterior o dispositivo móvel afeto ao veículo tem os
dados da ocorrência bem como a possibilidade de localizar o local da mesma através de
um mapa, que por defeito põe o local de partida o Quartel de Bombeiros, ainda que se
possa alterar o mesmo manualmente. Para isso foi recorrida a API do Google Maps,
como mostra a listagem (Listagem 4) em baixo.
Listagem 4 Inserir Bombeiro
protected void GridViewOcorrencias_SelectedIndexChanged(object sender, EventArgs e) { tb_endPoint.Text = GridViewOcorrencias.SelectedRow.Cells[2].Text; tb_fromPoint.Text = "40.535443, -7.288847"; GDirection direction = new GDirection(); direction.autoGenerate = false; GMap1.enableHookMouseWheelToZoom = true; direction.buttonElementId = "bt_Go"; direction.fromElementId = tb_fromPoint.ClientID; direction.toElementId = tb_endPoint.ClientID; direction.divElementId = "div_directions direction.clearMap = true; GMap1.Add(direction); PanelMapa.Visible = true; }
Para editar e consultar os dados de uma ocorrência basta selecionar a ocorrência
pretendida e de seguida é apresentado todos os dados da ocorrência conforme
apresentado na figura 26. Neste formulário aparecem os dados da ocorrência. Para
efetuar o fecho da ocorrência é necessário preencher todos os campos do formulário. Os
campos do formulário têm validações de inserção.
72
Figura 26: Página ocorrências: editar ocorrência
De seguida é apresentado uma parte do código do registo de um novo bombeiro,
da sua inserção na base de dados, onde se pode visualizar todos os dados necessários
para a criação de um novo Bombeiro, a criação da ligação para a base de dados e o
comando de inserir toda a informação.
Listagem 5 Inserir Bombeiro
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie:
false);
SqlConnection connection = null;
try
{
connection = new
SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].Connect
ionString);
connection.Open();
SqlCommand insert = new SqlCommand("INSERT INTO
BOMBEIRO(NOMECURTO, NUMERO, CATEGORIA, SECCAO, LOCALIDADE,
TELEMOVELCASA, TELEMOVEL, NOMECOMPLETO, EMAIL) VALUES
(@NOMECURTO, @NUMERO, @CATEGORIA, @SECCAO, @LOCALIDADE,
@TELEMOVELCASA, @TELEMOVEL, @NOMECOMPLETO, @EMAIL)",
connection);
insert.Parameters.AddWithValue("NOMECURTO", nomecurto);
insert.Parameters.AddWithValue("CATEGORIA", categoria);
insert.Parameters.AddWithValue("SECCAO", seccao);
insert.Parameters.AddWithValue("LOCALIDADE", localidade);
73
insert.Parameters.AddWithValue("TELEMOVELCASA", telemovelcasa);
insert.Parameters.AddWithValue("TELEMOVEL", telemovel);
insert.Parameters.AddWithValue("NOMECOMPLETO", nomecompleto);
insert.Parameters.AddWithValue("PasswordQuestion",
Membership.GetUser(RegisterUser.UserName).PasswordQuestion);
insert.Parameters.AddWithValue("EMAIL",
Membership.GetUser(RegisterUser.UserName).Email);
insert.Parameters.AddWithValue("NUMERO", RegisterUser.UserName);
insert.ExecuteNonQuery();
}
finally
{
if (connection != null) connection.Close();
}
}
Na figura apresentada em baixo (Figura 27), mostra a página de inserir um novo
bombeiro, todos os campos a serem inseridos estão validados, não podem ser nulos nem
num formato incorreto.
Figura 27: Página Inserir Bombeiro
74
7. Conclusões e Trabalho Futuro
7.1 Conclusões
Ao longo da realização deste projeto, foi desenvolvida uma aplicação web para a
Instituição “Bombeiro Voluntários da Guarda” com o objetivo de gerir os recursos
existentes na Instituição.
Primeiramente foi identificado o problema e foram apresentados os objetivos
previstos, objetivos esses que de um modo geral foram implementados, no entanto
houve alguns objetivos que não foram atingidos.
Como é natural ao longo da realização do projeto foram aparecendo alguns
problemas, alguns em termos de implementação de código e outros a nível de como o
responsável da Instituição queria como fossem geridos os dados. O fato de eu também
ser bombeiro na Instituição foi uma grande ajuda, visto também ter conhecimentos de
como é gerida toda a informação na Instituição.
Como foi um projeto em contexto de estágio tive a oportunidade de trabalhar
com o pessoal dos Bombeiros da Guarda que para mim foi um ganho de conhecimentos
e prática a um nível pessoal e profissional.
Já a título pessoal destaco o fato de eu ser trabalhador estudante dificultou um
pouco a realização deste projeto visto ter de conciliar o trabalho e a realização desta
aplicação. Foi também sentida alguma dificuldade em por a aplicação num servidor com
a respetiva base de dados, pois como era uma ferramenta nova para mim onde tive de
fazer algumas pesquisas e estudo sobre as mesmas.
Por último como o problema identificado anteriormente foi resolvido, esta
aplicação vai melhorar a gerir toda a informação da Instituição, visto ser uma aplicação
à medida da Instituição, também como bombeiro muito gratificante ver um trabalho
realizador por mim a ajudar a Corporação dos Bombeiros.
75
7.2 Trabalho Futuro
Como trabalho futuro, ainda existem alguns setores cuja gestão não foi
implementada e que estavam descritos nos objetivos. Quer por falta de documentação
da Instituição quer por falta de tempo para a sua implementação. Também de futuro é
possível implementar em mais veículos a aplicação para os mesmos receberem as
ocorrências.
Também poderá ser implementado uma maior gestão dos veículos onde inclua
toda a sua manutenção disparando alertas para o responsável do setor. Quando ao setor
de equipamentos de fogo, esse módulo não foi implementado devido a não existir muita
informação do mesmo e como estaria para breve uma restruturação do mesmo o módulo
não foi desenvolvido.
Estes são alguns pontos que poderão ser implementados futuramente, e como eu
também sou bombeiro este trabalho não acaba aqui, estes pontos descritos anteriores
poderão num futuro recente serem implementados, bem como qualquer alteração que
for preciso implementar.
Como esta aplicação é feita por módulos que representam cada setor, é fácil
adicionar um módulo novo sem que a aplicação fique indisponível e haja muitas
alterações.
76
Bibliografia
[1] “Ifthen,” 2014. [Online]. Available:
https://www.ifthensoftware.com/ProdutoX.aspx?ProdID=4.
[2] “Decimal Fire,” 2009. [Online]. Available: http://decimalfire.pt/entrada.html.
[3] I. Sommerville, Engenharia de Software - 9º edição, Pearson education, 2011.
[4] “O básico: O que é html?,” 2011. [Online]. Available: http://tableless.com.br/o-que-html-
basico/.
[5] “C#,” 2013. [Online]. Available:
http://www.oficinadanet.com.br/artigo/526/c_sharp_csharp_o_que_e_esta_linguagem.
[6] “ASP.NET,” 2014. [Online]. Available: http://pt.wikipedia.org/wiki/ASP.NET.
[7] “Microsoft SQL Server,” 2014. [Online]. Available: http://technet.microsoft.com/en-
us/library/bb545450.aspx.
[8] “Microsoft Visual Studio,” 05 06 2014. [Online]. Available:
https://pt.wikipedia.org/wiki/Microsoft_Visual_Studio.
[9] H. O. Mauro Nunes, Fundamental UML - 4ª edição, FCA, 2006.
[10] “Artigos ASP.NET,” 2010. [Online]. Available:
http://www.macoratti.net/pageview.aspx?catid=3.
[11] “ASP.NET Overview,” 2014. [Online]. Available: http://msdn.microsoft.com/en-
us/library/4w3ex9c2(v=vs.100).aspx.
[12] “Microsoft,” 2014. [Online]. Available: http://msdn.microsoft.com/en-
us/library/hh738539.aspx.
[13] “Windows Server,” 2014. [Online]. Available: http://technet.microsoft.com/pt-
br/Library/hh831475.aspx.
[14] “Microsoft Visual Studio,” 18 09 2013. [Online]. Available:
https://pt.wikipedia.org/wiki/Visual_Studio. [Acedido em 26 11 2013].