Professional Documents
Culture Documents
INTRODUO
Durante o processo de desenvolvimento de software, o reuso uma das
atividades mais realizadas pelo engenheiro de software, sendo que na maioria das
vezes consiste de repetidas operaes de cortar/colar/modificar. Quanto mais
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
292
293
TRABALHOS RELACIONADOS
Uma linguagem de padres uma coleo de padres organizados, que se
294
295
Realizar
Acompanhamento (7)
padres
Identificar
Pacientes(1)
Definir
Servios(2),
devem
ser
Vendas(3)
ou
Processar
Guias(4),
seguido
do
padro
Agendar
Especificao da LMA
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
296
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
297
Padro
1
2
Identificar Pacientes
Definir Servios
Realizar Vendas
Processar Guias
Agendar
Atendimentos
Identificar Atendente
Realizar
Acompanhamento
8
9
Realizar Compras
Controlar Faturamento
Nome Variabilidade
Nome
Descrio
No possui
Com
Tipo 1. Uma clnica no precisa especificar os
Servio
servios prestados de forma detalhada
Com Produto
1. Uma clnica realiza a comercializao
de
servios,
mas
nem
sempre
comercializa produtos
No possui
1. Caso o padro Controlar Faturamento
tenha sido aplicado, deve-se acrescentar
alguns atributos e mtodos relacionados
ao valor da Guia e dos atendimentos
No possui
1. O agendamento de sesses pode ser
efetuado por meio de uma guia ou de
uma venda.
Com Atributos 1. Quando for necessrio armazenar
Atendentes
informaes sobre o ganho e a
especialidade do atendente.
Tipo Avaliao 1. Cada clnica possui avaliaes
especficas, conforme os tratamentos que
Educao
Fsica
realizam, com atributos especficos. Por
exemplo, os atributos analisados em uma
avaliao ortopdica para uma clnica de
fisioterapia so diferentes dos atributos
Tipo Avaliao avaliados para uma clnica de educao
fsica.
Fisioterapia
2. Cada avaliao pode possuir um
conjunto de fatores que so variantes. Por
Tipo Avaliao exemplo, em uma avaliao o uso de
medicamentos deve ser considerado; em
Terapia
Ocupacional
outra alguns testes especiais devem ser
realizados
para
a
concluso
do
tratamento.
Esses
fatores
so
(concluso)
considerados como Itens da Avaliao.
No possui
No possui
1. Depende da aplicao dos padres
Realizar Vendas, Processar Guias,
Identificar Atendentes e Realizar Compras
para definir quais classes devem ser
usadas para o sistema
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
298
Identificar Pacientes;
2
Definir Servios;
Com tipos servios
2
Realizar Vendas;
Com Produtos
3
Processar Guias;
3
Agendar Atendimentos;
2
Identificar Atendentes;
Com Atributos Atendentes
2
Realizar Acompanhamentos
Avaliao Educao Fsica;
Avaliao Fisioterapia;
Avaliao Terapia Ocupacional;
1
Realizar Compras;
3
Controlar Faturamento;
Legenda:
123-
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
299
Segundo Franca & Staa (2001), artefato qualquer item criado como parte da
definio, manuteno, ou utilizao de um processo de software, podendo ou no
ser entregues a um cliente ou usurio final. Por essa definio todos os produtos
gerados pelo gerador, desde os scripts de criao do banco de dados at a aplicao
final podem ser considerados artefatos.
Os artefatos so criados com base na definio dos gabaritos (templates) prexistentes no gerador que so definidos aps a anlise dos pontos variveis e
similares de um produto desejado. Para que a linguagem Java possa ter acesso e
manipular as informaes existentes em um arquivo XML, utiliza-se de um padro da
W3C (World Wide Web Consortium) denominado DOM (Document Object Model) que
possibilita a navegao entre as tags do arquivo XML. Dessa forma, basta substituir
os pontos variveis do produto a ser gerado pelos valores definidos na tag XML para
que o produto desejado seja gerado
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
300
...
<padrao numero="2" nome="Definir Servios">
<classe nome="Servico" interface="1">
<atributo> codigoId </atributo>
<atributo> descrio </atributo>
<atributo>valor</atributo>
<atributo>situacao</atributo>
<associacao>tpservico</associacao>
</classe>
<variante nome="Com tipo servio">
<classe nome="Tipo_Servico">
<atributo> codigoId </atributo>
<atributo> descrio</atributo>
</classe>
</variante>
</padrao>
...
Documento XML
L as definies
XML- SiGCli
...
Gerador de scripts
SQL
Gerador GAwCRe
Interface
Gabaritos de
Cdigo
Instanciador da LMA
(Gerador de aplicaes)
Armazena e recupera
os dados das
especificaes LMA
para cada aplicao
package ClinicaFisio;
...
public class Servico
implements PersistentObject {
...
// Atributos da classe
Gerador das Classes
private int codigoId;
Java
private String descricao;
...
public Servico(){
...
}
Gerador de Interfaces
...
Web
}
Classes Java
Especificao
LMA para uma
Aplicao
Base de Dados
do Gerador
Bibliotecas
Interface Web
Arquitetura do Gerador
A Figura 4 exibe o modelo de classes (em alto nvel) do gerador de aplicao
301
Persistence
Layer
Aplicao
1..*
AplPadrao
0..*
AplVariante
0..*
Gerador
FrameGerador
r
XMLManager
Parser
DOM
GeradorJSP
GeradorCodigo
GeradorSQL
302
Camada de Aplicao
Arquivos
JSP
Beans
Aplicao
Camada de Persistncia
Persitence
Layer
Banco de
dados
EXEMPLO DE USO
303
SiGCli. Cada classe possui um nmero, no canto superior esquerdo, que define a
qual padro ela pertence conforme a numerao definida no grafo de fluxo de
aplicao dos padres da SiGCli (Figura 1).
(1)
(1)
Cidade
(4), (5)
Paciente
(4)
Guia
Patologia
(1)
(4)
Profisso
(6)
Convnio
Atendimento
Atendente
(7)
(2), (5)
Teste Especiais
Servio
(7)
Dados Clnicos
(7)
(5)
(7)
Avaliaes
Horrio Atendimento
Medicamentos
(7)
(7)
Neuro Adulto
(7)
Ortopdica
(7)
Cardiologica
(7)
Neuro Infantil
Pneumologica
(7)
Diria
304
CONCLUSO
Neste trabalho apresentado um gerador de aplicaes baseado em uma
linguagem de padres para o domnio de sistemas de gerenciamento de clnicas de
reabilitao, denominado SiGCli. Esse domnio foi definido por meio de um processo
de engenharia reversa auxiliado por apoios computacionais desenvolvidos para esse
propsito, com o intuito de facilitar a execuo dessa atividade. A linguagem de
padres SiGCli, que a base do gerador de aplicaes proposto, foi elaborada com
base nos padres da linguagem de padres GRN, uma vez que alguns padres da
SiGCli so similares aos j definidos pela GRN, principalmente os que tratam da
transao de negcios. Para facilitar a gerao de novas aplicaes, com o uso do
gerador, foi elaborada uma Linguagem de Modelagem da Aplicao (LMA) que
permite instanciar aplicaes por meio de especificaes em alto nvel. Portanto,
esse gerador possui como elemento diferenciador o fato de ter uma linguagem de
padres usada para representar o domnio e especificar a LMA, bem como para
apoiar o processo de gerao.
Deve-se notar que o processo apresentado geral e pode ser reusado para
outros domnios. A estrutura do gerador permanecer basicamente a mesma,
mudando-se a LMA e os gabaritos de cdigo. O uso de XML para armazenar a
especificao dos padres tambm facilita o reuso. O gerador apresentado define
uma famlia de produtos de software que a de sistemas de gesto de clnicas de
reabilitao. Considerando as variabilidades presentes nos padres e representadas
na LMA, possvel gerar um conjunto de aplicaes diferentes.
REFERNCIAS
BRAGA, R. T. V.; GERMANO, F. S. R.; MASIERO, P. C. A family of patterns for
business resource management. In: 5th Annual Conference on Pattern Languages
of Programs (PLOP98), Washington University in St. Louis Missouri, USA, onLine.
Disponvel
em
http://jerry.cs.uiuc.edu/~plop/plop98/final_submissions.
Consultado em 31/01/2003. 1998.
BRAGA, R. T. V.; GERMANO, F. S. R.; MASIERO, P. C. A pattern language for
business resource management. In: 6th Pattern Languages of Programs
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
305
306
Universitri@ - Revista Cientfica do Unisalesiano Lins SP, ano 2, n.4, jul/dez de 2011
307