ClinSOFT
Augusto José
Edson Guedes
Guilherme Oikawa
Paulo Roberto
Roteiro
•
•
•
•
•
Descrição
Projeto de Caso de Uso
Projeto dos Subsistemas
Projeto das Cápsulas
Referências
Descrição
O ClinSoft tem como principais
metas:
• Gerenciar a marcação de
consultas dentro de uma clínica
médica;
• Facilitar o atendimento de um
paciente.
Casos de uso
Projeto de Caso de Uso
• Caso de Uso escolhido:
[RF_04] Procurar Consulta
• Projeto:
– Visão do caso de uso;
– Diagrama de Classes;
– Diagrama de Seqüência.
Casos de uso
Visão do Caso de Uso
• Descrição: Funcionalidade que permite o
acesso a uma lista de consultas cadastradas
no sistema, de acordo com parâmetros
(filtros) informados pelo ator.
• Fluxo Principal:
1.O ator acessa a tela de busca de consultas;
2.O ator informa dados para refinar a busca
(filtros da busca);
3.O ator clica em procurar;
4.O sistema procura as consultas que atendem
aos parâmetros informados;
Casos de uso
Projeto de Caso de Uso
5.O sistema exibe uma lista com dados
gerais das consultas encontradas,
incluindo links para detalhamento de
cada consulta e também edição ou
cancelamento.
• Fluxo Secundário:
- No passo 5, o sistema informa que
não existem consultas marcadas que
atendem aos parâmetros especificados
na pesquisa.
Diagrama de Classes
Diagrama de Seqüência
/ telaProcurarConsultaR1
: TelaProcurarConsulta
/ fachadaR1
: Fachada
/ controladorProcurarConsultaR1
...
/ cadastroConsultasR1
...
: ControladorProcurarConsulta
...
: CadastroConsultas
... / iRepositorioConsultasR1
: IRepositorioConsultas
/ repositorioConsultasOracleR1
...
: RepositorioConsultasOracle
...
/ usuarioR1
: Usuario
procurarConsulta(dadosConsulta)
consulta = procurarConsulta(dadosConsulta)
procurarConsulta(dadosConsulta)
procurar(dadosConsulta) procurar(dadosConsulta)
(consulta != null) VisualizarConsulta(consulta)
procurar(dadosConsulta)
Projeto dos Subsistemas
• 2 Subsistemas:
– Comunicação com os planos de
saúde: verificar se já existe uma
consulta marcada para o paciente na
rede de hospitais e clínicas credenciadas
para o dia informado na tentativa de
marcação da consulta. Caso não exista
uma consulta para o paciente informado
no mesmo horário da consulta que se
deseja marcar, a marcação é, então,
confirmada.
Projeto dos Subsistemas
− Comunicação com hospitais e clínicas
conveniados: validar os dados do paciente
junto ao plano de saúde no momento da
marcação de uma consulta. Dados de
identificação do paciente e do plano de saúde
do mesmo são enviados ao subsistema, que
verifica a autenticidade das informações e a
validade do plano de saúde do paciente.
Subsistemas
Subsistema 1 – Planos de Saúde
• Diagrama de Classes
• Diagrama de Seqüência
Subsistemas
Diagrama de Classes
Subsistemas
Diagrama de Seqüência
/ fachadaComunicacaoPlanosSaudeR1
... / controladorValidarUsuarioPlanoSaudeR1
... / cadastroUsuariosPlanoSaudeR1
...
/ repositorioUsuariosPlanoSaudeOracleR1
...
: FachadaComunicacaoPlanosSaude
... : ControladorValidarUsuarioPlanoSaude
... : CadastroUsuariosPlanoSaude
... / iRepositorioUsuariosPlanoSaudeR1
...
... : RepositorioUsuariosPlanoSaudeOracle
: IRepositorioUsuariosPlanoSaude
...
/ qualquerClienteR1
: QualquerCliente
validarUsuarioPlanoSaude(dadosPaciente, dadosPlano)
validarUsuarioPlanoSaude(dadosPaciente, dadosPlano)
usuarioPlano = procurar(dadosPaciente)
procurar(dadosPaciente)
procurar(dadosPaciente)
dadosValidos = isValido(usuarioPlano, dadosPlano)
dadosValidos
Subsistemas
Subsistema 2 – Hospitais
• Diagrama de Classes
• Diagrama de Seqüência
Subsistemas
Diagrama de Classes
Subsistemas
Diagrama de Seqüência
/ fachadaComuncacaoHospitaisR1
... / controladorValidarConsultaHospitalR1
...
/ cadastroConsultasR1
: FachadaComuncacaoHospitais
... : ControladorValidarConsultaHospital
...
: CadastroConsultas
/ iRepositorioConsultasR1
...
...
/ repositorioConsultasOracleR1
: RepositorioConsultasOracle
/ qualquerClienteR1
: QualquerCliente
validarConsulta(consulta)
validarConsulta(consulta)
existeConsulta = existe(consulta)
isValida = !existeConsulta
existe(consulta)
existe(consulta)
Projeto das Cápsulas
• O caso de uso escolhido para o
projeto de cápsulas foi o Marcar
Consulta
• Marcar consulta envolve 2
subsistemas acessados
concorrentemente: o de planos
de saúde e o de hospitais
• Recebem como resposta
booleanos de confirmação
Cápsulas
TelaMarcarConsulta
+ / portaFachada
: ProtocoloTelaMarcarConsulta~
# / timer
: Timing
Cápsulas
TelaMarcarConsulta
Initial
solicitaMarcacao
Aguardando
EsperandoDados
finaliza
Cápsulas
Fachada
+ / portaFachada
: ProtocoloTelaMarcarConsulta
+ / portaControladorMarcarConsulta
: ProtocoloFachada~
Cápsulas
Fachada
Initial
AguardandoSolicitacao
recebeConfirmacao
solicitaMarcacao
EsperandoDados
Cápsulas
ControladorMarcarConsulta
+ / portaComunicacaoPlanos
: ProtocoloControladorMarcarConsulta~
+ / portaComunicacaoHospitais
: ProtocoloControladorMarcarConsulta~
+ / portaFachada
: ProtocoloControladorMarcarConsulta
Cápsulas
ControladorMarcarConsulta
Initial
Aguardando
recebeuSolicitacao
ComunicandoSubsistemas
recebeuDadosHospitais
recebeuDadosPlanos
recebeuDadosPlanos
recebeuDadosHospitais
EsperandoHospitais
EsperandoPlanos
Cápsulas
ComunicacaoHospitais
+ / portaControladorMarcarConsulta
: ProtocoloComunicacaoHospitais
Cápsulas
ComunicacaoHospitais
Initial
EsperandoComunicacao
recebeuDadosHospitalA
recebeuDadosHospitalB
EsperandoHospitalA
recebeuSolicitacao
EsperandoHospitalB
recebeuDadosHospitalA
recebeuDadosHospitalB
ComunicandoHospitais
Cápsulas
ComunicacaoPlanos
+ / portaControladorMarcarConsulta
: ProtocoloComunicacaoPlanos
Cápsulas
ComunicacaoPlanos
Initial
EsperandoSolicitacao
recebeDados
recebeuSolicitacao
EsperandoPlano
Cápsulas
Diagrama de estruturas
/ capsulaTelaMarcarConsultaR1
+ / portaFachada
: CapsulaTelaMarcarConsulta
: ProtocoloTelaMarcarConsulta~
+ / portaFachada
: ProtocoloTelaMarcarConsulta
/ capsulaFachadaR1
: CapsulaFachada
+ / portaControladorMarcarConsulta
: ProtocoloFachada~
+ / portaFachada
: ProtocoloControladorMarcarConsulta
/ capsulaControladorMarcarConsultaR1
: CapsulaControladorMarcarConsulta
+ / portaComunicacaoHospitais
: ProtocoloControladorMarcarConsulta~
+ / portaControladorMarcarConsulta
: ProtocoloComunicacaoPlanos
/ capuslaComunicacaoPlanosR1
: CapsulaComunicacaoPlanos
+ / portaComunicacaoPlanos
: ProtocoloControladorMarcarConsulta~
+ / portaControladorMarcarConsulta
: ProtocoloComunicacaoHospitais
/ capsulaComunicacaoHospitaisR1
: CapsulaComunicacaoHospitais
Referências
• Página do Projeto:
http://clinsoft.googlepages.com
• Texto sobre Análise e Projeto de
Sistemas:
http://www.inf.ufsc.br/~raul/livro/
• Aulas do curso de Análise e
Projeto de Sistemas:
http://www.cin.ufpe.br/~if718
Download

clinsoft