CookBook Agendamentodeconsultas G5

Embed Size (px)

DESCRIPTION

CookBook do trabalho prático de desenvolvimento de softwares.

Citation preview

  • UniversidadeFederaldoMatoGrossodoSulFaculdadedeComputao

    MestradoAcadmicoemCinciasdaComputao

    ManualdeinstacianciaodaLPSdeSistemaparaAgendamentodeConsultas

    Petrica,EderPerin,ElitonL.STomas,YuriK.B.

    1. DescrioA LPS do sistema no domnio de agendamento de consultas consiste

    basicamente em agendar as consultas para os pacientes apontando o profissional que ir atendlo e o funcionrio que realizou o agendamento. Ele poder ainda gerar relatrios das consultas e de carga horria do profissional, que sero obtidos atravs do perodo da consulta. H ainda a possibilidade de um sistema neste domniopermitirqueoagendamentosejafeitopeloprpriousurio.

    A LPS foi implementada sobre o sistema de versionamento Git disponvel atravs do link https://github.com/dominiodeconsultas, onde encontramse tambm adocumentao,diagramaseimplementaesrealizadas.

    2. ModelodeFeaturesO modelo de features criado para desenvolver o projeto foi o apresentado na

    Figura1comasuasvariabilidades.

    1

  • Figura1:Modelodefeaturessistemadeagendamentodeconsultas.

    3. CasodeUsoImplementadosnaLPSO caso de uso implementado foi Gerenciar Consulta, para isso foi

    necessrio implementar tambm os casos de uso Gerenciar Paciente, Gerenciar Mdico e Gerenciar Cronograma, pois, esto correlacionada, como por exemplo, uma consulta que precisa ser marcada em um horrio pertencente ao cronograma domdico,issoarelaoentreomedicoeopaciente.

    Para simplificar a implementao, para cada um dos casos de uso citados acima (referentes a Paciente, Mdico e Cronograma), foram implementadas apenas as funcionalidades de criao e listagem de cada uma delas. Ainda para simplificar, foi omitida da implementao a existncia dos tipos de usurio, de forma que todos

    2

    UsuarioRiscado

    UsuarioTexto digitadoos

    UsuarioRiscado

    UsuarioTexto digitado

    UsuarioNotaDestacar features implementadas

  • os usurios do sistema possuem as mesmas caractersticas (atributos e permisses)esoutilizadosapenasporfuncionriosadministrativosdoconsultrio.

    Baseadonistoosseguintescasosdeusoforamimplementados: Usurio Mdico Paciente Cronograma Consulta

    Figura2:Variabilidadesimplementadas.

    4. DiagramadeClassesAfigura3apresentaodiagramadeclassesdanossaLPS.

    3

    UsuarioRiscado

    UsuarioTexto digitadoa

    UsuarioRiscado

    UsuarioTexto digitadofeatures

    UsuarioRiscado

    UsuarioTexto digitadoa

    UsuarioTexto digitadoe esto exibidas na Figura 2

    UsuarioRealceNome consistente com a feature

    UsuarioRealceretirar essa figura

    UsuarioRiscado

    UsuarioTexto digitadoF

    UsuarioRiscado

    UsuarioTexto digitado de Agendamento de Consultas

    UsuarioTexto digitadoEsse diagrama possui trs pacotes:- pacote ??: ????????/- pacote ??: ????

  • Figura3:Diagramadeclassesdosistemadeagendamentodeconsultas.

    5. DescriodasClassesBsicasAs classes criadas, seus atributos e mtodos podem ser melhor conferidos

    atravs do JavaDoc gerado partir do cdigo da implementao realizada. O acesso a tal documento pode ser feito atravs da pasta doc/, contida na pasta que representa o projeto da implementao no Eclipse IDE (https://github.com/dominiodeconsultas/lpsconsultas/tree/master/doc).

    6. Descrio da Classe de Acesso a Dados (DAO) e o Banco deDadosFoi utilizado na implementao deste trabalho uma ferramenta auxiliar para

    realizar o mapeamento objetorelacional(ORM) o Hibernate. A verso do Hibernate 4.3.10 final. A IDE utilizada foi o Eclipse que tambm foi escolhida por conveno da disciplina. Ns usamos a verso Eclipse Mars. Para utilizar o Hibernate dentro da IDE foi necessrio instalar outras ferramentas dependentes como o JBoss 5.0

    4

    UsuarioNotaPq partes das est em ingles e parte est em portugues? Uniformizar (analisar o impacto para realizar essa mudana)

    UsuarioRiscado

    UsuarioTexto digitadoo

    UsuarioRiscado

    UsuarioTexto digitadoframework

    UsuarioRiscado

    UsuarioTexto digitadoHibernate

    UsuarioRiscado

    UsuarioRiscado

    UsuarioTexto digitadoFoi utilizada

    UsuarioRealcecolocar tabela contendo:

    Feature + Classe + Metodo(explicitar as comunalidades - por exemplo, em negrito; e as variabilidades - por exemplo, sublinhadas)

  • verso final para fazer o ORM, o Log4J para controlar os logs exibidos no terminal e impressos em arquivo e por fim o Mylyn para gerenciar as dependncias. As outrasdependnciasrelacionadasaoJBosseLog4JsoresolvidascomoMylyn.

    Utilizouse o banco de dados MySQL na verso 5.6. Para a instanciao do projeto foi necessrio a configurao do Hibernate que faz o mapeamento objetorelacionaleconexoentreaaplicaoeobancodedados.

    Como o Hibernate cuida do mapeamento e da conexo, as nicas tarefas para o desenvolvedor gerar o banco de dados, configurar o endereo, porta, usurio e senha para realizar a conexo. O servio de criao de tabelas realizado pelo Hibernate. A figura abaixo mostra a configurao do arquivo hibernate.cfg.xml para acessar o bando de dados chamado scheduling, no localhost com a porta 3306,almdousuriorootesenharoot(Fig.4):

    Figura4:PrintScreendaconfiguraodoHibernate

    Ainda na figura 4, mostra a configurao j apropriada para colocar em

    produo o software instanciado, caso volte ao desenvolvimento para obter informaes, modifique as opes para exibir as sqls do banco em paratrueeretireaspropertiesquedizemserdeproduo.

    A figura 5 exibe um arquivo de configurao onde um modelo mapeado, nessa figura est a de um objeto usurio para a sua tabela User. O campo id da

    5

    UsuarioTexto digitadoSistema de Gerenciamento de

    UsuarioTexto digitadoa

    UsuarioRiscado

    UsuarioTexto digitadoc

    UsuarioRiscado

    UsuarioTexto digitado

    UsuarioTexto digitadoda

    UsuarioRiscado

    UsuarioTexto digitadoF

    UsuarioRiscado

    UsuarioTexto digitadoF

    UsuarioRealcequal?

    UsuarioRiscado

    UsuarioTexto digitado.

    UsuarioRiscado

    UsuarioTexto digitadoN

    UsuarioRealce???

  • tabela User o CPF do usurio e do tipo String. Em seguida tem os outros atributos do usurio mapeados para campos do tipo String da tabela com seus respectivosnomes..

    Figura5:Mapeamentodoobjetousurioparaatabelauser.

    Os arquivos de configurao do Hibernate, o arquivo hibernate.cfg.xml

    exibido anteriormente, e do mapeamento esto na pasta resources do projeto, tambm na pasta est a configurao do Log4J, o arquivo log4j.properties. As classes modelos foram mapeadas para as seguintes classes DAOs e arquivos de configurao:

    Schedule contm as informaes da consulta e tambm do cronograma de um mdico. Foi mapeado como a tabela schedule. Para realizar a conexo com a tabela schedule foi criada uma classe DaoSchedule no pacote Dao que faz a insero, busca, remoo e edio dos dados de consulta. O arquivo de configurao do mapeamentoSchedule.hbm.xml.

    User contm as informaes sobre o usurio do sistema. Foi mapeado como a tabela user. Para realizar a conexo com a tabela foi criada uma classe DaoUser no pacote Dao que faz a insero, busca, remoo e edio dos dados do usurio. O arquivo de configurao do mapeamentoUser.hbm.xml.

    6

    UsuarioRealce???

  • Patient contm as informaes do paciente. Foi mapeado como a tabela patient. Para realizar a conexo com a tabela foi criada uma classe DaoPatient no pacote Dao que faz a insero, busca, remoo e edio dos dados do paciente. O arquivo de configurao do mapeamentoPatient.hbm.xml.

    Doctor contm as informaes do mdico. Foi mapeado como a tabela doctor. Para realizar a conexo com a tabela foi criada uma classe DaoDoctor no pacote Dao que faz a insero, busca, remoo e edio dos dados do mdico. O arquivo de configurao do mapeamentoDoctor.hbm.xml.

    7. InstanciaodaLPSAgendamentoEntre as possveis variabilidades permitidas pela LPS estava a existncia de

    alguns atributos na instanciao que no seriam obrigatrios em todos os sistemas dodomnio,assimcomoapossibilidadedaemissodealgunsrelatrios.

    Para simplificar a implementao e possibilitar a entrega de uma verso apresentvel contendo as funcionalidades propostas ao menos de forma parcial, as variabilidades citadas no foram implementadas. Dessa forma, fez mais sentido implementarmosainstanciaodeumaLPSaoinvsdeumaLPS.

    Por padro, antes mesmo de qualquer execuo haver um usurio cadastrado no sistema chamado admin, cujo CPF 000 e senha admin. Logo, naprimeiraexecuo,paracriarosdemaisusurios,deveselogaratravsdeste.

    Ainda assim, a implementao realizada permite uma fcil adaptao para a criao de uma futura LPS contendo todas as funcionalidades e suas variabilidades propostas.

    8. UtilizaoPara poder acessar o menu onde so listadas as funcionalidades permitidas,

    devese inicialmente realizar um login no sistema, sendo necessrio inserir CPF e senha. Para isto, necessrio logar atravs do usurio padro ou de um criado posteriormente. O usuriopadropossuiCPF000esenhaadmin.

    7

    UsuarioRealce????

    UsuarioRealce- Essa seo deve ser composta pelas seguintes sees, com exemplo em cada uma:1) Criar projeto2) Criar o banco de dados3) Instanciar as comunalidades4) Instanciar as variabilidades5) Para acrescentar um atributo em classe existente6) Para acrescentar uma classe

  • Aps a realizao do login, so listadas as funcionalidades permitidas pelo sistema.

    As funcionalidades permitidas variam de acordo com o que j foi cadastrado. Isto se deve porcausadasrestriesexistentes.

    Para que possamos editar, remover ou listar as informaes presentes em objetos de certa classe do cdigo ou, com outras palavras, de certa tabela do BD necessrio ter inserido algum objeto anteriormente (uma restrio). Entre as classes que se encaixam nestasituaoesto:

    Doctor Patient User Schedule

    8

  • 9

  • Para executar uma funcionalidade do sistema, devese escolher uma das listadas no terminal e digitar o cdigo referente a ela. Algumas funcionalidades podem precisar da insero de informaes adicionais. Quando isto for necessrio, esta informao estar explcitanoterminal.

    Aps a execuo de funcionalidades, novas opes podero ser desbloqueadas no menu principal, como por exemplo quando no tem nenhum paciente cadastrado a opo listarpacientenoaparecenomenu.

    Outrasfuncionalidadespodemseracessadasatravsdalistanomenudeopes.Em trabalhos futuros poderiam ser implementadas mais funcionalidades e at uma

    interfacegrficaparaoprograma.

    10