Relatório do 1ºProjecto. Gestão de uma Clínica Médica



Documentos relacionados
GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Universidade do Minho Licenciatura em Engenharia Informática

Base de Dados para Administrações de Condomínios

Rock In Rio - Lisboa

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Guia de Prova de Aptidão Profissional

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO

Sumário. Uma visão mais clara da UML

EXERÍCIOS DE MODELAGEM DE BANCO DE DADOS

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

UML (Unified Modelling Language) Diagrama de Classes

Trabalho de Desenvolvimento de Sistemas de Software GereComSaber 1ª Fase

Como usar o bluej. Laboratório I Prof.ª Vera Alves

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS (GRUPO INFORMÁTICA) Ano Letivo de 2014/2015 MÓDULO 1 FOLHA DE CÁLCULO

Direcção Regional de Educação do Algarve

2 Diagrama de Caso de Uso

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Gestão de Venda de Jogos

UML: Diagrama de Casos de Uso, Diagrama de Classes

Polimorfismo. Prof. Leonardo Barreto Campos 1

Relacionamentos entre classes

Desenvolvimento de Sistema de Software

PLANIFICAÇÃO DE GESTÃO DE BASE DE DADOS

Relatório de Análise de Requisitos

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

Modelo Lógico e Físico da Base de Dados

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

Portal AEPQ Manual do utilizador

Aplicações de Escritório Electrónico

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

Nome COMPLETO: Nº: Leia atentamente as notas que se seguem. Só depois deve iniciar o exame.

ENGENHARIA DE SOFTWARE ExtremePlanner

MANUAL DO GESTOR DE FINANÇAS

Gerenciador de Log Documento Visão. Versão 2.0

Manual de Utilizador

- A crescente necessidade de sistemas inteligentes e de aquisição de conhecimento levaram à necessidade de implementação de Data Warehouses.

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

Programação Visual 04/05 - EstMedia. Manual do Utilizador. Realizado por Gustavo Patrício nº 4757 António Espingardeiro nº 4328

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Apresentação da Solução. Divisão Área Saúde. Solução: Gestão de Camas

Análise e Projeto de Sistemas

Trabalho de Desenvolvimento de Sistemas de Software GereComSaber 2ª Fase

Controle de Almoxarifado

Tarefa Orientada 2 Criar uma base de dados

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

CURSO DE EXTENSÃO ON-LINE EM. avançado. Edital de seleção

Processo de desenvolvimento de sistema de informação - DSI

LINGUAGEM DE BANCO DE DADOS

[EIC0110] Concepção e Análise de algoritmos Trabalho de Grupo 2: Tema 4. Auto-Complete. Turma 3 Grupo 13. Maio de 2011

Aplicação Administrativa de Gestão

Manual de Utilizador de Clínicas.

PERIVER PLATAFORMA SOFTWARE REQUIREMENT SPECIFICATION. Periver_SoftwareRequirementSpecification_ _v1.0.doc. Versão 1.0

Sistemas de Informação

Gestão de projectos na Web

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Apresentação de Solução

UML Aspectos de projetos em Diagramas de classes

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Software automatizado para controle de consultas da clínica de fisioterapia

Manual das planilhas de Obras

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

MANUAL DO GERENCIADOR ESCOLAR WEB

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Tema 1: Modelo Estático

Plano de Trabalho Docente Ensino Técnico

Formação de gestão de páginas de Facebook

Capítulo Tabelas e Gráficos

Manual do Módulo SAC

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

MANUAL RÁPIDO DE UTILIZAÇÃO

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Manual do Utilizador GESTFOR Gestão da Formação

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Trabalho de Grupo Gestão de Projecto e Gestão de Processos de Negócio

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Linguagem algorítmica: Portugol

4.2. UML Diagramas de classes

Feature-Driven Development

Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos

O gerador terá que disponibilizar um factory que permita ao coordenador obter uma instância para o mesmo.

Especificação do 3º Trabalho

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016

SISTEMA DE GERENCIAMENTO DO PROGRAMA NACIONAL DE DRAGAGEM META 03

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Engenharia de Software III

E B I / J I d e T Á V O R A

PROJETO DA DISCIPLINA. PES II Processo de Engenharia de Software II

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

Transcrição:

Relatório do 1ºProjecto Gestão de uma Clínica Médica Cátia Cruz: ei08134@fe.up.pt Gaspar Furtado: ei08072@fe.up.pt Miao Sun: ei08162@fe.up.pt Grupo 5 <Turma 4> Algoritmos e Estruturas de Dados Prof. Ana Paula Cunha da Rocha Prof. Rosaldo José Fernandes Rossetti Prof. Antonio Jesus Monteiro de Castro Mestrado Integrado em Engenharia Informática e Coumputação 2010-11-03

1 Descrição do Trabalho: Este projecto foi desenvolvido no âmbito da disciplina de Algoritmos de Estruturas de Dados usando como plataforma de desenvolvimento as ferramentas Eclipse e Visual Studio 2010. O objectivo deste trabalho édesenvolver uma aplicação em C++ capaz de gerir uma Clínica Médica. Pretende-se que a aplicação consiga: Gerir as pessoas pertencentes à clínica; Gerir as marcações efectuadas; Nesta clínica médica épossível fazer uma gestão das pessoas que fazem parte da clínica, sendo elas, médicos, doentes e funcionários. Como gestão entende-se adicionar mais membros àclínica, através da adição dos seus dados pessoais, editar, caso necessário, os dados de cada um dos membros da clínica e apaga-los. O mesmo acontece com a gestão das marcações, onde épossível também adicionar, editar e apagar uma marcação. 1

2.2 Implementação das classes e algoritmos utilizados O projecto foi iniciado pela construção de todas as classes em modelo UML, seguido de uma análise para perceber como iria ser concebido na linguagem de programação C++. Por fim passou-se àimplementação do código. À medida que ia sendo investido tempo no projecto e consoante o aparecimento de novas ideias, o modelo UML sofreu algumas alterações. Neste projecto optou-se pela implementação de oito classes (Manutenção, Marcação, Exame, Consulta, Pessoa, Médico, Paciente e Funcionário). - Classe Pessoa: Classe base das classes Médico, Paciente e Funcionário. É uma classe puramente virtual, ou seja, nenhum objecto se cria a partir desta classe mas sim das suas subclasses. Contém como atributos o nome, data de nascimento, o ID (único de cada Pessoa), e tipo (que define qual o tipo de Pessoa: Médico, Funcionário ou Doente). - Classe Médico: Classe derivada da classe Pessoa. Para além de herdar os atributos derivados de Pessoa acrescenta também os atributos Especialidade, Horário e Vencimento àclasse. - Classe Doente: Classe derivada da classe Pessoa. Para além dos atributos derivados de Pessoa acrescenta também os atributos Morada àclasse. - Classe Funcionário: Classe derivada da classe Pessoa. Para além dos atributos de Pessoa acrescenta também os atributos Cargo e Vencimento àclasse. - Classe Marcação: Classe base das classes Consulta e Exame. É puramente virtual, ou seja, os objectos são criados a partir das suas classes derivadas. Tem como atributos data, hora, ID (único para cada Marcação) e tipo (que define qual o tipo de Marcação: Consulta ou Exame) -Classe Consulta: Classe derivada da classe Marcação. Os seus atributos derivam da classe Marcação. -Classe Exame: Classe derivada da classe Marcação. Para além dos atributos derivados de Pessoa acrescenta também o atributo sala. -Classe Manutenção: Classe Principal. Classe onde se dáa gestão de Pessoas e de Marcações. 2

3 UML: 3

4 Casos de Utilização da aplicação: O gestor da base de dados pode: Adicionar uma Pessoa do tipo Médico, Doente ou Funcionário ao sistema; Adicionar uma Marcação do tipo Consulta ou Exame ao sistema; Editar qualquer um dos atributos de um Médico, Doente ou Funcionário; Fazer alterações às Marcações feitas anteriormente; Atribuir um funcionário a cada médico; Atribuir um conjunto de médicos a cada doente, que o acompanham; Apagar qualquer Pessoa registada no sistema; Apagar qualquer Marcação; Relato das principais dificuldades encontradas no desenvolvimento do trabalho: Para armazenamento das pessoas ligadas ao sistema optou-se por uma única estrutura linear de dados (vector) da superclasse Pessoa, e, em consequência disso, a primeira dificuldade foi a de conseguir distinguir entre os três tipos de pessoas. Para tal, a solução que se arranjou foi ter um atributo tipo na classe Pessoa que identifica o tipo de pessoa que se trata. Como consequência deste tipo de armazenamento de dados, houve a necessidade de criar um conjunto elevado de funções abstractas, específicas de cada uma das subclasses. 4