A UML 2.0 se propõe a capturar mais do que somente relacionamentos estruturais entre os objetos. Ela tem a intenção de mostrar também processos e fluxos de eventos.
Com esse propósito existem uma serie de diagramas, os chamados diagramas de interação, que fundamentalmente exibem a comunicação entre os objetos.
Então os diagramas de interação foca em uma mensagem específica e em como essa mensagem vem a se tornar uma funcionalidade no sistema. Logo, esses diagramas se concentram no “COMO”.
Esse post representa as anotações da leitura dos livros UML 2 In Nutshell e UML Guia do Usuário.
INTERAÇÕES
Há diversas formas de se mostrar uma interação, entretanto os diagramas de seqüência são disparados o principal meio. Futuramente mostraremos aqui outros diagramas de interação. O diagrama de seqüencia foca na comunicação entre as linhas da vida
A figura 1, mostra um diagrama de seqüência padrão.

Figura 1
PARTICIPANTES
O diagrama é composto por um grande retângulo com um pentágono na canto superior esquerdo, tendo dentro a palavra reservada sd, que significa sequence diagram, obviamente, seguida do nome da interação. Authenticate User.
A interação é mostrada utilizando um retângulo, chamado linha da vida (lifeline), tem esse nome porque o objeto, ou a instancia do objeto, uma vez que esses dois termos são até considerados sinônimos nesse momento, existem enquanto a linha tracejada seguir na direção vertical de cima para baixo.
O nome dos elementos no retângulo segue o seguinte padrão de nome:
nome_objeto[ seletor ] : nome_classe ref decomposição
Onde:
nome_objeto
Nome da instância envolvida
Em Java seria algo como:
MinhaClasse nomeInstancia = new MinhaClasse();
Seletor
É opcional e está relacionado a identificação de elementos multivalorados, um array, por exemplo. Assim seletor seria a identificação de uma das instancias em particular.
nome_classe
É identificação da classe propriamente, no exemplo dado anteriormente seria MinhaClasse.
decomposição
É opcional também e quando aparece significa que esse digrama faz referencia a um outro diagrama de seqüência do sistema.
Para finalizar um diagrama pode se usar o símbolo stop, mas ele se tornou deprecated quando se envia uma mensagem com um estereótipo <

Figura 2
Os diagramas de sequencia podem inclusive exibir variáveis locais para capturar o cmportamento do sistemas com mais fidelidade. Variáveis locais podem retornar valores, informações de loop, ou somente dados que se precisa para o processamente.
MENSAGENS
A comunicação entre as linhas da vida pode se dar de diversas formas: chamando um métodos, enviando um sinal, criando uma instância, destruindo um objeto, etc. Todas essas ações são chamadas de mensagens, como bem sabemos uma mensagem precisa de um remetente e um receptor para ocorrer.
As mensagens podem ser da seguite forma:



Quando a messagem representa a criação de um objeto então é usada a linha potilhada com a seta aberta na ponta, sim, é uma menssagem assíncrona, afinal quando cria um objeto não espera um retorno dizendo que o objeto foi criado. Caso haja argumentos, então a mensagem de criação do objeto pode ser acompanhada de uma palavra reservada create com os argumentos, por exemplo, create(argumento), como mostrado na Figura 1. Quando não houver argumentos, basta o usar estereótipo<
Em se tratando de chamadas de métodos normais, é informado o nome dele e os seus parâmetros, quando houver, conforme pode ser visto ainda na figura Figura 1.
Esse papo continua em outros posts.
Nenhum comentário:
Postar um comentário