Definidas as funcionalidades do sistema, passamos a modelar o funcionamento do sistema, ou seja, como ele vai trabalhar para responder os eventos modelados pelos casos de uso. Nesta fase já modelamos as classes que vão responder aos eventos. Para cada caso de uso modelado, foi elaborado um diagrama de seqüência, porém, vamos mostrar aqui apenas o diagrama que vamos implementar: Manter cadastro de forma de pagamento.
Criar um diagrama de seqüência no Umbrello não é uma tarefa difícil, basta selecionar o menu Diagram - New - Sequence Diagram. A área de trabalho do Umbrello é limpa e fica pronta para desenharmos o diagrama. Para organizar melhor nosso trabalho, podemos criar pastas para agrupar o diagrama e as classes que o compõem. Vamos então criar uma pasta com o nome Cadastro de formas de pagamento e tanto o diagrama quanto as classes que o compõem serão criados dentro desta pasta.
Para criar uma classe, basta clicar no botão correspondente a classe na barra de ferramentas e clicar no diagrama. Note que este procedimento vai criar uma classe e colocá-la na raiz da pasta Logical View. Para mover a classe para nossa pasta recém criada, basta arrastá-la para dentro da pasta. Para criar um ator, devemos criar uma classe e dizer ao Umbrello que ela deve ser exibida como um ator. Se desejarmos colocar no diagrama uma classe que já exista, basta arrastá-la para o diagrama.
A troca de mensagens entre as classes aão modeladas clicando no botão Message na barra de ferramentas e em seguida na classe que solicita a mensagem e depois na classe que vai responder a mensagemn. Depois da linha criada, dê um duplo clique para dar o nome à mensagem criada. e a classe já tiver algum método declarado, o Umbrello os apresenta para você escolher qual deles representa a mensagem. Você pode ainda modelar uma mensagem diferente selecionando a opção custom operation[1].
Depois de tudo completo, o diagrama de seqüência Manter cadastro de formas de pagamento pode ser exportado para uma figura para ser incluído na documemntação do sistema.
[1] | custom operation = operaçatilde;o personalizada |