Pular para o conteúdo

Modelagem com UML e BPMN

Prioridade Média 16 min de leitura Status: Não visto Lido Praticado Dominado

Do zero

Antes de construir uma casa, o arquiteto desenha plantas: uma mostra os cômodos, outra a parte elétrica, outra a hidráulica. Cada planta mostra um aspecto, com símbolos que todo mundo da obra entende.

  • A UML (Linguagem de Modelagem Unificada) é o conjunto de plantas do software. O diagrama de classes mostra as peças e como se ligam; o de casos de uso, o que cada usuário pode fazer; o de sequência, a conversa entre as peças ao longo do tempo.
  • O BPMN (Modelo e Notação de Processos de Negócio) é a planta do processo de trabalho: quem faz o quê, em que ordem, com quais decisões. Por exemplo, o caminho de uma prestação de contas, do envio pelo município até o parecer.

A diferença: a UML desenha o sistema; o BPMN desenha o negócio, com ou sem sistema. Os dois servem para que gestores, analistas e programadores olhem o mesmo desenho e entendam a mesma coisa.

Frase para guardar: UML modela o software (estrutura e comportamento); BPMN modela o processo (eventos, atividades, decisões e quem faz).

Em 1 minuto

  • A UML 2.5 tem 14 diagramas. Estruturais, que mostram as peças: classes, objetos, componentes, implantação, pacotes, estrutura composta e perfil. Comportamentais, que mostram o que acontece: casos de uso, atividades e máquina de estados, mais os de interação: sequência, comunicação, visão geral da interação e tempo.
  • Relações no diagrama de classes: associação (linha), agregação (losango vazio: a parte vive sem o todo), composição (losango cheio: a parte morre com o todo), generalização (seta com triângulo vazio: herança), realização (tracejada com triângulo vazio: implementa uma interface) e dependência (tracejada com seta aberta: usa).
  • Casos de uso: atores (quem usa), casos de uso (o que se faz), «include» (sempre executado, obrigatório) e «extend» (só em certas condições, opcional).
  • Sequência: linhas de vida verticais, mensagens em ordem de cima para baixo, e fragmentos como alt (alternativa), opt (opcional) e loop (repetição).
  • BPMN 2.0: eventos (círculos: início, intermediário e fim), atividades (retângulos arredondados: tarefa ou subprocesso), gateways (losangos: exclusivo, paralelo, inclusivo, por eventos), fluxos (de sequência, de mensagem e associação), pools (participantes) e lanes (raias, os papéis dentro de um participante).
  • Regra de ouro do BPMN: o fluxo de sequência fica dentro de um pool; entre pools, só fluxo de mensagem.

Exemplo concreto: a prestação de contas

Em BPMN. Dois participantes, cada um um pool: o Município e o Tribunal. O Tribunal tem três raias: Protocolo, Unidade técnica e Relator.

POOL MUNICÍPIO
  (início) → [Enviar prestação de contas] → (fim)
     ┆ fluxo de mensagem (a prestação) → início do Tribunal

POOL TRIBUNAL
  Raia Protocolo
    (início de mensagem) → [Conferir documentos] → ◇X Documentação completa?
      não → [Notificar o município] → (fim)
              ┆ fluxo de mensagem → pool Município
      sim → ◇+ (na raia Unidade técnica)
  Raia Unidade técnica
    ◇+ abre → [Análise contábil]   → ◇+ fecha
            → [Análise de pessoal] → ◇+ fecha
  Raia Relator
    ◇+ fecha → [Emitir parecer] → (fim)
  • O círculo de início do Tribunal é um evento de mensagem: o processo começa quando a prestação chega.
  • O losango com X é um gateway exclusivo: segue um caminho só, conforme a resposta.
  • O losango com + é um gateway paralelo: o primeiro abre as duas análises ao mesmo tempo; o segundo espera as duas terminarem.
  • As linhas tracejadas entre os pools são fluxos de mensagem; dentro do pool, as setas cheias são fluxos de sequência.

Em UML, o diagrama de classes do sistema que apoia esse processo:

┌──────────────────────┐ 1          1..* ┌──────────────────┐
│ PrestacaoDeContas    │◆───────────────│ Documento        │   ◆ composição: o documento
├──────────────────────┤                 └──────────────────┘     não existe sem a prestação
│ - exercicio: int     │
│ - situacao: String   │ *            1  ┌──────────────────┐
├──────────────────────┤────────────────│ Municipio        │   associação simples
│ + protocolar(): void │                 └──────────────────┘
└──────────────────────┘

O - marca um atributo privado, o +, um método público, e os números nas pontas são as multiplicidades: uma prestação tem um ou mais documentos (1..*) e pertence a um município (1); um município tem várias prestações (*).

Comparação: os diagramas e os símbolos

Diagrama UML Tipo Mostra Pergunta que responde
Classes Estrutural Classes, atributos, métodos e relações Quais são as peças?
Componentes Estrutural Partes substituíveis do sistema e suas interfaces Como o sistema se divide em módulos?
Implantação Estrutural Servidores, dispositivos e o que roda em cada um Onde cada parte é instalada?
Casos de uso Comportamental Atores e funcionalidades Quem faz o quê com o sistema?
Atividades Comportamental Fluxo de ações, decisões e paralelismo Qual é o passo a passo?
Máquina de estados Comportamental Estados de um objeto e as transições Por quais situações o objeto passa?
Sequência Interação Mensagens entre objetos, em ordem no tempo Quem chama quem, e quando?
Relação (classes) Símbolo Exemplo
Associação Linha simples Prestação pertence a um Município
Agregação Losango vazio no lado do todo Equipe e Servidor: o servidor continua existindo sem a equipe
Composição Losango cheio no lado do todo Prestação e Documento: o documento some com a prestação
Generalização Seta com triângulo vazio, para a classe mãe ContratoTI é um Contrato
Realização Linha tracejada com triângulo vazio, para a interface EmailSmtp implementa Canal
Dependência Linha tracejada com seta aberta O relatório usa o calendário
Visibilidade Símbolo
Pública +
Privada -
Protegida #
De pacote ~
Gateway BPMN Símbolo Comportamento
Exclusivo (XOR) Losango com X (ou vazio) Segue exatamente um caminho
Paralelo (AND) Losango com + Segue todos os caminhos, sem condição; na junção, espera todos
Inclusivo (OR) Losango com círculo Segue um ou mais caminhos, conforme as condições
Baseado em eventos Losango com pentágono num círculo Segue o caminho do primeiro evento que acontecer
Evento BPMN Borda do círculo
Início Fina, simples
Intermediário Dupla
Fim Grossa

Como a FCC cobra

Agregação × composição, «include» × «extend», a classificação dos diagramas UML (estruturais × comportamentais) e os gateways do BPMN (exclusivo, paralelo, inclusivo).

  • Qual diagrama UML usar para cada finalidade.
  • Multiplicidade e visibilidade no diagrama de classes.
  • Pools, lanes, fluxo de sequência × fluxo de mensagem.
  • Tipos de eventos e atividades do BPMN.

Pegadinhas

  • “Na agregação, a parte deixa de existir quando o todo é destruído.” Falso: isso é a composição (losango cheio); na agregação (losango vazio), a parte sobrevive.
  • “O «include» representa um comportamento opcional.” Falso: o «include» é sempre executado; o opcional, condicional, é o «extend».
  • “O diagrama de sequência é estrutural.” Falso: é comportamental, um dos diagramas de interação.
  • “No BPMN, o fluxo de sequência pode ligar atividades de pools diferentes.” Falso: entre pools, usa-se o fluxo de mensagem.
  • “O gateway paralelo avalia condições para escolher o caminho.” Falso: ele segue todos os caminhos, sem condição; quem escolhe por condição é o exclusivo (um caminho) ou o inclusivo (um ou mais).

Explique com suas palavras

Explique a um gestor como o diagrama BPMN da prestação de contas mostra quem faz cada etapa, onde há decisão e onde há trabalho em paralelo.

  1. Escreva sem olhar a lição, com frases curtas e um exemplo seu.
  2. Onde travar ou precisar de jargão, há uma lacuna: releia só essa parte.
  3. Compare com a explicação-modelo e reescreva o que faltou.

Fica salva neste navegador.

Comparar com uma explicação-modelo

O desenho tem duas faixas grandes, uma para o município e outra para o Tribunal, e dentro da faixa do Tribunal há uma linha para cada setor: protocolo, unidade técnica e relator. Assim, só de olhar em que linha cada caixinha está, sabe-se quem é responsável por ela.

Os losangos são os pontos de decisão ou de divisão do trabalho. O losango com X é uma pergunta com um só caminho: se a documentação está completa, segue para a análise; se não, o município é notificado. O losango com + divide o trabalho: as análises contábil e de pessoal acontecem ao mesmo tempo, e outro losango com + espera as duas terminarem antes de o relator emitir o parecer.

Teste-se

Engenharia de Software · Modelagem com UML e BPMN · Inédita, estilo FCC

Questão 1 de 3

No diagrama de classes da UML, a relação todo-parte em que a parte não existe independentemente do todo e é destruída junto com ele, representada por um losango preenchido no lado do todo, é a

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Engenharia de Software · Modelagem com UML e BPMN · Inédita, estilo FCC

Questão 2 de 3

Num diagrama de casos de uso, o caso “Emitir certidão” sempre executa o caso “Validar identidade do solicitante”, e o caso “Pagar taxa” só acontece quando a certidão pedida é paga, acrescentando comportamento a “Emitir certidão”. As relações são, respectivamente,

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Engenharia de Software · Modelagem com UML e BPMN · Inédita, estilo FCC

Questão 3 de 3

Num processo modelado em BPMN, as análises contábil e de pessoal de uma prestação de contas devem começar ao mesmo tempo, e o processo só pode seguir quando as duas terminarem. Para abrir e fechar esses caminhos, usa-se o gateway

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Mais duas questões deste tópico estão em Questões.

Flashcards gerados

FrenteVerso
Diagramas estruturais × comportamentais da UML Estruturais mostram as peças (classes, objetos, componentes, implantação, pacotes); comportamentais mostram o que acontece (casos de uso, atividades, estados e os de interação, como sequência).
Visibilidade na UML + pública, - privada, # protegida e ~ de pacote.
Eventos do BPMN Círculos. Início com borda fina, intermediário com borda dupla e fim com borda grossa.
Pool × lane no BPMN O pool representa um participante (uma organização); a lane é uma raia dentro dele, para um setor ou papel.
Multiplicidade na UML Quantos objetos participam de cada ponta da associação. Exemplo: 1 (exatamente um), 0..1 (nenhum ou um), * (muitos), 1..* (pelo menos um).

Ligação com o estudo de caso

O estudo de caso pode pedir para modelar um processo ou um sistema. Para o processo, desenhe o BPMN em texto: pools para cada organização, raias para cada setor, eventos de início e fim, gateways nas decisões e fluxos de mensagem entre as organizações. Para o sistema, um diagrama de casos de uso (quem usa e para quê) e um de classes com as relações e multiplicidades principais bastam para mostrar domínio do assunto.

Fontes da lição

Claude explica

Tire dúvidas sobre este tema no Claude: o site copia o pedido com a lição e abre uma conversa nova, na sua conta. Confira na fonte qualquer fato de lei ou de norma.

Pratique fora do site

Faça questões da FCC sobre este tópico no QConcursos ou no Gran e registre aqui quantas fez: elas contam na meta da semana e no status do tópico.

Registrar questões feitas lá
Errei uma questão lá: criar flashcard