Buscar

Modelagem de Iterações

Prévia do material em texto

21/05/2014
1
Modelagem de Interações
Engenharia de Software I
Profa. Adriana Pereira de Medeiros
2
Resumo
 Introdução
 Diagrama de seqüência
 Modularização de interações
3
Introdução
 Um modelo de interação representa mensagens 
trocadas entre objetos para a execução de cenários 
dos casos de uso do sistema.
 A modelagem de interações é uma parte da 
modelagem dinâmica de um Sistema OO.
3 4
Introdução
 Os objetivos da construção do modelo de interação são:
- Fornecer aos programadores uma visão detalhada dos
objetos e mensagens envolvidos na realização dos casos de uso. 
- Obter informações adicionais para completar e aprimorar outros
modelos (principalmente o modelo de classes)
• operações de uma classe e suas assinaturas
• novos atributos para as classes
• novas classes 
4
21/05/2014
2
Diagramas de Interação
 Representam como o sistema age internamente 
para que um ator atinja seu objetivo na realização 
de um caso de uso.
 A modelagem de um sistema OO normalmente 
contém diversos diagramas de interação. 
 O conjunto de todos os diagramas de interação de 
um sistema constitui o seu modelo de interações.
5 6
Diagrama de Seqüência (DS)
 Apresenta as interações entre objetos na ordem 
temporal em que elas acontecem.
 A posição vertical das mensagens permite deduzir a 
ordem na qual elas são enviadas.
 Criação e destruição de objetos podem ser 
representadas.
6
Exemplo – Diagrama de Sequência
7 8
Elementos Gráficos de um DS
21/05/2014
3
9
Criação/destruição de objetos em um DS
9 9
Elementos Básicos
 Objetos
 Mensagens
10
Um sistema OO é uma rede de objetos que trocam mensagens.
– Funcionalidades são realizadas pelos objetos, que só podem 
interagir através de mensagens.
– Um objeto envia uma mensagem para outro objeto quando o 
primeiro deseja que o segundo realize alguma tarefa.
Notação para Objetos
 Objetos são representados utilizando-se a mesma 
notação do diagrama de objetos.
 Pode-se representar:
» objetos anônimos
» objetos nomeados
» objetos de uma coleção
» classes
 uma mensagem para uma classe dispara a execução de uma 
operação estática.
11
nome_objeto: Nome da Classe
12
Notação para objetos
12
21/05/2014
4
Mensagem
 Representa a requisição de um objeto remetente a um 
objeto receptor para que este último execute alguma 
operação definida para sua classe.
» Essa mensagem deve conter informação suficiente para que a 
operação do objeto receptor possa ser executada.
 Na construção de diagramas de interação, mensagens 
de um objeto a outro implicam em operações que 
classes devem ter. 
13 14
Sintaxe da UML para Mensagens 
 Na UML, o rótulo de uma mensagem deve seguir a 
seguinte sintaxe:
 Onde o termo controle pode ser uma condição ou um 
iteração:
[[expressão-seqüência] controle:] [v :=] nome [(argumentos)]
‘*’ ‘[’ cláusula-iteração ‘]’ ‘[’ cláusula-condição ‘]’
14
15
Exemplos 
 Mensagem simples, sem cláusula alguma.
adicionarItem(item)
 Mensagem com cláusula de condição.
1 [a > b]: trocar(a, b)
 Mensagem com cláusula de iteração e com limites indefinidos.
2 *: desenhar( )
 Mensagem com cláusula de iteração e com limites definidos. 
2 *[i := 1..10]: figuras[i].desenhar( )
 Mensagem aninhada com retorno armazenado na variável x.
1.2.1: x := selecionar(e)
15 16
Exemplo - objetos e mensagens
16
21/05/2014
5
Princípios de Análise e Projeto de Sistemas 
com UML - 2ª edição 17
Mensagens versus Responsabilidades
 O objetivo da modelagem de interações é identificar 
mensagens e, em última análise, responsabilidades.
18
Eventos de Sistema
 Correspondem às ações do ator no cenário de 
determinado caso de uso. 
» em uma descrição de caso de uso os eventos correspondem a 
ações do ator.
» quando o ator é um ser humano existe uma interface gráfica 
para que o mesmo interaja com o sistema, os eventos do 
sistema são resultantes de ações desse ator sobre essa 
interface gráfica, que corresponde a objetos de fronteira.
 Diagramas de interação modelam como os objetos 
colaboram entre si para produzir a resposta desejada a 
cada evento do sistema. 
18
19
Eventos de Sistema - Exemplo
Considere o formulário a seguir, para o caso de uso denominado 
"Fornecer Grade de Disponibilidades”
19
Eventos do Sistema - Exemplo
 Mensagens enviadas pelo objeto de fronteira por conta 
de um evento de sistema resultam na necessidade de 
definir operações de sistema no objeto controlador do 
caso de uso.
20 20
GerenteDisponibilidade
validarProfessor(matrícula:String)
adicionarHabilitacao(nomeDisciplina:String)
adicionarItem (dia:String, horaInicial:Hora, horaFinal:Hora)
registrarGrade()
21/05/2014
6
Exemplo – Diagrama de Sequência
21 22
Consistência entre Modelos
22
23
Dicas
 Identifique as classes conceituais que participam em 
cada caso de uso. 
» Exemplos: Aluno, Venda, Pagamento, etc. 
 Identifique quaisquer classes de software que ajudem a 
organizar as tarefas a serem executadas. 
» Classes de fronteira 
» Classes de controle
» Classes de acesso ao mecanismo de armazenamento
» Classes de autenticação
» etc.
23 24
Dicas 
 Defina também que objetos criam (ou destróem) outros 
objetos.
» Na realização de um caso de uso, objetos de entidade podem 
ser criados pelo objeto de controle, que recebe os dados 
necessários à instanciação a partir de objetos de fronteira. 
• Objetos de entidade também podem ser criados (destruídos) por 
outros objetos de entidade.
» De uma forma geral, em uma agregação (ou composição), o 
objeto todo tem prioridade para criar (destruir) suas partes.
• Portanto, em uma agregação (ou composição) entre objetos de 
entidade, é mais adequado que o objeto todo crie (destrua) suas 
partes quando requisitado por outros objetos.
24
21/05/2014
7
25
Dicas
 Certifique-se de que o objeto de controle realiza apenas
a coordenação da realização do caso de uso.
» Responsabilidades específicas no domínio devem ser atribuídas 
aos objetos de domínio (entidades).
» Sempre que for adequado, segundo os princípios de coesão e 
de acoplamento, devemos fazer com que as classes de domínio 
enviem mensagens entre si, aliviando o objeto de controle.
25 26
Dicas
 Verifique a consistência dos diagramas de interação 
com o modelo de casos de uso e com o modelo de 
classes.
» Se assegure de que as mensagens que um objeto recebe estão 
consistentes com as responsabilidades a ele atribuídas.
» Durante a construção do diagrama de interação, o modelador 
pode identificar novas classes.
• Atributos, associações e operações também surgem como 
subproduto da construção dos diagramas de interação.
26
27
Dicas
 Faça o máximo para construir diagramas de interação o 
mais inteligíveis possível.
» Por exemplo, podemos utilizar notas explicativas para 
esclarecer algumas partes do diagrama de interação que esteja 
construindo.
• Essas notas podem conter pseudocódigo ou mesmo texto livre. 
» Outra estratégia que ajuda a construir um modelo de interações 
mais inteligível é utilizar os recursos de modularização que a 
UML 2.0 acrescentou.
• quadros de interação, referências entre diagramas, etc.
27
Modularização de Interações
 A UML 2.0 introduziu diversos elementos gráficos 
para a construção modular de diagramas de 
interação:
» Quadros
» Fragmentos combinados
» Referências
» Operadores 
» Etc. 
28
21/05/2014
8
Quadros de Interação
 Elemento gráfico para modularizar a construção de 
diagramas de seqüência (ou de comunicação).
 Objetivos específicos:
» Dar um nome ao diagrama que aparece dentro do quadro;
» Fazer referência a um diagramadefinido separadamente;
» Definir o fluxo de controle da interação.
 Notação:
29
Diagramas nomeados
 Todo diagrama de interação pode ser posicionado 
dentro de um quadro
» Neste caso, o rótulo do quadro deve conter uma 
expressão do tipo
 TipoDiagrama pode ser:
» sd - diagrama de sequência
» comm – diagrama de comunicação
» activity – diagrama de atividade
30
TipoDiagrama NomeDiagrama 
31
Diagramas nomeados
Dar um nome ao diagrama que aparece dentro do quadro
31
Subquadros
 Um quadro pode conter outros quadros em seu 
interior
 A UML 2.0 define dois tipos de subquadros:
» Ocorrência de interação
» Fragmento combinado
32
21/05/2014
9
Ocorrência de Interação
 É uma interação que é referenciada por outra.
 Pode ser utilizada para fatorar interações comuns a 
vários diagramas de sequência em um único quadro 
e reutilizar esse quadro diversas vezes. 
 É representada graficamente por um quadro 
rotulado com a palavra-chave ref.
33 34
Ocorrência de Interação
Fazer referência a um diagrama definido separadamente.
34
Fragmento Combinado
 Permite definir fluxo de controle nos diagramas de 
interação. É composto de:
» Um ou mais operandos da interação
• Correspondem a sequências de mensagens
» Zero ou mais condições de guarda
» Um operador de interação
• alt – modela construções do tipo se-então-senão
• opt – modela construções do tipo se-então
• loop – representa que uma interação deve ser realizada uma 
ou mais vezes.
35
Princípios de Análise e 
Projeto de Sistemas com 
UML - 2ª edição 36
Fluxo de controle: alternativas
36
21/05/2014
10
37
Fluxo de controle: opções
37
[x<0]
38
Fluxo de controle: iterações
38
39
Referência 
 Bezerra, Princípios de Análise e Projeto de 
Sistemas com UML - 2ª Edição – Capítulo 7. 
Obs.: Os slides do livro foram aproveitados nesta 
apresentação.
40

Outros materiais

Perguntas Recentes