Diagramas de Atividade

Desenvolvimento de Sistemas de Software

By Pedro Pereira09-10-2024

Diagramas de Atividade

1. Introdução aos Diagramas de Atividade

Os diagramas de atividade são uma ferramenta da UML (Unified Modeling Language) para modelar processos comportamentais de sistemas, sejam eles de software, hardware ou processos de negócio.

  • Objetivo:
    • Representar o fluxo de controle ou atividades dentro de um sistema.
    • Complementar modelos de domínio ao detalhar sequências de ações.
  • Aplicações:
    • Especificação de comportamentos de software e hardware.
    • Modelação de processos de negócio e fluxos de trabalho.

2. Elementos Fundamentais

  1. Nodos de Ação:
    • Representam unidades fundamentais de funcionalidade ou transformação dentro do sistema.
    • Exemplo: "Autenticar utilizador", "Gerar relatório".
  2. Fluxos de Controle:
    • Indicam a transição entre ações.
    • Exemplo: "Concluído o login, carregar dados do utilizador".
  3. Nodos de Controle:
    • Incluem estruturas como:
      • Nodo Inicial: Início do fluxo.
      • Nodos de Decisão e Fusão: Dividem ou combinam fluxos com base em condições.
      • Fork e Join: Representam operações paralelas (fork para divisão, join para sincronização).
      • Nodo de Fim de Atividade: Marca o término do processo.

3. Recursos Adicionais

  1. Sinais:
    • Representam eventos ou mensagens que desencadeiam ações.
    • Exemplo: "Receber notificação de erro".
  2. Regiões Interrompíveis:
    • Áreas onde ações podem ser interrompidas por eventos externos.
    • Exemplo: Um processo pode ser cancelado se o utilizador decidir voltar ao início.
  3. Fluxos de Exceção:
    • Lidam com situações não previstas ou erros durante o fluxo normal.
    • Exemplo: Falha na autenticação gera um fluxo alternativo para solicitar o reenvio da palavra-passe.

4. Estruturação com Partições

  • Partições (Swimlanes):
    • Dividem as ações em subconjuntos relacionados, frequentemente correspondendo a unidades organizacionais ou papéis específicos.
    • Exemplo: Em um processo de negócio, uma partição pode ser dedicada ao "Departamento de Vendas" e outra ao "Cliente".
  • Vantagens:
    • Claridade na atribuição de responsabilidades.
    • Facilita a compreensão dos fluxos em sistemas complexos.

5. Modelação de Cenários - Exemplos

  1. Diretor de Curso:
    • Ações como importar listas de alunos, configurar preferências de UC, e realizar alocações automáticas ou manuais de horários.
    • Inclui fluxos alternativos para lidar com alunos não alocados devido a conflitos.
  2. Alunos:
    • Consultar horários publicados e exportá-los para agendas pessoais.
    • Simples e direto, mostrando interação básica com o sistema.

6. Boas Práticas e Considerações

  • Etiqueta e Simplificação:
    • Diagramas devem ser claros, utilizando etiquetas para reduzir complexidade visual.
  • Hierarquia e Multidimensionalidade:
    • Partições podem ser hierárquicas, permitindo representar fluxos de forma organizada em sistemas complexos.
  • Complementaridade:
    • Diagramas de atividade devem ser usados juntamente com outros diagramas UML, como diagramas de casos de uso ou sequências, para uma visão completa do sistema.

Apresentação de conteúdos concisos.