Curta o BPMVision no Facebook! E saiba tudo sobre BPM!


  • Desenvolvido Por Iago Melanias

    Acompanhe o BPMVision!


    Cadastre seus dados para receber: A agenda semanal, promoções exclusivas e as notificações das novas publicações!

    Fique por dentro de todas as novidades e acompanhe tudo sobre BPM!




    sexta-feira, 25 de maio de 2012

    Introdução rápida aos elementos do BPMN 2.0


    Quando comecei a estudar BPMN, tudo o que eu desejava era encontrar um artigo igual este que irei escrever aqui. Nada melhor que uma introdução bem breve para passar uma visão geral sobre os elementos do BPMN para posteriormente aprofundarmos no assunto. Lembro aos mais experts no assunto, que este artigo é uma introdução básica, logo, não irei entrar nos mais profundos detalhes de cada item, será uma iniciação superficial porém rápida. Favor também desconsiderar as cores e o design dos objetos, pois a especificação BPMN 2.0 não prevê nenhum tipo de cor para os objetos.

    Basicamente, o BPMN é composto por 4 grupos de elementos visuais: 
    • Partições (Swimlanes) 
    • Objetos de Fluxo (Flow Objects)
    • Objetos de Conexão (Connection Objects)
    • Artefatos (Artfacts)
    Vamos ver o que cada grupo deste representa dentro de um diagrama BPMN.

    Os elementos que compõem o grupo de Partições (Swimlanes) são:

    • Piscinas (Pools): Representam o processo que está sendo mapeado. Dentro dela é que serão desenhadas as atividades do processo. São representadas por uma caixa retangular contendo o nome do processo.

    • Raias (Lanes): Representam um papel desempenhado dentro de um processo. Pode ser um departamento(compras, vendas) ou atores(supervisor, empregado). São representadas por uma caixa retangular inserida dentro de uma piscina.

    Os elementos que compõem o grupo Objetos de Fluxo (Flow Objects) são:
    • Tarefas (Tasks): Representam um trabalho que é realizado dentro do processo (receber pedido, enviar formulário). É realmente o que pessoas ou máquinas realizam, seja interagindo com um sistema informatizado ou não. São representadas por uma caixa retangular com bordas arredondadas e o nome da tarefa no centro.


    • Subprocessos (Subprocess): Representam um processo que está inserido dentro de um processo, ou seja, é praticamente como se fosse uma tarefa mas com os seus passos internos bem definidos. Um subprocesso pode definir vários atores internos. São representados por uma caixa retangular com bordas arredondadas (igual a tarefa) e uma caixa centralizada com um símbolo de positivo, que representa que o subprocesso pode ser expandido.


    • Eventos (Events): Representam alguma ação que pode ocorrer durante o processo. Seja no início, na execução ou no final dele. Receber um telefonema, aguardar 2 dias e enviar um e-mail ao final do processo são exemplos de ações que ocorrem em um processo. São representados por um círculo.


    • Portais (Gateways): Representam uma convergência ou uma divergência no fluxo do processo. Quando o fluxo chega a um portal uma decisão é tomada dependendo do tipo de portal. São representados por um losango.


    Os elementos que compõem o grupo Objetos de Conexão (Connection Objects) são:
    • Fluxos de Sequência (Sequence Flow): Indicam a ordem em que as tarefas serão executadas. É utilizado para dizer que após realizar a tarefa "A", realiza a tarefa "B". São representados por uma linha contínua com uma seta preenchida na ponta.


    • Fluxos de Mensagem (Message Flow): Indicam como as tarefas de diferentes raias trocam mensagens entre sí. São somente utilizados para conectar objetos entre piscinas diferentes e indica que a tarefa "A" envia uma mensagem à tarefa "B" durante a sua execução. São representados por uma linha tracejada com um círculo não preenchido na ponta "de onde vai" e com uma seta não preenchida na ponta "para onde vai".


    • Associações (Associations): São utilizadas para associar artefatos à objetos de fluxo. Tem caráter informacional. São representadas por uma linha pontilhada.


    Os elementos que compõem o grupo de Artefatos (Artfacts) são:
    • Grupos (Groups): São utilizados com a finalidade de documentação e marcação. Não alteram de maneira alguma o fluxo do processo pois são apenas elementos visuais. São representados por uma linha tracejada e pontilhada.
    • Anotações (Annotations): São utilizadas para descrever melhor algum processo. Não alteram o fluxo do processo e são apenas elementos visuais como os grupos. São representados por colchete com a descrição dentro.
    • Objetos de Dados (Data Objects): Indicam quais são os insumos ou artefatos gerados por uma tarefa. Não alteram o fluxo do processo. Podem representar documentos que são necessários para um processo, um relatório gerado, etc. São representados pelo desenho de uma folha com "orelha-de-burro" (dog-eared).
    • Armazenador de Dados (Data Store): Indicam uma base de dados onde as informações podem ser inseridas ou consultadas. Dependendo do caso, podem representar uma interface de integração de dados entre processos. São representados pelo típico desenho de banco de dados, um cilíndro.

    Estes são os 4 grupos de elementos que podemos representar com o BPMN. Apesar do post ser uma revisão geral, creio que já irá agregar conhecimento aos novos na área e reciclar o conhecimento de quem acabou esquecendo dos conceitos principais.

    Esta foi apenas um alinhamento rápido que será necessário para continuarmos as nossos estudos. Sem este conhecimento básico é muito complicado partir para as interações entre os objetos e casos mais complexos.

    Nos próximos posts entrarei a fundo em cada tipo de elemento e suas aplicações práticas.

    Bruno Barrios
    BPMVision



    6 comentários:

    1. [Comentário movido]
      Ultrabpm escreveu:

      Bruno:

      A assunção de que a pool representa o processo está errada.

      A pool representa um participante (gestor de crédito, responsável back office ... ) no processo e as atividades que estão dentro la pool são asseguradas por esse participante.

      ResponderExcluir
      Respostas
      1. Olá Ultrabpm, primeiramente obrigado pelo comentário!

        Apenas para balizar nossa conversa, gostaria de lembrar conforme descrito no artigo que não entrei profundamente no detalhe de cada elemento.

        Gostaria de dizer que discordo da sua opinião sobre a pool representar o processo estar errada. De acordo com a BPMN v2.0 Especification fornecida pela OMG, no item 9.2 primeiro parágrafo está escrito:

        A Pool MAY or MAY NOT reference a Process. - pg.112

        Logo, esta afirmação invalida a sua afirmação. Pois segundo a especificação oficial, uma pool(piscina) PODE OU NÃO representar um processo. Então, segundo a especificação pode sim e minha afirmação está baseada nela.

        Por este ser um post introdutório, não entrei em mais detalhes e não apresentei outros papéis que os elementos podem desempenhar, mas adianto que: Em um contexto de colaboração(Colaboration Diagram) temos a pool principal representando o processo e ai sim, as outras pools representam participantes que interagem com o processo principal. Neste contexto sim vejo as pools atuando como participantes.

        Baseado também nas boas práticas indicadas no livro BPMN 2.0 Method and Style do autor Bruce Silver, que é uma referência na área do BPMN, cito:

        "You sometimes see pools labeled with the name of an organization, but for pools that contain activity flows – some don’t, as we will see later – it’s best practice to label them with the name of the process." - pg.48

        "A pool containing flow elements, called a process pool or white-box pool, should be labeled with the name of the process. An empty pool, called a black-box pool, should be labeled with the name of a business entity or role such as Customer or Seller." - pg.72

        O próprio autor diz que as pools que contém atividades e elementos deveriam ser nomeadas com o processo e que as pools que não contém elementos (black-boxes) deveriam ser nomeadas com o nome de uma entidade.

        Gostaria de saber mais sobre a sua afirmação e quais informações/experiências nortearam você a chegar a tal conclusão.

        Agradeço muito pela participação e se ficou ainda alguma dúvida sobre a resposta não deixe de perguntar! Aguardo por sua resposta :-)!

        Um abraço!
        Bruno Barrios

        Excluir
    2. Correta sua reflexão e fundamentação, Bruno. Também vejo e venho trabalhando dessa forma. Por minha prática e conhecimento em APF, e aí incluo Engenharia de Requisitos, vai muito da visão do cliente, do usuário, do gestor. Numa Pool posso ter o processo composto (ou não) por raias, que traduzem os papéis envolvidos; bem como tenho outra Pool nomeada pelo Ator que interage com o processo descrito naquela Pool. Ora, se isso é possível, não há como determinar que uma Pool só pode descrever Processo, mas sim o que irá definir seu design será o foco, a visão que se dará. Além do mais, a maturidade no entendimento do processo de negócio vai resultar na melhor dimensão do fluxo.

      Por fim, tudo vai depender da análise, do objetivo, do âmbito relativo à modelagem.

      Um abraço e parabéns, mais uma vez.

      Estou aprendendo muito com você, obrigado!

      Raul.

      ResponderExcluir
      Respostas
      1. Olá Raul! Exatamente isto! O que creio que pode ter gerado dúvida foi que o post é apenas para um repasse geral e rápido de todos os elementos. Logo não aprofundei no assunto!

        Isto será tema do nosso próximo post! :-)

        Obrigado pela participação também Raul!

        Um abraço!
        Bruno Barrios

        Excluir
    3. Olá. Trabalho na área de TI há uns bons anos e há 3 anos estou exercendo a função de gerência. Há 2 anos conheci o software Bizagi e gostei do assunto. Agora estou disposto a aprender sobre BPM à fundo e seu blog já vai se tornar uma referência para mim.
      Espero que em alguns meses eu já possa dar alguma contribuição como agora estou recebendo de você.
      Parabéns pelo blog!

      ResponderExcluir
      Respostas
      1. Olá carreiracrista! Seja bem vindo!
        Fico feliz em ter gostado do blog!
        Aproveito para indicar a nossa página do facebook, curtindo lá, você fica por dentro de todas as atualizações durante a semana! www.facebook.com/BPMVision

        Um forte abraço!
        Bruno Barrios
        BPMVision

        Excluir

    Vamos disseminar as informações! Escreva seus comentários aqui e curta este artigo!