Escolar Documentos
Profissional Documentos
Cultura Documentos
UTILIZANDO BPMN
Mrcia Beatriz Pereira Domingues (Universidade de So Paulo, So Paulo, Brasil) beatrizpereira@usp.br
Jorge Rady de Almeida Jr. (Universidade de So Paulo, So Paulo, Brasil) jorgerady@usp.br
Francisco Carlos Paletta (Universidade de So Paulo, So Paulo, Brasil) - fcpaletta@usp.br
Projecting and maintaining a database is an important challenge, due to the frequent
requirement of changes demanded by the users. To support those changes, the database
schema must go through structural modifications that, many times, affect its performance
and the queries' results, such as: un necessary relationships, primary and foreign keys
strongly attached to the domain; obsolete attributes and types of attributes which are
inadequate. The literature about Agile Methods for software development suggests the use
of refactoring for the evolution of the databases schema, when there are requirement
changes. A refactoring is a simple change that improves the design but does not alter the
database semantics nor adds new functionalities. Each refactoring has a group phases to be
performed, which makes the implementation process possible. However, some changes on
the database demand many refactoring to be made in the same process, which means that
they can be combined and many steps can be suppressed. In this context, the present work
aims at presenting how the refactoring phases can be modeled using processes notation
Keywords: Database Refactoring, BPMN, Database Maintenance
MODELAGEM DE PROCESSOS DE REFATORAO DE BANCO DE DADOS
UTILIZANDO BPMN
O projeto e manuteno de bancos de dados um importante desafio, tendo em vista as
frequentes mudanas de requisitos solicitados pelos usurios. Para acompanhar essas
mudanas o modelo do banco de dados deve passar por alteraes estruturais que muitas
vezes prejudicam o desempenho e o projeto das consultas, tais como: relacionamentos
desnecessrios, chaves primrias ou estrangeiras criadas fortemente acopladas ao domnio,
atributos obsoletos e tipos de atributos inadequados. A literatura sobre Mtodos geis para
desenvolvimento de software prope o uso de refatoraes para evoluo do modelo do
banco de dados quando h mudanas de requisitos. Uma refatorao uma alterao
simples que melhora o design, mas no altera a semntica do modelo de dados, nem
adiciona novas funcionalidades. Cada refatorao possui um conjunto de etapas a serem
executadas, o que possibilita a implementao de processos. No entanto, algumas
alteraes no banco de dados exigem que vrias refatoraes sejam feitas em um mesmo
processo, ou seja elas podem ser combinadas e muitos passos podem ser suprimidos. Nesse
contexto, o presente trabalho tem como objetivo, apresentar como as etapas das
refatoraes podem ser modeladas utilizando a notao de processos BPMN (Business
Process Model and Notation) e apresentar uma proposta para executar um processo no
qual, seja realizada uma grande alterao no banco de dados. Os recursos da notao
BPMN so utilizados para auxiliar na documentao, formalizao e execuo de
processos de refatorao de banco de dados.
iv.
Arquitetural
A notao BPMN passou as ser mantida pela OMG em 2006 que uniu a notao
BPMN com a notao XPDL e hoje a notao BPMN considerada uma linguagem formal
de representao. Essa integrao facilitou o desenvolvimento e utilizao em ferramentas
diferentes, desde que essas ferramentas de modelagem sejam construdas conforme os
padres publicados pela OMG.
Segundo Valle e Oliveira (2013) um dos pontos fortes do BPMN o fato de que o
os diagramas possam ser integrados a um ambiente operacional e automatizado. Outro
ponto forte assegurar que as linguagens XML desenhadas para execuo de processos de
negcio, como BEPEL4WS (Business Process Execution Language for Web Services),
possam ser visualizadas dentro de uma notao orientada a processos.
A sequncia de passos necessrios para que se possa atingir a automao de
processos de negcio, de acordo com um conjunto de regras definidas chamada de
workflow (ABPMP, 2009). Esta automao pode ser no todo ou em parte do processo de
negcio, durante a qual documentos, informaes, ou tarefas so passadas de um
participante para outro (Aalst, 2004).
A automao de processos feita por meio de uma categoria de software chamada
de BPMS (Business Process Management Systems) que automatiza a gesto de processos
de negcio.
H no mercado diversas ferramentas que do suporte a construo de workflows
como: BizAgi BPM Suite, Bonita, AgilePoint BPMS, JBossjBPM e Oracle BPM Suite. A
maioria dessas ferramentas disponibiliza, gratuitamente, o mdulo para modelagem de
processos e cobra para utilizar mdulos que do suporte a automatizao, integrao com
bancos de dados ou monitoramento em tempo real.
1.4. Conceitos Bsicos da notao BPMN
As atividades de um processo podem ser executadas por diferentes atores: usurios e
sistemas, portanto, um processo uma forma de trabalho colaborativo. Um processo de
negcio pode incluir a execuo de atividades em paralelo e iteraes entre subprocessos
(Decker et al., 2010).
Embora a notao BPMN seja rica em elementos de modelagem, os elementos
mais utilizados na modelagem de processos de negcio so 4: atividades (tasks), eventos
(events), decises (gateways) e sequencias de fluxos (sequencesflows), como mostra a
Figura 2. Com apenas esses quatro elementos possvel construir modelos de processos
bastante intuitivos e de fcil leitura (Valle & Oliveira, 2013).
Atividade
Evento
Deciso
Sequncia de fluxo
Subprocesso
Evento de Incio
Evento Intermedirio
Evento de Fim
Fluxo de sequncia
Fluxo padro
Fluxo condicional
Define a ordem de
execuo das atividades
ou
O sistema precisa arquivar, recuperar e processar dados para anlises futuras sem
negligenciar os aspectos do modelo de entidade-relacionamento (Chen, 1976). O modelo
de banco de dados original do sistema apresentado na Figura 8, onde h muitos
relacionamentos que descrevem os estgios para analisar os ciclos de uma cultura (Costa,
Santana, Saraiva, & Molin, 2011).
Uma breve descrio das tabelas que fazem parte do modelo da Figura 8 apresentada a
seguir:
a) Plot: um contorno grfico representa uma parcela da fazenda que usada como
campo de cultura, tambm chamado de talho. Esta entidade deve ter um polgono
associado devido ao fato de que esta informao usada para os mtodos de
geoprocessamento (por exemplo, a produtividade da mquina de filtragem e mtodos
de interpolao)
b) Farm: representa o conjunto de parcelas utilizadas como campos de culturas agrcolas.
A fazenda pode ser representada por uma geometria de mltiplos polgonos.
c) Productivity: a produtividade representa a colheita de um campo de cultura. Esta
entidade contm os dados que descrevem a colheita tais como data de incio e fim da
colheita. Os dados reais da produtividade esto representados nas entidades
Productivity_filtered e Productivity_raw.
d) Productivity_raw: esta entidade possui os dados obtidos da mquina colheitadeira
sem qualquer tipo de limpeza de dados.
e) Plot_grid: representao matricial de todos os pontos utilizados para interpolaes de
amostras qumica/fsica do solo ou produtividade.
f) Produtivity_interpolated_poly: resultado do processamento do raster (bitmap)
gerado na interpolao para representao vetorial, com o objetivo de acelerar a
visualizao nos servidores de mapas.
g) Produtivity_filtered: pontos com informao de produtividade da colheitadeira
resultantes do algoritmo de limpeza de dados de produtividade. So removidos pontos
invlidos, com resultados nulos ou fora do talho.
h) Analysis: entidade que armazena os tipos de anlises efetuadas nos talhes. As
anlises podem ser de atributos fsicos/textura do solo, nutrientes qumicos
(Nitrognio, Fsforo e Potssio), calagem ou outras medies.
i)
j)
Refatorao
1
Descrio
Introduzir chave de
identificao
Adicionar restrio
de chave
estrangeira
referencial
Eliminar coluna
Tipo
Estrutural
Integridade
referencial
Estrutural
Impacto
Melhora o modelo
e o desempenho
Melhora o modelo
Melhora o modelo
c) Eliminar coluna
Aps a refatorao anterior, foi necessrio eliminar as seguintes colunas nas
tabelas a seguir:
iv. farm, eliminar a coluna farm_id
v. plot, eliminar as colunas plot_id
vi. productivity, eliminar as colunas prod_idefarm_id
vii. productivity_raw, eliminar as colunasplot_id, farm_id e prod_point_id
viii. productivity_raw
Neste caso a ordem afetar a refatorao. Assim as tabelas foram ordenadas da
seguinte forma: productivity_raw, productivity, plot e farm.
d) A Figura 13 apresenta os passos da refatorao Eliminar coluna modelados na
notao BPMN.
4. REFERNCIAS
Phalp, K., & Shepperd, M. (2000). Quantitative analysis of static models of processes.
Journal of Systems and Software, 52(2-3), 105112. doi:10.1016/S01641212(99)00136-3
Pressman, R. S. (2011). Engenharia de Software - Uma Abordagem Profissional.
Development (7a ed., p. 752). New York, NY, USA: Mc Graw Hill.
Rademakers, T. (2012). Activiti in Action: Executable business processes in BPMN 2.0 (p.
456). Shelter Island, NY: Manning Publications. Retrieved from
http://www.amazon.com/Activiti-Action-Executable-businessprocesses/dp/1617290122
Roddick, J. F. (1995). A survey of schema versioning issues for database systems.
Information and Software Technology, 37(7), 383393. doi:10.1016/09505849(95)91494-K
Silva, A. C. L. (2013). BPMN 2.0 - Notao e Modelo de Processo de Negcio (Pster).
Retrieved March 18, 2014, from http://www.itposter.net/itPosters/bpmn/bpmn.htm
Valle, R., & Oliveira, S. B. de. (2013). Anlise e Modelagem de Processos de Negcio:
Foco da Notao BPMN (Business Process Modeling Notation). (E. A. S. A., Ed.) (1.
ed.). So Paulo: ATLAS. Retrieved from
http://books.google.com.br/books?id=8hARQgAACAAJ
White, S. A., & Miers, D. (2008). BPMN Modeling and Reference Guide. Lighthouse
Point, FL USA: Future Strategies Inc. Retrieved from
http://books.google.co.bw/books?id=0Z2Td3bCYW8C