Enviado por ronisvonn

1-Artigo sobre Modelagem de Negocio

Propaganda
Engenharia
Nesta seção você encontra artigos voltados para testes, processo,
modelos, documentação, entre outros
Modelagem de Negócio
A importância de entender o negócio antes de começar o desenvolvimento
de projetos de software
De que se trata o artigo?
Nadja Rodrigues
[email protected]
Mestre em Administração de Empresas (UFPB).
Especialista em Sistemas de Informação e Redes de Computadores (UFPB). Graduada em
Ciência da Computação (UFPB). Trabalhou por
12 anos na indústria de TI, fazendo parte de
empresas públicas como SERPRO e DATAPREV,
Universidade (UFPB NTI), além de ter atuado em várias empresas da iniciativa privada,
dentre elas, a Confederação das Unimeds do
Norte-Nordeste. Na área acadêmica, lecionou
em faculdades nos estados da Paraíba e Pernambuco, e na UFPB. Atualmente, é professora e pesquisadora no IFPB, desenvolvendo
pesquisas na área de Engenharia de Software
e coordenando atividades de Análise e Desenvolvimento de Software.
Jorge Dias Jr.
[email protected]
www.jorgediasjr.com
Doutorando em Ciência da Computação
(UFPE). Mestre em Ciência da Computação
(UFPE). Graduado em Ciência da Computação
(UFPB). Desenvolve pesquisas na área de SOA
desde 2005. Possui vários artigos publicados
em conferências nacionais e internacionais.
Tem experiência como analista de TI na indústria, onde desenvolveu sistemas no âmbito do
governo federal, além de ter atuado em vários
projetos da iniciativa privada. Atualmente, é
professor em Engenharia de Software e coordenador do curso de Sistemas de Informação
no Departamento de Ciências Exatas da UFPB.
N
os dias atuais, as Tecnologias
de Informação e Comunicação vêm sendo utilizadas não
apenas como ferramentas para automatização organizacional, através de
sistemas de informação tradicionais.
Com o surgimento de novos paradigmas
e recursos, houve uma transferência de
valores entre os instrumentos organizacionais, e a tecnologia passou a ser vista
como elemento imprescindível para
elaboração de estratégias e formação de
inteligência de negócios.
O resultado da percepção dessa constante evolução das tecnologias e do
aumento de poder proporcionado por
elas pode ser associado ao aumento
no nível de exigência dos “clientes de
tecnologia”, que cada vez mais esperam
colher os frutos dos seus investimentos
a partir do alinhamento entre tecnologia
e planejamento estratégico. A capacidade de uma organização coletar dados,
interpretá-los e agir com base neles,
rapidamente, pode diferenciar vencedores de perdedores, em um mercado
altamente competitivo.
Antes de pensarmos no software que será desenvolvido, precisamos entender o domínio do
negócio de que este software fará parte. Neste
sentido, este artigo trata da importância de
entender a estrutura e a dinâmica do negócio
antes de começar o desenvolvimento de algum
projeto de software, e discutirá algumas notações para se modelar os processos de negócio.
Para que serVe?
Mostrar a importância de entender o negócio
da organização, suas necessidades e principais
problemas atuais; buscar alternativas para
minimizar ou resolver esses problemas e, de
forma geral, otimizar os processos de negócio;
documentar os processos de negócio para a
elicitação de bons requisitos de software, atendendo ou superando as expectativas de seus
stakeholders.
Em que situação o tema é útil?
Para pessoas da área de tecnologia da informação que trabalham no desenvolvimento de
soluções de software para organizações, com o
objetivo de atender as suas necessidades reais
de negócio, potencializando o alinhamento entre a TI e os objetivos deste negócio.
Edição 31 - Engenharia de Software Magazine 7
Com o intuito de tentar garantir o alinhamento entre tecnologia e estratégias organizacionais, os projetos de software
devem conhecer o cenário organizacional em um nível suficiente, a ponto de avaliar e sugerir melhorias, ou mesmo reengenharia nos processos de negócio, e entender que o sistema a
ser implantado será apenas um dos recursos avaliados nesta
análise de negócio, e não o único.
Este artigo tem o objetivo de apresentar a importância da
Modelagem de Negócio e alguns aspectos técnicos relacionados ao desenvolvimento das suas atividades. Além disso,
motivar o seu uso em projetos de construção de software,
buscando aproximar os seus resultados e as expectativas dos
seus stakeholders.
A importância da modelagem de negócios
Há alguns anos, já se dizia que o mundo estava sendo construído a partir da combinação dos computadores e das telecomunicações, e que essa realidade deveria ser encarada como
uma das maiores revoluções vividas pela humanidade. “A
realidade está em constante evolução e o que ontem era ficção
hoje é prática comum entre aqueles que buscam oferecer e utilizar serviços diferenciados e de valor agregado” [5]. A autora
ainda diz que, nessa nova realidade, há uma transformação
contínua nas instituições e no estilo de vida das pessoas.
Ao longo da história da humanidade, grandes mudanças em
padrões de comportamento, de processos, na forma de ver e
de reconstruir o mundo, sempre foram vistas como revoluções, como redefinições da nossa própria existência. Faz-se
importante entender os fenômenos, os eventos, que ocasionam
essas transformações. O que motivou as empresas a verem nas
Tecnologias de Informação e Comunicação (TIC) novas oportunidades de negócio? Desde quando os computadores e as redes
deixaram de ser vistos como instrumentos de automatização,
para se transformarem em elementos imprescindíveis nas
estratégias para construção de inteligência de negócio?
Pode-se dizer que houve uma mudança de paradigma com
relação à percepção da aplicação das TIC no mundo dos negócios. A evolução da tecnologia, da rede mundial, do poder de
armazenamento e processamento de dados, com consequentes
melhorias significativas na geração de informações e na construção de conhecimento, são alguns dos fatores responsáveis
pelas constantes redefinições nas vidas das pessoas e das
organizações, e no mundo dos negócios.
“O cenário competitivo obriga as empresas a pensarem em
novas maneiras de gerenciamento, diante de um novo mundo,
novas políticas, novas formas de relacionamento, novas organizações, nova Economia, globalizada” [5]. A autora explica que
o apoio da TI e, mais especificamente, dos processos digitais
e da inteligência em rede, são fundamentais para o sucesso
dessas organizações.
Você pode estar se perguntando: eu estou lendo um artigo
sobre Modelagem de Negócios ou sobre Administração de
Empresas?
O fato é que os pesquisadores ou profissionais da Ciência
da Computação precisam entender que esta área, de forma
8 Engenharia de Software Magazine - Modelagem de Negócio
geral, não é vista como “área fim”, e sim como “área meio”, por
construir produtos e oferecer serviços que serão utilizados, na
sua grande maioria, por outras ciências e áreas. O fato é que
os “clientes de tecnologia” não mais esperam simplesmente
adquirir TIC com o objetivo de automatizar as suas rotinas
organizacionais. Esses clientes, cada vez mais exigentes,
acreditam que vão investir os seus recursos em ativos que
agregarão valor ao seu negócio, alinhando tecnologia a estratégias organizacionais.
Façamos agora uma reflexão: os clientes conhecem o negócio;
os profissionais de TIC dominam os recursos tecnológicos;
mas quem é o responsável por garantir a aplicação eficiente e
eficaz dos recursos tecnológicos no negócio? Nesse contexto,
espera-se que essa atividade seja desempenhada por alguém
que conheça ambos os aspectos, que exerça o papel de Analista
de Negócio.
Você conhece seu projeto?
Trabalhar na área de Análise e Desenvolvimento de Sistemas
não é sinônimo de atividade fácil. Esse fato por vezes se deve
ao desconhecimento da natureza da própria área, não só por
parte dos leigos, mas muitas vezes, dos próprios profissionais
que nela atuam.
Todo analista/desenvolvedor de sistemas já foi, pelo menos
uma vez na vida, confundido com profissionais que fazem
montagem e manutenção de micros, consertam impressoras,
trocam peças de hardware, instalam aplicativos, configuram
sistemas operacionais e finalmente, removem indesejados
hóspedes de computadores, como os vírus. E se um dia esse
analista/desenvolvedor disse que não sabia fazer alguma
dessas atividades na frente de um leigo, ele provavelmente
ouviu a “célebre” frase: “Que absurdo! Você estudou para
fazer o quê, então?”.
Agora, vamos inverter os papéis, e trazer para os analistas/
desenvolvedores de sistemas o desafio de conhecer as demais
áreas:
• Odontologia: você saberia dizer agora o que é um Odontograma?
• Direito: você saberia dizer que seções constam em uma
Petição?
• Engenharia: você saberia dizer que variáveis influenciam o
projeto de uma Ponte?
Acreditamos que não saber responder perguntas de uma
área específica é um cenário natural, para as pessoas que
não conhecem a área. Isso se deve ao fato de que só podemos
dominar o conhecimento gerado a partir dos dados e das
informações que recebemos, armazenamos, processamos e,
consequentemente, podemos utilizar.
A ideia das perguntas é chegar à simples conclusão de que
só conhecemos o que investigamos. Uma vez que, em geral,
construímos produtos para outras áreas, e oferecemos serviços
para clientes que não são analistas de sistemas, devemos entender que temos que ter a preocupação de trabalhar, em vários
momentos, investigando cenários desconhecidos, e utilizando
REQUISITOS
uma lupa para enxergar detalhes que possam contribuir com
o nosso trabalho. Embora essas atividades sejam inerentes
ao dia-a-dia dos detetives, elas também são executadas como
parte da análise e do desenvolvimento de sistemas.
Ao longo da existência dos profissionais que trabalham na
construção de sistemas, os seus desafios sempre foram encontrar problemas que pudessem ser amenizados ou resolvidos
com o uso de aplicações específicas para suas áreas, ou cenários
que pudessem ser otimizados e melhor monitorados, de forma
análoga, através do uso desse tipo de aplicação.
O fato é que, no cenário atual, conforme explicado anteriormente, a satisfação do cliente não reside mais na informatização dos
seus escritórios, lojas, ou demais tipos de estabelecimentos comerciais. Este cliente espera que o investimento dos seus recursos seja
feito de forma alinhada às suas estratégias de negócio.
Traduzindo o que foi colocado, para que essas expectativas
sejam atendidas, é imprescindível que o Analista de Negócio
mergulhe no dia-a-dia do cliente, com o propósito de conhecer
o cenário de negócio em um nível suficiente, a ponto de avaliar
e, se preciso for, sugerir melhorias, ou mesmo reengenharia
nos processos organizacionais. Neste cenário, o sistema a ser
implantado será um dos recursos avaliados nesta Análise de
Negócio, mas, certamente, não será o único.
Na Análise de Negócio, ter um checklist com perguntas pode
servir como elemento norteador e medir o nível de conhecimento sobre o projeto a ser desenvolvido, além de que poderá
ajudar bastante na execução das atividades, especialmente
para iniciantes.
Assim sendo, seguem algumas sugestões de perguntas que
o Analista de Negócio deverá responder, para medir o conhecimento adquirido sobre o projeto:
• O que é o seu projeto?
• A que área de negócio ele se refere?
• Como essa área “funciona”? Quais são as suas características?
• Quais são os processos de negócio da área? Que atividades
compõem esses processos? Como as atividades são executadas? Quem executa as atividades? Quando as atividades são
executadas?
• Quais são os pontos fortes dos processos? Quais são os
pontos fracos?
• Que mudanças beneficiariam os processos?
• Já existe alguma aplicação semelhante ao projeto no
cliente?
• Caso exista, quais são os seus pontos fortes? Quais são os
seus pontos fracos?
• O que o cliente espera do sistema que será resultado do
projeto?
• Existem aplicações legadas que devam ser integradas a esse
sistema?
• Quem serão os “usuários” desse sistema?
• Que características esse sistema terá?
às expectativas dos clientes, ou seja, sobre a necessidade de
alinhar TIC às estratégias de negócio.
Neste cenário, façamos o seguinte questionamento: como
poderemos gerar produtos e serviços para clientes, se não
conhecemos o seu negócio, o seu dia-a-dia, as suas rotinas,
as suas necessidades? A resposta é simples e objetiva: se não
conhecemos o negócio do nosso cliente, poderemos até aplicar
tecnologia e construir aplicações para sua organização, mas
correremos o risco de não atendermos às suas expectativas, de
não agregarmos valor nenhum ao seu negócio.
Antes de começarmos projetos, devemos lembrar que os
Sistemas de Informação (SI) gerados a partir desses projetos
serão utilizados por diversos tipos de pessoas, em diversos
tipos de cenários. Cabe aos analistas/desenvolvedores, o desafio de construir sistemas que se encaixem de forma intuitiva
e natural, nos cenários em que vierem a ser usados, além de
agregarem valor ao dia-a-dia dos seus usuários.
Neste contexto, antes de pensarmos no software que será
desenvolvido, precisamos entender o domínio do negócio de
que este software fará parte e, o mais importante, construir
uma visão crítica sobre o mesmo. Através dessa visão crítica,
poderemos encontrar a melhor maneira de aplicar a tecnologia,
de acordo com as necessidades impostas pelo domínio e expectativas do cliente. Conforme mostra a Figura 1, várias alternativas de projetos podem ser consideradas, em cada caso.
A Engenharia de Software, área da engenharia que estuda os
métodos, ferramentas e procedimentos utilizados na produção
de software, sugere a sistematização das atividades ligadas
ao entendimento e avaliação dos domínios das aplicações de
software, através das definições da área de Modelagem de
Negócio. Os métodos trazem os detalhes de como fazer para
construir o software, incluindo atividades como planejamento, estimativas de projeto, além das atividades de análise e
desenvolvimento; as ferramentas, por sua vez, dão apoio aos
métodos, automatizando as atividades; os procedimentos, por
último, representam o elo entre os métodos e as ferramentas,
definindo, por exemplo, a sequência em que os métodos serão
aplicados e os produtos que serão entregues.
A Modelagem de Negócio pode ser vista como uma disciplina que envolve um conjunto de conceitos, modelos e técnicas
com o objetivo de desenvolver o modelo de negócio de uma
organização. Para isso, a Modelagem de Negócios vai se basear nos processos de negócio da organização. Sommerville
(2007) define esses processos como sendo processos usados
O que é modelagem de negócio
Ao longo de todo o texto, vimos falando sobre a importância de aplicar tecnologia e construir aplicações voltadas
Figura 1. Alternativas de alinhamento entre Tecnologia e Estratégias
Organizacionais
Edição 31 - Engenharia de Software Magazine 9
para atingir algum objetivo de negócio. Podemos tornar essa
definição mais clara se definirmos esses processos como
sendo aqueles ligados à área fim da organização. O autor cita
ainda alguns exemplos de processos de negócio, para alguns
domínios específicos:
• Domínio: Empresa de Seguros  Processo de Negócio:
Emissão de Apólice de Seguro;
• Domínio: Empresa de Manufatura  Processos de Negócio:
Recebimento de Pedido de Produto; Manufatura do Produto.
O resultado da modelagem de negócio são os modelos
de negócio. Esses modelos refletem a representação de um
conjunto de atividades – tanto internas (como planejamento),
quanto externas (como tomada de ação) – que são executadas
para transformar entradas em saídas, produzindo trabalho
(produto/serviço) nas organizações, conforme exemplo da
Figura 2.
Avaliando a importância dos SI para as suas organizações,
percebemos a sua relevância como requisito de competitividade, como elemento de diferenciação com relação a concorrentes.
Um exemplo facilmente citado são os diferentes sistemas de
venda na Internet. Cada um apresenta características próprias,
embora o objetivo principal seja atrair clientes, realizar vendas, gerenciar as informações resultantes desses processos e
fidelizar esses clientes, fazendo com que essas atividades se
tornem cíclicas e constantes.
Essa diferenciação deve espelhar de forma direta a forma
como o processo será realizado na organização. Para que isso
aconteça, devem ser envolvidos, nas atividades de modelagem
de negócio, não só os especialistas nos processos de negócio,
geralmente pessoas ligadas ao nível operacional da organização, mas também gerentes táticos (dos diversos setores,
departamentos da organização) e a alta administração da organização. A importância do envolvimento de cada um desses
atores na modelagem de negócio é justificada pelos seguintes
argumentos: o nível operacional conhece profundamente os
detalhes dos modelos de negócio da empresa, no escopo das
atividades que desempenha rotineiramente; o nível tático
Figura 2. Exemplo de Processo de Negócio - Vender Produtos
10 Engenharia de Software Magazine - Modelagem de Negócio
conhece os elementos de gerência de uma área específica, e
as suas interfaces com as demais áreas da organização; o nível
estratégico (alta administração) tem a visão macro da organização, de todos os seus processos e o poder de tomar decisões
sobre os aspectos relacionados e esses elementos.
As atividades envolvidas na modelagem de negócios representam muito mais de que entender necessidades técnicas e
automatizar os processos de negócio existentes, através de
SI. A modelagem de negócio resulta em análises e reflexões
sobre a natureza do negócio e a forma como ele é executado, ou seja, sobre as características do negócio e as rotinas
organizacionais.
Já entendemos que modelar o negócio de uma organização
é uma atividade necessária para alinhar tecnologia e estratégias organizacionais. O que ainda precisa ser explicado é o
fato de que essas atividades, para realmente surtirem o efeito
desejado pela organização, não são realizadas de forma trivial
(e justamente por isso devem ser executadas sob as sugestões
de alguma metodologia específica para este fim) e requerem
esforços consideráveis da equipe de projeto e das pessoas que
fazem parte da organização.
Essa colocação não tem por objetivo voltar atrás quanto ao que
foi colocado anteriormente ou questionar a relevância dessas
atividades para a construção de um produto de software, mas
sim, introduzir algumas reflexões sobre os cenários ideais para
seu uso. Kruchten (2003) diz claramente que não recomenda a
modelagem de negócios para todos os esforços de engenharia
de software. O autor sugere que os modelos de negócios parecem agregar mais valor quando há várias pessoas diretamente
envolvidas na utilização do sistema e o volume de informações
manipuladas pelo sistema é significativo.
Sobre os cenários ideais para desenvolvimento das atividades
de modelagem de negócios, este mesmo autor explica que se o
projeto estivesse simplesmente adicionando um recurso ao software de um comutador de telecomunicação existente, a equipe
não precisaria considerar a modelagem de negócios, porque
não haveria a pretensão de mudar radicalmente o propósito do
software. De forma resumida, pode-se dizer que, neste caso,
não precisariam ser rediscutidos ou reavaliados os aspectos
gerais de negócio. Pontualmente, seriam adicionadas funcionalidades a um software. O
autor prossegue, justificando que, por outro
lado, se o projeto estivesse relacionado à construção de um sistema de gestão de marcas
novas, a fim de apoiar as vendas de soluções
de rede de telecomunicações (uma aplicação
para e-business), a modelagem de negócios
seria muito valiosa para compreender como
este novo sistema iria afetar a forma como o
negócio seria conduzido.
O autor considera que, no segundo cenário,
os processos do domínio são complexos,
porque o projeto que está sendo construído
é uma solução sob medida, e não um produto
de prateleira.
REQUISITOS
Deixamos a recomendação de que, de
acordo com o tipo de projeto, seja feita uma
análise da necessidade de modelagem de
negócios, dos fatores favoráveis e desfavoráveis à sua aplicação e, principalmente, da
real contribuição dos seus resultados para
o desenvolvimento do projeto.
Objetivos da modelagem de negócio
A adoção das atividades de Modelagem
Figura 3. Diagrama de Atividades
de Negócio como parte dos processos de
construção de software traz inúmeros benefícios às organina construção de um cenário organizacional mais eficiente
zações. Além de sugerir a otimização das rotinas organizae eficaz. Em outras palavras, através dos resultados da Mocionais, a Modelagem de Negócio apóia a especificação do
delagem de Negócio, esta equipe de projetos pode derivar os
software que será produto do projeto, através da análise e
requisitos de sistema essenciais para apoiar a organização.
do entendimento do negócio.
Podemos citar, como sendo os principais objetivos da MoNotações para modelar processos de negócio
delagem de Negócio:
Notação para modelagem de processos de negócio é uma
linguagem gráfica ou textual para representar um conheci Entender o Negócio: Através das atividades de Modelagem
mento ou domínio. Alguns requisitos para uma boa notação
de Negócio, a equipe de projeto observa e analisa o dia-a-dia
e os processos de negócio do cliente, entendendo a estrutura
são a expressividade, a legibilidade, a precisão e ferramentas
e a dinâmica da organização na qual um sistema deve ser
para dar suporte a esta notação. Atualmente duas notações
implantado;
estão sendo bastante adotadas: UML e BPMN. Iremos discutir
as duas nas próximas seções deste artigo.
 Entender os problemas atuais e identificar as possibilidades de
melhoria: Através da imersão no dia-a-dia do cliente, e das
UML
investigações sobre os diversos aspectos relacionados às
UML (Unified Modeling Language) é uma linguagem padrão
atividades desempenhadas nos processos de negócio, é possível que a equipe de projeto entenda os problemas atuais
para documentar projetos de software. Esta linguagem provê
da organização. Observando as boas práticas relacionadas a
um conjunto de diagramas para representar diferentes viprocessos da mesma natureza, conversando com especialistas
sões do sistema a ser especificado. Alguns exemplos desses
na área, ou mesmo com o próprio cliente (que supostamente
diagramas são: diagrama de classes, diagrama de objetos,
conhece o seu negócio), a equipe de projeto pode identifidiagrama de casos de uso, diagrama de interação, diagrama
car as possibilidades de melhoria e sugerir que elas sejam
de componentes e diagrama de atividades.
executadas;
Para modelar processos de negócio na UML, podemos utilizar o diagrama de atividades. Este diagrama tem o objetivo
 Assegurar o entendimento comum sobre a organização e o seu
de destacar a lógica de realização de uma tarefa, mostrando
negócio: Através do desenvolvimento do trabalho da Modeo fluxo entre atividades e a sequência dessas com suporte
lagem de Negócio, que é realizado pela equipe de projeto,
para comportamento condicional e paralelo.
juntamente com as pessoas que pertencem à organização, é
possível assegurar que os clientes, usuários e desenvolvedores
Os elementos do diagrama de atividades são:
tenham um entendimento comum da organização e dos seus
• Atividades: representam tarefas ou sub-atividades de um
processos de negócio;
processo;
• Transições: quando o fluxo de controle passa para outra
 Documentar os processos de negócio e capturar a relação entre
atividade;
os seus conceitos: Através da geração de artefatos técnicos da
• Decisões: são caminhos alternativos no fluxo de controle
Modelagem de Negócio, a equipe de projeto pode mapear,
das atividades. Podem ser uma condição, uma bifurcação
validar e documentar os processos de negócio. A construção
(fork) ou uma união (join);
desses artefatos leva ainda a equipe de projeto a capturar a
relação entre os seus conceitos, gerando conhecimento para si
• Barras de sincronização: utilizadas para sincronizar atividades de um processo;
e, muitas vezes, para o próprio cliente, que passa a ter a visão
detalhada de cada processo organizacional;
• Raias: utilizadas para mostrar responsabilidades.
 Derivar os requisitos de sistema necessários para sustentar a orgaA Figura 3 mostra um exemplo de um diagrama de ativinização: Através do entendimento do negócio da organização e
dades. Cada caixa do diagrama representa uma atividade,
de aspectos referentes a esta como problemas, oportunidades
as bolinhas representam início ou fim do processo, as linhas
de negócio, possibilidades de diferenciação, requisitos para
verticais representam o início de fluxos que serão executacompetitividade, a equipe de projeto pode entender como
um sistema de informação pode influenciar positivamente
dos em paralelo ou a junção destes fluxos, enquanto que o
Edição 31 - Engenharia de Software Magazine 11
losango indica um desvio condicional na execução. Todos
estes elementos podem ser opcionalmente agrupados em
“raias”, que podem representar um departamento ou alguma
outra entidade.
Podemos perceber que a notação do diagrama de atividades
é bastante simples. Neste sentido, fica a seguinte pergunta:
será que esta notação é capaz de representar um processo de
negócio complexo? Por exemplo, regras de negócio de um processo. Como representar isso em um diagrama de atividades?
Devido à falta de elementos representativos, surgiram outras
notações com a finalidade de modelar processos de negócio.
Um exemplo é a notação BPMN (Business Process Modeling
Notation) que vamos ver na seção a seguir.
BPMN
A notação BPMN foi idealizada em 2001 quando foi criado
um grupo de trabalho com a finalidade de se criar uma notação
capaz de representar de maneira expressiva os processos de
negócio das organizações. Em maio de 2004, a versão 1.0 do
BPMN foi lançada ao público.
Figura 4. %VENTOS EM "0-.
Figura 5. %XEMPLOS DE EVENTOS EM "0-.
Figura 6. %XEMPLO DE UM PROCESSO MODELADO EM "0-.
12 Engenharia de Software Magazine - Modelagem de Negócio
A especificação da notação da BPMN provê uma notação
gráfica para expressar os processos de negócio em forma de
diagrama de processo de negócio (BPD). O objetivo do BPMN
é dar suporte ao gerenciamento de processo de negócio,
tanto para os usuários técnicos quanto para os usuários de
negócio, fornecendo uma notação intuitiva para os usuários,
tornando-os capazes de representarem semânticas de processos complexos.
A notação definida está agrupada nos seguintes grupos:
• Objetos de fluxo: são os principais elementos gráficos para
definir o comportamento do processo de negócio. Existem três
tipos de objetos de fluxos: atividades, eventos e decisões;
• Objetos de conexão: conectam objetos de fluxo. Podem ser:
fluxo de sequencia, fluxo de mensagem e associação;
• Swimlanes: servem para agrupar elementos do processo,
normalmente associados a unidades organizacionais, departamentos ou grupos;
• Artefatos: são usados para fornecer informações adicionais
sobre o processo. Existem quatro artefatos padronizados, mas
os fabricantes de software de modelagem estão livres para
adicionar outros artefatos. Alguns exemplos são:
objetos de dados, grupos e anotações.
A Figura 4 mostra os elementos que representam eventos no BPMN. Perceba a quantidade de
elementos para representar diferentes tipos de
eventos, tais como: mensagem, cronômetro, exceção, compensação, regra, atalho, etc. Além disso,
os eventos podem representar estados de início,
intermediário ou final.
A Figura 5 mostra dois exemplos de processos
simples modelados utilizando BPMN. No primeiro
exemplo, o processo se inicia quando um evento
de mensagem é recebido, representando um recebimento de pedido de suporte. Então a atividade
“Trata pedido de suporte” é executada. O processo
fica aguardando até que outro evento de mensagem
seja recebido (Aguarda uma resposta técnica interna). A partir deste evento, o registro de resposta é
criado e um evento de mensagem (Envia solução) é
enviado. Perceba como os três tipos de eventos do
tipo mensagem foram utilizados no processo.
O exemplo 2 segue a mesma ideia, porém é utilizado o evento do tipo cronômetro, no qual o processo
se inicia todas as segundas-feiras às 10hs.
O processo da Figura 6 inicia com um evento genérico, chamado evento inicial. Após o processamento
do pedido, uma decisão sobre a forma de pagamento
deve ser feita. Se a forma é cartão de crédito, a transação deve ser confirmada por outro participante:
o banco. O banco é uma piscina (Pool) do tipo caixa
preta; seus processos internos são desconhecidos.
Após a forma de pagamento ter sido processada,
o produto é despachado. O processo termina com
um evento final.
REQUISITOS
Ferramentas
Como foi dito anteriormente, um aspecto muito importante
que deve ser considerado na escolha da notação é o suporte
ferramental que esta possui. No caso das duas notações apresentadas, existem algumas ferramentas que as suportam. É
natural que existam mais opções de ferramentas para criar
diagrama de atividades, pois qualquer ferramenta para UML,
naturalmente, possui a opção para criação de diagrama de
atividades. Alguns bons exemplos de ferramentas gratuitas
que suportam UML são a astah community e a StarUML.
No caso de ferramentas para BPMN também temos opções.
Alguns exemplos são: iLog, IntalioBPMS, BizAgi e BillFish.
Conclusão
Este artigo apresentou a importância de entender a estrutura
organizacional e seus processos como fator crucial para se
construir soluções de TI que estejam alinhadas às necessidades, aos objetivos e processos da organização. Além disso,
foram apresentadas também duas notações para modelagem
de processos de negócio, que é uma importante atividade para
o entendimento do contexto do negócio.
Em artigos futuros, iremos abordar de maneira mais técnica
e prática como modelar o negócio e seus processos de maneira
sistemática.
Dê seu feedback sobre esta edição!
A Engenharia de Software Magazine tem que ser feita ao seu gosto.
Para isso, precisamos saber o que você, leitor, acha da revista!
Dê seu voto sobre este artigo, através do link:
www.deVmedia.com.br/esmag/feedback
Referências
[InfoQ, 2009] Artigo da InfoQ. Como Alinhar Processos de TI e Governança SOA para suportar RODRIGUES, Nadja da N. Virtualização bancária: a experiência em João Pessoa – PB. 2002. 157 f.
Iniciativas BPM? (2009) Disponível em http://www.infoq.com/br/news/2009/02/process-it-soa- Dissertação (Mestrado em Administração de Empresas) – Universidade Federal da Paraíba, João
governance.
Pessoa, 2002.
KRUCHTEN, P. Introdução ao RUP: Rational Unified Process. Ciência Moderna, 2003. LAUDON, SOMMERVILLE, Ian.Engenharia de Software.Tradução de Selma Shin Shimizu Melnikoff, Reginaldo
Kenneth C.; Sistemas de Informação Gerenciais. Tradução da 5. ed. São Paulo: Makron Books Arakaki, Edílson de Andrade Barbosa. Revisão técnica de Kechi Hirama. 8. ed. São Paulo: Pearson
Editora,2003.
Addison-Wesley, 2007.
OMG Business Process Modeling Notation Specifications. Disponível em: http://www.bpmn.org/. STAIR, R. M.; REYNOLDS, G. W. Princípios de Sistemas de Informação. Tradução da 6.ed. São Paulo:
Acessado em 05/11/2010.
Thompson, 2006.
PRESSMAM, Roger S. Engenharia de Software. Tradução de Rosangela Dellosso Penteado. Revisão
técnica de Fernão Stella R. Germano, José Carlos Maldonado, Paulo Cesar Masiero. 6.ed. São Paulo:
McGraw-Hill, 2006.
Edição 31 - Engenharia de Software Magazine 13
Download