1 Qualidade, Processos e Gestão de Software Modelagem de Processos André Luís Rodovalho Bezerra [email protected] Qualidade, Processos e Gestão de Software Professores: Alexandre Vasconcelos e Hermano Perrelli http://www.cin.ufpe.br/~processos 28 de Setembro de 2009 2/36 Índice • O que é Modelagem de Processos • Objetivo da Modelagem de Processos • Vantagem da Utilização de Modelagem de Processos • Linguagem de Modelos de Processos • - BPM • - SPEM • - Outras • Ferramentas de Modelagem *(colocar exemplo didatico) • Comparação entre as Ferramentas • Sugestoes de Leitura • Topicos de Pesquisa • Exercícios. • Conclusões O que é Modelagem de Processos O QUE É MODELAGEM DO PROCESSO E POR QUÊ USAR? Modelagem de Processos significa desenvolver diagramas (Diagramas de Processos) que mostram as atividades da empresa, ou de uma área de negócios, e a sequencia na qual são executadas. Muitos negócios são relativamente complexos, assim um modelo poderá consistir de diversos diagramas. [6] O modelo é um ponto central para que os participantes definam mudanças para melhoramento do processo ou mesmo um desenho completamente novo. Pode ser identificado se um processo é eficiente / eficaz, ou mesmo antecipar sua complexidade, redundâncias e não conformidades (problemas). Se o processo é alguma coisa nova que a empresa está planejando executar, o modelo pode ajudar a assegurar sua eficiência desde o início. A comunicação do processo , de forma eficiente, para outras pessoas é fundamental. Por melhor que seja um processo, se a comunicação para outros for deficiente, principalmente para aqueles que vão implementar o processo, o esforço desenvolvido pela equipe terá sido em vão. Bons modelos de processos (claros), são a chave para a comunicação. O que é Modelagem de Processos • Modelagem de Processos significa desenvolver diagramas (Diagramas de Processos) que mostram as atividades da empresa ou de uma área de negócios e a seqüência na qual são executadas. • Muitos negócios são relativamente complexos, assim um modelo poderá consistir de diversos diagramas. [6] O modelo é um ponto central para que os participantes definam mudanças para melhoramento do processo ou mesmo um desenho completamente novo. Pode ser identificado se um processo é eficiente / eficaz, ou mesmo antecipar sua complexidade, redundâncias e não conformidades (problemas). A comunicação do processo , de forma eficiente, para outras pessoas é fundamental. Por melhor que seja um processo, se a comunicação para outros for deficiente, principalmente para aqueles que vão implementar o processo, o esforço desenvolvido pela equipe terá sido em vão. Bons modelos de processos (claros), são a chave para a comunicação. Colocar uma figura de Modelagem Modelagem de Processos Notações • Fluxogramas: representação gráfica da relação existente entre as atividades e os processos empresariais; • UML: notação visual e orientada a objetos, mantida pelo OMG, para modelagem e análise de sistemas, que vem sendo utilizada para representar os modelos dos conceitos de negócios; • BPMN: Projetada para ser extensível e simples, utilizada tanto pelas pessoas que especificam com as que gerenciam processos. Objetivo da Modelagem de Processo •Modelar processos ajudando a entender como funciona uma organização. •Aumentar o entendimento dos participantes durante este trabalho. •Uniformização de entendimento sobre o problema através do uso de modelos. • Melhoria do fluxo de informações dentro da organização e entre organizações parceiras. • Melhoria da gestão organizacional. Modelagem de Processos “Como É” Desconexões + Sugestões DESAPRENDER “ Como Será” RECRIAR Vantagens • Bons modelos de processos (claros), são a chave para a boa comunicação. • Se o processo é alguma coisa nova que a empresa está planejando executar, o modelo pode ajudar a assegurar sua eficiência desde o início. • Revelar anomalias, inconsistências, ineficiências e oportunidades de melhoria, permitindo à organização que se compreenda melhor e auxiliando na reengenharia desses processos. • Fornecer visão clara e uniformizada das atividades, suas razões e formas de execução. • Utilizar o modelo como um meio para distribuição de conhecimento dentro da organização e treinar as pessoas, ajudando-as a conhecer melhor seus papéis e as tarefas que executam. Linguagens de Modelagem de Processo O uso de linguagens de modelagem de processos está cada vez mais em evidência devido à sua contribuição para a definição, acompanhamento e evolução dos processos. Linguagens: EX: •BPMN •SPEM •UML •YAWL •EPC •DYNAMITE •E3 A grande utilização dos padrões SPEM e BPMN reflete diretamente a busca das empresas pela qualidade dos seus produtos e serviços. OMG(Object Management Group) – Consórcio internacional de “industrias de computadores”, aberta a membros e não lucrativo. – Fundada em 1989 – Finalidade: estabelecer diretrizes e especificações pra prover um framework comum para o desenvolvimento de aplicações orientada a objetos. – Membros: Fornecedores de sistemas, desenvolvedores de software, usuários OMG-Nivel de Modelagem Níveis de Modelagem definidos pela OMG[11] BPMN BPMN •BPMN é uma notação visual para representação de fluxos de processos que pode ser mapeada para diversos formatos de execução: • A notação BPMN proporciona às ferramentas de desenho o uso de uma representação gráfica padronizada. •E esta representação padronizada facilita o entendimento na própria organização e também entre organizações. BPMN As notações BPMN foram criadas para representar o fluxo de processos pelas áreas de negócio. com o objetivo: -De detalhar com bastante proximidade as complexidades de ambientes reais. A modelagem de processos de negócio é usada para comunicar grande variedade de informações. O BPMN destina-se a cobrir do início ao fim esses vários tipos de modelagem de processos de negócio. BPMN Segundo definições do BPMN 1.2 o modelo BPMN é dividido em três tipos básicos de sub-modelos: - privado, - abstrato - colaboração. Os processos de negócio privados, mais baixo nível, correspondem aqueles que ocorrem dentro da organização e que possuem atividades realizadas internamente que interagem entre si. É utilizado quando se quer visualizar uma parte de um processo sem se preocupar com o processo como um todo. BPMN Processos de negócio abstratos, mais alto nível, é utilizado quando se quer visualizar as interações entre os fluxos, as comunicações. São processos públicos que retratam as interações das atividades pertencentes a um processo privado com outra entidade de negócio externa ao processo privado. Processos colaborativos possuem uma visão em alto nível e baixo nível. Este tipo de processo modela as interações entre dois ou mais processos de negócio Lembrando que o objetivo principal das notações BPMN é permitir a representação do negócio. BPMN-Representações BPMN-Representações Poster BPMN SPEM SPEM – Especificações técnicas • SPEM surgiu com o propósito de criar um padrão para expressar qualquer processo de software. • • • • Oficializada em: Novembro de 2002 Versão oficial: 1.1 (06/01/2005) Versão Draft: 2.0 (usa UML profile 2.0) Especificação adotada pela OMG 30/01/2007 21 SPEM • Estruturado como um UML profile (1.4) e prover um metamodelo baseado em MOF • UML Profile – Variação de UML que usa mecanismos de extensão de uma forma padronizada para um fim particular • MOF (Meta-Object Facility) é uma tecnologia adotada pela OMG para definição de metadados. – possui um conjunto de elementos de modelagem – utilizados na construção dos metamodelos – inclui regras para o seu uso. 30/01/2007 22 SPEM • Resultou de um esforço coletivo de pesquisadores e consultores, tais como: – Empresas: IBM, Rational, Computer Associates, Toshiba, Siemens, etc. – Pesquisadores: Philippe Kruntchen, Craig Lairman, e diversos outros. • As empresas focam-se agora em construir ferramentas para dar apoio a SPEM. 30/01/2007 23 SPEM O SPEM - Modelo de Processo Unificado: - É o metamodelo proposto pela da OMG para a descrição de um processo concreto de desenvolvimento de software O objetivo de SPEM é suportar a definição de um processo de desenvolvimento de software incluindo aqueles processo que envolvem ou permitem o uso de UML, assim como o RUP. O SPEM utiliza a orientação a objeto para modelar uma família relacionada de processos de software: - Usa a UML como notação. SPEM – Notação • Diagramas da UML podem ser usados para apresentar diferentes perspectivas de um modelo de processos – – – – – Diagramas de classes Diagramas de pacotes Diagramas de atividades Diagramas de casos de uso Diagrama de sequência 30/01/2007 25 SPEM – Notação • Diagramas de Classes 30/01/2007 26 SPEM – Notação • Diagramas de Pacotes 30/01/2007 27 SPEM – Notação • Diagramas de Casos de uso 30/01/2007 28 SPEM – Notação • Diagramas de Atividades 30/01/2007 29 SPEM- Representações Representação gráfica através de ícones dos principais elementos do SPEM Diagrama de Pacotes do WorkDefinition Compreender Domínio da Aplicação. O Diagrama apresenta as Activities, os WorkProducts gerados pela WorkDefinition e o ProcessRole responsável. Outras Linguagens OC - Organization Chart - O diagrama é usado para representar elementos organizacionais da companhia em uma estrutura. O princípio fundamental dessa formação é a subordinação hierárquica. As unidades organizacionais e os relacionamentos entre elas são mostrados nesse diagrama. Veja as notações OC clicando aqui. VACD - Value Added Chain Diagram - Os VACs, descrevem os elementos de negócio da organização divididos em cenários e processos. São utilizados para uma representação da visão estratégica dos processos. Veja as notações VACD clicando aqui. EPC - Event-driven Process Chain - Apresenta uma visão detalhada do processo, através de funções realizadas, regras de negócio com os seus operadores lógicos, eventos de início, de fim e de circunstância. Propicia também a ligação ou a dependência lógica entre os processos, mostrando a sua integração. Veja as notações EPC clicando aqui. FAD - Function Allocation Diagram - É utilizado para apresentar uma visão mais detalhada dos recursos disponíveis e necessários, que são relevantes para as atividades. O FAD também é utilizado para reduzir a complexidade dos processos de negócio, representando elementos como: cargos, áreas, transações e sistemas que suportam a atividade, as entradas e saídas de dados, os documentos, os risco envolvidos nas atividades entre outras possibilidades que podem ser criadas pelo modelador. Veja as notações FAD clicando aqui. UML - Unified Modeling Language (www.uml.org) - É a mais utilizada especificação criada pelo OMG (Object Management Group) para modelagem universal de estruturas de aplicação, comportamentos, arquiteturas e também para processos de negócios e estruturas de dados. O UML junto com o Meta Object Facility (MOFTM) também fornece os fundamentos chaves para a Model-Driven Architecture da OMG, que unifica todos os passos do desenvolvimento e integração para modelagem de negócios através da modelagem arquitetônica e de aplicações para desenvolvimento, entrega, manutenção e evolução. Outras Linguagens ArchiMate - Recentemente absorvida pelo The Open Group, a Archimate se torna um padrão internacional para a modelagem de domínios arquitetônicos como organização, processos de negócios, aplicações, informações e tecnologia, encontrados nas empresas. Cada domínio de arquitetura tem os seus próprios conceitos para modelagem e visualização. Esses modelos específicos e suas visualizações, simplificam a comunicação, a discussão e a análise do domínio a que pertence. Além disso, esses diferentes domínios possuem áreas em que são sobre postos e compartilhas das mesmas idéias, algumas vezes sem que as pessoas envolvidas saibam disso. As ambigüidades e confusões resultantes tornam-se obstáculos no caminho da flexibilidade e da eficiência dessas organizações. A ArchiMate pretende acabar com estas ambigüidades. Ela apresenta uma forma unificada de modelagem das arquiteturas empresariais, integrando os diversos domínios e descrevendo-os de forma facilmente legível. Veja mais informações sobre o Archimate clicando aqui. ASTD - Application system type diagram - Este conjunto de notações é utilizado para descrever sistemas aplicativos de informação. As classes de sistema de informação definidos de acordo com as funções de negócios, são modelados em níveis de hierarquia. Todas as classes que compõe os sistemas de informação precisam ter os seus componentes mapeados. Os softwares empacotados, bancos de dados, aplicativos, interfaces, serviços, funções, formulários entre outros componentes, relacionados a cada sistemas, subsistema ou classe, podem ser documentados utilizando-se essa notação. Veja as notações ASTD clicando aqui. Matrix Diagram - É utilizada para representar sistemas, subsistemas, plataformas, ambientes e funcionalidades. Esse tipo de diagrama vai auxiliar a tomada de decisões e o controle de padronização. Esse tipo de notação é bastante utilizada nas metodologias Zachman e Teaf/Feaf. Veja as notações Matrix Diagram clicando aqui. IDEFx - É um tipo de notação utilizada para descrever as atividades com as informações de entrada de dados, controles, mecanismos de processamento e saída. O IDEF0 foi originário de uma notação ICAM e os outros IDEF (1 a 5) são evoluções. O IDEF0 já considerava a decomposição top-down e adotava a premissa de que "tudo o que poderia ser utilizado para executar uma atividade, poderia ser expresso em 6 partes ou menos". O IDEF0 considera a seqüência de atividades mas não consegue expressar as regras de negócios. O IDEF3 permite o uso de conectores lógicos na descrição das seqüências de atividades que compõem os processos. Veja as notações IDEF clicando aqui. Notações OC - Organization Chart Notação Notações VACD - Value Added Chain Diagram Notação VACD Processos de negócios de uma unidade organizacional com a representação dos times, dos responsáveis pelos processos e os documentos normativos que regulamentam cada unidade. Notações EPC - Event-driven Process Chain Notação EPC exemplos de modelagem com situações mais complexas Ferramentas de Modelagem de Processo •BizAgi(BPMN) •IRIS(SPEM) •MsVisio 2007 •Igrafx •Process Modeler •ARIS •Promodeller BizAgi(BPMN) – BizAgi foi focada no desenvolvimento de tecnologias e metodologias de apoio à melhoria contínua dos processos de nossos clientes de negócios – Fundada em 1989 – Nosso BPM Suite é o resultado de mais de 20 anos de experiência em automação de processos e soluções de otimização. BizAgi(BPMN) IRIS(SPEM) – Osellus é uma empresa privada com sede em Toronto, Canadá. A empresa foi fundada em Janeiro de 2002 por três empresários de software experientes: Omid Hodaie, Aditya Jha, e Hodaie Payman. – O Produto principal da empresa é IRIS, – Uma aplicação de software empresarial que visa automatizar os processos de desenvolvimento de software. – IRIS é usado para definir, implementar e gerenciar os processos em todo o ciclo de desenvolvimento de software. – 100% compatível com SPEM IRIS(SPEM) IRIS(SPEM) Mapeamento SPEM x BPMN Tabela de Mapeamento SPEM - BPMN.[7] Exemplo Pratico de Um modelagem BPMN Modelagem do Processo em BPMN. Exemplo Pratico de Um modelagem SPEM Modelagem do Processo em SPEM. Exemplo Pratico de Um modelagem SPEM X BPMN Modelagem do Processo em SPEM. Modelagem do Processo em BPMN. Comparação entre as Ferramentas de Modelagem de Processo Ferramenta 1 Ferramenta 2 Notação utilizada EPC BPMN Interface MUITO SIMPLES COMPLEXA Apoio ao usuário E-mail ou Tel Reconhecimento / difusão da ferramenta Brasil, principalmente, e exterior Mundialmente Difundida Funcionalidades interessantes Publicação em HTML, exportação/importação entre ferramentas Automação com BPM (Business Process Management) Custo Acadêmico livre e completo com baixo Custo •BizAgi(BPMN) x IRIS(SPEM) Fóruns Software livre com módulos pagos Exemplo de Tabela para fazer comparação. •MsVisio 2007 X Igrafx •Process Modeler x ARIS •Promodeller x BizAgi(BPMN) Tópicos de pesquisa Perguntas/Dúvidas ? 48/36 Referencias [1] Business Process Modeling Notation. BPMN1.2 Especification. Disponível em: <http://www.bpmn.org/> [2]Modelagem de Processos de Software Através do SPEM - Software Process Engineering Metamodel - Conceitos e Aplicação” http://mtcm18.sid.inpe.br/col/lac.inpe.br/worcap/2003/10.31.14.46/doc/artigo_worcap_elias_2003.PDF” [3] http://www.bpm-advisor.com.br/padnotac.htm [4] http://www.sarga.com.br/artigo1.htm [5] www.cin.ufpe.br/~tg/2009-1/fe.pdf [6].Object Management Group, Software Process Engineering Metamodel Specification (SPEM), Formal Submission, OMG document number formal/02-11-14, November 2002. [7] http://bpt.hpi.uni-potsdam.de/pub/Public/BPMNCorner/BPMN1_2_Poster_EN++.pdf [8] ARPO® http://klugsolutions.com; último acesso em agosto de 2008. [9] Intalio® http://intalio.com, último acesso em agosto de 2008. [10] http://images.google.com.br/imgres?imgurl=http://sites.google.com/site/tatianeswebsite/_/rsrc/1225334245556/pesquisa---avaliacao-de-notacoes-de-modelagem-deprocessos/eventos_bpmn_png.PNG&imgrefurl=http://sites.google.com/site/tatianeswebsite/pesquisa---avaliacao-de-notacoes-de-modelagem-deprocessos&usg=__lycmVcDNvcARXweCEORsJMfCwQ8=&h=548&w=251&sz=51&hl=ptBR&start=8&um=1&tbnid=Y1JWie1mxqofFM:&tbnh=133&tbnw=61&prev=/images%3Fq%3Drepresenta%25C3%25A7%25C3%25B5es%2Bgrafica%2Bdo%2Bbpmn%26hl%3DptBR%26sa%3DN%26um%3D1 49/36 50