Trabalho Clínica Médica
-
Upload
helderseixas -
Category
Documents
-
view
161 -
download
4
Transcript of Trabalho Clínica Médica
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
LTP IIIPROF. HÉLDER SEIXAS LIMA
TrabalhoSistema de Gestão de Clínica Médica
Valor: 20 pontosData de entrega: 18/07/2012
Objetivo:
Este trabalho tem por objetivo que o aluno exercite os conceitos centrais da Orientação por Objetos em Java: classes, objetos, atributos, métodos, herança e polimorfismo; interfaces gráficas (Swing); persistência de dados em Java (JPA) e arquitetura em camadas (Apresentação, Negócio e Persistência).
Forma de realização do trabalho:
O trabalho poderá ser realizado em duplas.
Especificação do trabalho:
Uma clínica médica deseja informatizar os seus processos internos. A aplicação possui os seguintes requisitos:
- Cadastro de pacientes:O sistema deverá manter o cadastro dos pacientes da clínica. Para cada paciente, deseja-se armazenar: nome, data de nascimento, endereço, telefone de contato e CPF (obs.: a clínica não atende crianças, apenas pessoas com mais de 12 anos).
- Cadastro de médicos:O sistema deverá manter o cadastro dos médicos que atendem na clínica. Para cada médico, deverá ser armazenado: nome, data de nascimento, endereço, telefone de contato, CPF, CRM, ano de obtenção do CRM, preço de sua consulta e suas especialidades (obs.: a clínica não trabalha com médicos que tenham menos de 5 anos de experiência e cobrem menos de R$ 100,00 a consulta).
- Cadastro de especialidades médicas:Deseja-se manter um cadastro de especialidades médicas. Para cada especialidade, informa-se o código e a sua descrição.
- Cadastro de empresas conveniadas:A clínica mantém convênios com algumas empresas. Isto implica em um percentual de desconto no preço das consultas dos funcionários das empresas conveniadas. Para cada empresa conveniada, deseja-se armazenar: nome, endereço, telefone de contato, CNPJ e percentual de desconto em consultas.
- Agendamento de consultas:Os agendamentos das consultas são realizados pela secretária da clínica. Ela deve informar a
data e hora da consulta, o paciente e o médico. Deve ser possível buscar o paciente pelo CPF ou parte do nome, já o médico deve ser encontrado através do CRM, parte do nome ou especialidade médica. Sabe-se que a clínica trabalha com consultas padrões de 30 minutos e que o expediente se inicia as 09:00 e termina as 18:00. No momento do agendamento da consulta o paciente é informado do valor que terá que desembolsar pela consulta, de acordo com a política da clínica, é concedido desconto de 50% para idosos (pessoas com mais de 65 anos). Por fim, um médico pode atender no máximo 12 consultas por dia.
- Relatórios:Consultas do dia: lista todos os pacientes e médicos com consulta agendada para um dia específico. Por padrão o sistema exibe o dia corrente.Médicos: lista todos os médicos cadastrados na clínica e respectivas especialidades.Faturamento: exibe para cada especialidade médica a quantidade de reais que irá faturar nas consultas realizadas entre um intervalo de datas.
Roteiro para resolução do exercício:1. Analisar domínio do problema
Consiste em realizar uma análise orientada a objetos das classes/atributos/comportamentos que representam o domínio/contexto do problema. Pode-se esboçar um diagrama de classes da UML para auxiliar neste processo.
2. Criar pacotes para as camadas e colunasCriar pacotes aprsentacao, negocio, persistencia e entidade.
3. Criar banco de dados4. Criar unidade de persistência
Primeiro se importa do driver JDBC e depois procede a criação da unidade de persistência.
5. Implementar classes de entidadeConsiste em escrever em código Java as classes identificadas na análise do domínio. Deve-se realizar o mapeamento definindo as anotações do JPA.
6. Criar telaConsiste em definir os componentes visuais da tela. Neste momento não se implementa o comportamento de eventos da tela, apenas, se organiza a tela visualmente.
7. Implementar os fluxoImplemente um fluxo de cada vez. Um fluxo é cada ação do sistema, por exemplo: cadastrar paciente, alterar paciente, excluir paciente e filtrar paciente.
Lembrete/dicas:1. Pense nas responsabilidades das camadas e então procure implementar os respectivos
códigos nas camadas adequadas;2. Respeite a hierarquia das camadas. Por exemplo: a camada de apresentação não deve acessar
a camada de persistência diretamente;3. Utilize nomes intuitivos para classes, atributos, métodos e variáveis;4. Evite duplicação de código;5. Utilize o levantamento/tratamento de exceção para representar fluxos de exceção nas regras
de negócio;6. Tente implementar telas com boa usabilidade;7. Utilize a classe java.util.Date para representar as datas;8. Utilize a classe java.text.SimpleDateFormat para fazer conversão de datas;9. Utilize a classe java.util.GregorianCalendar para fazer operações.