corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Modelagem UML: Criando diagramas de seqüência

Este tutorial se aplica ao ambiente de desenvolvimento integrado do NetBeans™ 5.5 (o IDE) e o NetBeans 5.5, Módulo de modelagem UML.

Neste tutorial, você aprende como usar os recursos de modelagem 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.

Para obter mais informações sobre como trabalhar com o NetBeans IDE, consulte a página Suporte e documentação no site do NetBeans.

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. Complete Modelagem UML: Criando diagramas de classes e Modelagem UML: Criando diagramas de colaboração antes de iniciar o 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 Java e a modelagem 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 as técnicas e as teorias da modelagem UML é a página de recursos oficial do UML em http://www.uml.org/.

Requisitos do sistema

Este tutorial presume que o seu sistema atende aos requisitos especificados nas Notas de versão do NetBeans 5.5, Módulo de modelagem UML.

Software necessário para o tutorial

Antes de começar, você deve instalar o seguinte software no seu computador:

Conteúdo

superior


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

superior


Criando diagramas de seqüência

Este tutorial usa o diagrama de classes criado no tutorial Modelagem UML: Criando diagramas de classes e o diagrama de colaboração que é criado no tutorial Modelagem 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:

superior


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 e exibe a página Criar novo diagrama.

    Observação: Você está criando o escopo de um dos 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 Finalizar.
    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 agora deve se parecer com a figura seguinte.

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

superior


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:
    • User
    • 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

superior


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

superior


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 de novo mensagem síncrona.

    Observação: Se 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 do 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

superior


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.

superior


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.

    Observação: Tenha o cuidado de clicar exatamente na linha ou o link não será desenhado corretamente.
  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.

    Observação: Você pode ampliar o novo elemento de linha de vida até ver o nome completo, CashierStation.
    Seu diagrama deve se parecer com a figura seguinte.

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

superior

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 segmento e comunicar com um segmento 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.

superior

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 o fragmento combinado que 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 agora deve se parecer com a figura seguinte.

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

superior


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 guia SequenceDiagram.
  2. Selecione Salvar documento no menu pop-up.
    O menu fecha e o diagrama de classes é salvo.

    Observação: Você também será solicitado a salvar ou descartar seus diagramas quando sair do IDE.

superior


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


superior

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems