RELATÓRIO DE PROJETO - bdigital.ipg.ptbdigital.ipg.pt/dspace/bitstream/10314/2001/1/Marco...

99
TPG folité enico 1 daiGuarda Poiyleehnic of Guarda RELATÓRIO DE PROJETO Licenciatura em Engenharia Informática Marco Alexandre da cunha Lucas dezembro 1 2014

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

2

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

4

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.

ii

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.

iv

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.

vi

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

viii

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.

2

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

13

Figura 5: Mapa de Gantt previsto

Mapa de Gantt efetivo

Figura 6: Mapa de Gantt efetivo

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]

21

Figura 9: Diagrama de Casos de Uso

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].

32

Figura 17: Diagrama de Classes

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].

77

78

Anexos A

79

80

81

82

83