Trabalho de Formatura Supervisionado – MAC499

Propaganda
Trabalho de Formatura Supervisionado – MAC499
Estágio: Mai/2002 – Dez/2003
Aluno: Danilo Toshiaki Sato
Orientador: Marco Dimas Gubitoso
Trabalho de Formatura Supervisionado – MAC499
A Empresa
•
A Touch foi fundada há alguns anos atrás para desenvolver sistemas
para o grupo Diagnósticos da América
•
Conta com uma equipe de aproximadamente 30 pessoas entre
desenvolvedores e web designers
•
O grupo Diagnósticos da América atua no ramo de medicina diagnóstica
e conta com 6 divisões – Delboni Auriemo, Lavoisier, Club DA, Bronstein,
Lâmina e Santa Casa – atuando em 11 cidades, nos estados de São
Paulo, Rio de Janeiro, Paraná e Minas Gerais.
•
Atualmente a Touch não trabalha apenas para o grupo Diagnósticos da
América
Trabalho de Formatura Supervisionado – MAC499
O Projeto
•
O Motion é um sistema para controle operacional dos NTO´s (Núcleo
Técnico Operacional) da empresa. O NTO é o lugar onde todos os
exames são processados
•
Criado para substituir os sistemas legados dos laboratórios da empresa,
de modo a adequar e integrar o sistema à nova realidade da empresa
•
Totalmente baseado na tecnologia J2EE e ferramentas Java como:






Struts
Ant
AspectJ
JUnit/Cactus
StrutsTestCase
SableCC
Trabalho de Formatura Supervisionado – MAC499
O Projeto - Escopo
Coleta
1
Entrada
2
Execução
& C.Q.
3
Análise de
Consistência
4
Liberação
5
Laudo
6
•
Durante o estágio fui alocado no grupo encarregado pelos módulos de
análise de consistência e de liberação, responsáveis pela validação dos
resultados obtidos na execução
•
Análise de Consistência: Automatiza a análise dos resultados
•
Liberação: Permite que o resultado de um exame seja laudado
Trabalho de Formatura Supervisionado – MAC499
Atividades Realizadas
•
Treinamento e integração com o projeto
•
Desenvolvimento das entidades EJB do sistema
•
Criação das páginas web do sistema: tela de cadastro de ações
automáticas, tela de liberação manual (vide figura), dentre outras...
Trabalho de Formatura Supervisionado – MAC499
Atividades Realizadas - LMotion
•
•
Fui responsável por um módulo
do sistema responsável pela
definição e interpretação de
código escrito numa linguagem
interna, chamada LMotion
Facilita o acesso aos dados do
modelo: resultado de um exame,
altura do paciente, etc
Exemplos de código LMotion:
se resultado < 0 entao
enviarRepeticao
senao se resultado > 100 && sexoPaciente == M entao
enviarRepeticao
senao se resultado > 200 && sexoPaciente == F entao
enviarRepeticao
senao se resultado > 300 entao
avisarPanico
(exemplo de código para a fila de ações automáticas)
diaDaSemana[#sexta-feira#] && horaAtual > #18:00#
•
•
Permite escrever ações sobre o
modelo: envio para repetição,
aviso de pânico, etc
Expressões e Condicionais
(exemplo de uma expressão booleana para definir se um resultado
deve ter dupla digitação)
resultado[“TST2”] * (pesoPaciente/alturaPaciente)
(exemplo de uma expressão que define a fórmula para cálculo do
resultado de um exame)
Trabalho de Formatura Supervisionado – MAC499
Ambiente de Teste Web
•
Um dos desafios encontrados surgiu na fase de testes. Desenvolvi uma
ferramenta para facilitar a geração de código de testes automatizados
sobre o framework StrutsTestCase (uma extensão do JUnit para o
Struts), utilizando o AspectJ.
Request
HTTP
Response
Desenvolvimento (browser)
Teste Automático
Servidor Web - Struts
(Apache + Tomcat)
Trabalho de Formatura Supervisionado – MAC499
Ambiente de Teste Web
•
A ferramenta facilitou o trabalho de escrita de código, resumindo-a a
três passos:
1. Configurar
2. Gravar
3. Testar
http://www.linux.ime.usp.br/~dtsato/mac499
Download