Escolar Documentos
Profissional Documentos
Cultura Documentos
FACULDADE DE ENGENHARIAS
LUANDA-ANGOLA
AGOSTO/2019
UNIVERSIDADE TÉCNICA DE ANGOLA
FACULDADE DE ENGENHARIAS
LUANDA-ANGOLA
AGOSTO/2019
DEDICATÓRIA
i
AGRADECIMENTO
Charles Chaplin.
iii
RESUMO
Uma das dificuldades encontradas por grande parte dos utentes é localizar clínicas que
atendem a especialidade e saber os respectivos preços dos exames. Para dar suporte a essas
dificuldades, foi desenvolvido uma plataforma de localização de clínicas de especialidade e
marcação de consultas. O desenvolvimento da plataforma aqui descrito visa melhorar e
facilitar os utentes na localização de clinicas de especialidades e marcações de consultas.
Por fim, todos os objetivos estabelecidos inicialmente foram cumpridos, visto que o sistema
foi desenvolvido e possui todas as funcionalidades essenciais.
The present work aims to develop a platform for locating specialty clinics and making
appointments for Luanda province.
One of the difficulties encountered by most patients is locating clinics that cater to the
specialty and knowing their exam prices. To support these difficulties, a platform for locating
specialty clinics and scheduling appointments was developed. The development of the
platform described here aims to improve and facilitate users in locating specialty clinics and
appointment bookings.
According to the requirements raised, the platform was developed with its main features,
registration of users, clinics, doctors, specialties, exams, appointment and so on.
Finally, all initially set objectives were met as the system it was developed and has all the
essential functionality.
DEDICATÓRIA..........................................................................................................................i
EPÍGRAFE................................................................................................................................iii
RESUMO...................................................................................................................................iv
ABSTRACT................................................................................................................................v
ÍNDICE DE FIGURAS.............................................................................................................ix
ÍNDICE DE TABELAS..............................................................................................................x
INTRODUÇÃO..........................................................................................................................1
Descrição do problema...................................................................................................................1
Justificativa.....................................................................................................................................2
Objectivos........................................................................................................................................2
Objectivo Geral...........................................................................................................................2
Objectivos específicos:................................................................................................................2
Estrutura do Trabalho...................................................................................................................3
vi
1.4.5. SQL Server..................................................................................................................11
1.5. Programação......................................................................................................................11
1.5.1. POO.............................................................................................................................11
1.5.2. Asp.Net MVC..............................................................................................................13
1.6. Teste de Software...............................................................................................................13
Testes Funcionais........................................................................................................13
Testes de Integração...................................................................................................14
Testes de Segurança...................................................................................................14
Teste Unitários............................................................................................................14
1.7. Arquitectura de Software..................................................................................................14
1.7.1. Cliente/Servidor..........................................................................................................14
CAPÍTULO 2 – METODOLOGIA..........................................................................................16
2.1 Metodologia de Investigação.............................................................................................16
viii
ÍNDICE DE FIGURAS
ix
ÍNDICE DE TABELAS
A internet actualmente é um recurso que está cada dia mais presente no dia-a-dia da nossa
sociedade, devido aos seus benefícios e facilidade de acesso, muitas empresas a utilizam tanto
para oferecer serviços como para passar informações, e as pessoas comuns por sua vez a
utilizam para se comunicarem, outras para aceder a informações e outras como ferramenta de
trabalho.
A utilização de aplicações webs está presente em quase todas as áreas desde educação,
desporto, comércio, marketing, saúde entre outras.
O número de pessoas a aderirem a internet no nosso país vem aumentado o que traz a
oportunidade para organizações começarem a olhar para o mercado das aplicações web para
terem um diferencial a nível da concorrência e poder eventualmente atingir novos clientes.
Um dos principais motivos das pessoas utilizarem as plataformas webs é a procura de
determinados serviços e no nosso país ainda são poucas as plataformas que oferecem este tipo
de serviço.
É neste sentido que o nosso trabalho vem propor o desenvolvimento de uma plataforma web
para a divulgação de serviços de saúde.
Descrição do problema
Há cada vez mais no nosso país clínicas especializadas no tratamento de determinadas
patologias, mas que em muitos casos os pacientes desconhecem a existência das mesmas e
acabam indo fazer o tratamento no exterior do país.
Encontrar uma clínica de especialidade pode não ser uma tarefa fácil, principalmente na
cidade de Luanda. Muitas vezes nessas ocasiões a pessoa procurando esse estabelecimento já
está aflita ou estressada por um problema de saúde.
Que solução deve ser implementada para tornar acessível e fácil a localização das clinicas de
especialidade na província de Luanda, bem como a marcação de consultas nas respectivas
clinicas?
Justificativa
Devido a dificuldade que as pessoas têm em localizar clínicas de especialidades e ter que
telefonar ou deslocar-se para fazer a marcação de consultas, foi pensado na criação de uma
plataforma web que possibilitará aos utentes conhecer a localização exata das clínicas e os
serviços médicos disponíveis nas mesmas, sendo possível efectuar as marcações de consultas
de especialidade através da plataforma proposta neste trabalho.
Objectivos
Objectivo Geral
Objectivos específicos:
Estrutura do Trabalho
Este trabalho está estruturado da seguinte forma: uma parte introdutória onde apresentou-se a
visão do trabalho, a problemática a ser investigada bem como o que se pretendeu alcançar
2
com esta pesquisa através dos objectivos específicos. Posteriormente dividiu-se o trabalho em
3 capítulos que são descritos a seguir:
3
CAPÍTULO 1 - FUNDAMENTAÇÃO TEÓRICA
Uma das características essenciais da plataforma digital é que ela não exige um determinado
lugar físico para conexão. Para estar no mesmo ambiente, basta a todos os participantes terem
um aparelho conectado à internet.
As plataformas digitais podem ser usadas para uma infinidade de objectivos. Muitas
organizações podem usá-las para aumentar os lucros, alcançar novos clientes, redução de
custos, melhoria do diálogo com o cliente, tornar produtos ou serviços visíveis para o público-
alvo do negócio, melhorar processos.
Portanto, o objectivo da plataforma digital pode ser complexo, dependendo da proposta pela
qual ela foi criada e também a finalidade que a empresa interessada pode abstrair.
Venda
Mídias
Social
Serviços
O Appy Saúde é um aplicativo que possibilita para o usuário realizar marcações de consultas
online nas melhores clínicas, fazer reservas de milhares de produtos farmacêuticos em várias
farmácias em Angola, com informação de preço e stock em tempo real, fazer a listagem de
médicos em vários estabelecimentos, com horários, contactos (telefone e e-mail) etc.
O Centro médico Cidadela possui um sistema para marcação de consultas online que
possibilita ao usuário escolher a data da consulta.
5
1.3.1.1. Fases de Desenvolvimento de Software
3. Projecto - Nesta fase é que deve ser considerado, como o sistema funcionará
internamente, para que os requisitos do cliente possam ser atendidos. Alguns aspectos
devem ser considerados nessa fase de projecto do sistema, como: arquitectura do
sistema, linguagem de programação utilizada, Sistema Gerenciador de Base de Dados
(SGBD) utilizado, padrão de interface gráfica, entre outros. (devmedia.com.br).
O projecto possui duas actividades básicas: projecto da arquitectura (ou projecto de
alto nível), e projecto detalhado (ou projecto de baixo nível). O projecto da
arquitectura visa distribuir as classes de objectos relacionados do sistema em
subsistemas e seus componentes, distribuindo também esses componentes pelos
recursos de hardware disponíveis. [CITATION Hud17 \l 2070 ].
6
Já no projecto detalhado, são modeladas as relações de cada módulo com o objectivo
de realizar as funcionalidades do módulo. Além de desenvolver o projecto de interface
com o usuário e o projecto de banco de dados. [CITATION Hud17 \l 2070 ].
Requisitos funcionais: são declarações de funções que o sistema deve fornecer, como
o sistema deve reagir a entradas específicas e como deve se comportar em
determinadas situações. Em alguns casos os requisitos funcionais podem também
explicitamente declarar o que o sistema não deve fazer.
7
Requisitos não funcionais: são restrições oferecidas pelo sistema. Entre eles
destacam-se restrições de tempo, restrições sobre o processo de desenvolvimento,
padrões, entre outros.
8
UML não é uma linguagem de programação, mas uma linguagem de modelagem, cujo
objectivo é auxiliar os engenheiros de software a definir as características do software, tais
como seus requisitos, seu comportamento, sua estrutura lógica, a dinâmica de seus processos
e até mesmo suas necessidades físicas em relação ao equipamento sobre o qual o sistema
deverá ser implementado.[ CITATION Gue05 \l 2070 ].
Diagrama de Casos de Uso: Este é o diagrama mais geral e informal da UML, sendo
utilizado principalmente para auxiliar no levantamento e análise dos requisitos, em
que são determinadas as necessidades do usuário, e na compreensão do sistema como
um todo, embora venha a ser consultado durante todo o processo de modelagem e
sirva de base para todos os outros diagramas. [ CITATION Gue05 \l 2070 ].
Diagrama de Classes: Este é o diagrama mais utilizado e o mais importante da UML,
servindo de apoio para a maioria dos outros diagramas. Como o próprio nome diz,
esse diagrama define a estrutura das classes utilizadas pelo sistema, determinando os
atributos e métodos possuídos por cada classe, além de estabelecer como as classes se
relacionam e trocam informações entre si. [ CITATION Gue05 \l 2070 ]
Diagrama de Atividades: O Diagrama de Atividade se preocupa em descrever os
passos a serem percorridos para a conclusão de uma atividade específica, muitas vezes
representada por um método com um certo grau de complexidade, podendo, no
entanto, modelar um processo completo. Concentra-se na representação do fluxo de
controle e no fluxo de objeto de uma atividade. [ CITATION Gue05 \l 2070 ]
Diagrama de Sequencia: “preocupa-se com a ordem temporal em que as mensagens
são trocadas entre os objetos envolvidos em um determinado processo. Em geral,
baseia-se em um Caso de Uso definido pelo diagrama de mesmo nome e apóia-se no
Diagrama de Classes para determinar os objetos das classes envolvidas em um
processo, bem como os métodos disparados entre os mesmos”. [ CITATION Gue05 \l
2070 ]
9
1.4.1. Modelo Conceitual
Quando se fala de modelo conceitual, estamos nos referindo a primeira etapa do projecto de
um sistema de aplicação de base de dados.
O modelo logico tem seu início a partir do Modelo Conceitual, levando em consideração uma
das três abordagens actualmente possíveis: Relacional, Hierárquica e Rede.
O modelo logico descreve a estrutura que estarão contidas na base de dados, de acordo com as
possibilidades permitidas pela abordagem, mas sem considerar ainda nenhuma característica
especifica de um sistema Gerenciador de Base de Dados (SGBD), resultando em um esquema
logico de dados sob a óptica de uma das abordagens citadas. [ CITATION Fel04 \l 2070 ].
Esta é a etapa final do projecto de Base de Dados, na qual será utilizada a Linguagem de
Definição de Dados do SGBD (DDL), para a realização da montagem do mesmo no nível do
Dicionário de Dados. [ CITATION Fel04 \l 2070 ].
O conceito normalização foi introduzindo por E. F. Cood em 1970 (primeira formal normal).
Primeira Forma Normal (1FN): a 1FN diz que na tabela não pode houver um grupo
de dados repetidos, isto é, se todos os valores forem únicos. Em outras palavras
10
podemos definir que a primeira forma normal não admite repetições ou campos que
tenha mais que um valor.
Segunda Forma Normal (2FN): a 2FN diz que a tabela deve estar na 1FN e todos os
atributos não chave forem totalmente dependentes da chave primária (dependente de
toda a chave e não apenas de parte dela).
Terceira Forma Normal (3FN): a 3FN diz que a tabela deve estar na 2FN e que
nenhum atributo não chave pode depender funcionalmente de algum outro atributo que
não seja a chave primária.
1.5. Programação
1.5.1. POO
11
Classes: “a definição de classes e seus inter-relacionamentos é o principal resultado da etapa
de projeto de software. Em geral, esse resultado é expresso em termos de alguma linguagem
de modelagem, tal como UML.
Uma classe é um gabarito para a definição de objetos. Através da definição de uma classe,
descreve-se que propriedades ou atributos o objeto terá.
Os métodos definem as funcionalidades da classe, ou seja, o que será possível fazer com
objetos
dessa classe. Cada método é especificado por uma assinatura, composta por um identificador
para o método (o nome do método), o tipo para o valor de retorno e sua lista de argumentos,
sendo cada argumento identificado por seu tipo e nome.”
Objetos: Objetos são instâncias de classes. É através deles que (praticamente) todo o
processamento ocorre em sistemas implementados com linguagens de programação orientadas
a objetos. O uso racional de objetos, obedecendo aos princípios associados à sua definição
conforme estabelecido no paradigma de desenvolvimento orientado a objetos, é chave para o
desenvolvimento de sistemas complexos e eficientes.
12
Um objeto é um elemento que representa, no domínio da solução, alguma entidade (abstrata
ou concreta) do domínio de interesse do problema sob análise. Objetos similares são
agrupados em classes.
Da mesma forma, quando se cria um objeto, esse objeto adquire um espaço em memória para
armazenar seu estado (os valores de seu conjunto de atributos, definidos pela classe) e um
conjunto de operações que podem ser aplicadas ao objeto (o conjunto de métodos definidos
pela classe). Um programa orientado a objetos é composto por um conjunto de objetos que
interagem através de “trocas de mensagens”. Na prática, essa troca de mensagem traduz-se na
aplicação de métodos a objetos.”
Herança é um mecanismo que permite que características comuns a diversas classes sejam
factoradas em uma classe base, ou superclasse. A partir de uma classe base, outras classes
podem ser espenicadas.”
Polimorfismo: “Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma
mesma superclasse podem invocar métodos que têm a mesma identificação
(assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando
para tanto uma referência a um objeto do tipo da superclasse. Esse mecanismo é fundamental
na programação orientada a objetos, permitindo definir funcionalidades que operem
genericamente com objetos, abstraindo-se de seus detalhes particulares quando esses não
forem
necessários.”
13
envolve alguns detalhes para a implementação, e apresentaremos como eles funcionam dentro
do ASP.NET MVC. [ CITATION Hen14 \l 2070 ].
Uma das grandes vantagens do MVC Framework é a flexibilidade que ele permite ao
desenvolvedor. A ideia é que o programador tenha liberdade para preparar a plataforma da
forma que é melhor para seu estilo de desenvolvimento. Por isso, para a maioria dos projetos
é interessantes começarmos com um projeto vazio, como veremos, e construir a nossa
aplicação baseada nisso. [ CITATION Hen14 \l 2070 ].
Nesse contexto existem diversas técnicas que podem ser aplicadas em diferentes momentos e
de diferentes formas para validar os aspectos principais do software. A seguir será
apresentado conceitos fundamentais do teste de software e como aplicá-los.[CITATION
dev19 \l 2070 ]
Testes Funcionais
Além dos tipos de software que avaliam o código dos programas, existem alguns que visam
analisar seu comportamento externo: os testes funcionais. Normalmente esse tipo de teste se
baseia nos requisitos do sistema e consiste de realizar ações de uso real no sistema, entrando
com dados e avaliando seu retorno.
Testes de Integração
Os testes de integração, como o nome sugere, têm por objetivo unir os diversos módulos do
sistema e testá-los em conjunto.
Testes de Segurança
Teste Unitários
Os testes unitários têm por objetivo validar pequenas partes do software com base em suas
entradas possíveis e saídas esperadas. As unidades usadas nesse tipo de teste são as menores
14
partes testáveis de um sistema, normalmente funções, que recebem argumentos e retornam um
determinado valor ou efetuam alguma ação cujo resultado pode ser analisado.
O modelo cliente-servidor foi desenvolvido na Xerox PARC durante os anos 70. Este modelo
é actualmente o predominante nas redes informáticas. Email, a World Wide Web e redes de
impressão são exemplos comuns deste modelo.
15
CAPÍTULO 2 – METODOLOGIA
Neste capítulo iremos informar quais os métodos ou tipo de pesquisa que foram utilizados
para realizar a nossa pesquisa, qual instrumento usado para a colecta de dados, o cenário e os
indivíduos participantes da investigação.
16
2.2. Tipo de estudo e técnicas de recolha de dados
Utilizamos o estudo de caso como tipo de pesquisa, nos possibilitou efectuar um estudo
cuidado e detalhado do nosso campo de estudo e a observação não participante e analise
documental como técnicas de recolha de dados.
Através das técnicas mencionadas, foi possível observar a necessidade dos utentes em obter a
informação exata das clínicas e conhecer as suas especialidades. Também foi possível
efectuar a análise documental (documento eletrónico) através do Google para perceber e
conhecer o número de clínicas que possuem soluções web.
18
RF5 Remarcar Consultas A plataforma deverá permitir aos utentes fazer a
remarcação de consultas.
RF6 Cancelar Consulta A plataforma deverá permitir aos utentes fazer a
cancelamento de consultas.
RF7 Gerir Clinicas A plataforma deverá permitir fazer a gestão de
clinicas.
19
Tabela 2: Requisitos Não Funcionais
20
Figura 1: Diagrama de caso de uso
21
Figura 2: Diagrama de Actividades
22
Figura 3: Diagrama de Sequência
Na figura 4 apresentamos o diagrama de classe do sistema, onde nos mostra como o sistema
está constituído internamente e as relações entre si.
23
Figura 4: Diagrama de Classe
Um dicionário de dados é uma coleção de dados que contem características logicas dos dados
que serão utilizados na modelagem do modelo lógico.
25
Tabela Município
Tabela Distrito
Tabela Bairro
Tabela Rua
26
Atributos Tipo de Dados Permissão Chave
TipoUsuarioId Int Não Nulo Primária
TipoUsuario Varchar(50) Não Nulo
Tabela 7: Tabela Perfil
Tabela Usuario
Tabela Especialidade
Tabela Utente
Tabela Admin
27
Atributos Tipo de Dados Permissão Chave
AdminId Int Não Nulo Primária
UsuarioId Int Não Nulo Estrangeira
DataRegisto DateTime Não Nulo
Tabela 11: Tabela Administrador
Tabela Clinica
Tabela Exame
28
Tabela 14: Tabela Consulta
Tabela Médico
29
Atributos Tipo de Dados Permissão Chave
EspecialidadeId Int Não Nulo Primária, Estrangeira
MedicoId Int Não Nulo Primária, Estrangeira
Tabela 19 : Tabela Especialidade Médico
Tabela CalendarioClinica
30
2.7.7. Modelo Lógico
A partir do modelo conceitual, criamos o modelo lógico como mostra a figura 6, este modelo
mostra as chaves primárias, estrangeiras e as relações entre as entidades.
31
TbExameClinica
TbExame
ExameId
TbClinica ExameId
ClinicaId ClinicaId
Exame
Clinica PrecoExame
Especialid adeId
Email
Telefone
HoraTrabalho
Imagem
TbEspecialidadeClinica
LatiitudeClinica ClinicaId TbEspecialidade
EspecialidadeId
LongitudeClinica Especialid adeId
Especialidade
RuaId
TbUsuario
UsuarioId
Nome TbTipoUsuario
TbAdmin Email Tip oUsuarioId
DataMarcacao
HoraConsulta TbUtente
UtenteId
TbBairro ClinicaId TbEspecialidadeMedico
BairroId Telemovel MedicoId
EspecialidadeId
Bairro DataRegisto Especialid adeId
Dis tritoId
TbCalendarioMedico
TbDistrito CalendarioId
Dis tritoId TbMedico
DataCalendario MedicoId
Dis trito
HoraAtendimento NomeMedico
Municipio Id
ClinicaId NOM
TbGestorClinica
GestorId GestorId
ClinicaId
DataRegisto
TbMunicipio
Municipio Id
TbMedicoClinica
Municipio
Medic oId
ClinicaId
Estado
GestorId
CAPÍTULO 3 - RESULTADOS
32
A plataforma Consulting Clinic tem 3 tipos de usuários registados na base de dados que são:
Utente, Clinica, Admin, os utilizadores utentes vão poder fazer uso das seguintes
funcionalidades: Marcar consultas, Ver a localização das clinicas e fazer a impressão das
marcações feitas pelos utentes ou guardar como formato pdf, os utilizadores Gestor de
clinicas vão poder ver as marcações de consultas feitas pelos utentes, atualizar as suas
informações, registar especialidades e ver as especialidades registadas. O utilizador Admin
vai fazer a gestão dos outros utilizadores.
A figura 6 apresenta a página de Login do sistema, onde os utilizadores terão que inserir as
suas credencias para poder fazer uso das funcionalidades do sistema.
33
3.2.2. Registo de Utente
Esta figura 7 nos apresenta a página de registo de utente, o registo de utente é feito por um
utilizador anonimo, esta funcionalidade atende ao requisito funcional registar utente.
35
3.2.5. Página de endereço das clínicas
Esta é página onde o utente visualiza todas as clinicas registadas na plataforma Consulting
Clinic, e a partir desta página o utente veja o endereço das clinicas e tem a opção de fazer a
marcação de consulta.
36
CONCLUSÃO
Chegou-se a conclusão que o presente trabalho veio ajudar os utentes devido os problemas na
localização de clinicas de especialidades. Os problemas encontrados relacionados com: a
localização de clinicas e marcação de consultas e muitos outros, serão resolvidas com a
implementação da plataforma Consulting Clinic.
Com a plataforma Consulting Clinic em funcionamento, será possível marcar consultas sem
sair de casa e ver os preços das consultas nas respectivas clinicas.
RECOMENDAÇÃO
37
BIBLIOGRAFIA
Livros:
Guedes, Gilleanes T.A. 2005. Guia de Consulta Rápida UML 2. s.l. : Novatec Editora, 2005.
Machado, Felipe Nery Rodrigues e Abreu, Maurício Pereira de. 2004. Projecto de Banco
de Dados: Uma Visão Prática. s.l. : Editora Érica Ltd, 2004.
Sommerville, Ian. 2011. Engenharia de Software. São Paulo : Peason Education, 2011.
Sites: