FeaturesPluginsDocs & SupportCommunityPartners

UML: Criando diagramas de seqüência

Neste tutorial, você aprende como usar os recursos UML do IDE para criar um diagrama de seqüência UML. Um diagrama de seqüência é uma representação visual da interação entre grupos de colaboração de objetos em um sistema. Os diagramas de seqüência consistem em linhas verticais chamadas linhas de vida. Cada elemento de linha de vida representa a vida de um determinado objeto. As linhas de vida são conectadas por linhas horizontais que indicam as mensagens que passam de um objeto para outro na situação para o próximo objeto na situação. .

Duração esperada: 30 minutos

Requisitos do tutorial

Antes de prosseguir, revise os requisitos nesta seção.

Pré-requisitos

Este tutorial requer que você conclua os tutoriais adjuntos que criam um diagrama de classes e um diagrama de colaboração usando o UMLTutorialProject. Conclua UML: Criando diagramas de classe e UML: Criando diagramas de colaboração antes de começar este tutorial de diagrama de seqüência.

Para que este tutorial possa ser usado, o IDE deve ser instalado em seu sistema e você deve estar familiarizado com as partes básicas do IDE. Você também deve ter uma familiaridade básica com a linguagem de programação em Java e UML. Para ter um conhecimento básico do IDE, consulte os tópicos de Fundamentos do IDE na ajuda on-line. Uma boa fonte para técnicas e teorias UML é a página de recursos UML oficial em http://www.uml.org/.

Software necessário para este tutorial

Antes de começar, baixe e instale o software seguinte:

início

Usando diagramas de seqüência

Um diagrama de seqüência é um modelo que descreve como os grupos de objetos colaboram em algum comportamento ao longo do tempo. O diagrama de seqüência captura o comportamento de um único caso de uso e mostra os objetos e as mensagens que passaram entre esses objetos no intervalo de tempo do caso de uso específico. O diagrama de seqüência não mostra as relações entre os objetos.

O diagrama de seqüência pode ser usado para:

  • Descrever a seqüência geral do fluxo de controle quando há muitos métodos curtos em classes diferentes
  • Mostrar processos e ativações simultâneos
  • Mostrar seqüências de horas que não são facilmente representadas em um diagrama de colaboração
  • Mostrar formatos gerais que não lidam com objetos mas com interação de classe

início


Criando diagramas de seqüência

Este tutorial usa o diagrama de classe criado no tutorial UML: Criando diagramas de classe e o diagrama de colaboração é criado no tutorial UML: Criando diagramas de colaboração. Você deve concluir estes tutoriais antes de seguir com estas etapas.

Esta seção contém os seguintes procedimentos:

início


Para gerar um diagrama de seqüência

  1. Se necessário, inicie o IDE.
  2. Na janela Projetos, clique com o botão direito do mouse no nó UMLTutorialProject > Modelo > CollaborationDiagram e escolha Criar diagrama a partir de elementos selecionados no menu pop-up.
    O Novo assistente é aberto, exibindo a página Criar novo diagrama.

    Observação: você está criando o escopo dos dois tipos de diagramas de interação disponíveis no menu pop-up: Diagrama de colaboração e Diagrama de seqüência. Esses diagramas enfatizam as interações de objeto.
  3. Na lista Tipo de diagrama, selecione Diagrama de seqüência.
  4. No campo Nome do diagrama, digite SequenceDiagram.
  5. Deixe a definição padrão no campo Espaço de nome e clique em Terminar.
    O IDE realiza os seguintes procedimentos:
    • Cria o nó SequenceDiagram sob o nó CollaborationDiagram na janela Projetos
    • Exibe o novo diagrama no Editor de diagramas (o diagrama consiste em elementos de linha de tempo e mensagens do Editor de diagramas)
    • Abre a Paleta de modelagem e exibe os ícones usados na criação de diagramas de seqüência
    Seu diagrama deve se parecer com a figura seguinte.

    Captura de tela mostrando o diagrama de seqüência gerado

início


Para refinar o diagrama gerado

Objetos em uma transação são desenhados como linhas verticais pontilhadas com os nomes aparecendo na parte superior. Como a ordem dos elementos de linha de tempo não pode ser predefinida quando o diagrama de seqüência é criado, você não precisa reordená-los nesse momento.

  1. Selecione a linha de tempo rotulado User e mova-a para a esquerda do diagrama.
  2. Reordene os elementos de linha de tempo restantes, colocando-os uniformemente no Editor de diagramas. Ponha as linhas de tempo na ordem segunda da esquerda para a direita:
    • Usuário
    • ATM
    • Consortium
    • Branch

    Seu diagrama agora deve se parecer com a figura seguinte.

    Captura de tela mostrando o diagrama de seqüência com os elementos de linha de tempo reordenados

início


Adicionando uma mensagem ao elemento de auto-referência

Uma mensagem para o elemento de diagrama de auto-referência representa uma mensagem destinada ao objeto de chamada. A operação interna representada neste diagrama é a validação do saque no objeto ATM.

  1. Talvez você precise aumentar os elementos de linha de vida para facilitar a colocação dos elementos de mensagem.
    Para aumentar as linhas de vida, siga estas etapas:
    1. Selecione o elemento de linha de vida User.
    2. Clique na caixa azul no centro inferior e arraste a caixa para baixo a fim de aumentar a linha de vida.
    3. Repita as etapas "a" e "b" para aumentar as linhas de vida restantes até que o seu diagrama se pareça com a figura seguinte.

      Captura de tela mostrando o diagrama de seqüência com as linhas de vida aumentadas

  2. Na seção Básico da Paleta de modelagem, selecione o ícone de mensagem para si mesmo Ícone de mensagem para si mesmo.
  3. Clique na seção inferior do elemento de linha de vida ATM estendido.
    O IDE coloca um elemento de auto-referência na linha de vida.
  4. Clique com o botão direito do mouse em qualquer local no Editor de diagramas para desmarcar o ícone de mensagem para si mesmo.
  5. No elemento de auto-referência, clique na seta da mensagem inferior.
    As propriedades da mensagem aparecem na janela Propriedades.
  6. Na janela Projetos, no campo Nome, digite validateCashOnHandOperation e pressione Enter.
  7. Clique com o botão direito do mouse na seta da mensagem no elemento de auto-referência e selecione Operações no menu pop-up. A figura seguinte indica onde posicionar o cursor. Observe a barra dupla logo acima da seta superior.

    captura de tela mostrando o posicionamento do cursor de mensagem para si mesmo

  8. Escolha Operações > Adicionar operação no menu pop-up.
    Um editor de uma linha é aberto, exibindo a seguinte informação:
    visibility returnType name(parameter) {properties...}
  9. Defina as suas operações da seguinte forma
    public boolean getIsOperating()
    A parte superior da mensagem é rotulada conforme mostrado na figura seguinte.

    Captura de tela mostrando mensagem para si mesmo rotulado

início


Usando o elemento de mensagem de chamada

Como a operação validateCashOnHand é parte da classe ATM, você precisa colocar um fluxo de mensagem na linha de vida para chamar essa operação.

  1. Na seção Básico da Paleta de modelagem, selecione o ícone de mensagem síncrona Ícone de mensagem síncrona.
  2. Clique no elemento de linha de vida User, logo abaixo da mensagem getCashOnHand().
  3. Clique novamente no elemento de linha de vida ATM diretamente à direita do seu primeiro clique.
    Uma mensagem e uma mensagem de retorno aparecem no diagrama, como mostrado na figura seguinte.

    imagem da nova mensagem síncrona.

    Observação: se você não quiser que a mensagem de retorno apareça no diagrama, clique com o botão direito do mouse no espaço em branco no editor de diagramas. Desmarque Mostrar todas as mensagens de retorno no menu pop-up.
  4. Clique com o botão direito do mouse em qualquer local no Editor de diagramas para desmarcar o ícone de mensagem síncrona.
  5. Clique com o botão do mouse na mensagem que acabou de criar e escolha Operações > Adicionar operação no menu pop-up.
  6. Digite validateCashOnHand e pressione Enter.
    O IDE rotula a mensagem no diagrama e a adiciona como uma operação na classe ATM no diagrama de classes. Na janela Projetos, expanda o nó da classe ATM para verificar se a lista de operações se parece com a figura seguinte.

    Captura de tela mostrando a classe ATM expandida na janela Projetos

início


Usando a opção de mensagens de expansão automática

Para ajudar no processo de design, o IDE tem uma opção de mensagens de expansão automática. Com a expansão automática selecionada, quando uma nova mensagem é colocada no diagrama, o espaço se expande de acordo com a largura da mensagem.

  1. Na área de cabeçalho cinza acima dos elementos de linhas de vida, clique com o botão direito do mouse na área entre o nomes de elemento User e ATM para definir a opção de expansão automática.
    Um menu pop-up se abre.
  2. Selecione Definir largura para largura de mensagem.
    Uma barra indicadora aparece no controle entre os dois nomes de elemento como mostrado na figura seguinte.

    Captura de tela mostrando o diagrama de seqüência com a opção Definir largura como largura de mensagem selecionada

  3. Repita as etapas para definir a opção de largura da mensagem entre os elementos ATM e Consortium, e entre os elementos Consortium e Branch.

início


Usando a notação Criar mensagem

A notação Criar mensagem permite a criação de um elemento de linha de vida ou instância.

  1. Na seção Básico da Paleta de modelagem, selecione o ícone de criação de mensagem Ícone de criação de mensagem.
  2. Clique na parte inferior da linha de vida Branch.
  3. Desenhe o link à direita da linha de vida Branch e clique novamente.
    Uma mensagem e uma linha de vida são colocadas no diagrama conforme mostrado na figura seguinte.

    Captura de tela mostrando a linha de vida Branch com mensagem adicionada

  4. Pressione a tecla ESC para desmarcar o ícone.
  5. Selecione a nova linha de vida.
    A janela Propriedades mostra as propriedades deste elemento de linha de vida.
  6. Na janela Propriedades, na linha rotulada Classificador de representação, clique na seta para baixo.
    Uma lista suspensa aparece.
  7. Selecione CashierStation na lista suspensa e pressione Enter.
  8. Clique no Editor de diagramas para ver o elemento de linha de vida rotulado.

    Seu diagrama deve se parecer com a figura seguinte.

    Captura de tela mostrando o diagrama de seqüência com a nova linha de vida

início

Adicionando links assíncronos

Um elemento de mensagem assíncrona representa uma mensagem que não bloqueia o objeto de chamada. Este tipo de mensagem pode criar um novo objeto, criar um novo thread e comunicar com um thread existente.

  1. Na seção Básico da Paleta de modelagem, selecione o ícone de mensagem assíncrona Ícone de mensagem assíncrona.
  2. Desenhe um link entre as linhas de vida Branch e CashierStation, clicando no elemento de linha de vida Branch, em seguida, clique no elemento de linha de vida CashierStation.
  3. Pressione a tecla ESC para desmarcar o ícone.
  4. Clique com o botão direito do mouse no novo link e escolha Operação > public int getStationID no menu pop-up.
    Esta ação adiciona a operação nesta mensagem, como mostrado na figura seguinte.

    Captura de tela mostrando o diagrama com mensagem assíncrona.

início

Usando o elemento de fragmento combinado

O fragmento combinado permite que você represente componentes lógicos, tais como alternativas, opções, exceções, mesclagens paralelas, loops, negações, regiões críticas e afirmações diretamente em seu diagrama de seqüência. Fragmentos combinados fornecem um meio de definir condições especiais e subprocessos para quaisquer seções de quaisquer linhas de vida, especificando uma área em que a condição ou subprocesso se aplica.

  1. Na seção Controle da Paleta de modelagem, selecione o ícone de fragmento combinado Ícone de fragmento combinado.
  2. Para desenhar o elemento de fragmento combinado de forma que ele encapsule a mensagem, public void validateCashOnHand, clique fora do retângulo pontilhado azul que representa a mensagem, e clique e arraste o retângulo para cercar a mensagem .
    Tenha o cuidado de não selecionar qualquer um dos elementos de linha de vida ao clicar. Seu fragmento combinado deve ser semelhante à figura seguinte.

    Captura de tela mostrando o fragmento combinado colocado em torno da mensagem

  3. Pressione a tecla ESC para desmarcar o ícone.
  4. Clique com o botão direito do mouse no rótulo assert no elemento de fragmento combinado e escolha Operador de interação > loop.

    Observação: um operador de interação de loop designa que o fragmento combinado representa um loop. Todas as vezes que o loop se repete, a expressão de guarda é avaliada. A expressão de guarda pode incluir um número específico de iterações do loop.
  5. Clique com o botão direito do mouse no rótulo de fragmento combinado loop e escolha Operando da interação > Editar restrição de interação no menu pop-up.
    O IDE exibe uma caixa de expressão no elemento de fragmento combinado de destino.
  6. Clique duas vezes na expressão da palavra para tornar a caixa da expressão editável, como mostrado na figura seguinte.

    Captura de tela mostrando a caixa de expressão editável na mensagem

  7. Digite x < 10 e pressione Enter.
  8. Clique no Editor de diagramas.
    A sua expressão é aceita e exibida na caixa. Seu diagrama deve se parecer com a figura seguinte.

    Captura de tela mostrando o diagrama de seqüência completa.

início


Salvando seu diagrama

Depois de concluir o seu diagrama de seqüência, você pode salvá-lo.

  1. No Editor de diagramas, clique com o botão direito do mouse na aba SequenceDiagram.
  2. Selecione Salvar documento no menu pop-up.
    O menu fecha e o diagrama de classes é salvo.

    Observação: você também é solicitado a salvar ou descartar seus diagramas quando sai do IDE.

início

Resumo

Neste tutorial, você aprendeu a criar um diagrama de seqüência usando um diagrama de colaboração existente. Você aprendeu como realizar as seguintes tarefas:

  • Gerar um diagrama de seqüência a partir de um diagrama de colaboração existente
  • Adicionar mensagens ao diagrama, usando ícones na Paleta de modelagem
  • Adicionar links ao diagrama
  • Adicionar um elemento de fragmento combinado
  • Salvar o diagrama

início

Próximas etapas

  • Para enviar comentários e sugestões, obter suporte e manter-se informado sobre as alterações mais recentes nos recursos de desenvolvimento do NetBeans IDE J2EE , junte-se à lista de usuários em .



início

>> Mais documentação da Modelagem UML

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by