Trabalho Clínica Médica

2
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LTP III PROF. HÉLDER SEIXAS LIMA Trabalho Sistema de Gestão de Clínica Médica Valor: 20 pontos Data 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

Transcript of Trabalho Clínica Médica

Page 1: 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

Page 2: Trabalho Clínica Médica

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.