Tutorial de Diagrama de Tempo UML

Introdução aos Diagramas de Tempo UML

Os diagramas de tempo UML (Linguagem de Modelagem Unificada) são uma forma especializada de diagramas de interação usados para ilustrar o comportamento de objetos ao longo de um período específico. Eles se concentram nas restrições de tempo e na sequência de eventos, tornando-os particularmente úteis para modelar sistemas em tempo real e análise de desempenho. Este tutorial irá guiá-lo pelos fundamentos dos diagramas de tempo UML, incluindo seu propósito, elementos principais e como criá-los e interpretá-los.

Propósito dos Diagramas de Tempo UML

Os diagramas de tempo UML servem vários propósitos críticos no design e análise de sistemas:

  1. Modelagem de Sistemas em Tempo Real: São essenciais para o design de sistemas em que o tempo é um fator crucial, como sistemas embarcados, protocolos de comunicação e aplicações críticas em desempenho.
  2. Análise de Restrições de Tempo: Eles ajudam a compreender e analisar os aspectos temporais das interações entre objetos, garantindo que todas as restrições de tempo sejam atendidas.
  3. Análise de Desempenho: São usados para avaliar o desempenho de sistemas ao modelar o tempo de eventos e interações.

Elementos Principais dos Diagramas de Tempo UML

Linha de Vida

Uma linha de vida representa um participante individual na interação, como um objeto ou ator. É representada por uma barra horizontal que mostra a existência do participante ao longo do tempo.

Linha de Tempo de Estado ou Condição

Uma linha de tempo de estado ou condição representa o estado de um objeto ou uma condição que deve ser atendida. É mostrada como uma barra horizontal com segmentos que indicam diferentes estados ou condições ao longo do tempo.

Restrição de Duração

Uma restrição de duração especifica a duração dentro da qual uma condição deve ser atendida. É representada por uma barra horizontal com duas linhas verticais que indicam o início e o fim da duração.

Restrição de Tempo

Uma restrição de tempo especifica um ponto no tempo em que uma condição deve ser atendida. É representada por uma linha vertical que intersecta a linha de vida nesse momento específico.

Ocorrência de Destruição

Uma ocorrência de destruição representa o ponto no tempo em que um objeto é destruído. É representada por um “X” no final da linha de vida.

Notação

A notação nos diagramas de tempo UML inclui rótulos e anotações que fornecem informações adicionais sobre as restrições de tempo e condições.

Criando um Diagrama de Tempo UML

Passos para Criar um Diagrama de Tempo UML

  1. Identificar Participantes: Determine os objetos, atores ou entidades que participarão da interação.
  2. Definir Linhas de Vida: Desenhe barras horizontais para representar as linhas de vida dos participantes.
  3. Adicionar Estados ou Condições: Divida as linhas de vida em segmentos para representar diferentes estados ou condições ao longo do tempo.
  4. Especificar Restrições de Duração: Adicione barras horizontais com linhas verticais para indicar a duração em que as condições devem ser atendidas.
  5. Especificar Restrições de Tempo: Adicione linhas verticais que cruzam as linhas de vida para indicar pontos específicos no tempo em que as condições devem ser atendidas.
  6. Adicionar Ocorrências de Destruição: Coloque um “X” no final da linha de vida para representar a destruição do objeto.
  7. Rotular e Anotar: Adicione rótulos e anotações para fornecer informações adicionais sobre as restrições de tempo e condições.

 

Exemplo: Diagrama de Tempo de Interação Web

Propósito

Modelar os aspectos de tempo de uma interação web, com foco específico no tempo de ciclo de solicitação e resposta web.

Major elements of timing UML diagram - lifeline, timeline, state or condition, message, duration constraint, timing ruler.

Participantes

  1. Usuário da Web: A pessoa que interage com a web.
  2. Navegador da Web: O navegador usado para acessar a web.
  3. Resolver DNS: O servidor que resolve nomes de domínio em endereços IP.
  4. Servidor Web: O servidor que hospeda o conteúdo web.

Diagrama de Tempo

  1. Linha de Vida do Usuário da Web:
    • Estados/Condições:
      • Inativo: O usuário não está interagindo ativamente com a web.
      • URL: O usuário insere uma URL no navegador da web.
      • Aguardando: O usuário está esperando que a página da web carregue.
      • Visualizando: O usuário está visualizando a página da web.
  2. Linha de vida para o navegador da web:
    • Estados/Condições:
      • Inativo: O navegador não está processando ativamente uma solicitação.
      • Processando: O navegador está processando a entrada do usuário ou a resposta do servidor.
      • Aguardando: O navegador está esperando uma resposta do servidor.
    • Eventos/Estímulos:
      • Resolver URL: O navegador resolve a URL para um endereço IP.
      • Solicitação HTTP: O navegador envia uma solicitação HTTP ao servidor da web.
      • Mostrar página: O navegador exibe a página da web para o usuário.
    • Restrições de tempo:
      • O processo de resolução de URL deve levar entre 0 e 400 milissegundos.
      • A solicitação HTTP deve ser enviada dentro de 50 a 200 milissegundos após resolver a URL.
      • A página deve ser exibida para o usuário dentro de 100 a 500 milissegundos após receber a resposta HTTP.
  3. Linha de vida para o resolvedor DNS:
    • Estados/Condições:
      • Inativo: O resolvedor de DNS não está ativamente resolvendo um nome de domínio.
      • Processando: O resolvedor de DNS está processando um pedido de resolução de nome de domínio.
    • Restrições de Tempo:
      • O processo de resolução de DNS deve levar entre 0 e 400 milissegundos.
  4. Salva-vidas para o Servidor Web:
    • Estados/Condições:
      • Aguardando: O servidor web está aguardando um pedido de entrada.
      • Processando: O servidor web está processando o pedido de entrada.
      • Enviando resposta: O servidor web está enviando uma resposta de volta para o navegador da web.
    • Restrições de Tempo:
      • O servidor web deve enviar uma resposta dentro de 200 a 800 milissegundos após receber o pedido.

Interações e Restrições de Tempo

  1. Usuário da Web para Navegador da Web:
    • O usuário digita uma URL no navegador da web, passando de “Inativo” para “URL”.
    • O navegador da web resolve a URL, o que deve levar entre 0 e 400 milissegundos.
  2. Navegador da Web para Resolvedor de DNS:
    • O navegador da web envia uma mensagem síncrona ao resolvedor de DNS para resolver a URL em um endereço IP.
    • O resolvedor DNS processa o pedido, o que deverá levar entre 0 e 400 milissegundos.
  3. Navegador Web para Servidor Web:
    • O navegador web envia uma solicitação HTTP ao servidor web, a qual deverá ser enviada dentro de 50 a 200 milissegundos após resolver o URL.
    • O servidor web processa o pedido e envia uma resposta de volta ao navegador web.
    • O servidor web deverá enviar a resposta dentro de 200 a 800 milissegundos após receber o pedido.
  4. Navegador Web para Usuário Web:
    • O navegador web exibe a página web para o usuário, o que deverá ocorrer dentro de 100 a 500 milissegundos após receber a resposta HTTP.
    • O usuário passa de “Esperando” para “Visualizando” a página web.

Interpretando Diagramas de Tempo UML

Compreendendo Linhas de Vida

  • Barras Horizontais: Representam a existência do participante ao longo do tempo.
  • Segmentos: Indicam diferentes estados ou condições ao longo do tempo.

Compreendendo Restrições de Duração

  • Barras Horizontais com Linhas Verticais: Representam a duração em que uma condição deve ser atendida.
  • Pontos Inicial e Final: Indicam o início e o fim da duração.

Compreendendo Restrições de Tempo

  • Linhas Verticais: Representam pontos específicos no tempo em que as condições devem ser atendidas.
  • Interseção com Linhas de Vida: Indicam o tempo específico na linha de vida.

Compreendendo Ocorrências de Destruição

  • Símbolo “X”: Representa a destruição do objeto.
  • Fim da Linha de Vida: A ocorrência de destruição é colocada no final da linha de vida.

Compreendendo a Notação

  • Rótulos e Anotações: Forneça informações adicionais sobre as restrições de tempo e condições.
  • Informações Adicionais: Inclua quaisquer detalhes relevantes que ajudem na compreensão dos aspectos temporais da interação.

Conclusão

Os diagramas de tempo UML são essenciais para modelar e analisar os aspectos temporais das interações entre objetos. Ao compreender os elementos principais e seguir os passos para criá-los e interpretá-los, você pode usar efetivamente os diagramas de tempo para raciocinar sobre o tempo e modelar sistemas em tempo real.

Referências

  1. O que é um Diagrama de Tempo?
  2. 12. Diagrama de Tempo – Círculo da Comunidade Visual Paradigm
  3. Como desenhar um Diagrama de Tempo?
  4. Restrições de tempo – Diagrama de Tempo – UML – Discuta o Visual Paradigm
  5. Introdução aos Diagramas UML no Visual Paradigm – ArchiMetric
  6. Diagrama de Tempo, Exemplo de Diagramas UML: Linha de Tempo de Estado / Condição – Círculo da Comunidade Visual Paradigm
  7. Guia Prático UML – Tudo o que você precisa saber sobre modelagem UML
  8. Diagrama de Tempo – Diagramas UML 2 – Ferramenta de Modelagem UML
  9. Diagrama de Tempo – Círculo da Comunidade Visual Paradigm

Leave a Reply