modelagem de interações selma s. s. melnikoff epusp - pcs 2007
Post on 17-Apr-2015
107 Views
Preview:
TRANSCRIPT
Modelagem de Interações
Selma S. S. Melnikoff
EPUSP - PCS
2007
Objetivo
• Introduzir conceitos sobre a parte dinâmica dos modelos.
• Apresentar os elementos do Diagrama de Interações.
• Apresentar o Diagrama de Seqüências.• Apresentar como construir modelo de interações.• Apresentar o uso do modelo no desenvolvimento
iterativo.
Principais Modelos
• Modelo de Casos de Uso: descreve as funções do sistema.– Diagrama de Casos de Uso
• Modelo Estrutural: descreve a estrutura do sistema.– Diagrama de Classes
• Modelo Dinâmico: descreve o comportamento do sistema.– Diagrama de Interação– Diagrama de Estados
Descrição de casos de uso
Descrição de casos de uso
Classes e relacionamentos
1. Dinâmica nos Modelos
Perguntas
• No modelo de casos de uso:– Quais são as operações que devem ser
executadas internamente ao sistema?– A que classes estas operações pertencem?– Quais objetos participam da realização deste
caso de uso?
Perguntas
• No modelo de classes de análise:– De que forma os objetos colaboram para que
um determinado caso de uso seja realizado?– Em que ordem as mensagens são enviadas
durante esta realização?– Que informações precisam ser enviadas em
uma mensagem de um objeto a outro?– Será que há responsabilidades ou mesmo
classes que ainda não foram identificadas?
Modelo de Interações
• O Modelo de Interações representa as mensagens trocadas entre objetos para a execução de cenários dos casos de uso do sistema.
• A construção dos Diagramas de Interação consolida o entendimento da dinâmica do sistema.
Modelo de Interações
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 de software contém normalmente diversos diagramas de interação.
O conjunto de todos os diagramas de interação de um sistema constitui o seu Modelo de Interações.
Objetivo do Modelo
1.Obter informações adicionais para completar e aprimorar outros modelos– Quais as operações de uma classe?– Quais os objetos participantes da realização de
um caso de uso (ou cenário deste)?– Para cada operação, qual a sua assinatura?– Uma classe precisa de mais atributos?
2.Fornecer uma visão detalhada dos objetos e mensagens envolvidos na realização dos casos de uso.
Modelagem Dinâmica
• A modelagem de interações é uma parte da modelagem dinâmica de sistema de software.
• Principais diagramas do Modelo Dinâmico– Diagrama de Interação
• Diagrama de Seqüência
• Diagrama de Comunicação
– Diagrama de Estados
Diagrama de Interação
• Diagrama de Seqüência: enfatiza a ordenação temporal das mensagens.
• Diagrama de Comunicação: enfatiza a organização estrutural dos objetos que enviam e recebem mensagens.
Diagrama de Seqüência
C:Client
:Transaction
p:DataAccessObject
create ()
setActions (a, d, o)setValues (d, 3.4)
setValues (a, b)
destroy ()
tempo
Diagrama de Comunicação
C: Client
:Transaction p:Data AccessObjetc
1: <<create>>2: setActions (a,d,o)3: <<destroy>>
2.1: setValues (d, 3.4)2.2: setValues (a, b)
2. Elementos da Modelagem de Interações
Elementos Principais
1. Mensagens
2. Atores
3. Objetos e Classes
4. Coleção de objetos
1. Mensagens
• Uma mensagem representa a requisição de um objeto remetente para um objeto receptor.
• Uma mensagem é o acionamento de uma operação do objeto receptor por um objeto remetente.
• O envio de uma mensagem corresponde à chamada de uma rotina de linguagens de programação.
Natureza de Mensagem
• Mensagem síncrona– O remetente fica bloqueado, esperando que o
receptor termine de atender à requisição.
• Mensagem assíncrona– O remetente não espera a resposta para
prosseguir o processamento.
• Mensagem de sinal• Mensagem de retorno
– Especifica o término de atendimento de uma mensagem.
Sintaxe para Mensagens
• Para fase de análise– Nome da mensagem
• Para fase de projeto
[[expressão-seqüência] controle:] [v :=] nome [(argumentos)]
‘*’ ‘[’ cláusula-iteração ‘]’
‘[’ cláusula-condição ‘]’
controle ou
Sintaxe para Mensagens
• Expressão de seqüência– Explicita a ordem de envio das mensagens
• Controle– Cláusula-condição: indica uma condição para envio da
mensagem– Cláusula-iteração: indica que uma mensagem pode ser
enviada mais de uma vez
• Variável– Identificador de variável que recebe o valor retornado
pela execução da operação chamada
• Nome e argumentos da mensagem
Exemplos de Mensagens
• Mensagem simples, sem cláusula alguma1: adicionarItem (item)
• Mensagem com cláusula de condição3 [a > b]: trocar (a, b)
• Mensagem com cláusula de iteração e com limites indefinidos2 * : desenhar( )
• Mensagem com cláusula de iteração e com limites definidos2 * [i := 1..10]: figuras[i].desenhar( )
• Mensagem aninhada com retorno armazenado na variável x1.2.1: x := selecionar(e)
Exemplos de Mensagens
Exemplo de Mensagem
2.Ator
• É representado com a mesma notação usada no Diagrama de Casos de Uso.
3. Objetos e Classes
• Representação de objetos
• Representação de classe
umaDisciplina: Disciplina
objeto nomeado
Disciplina
objeto anônimo
preRequisitos [i]: Disciplina
objeto em uma coleção
Disciplina
classe
4. Multiobjetos
• Um multiobjeto representa uma coleção de objetos de uma mesma classe.
• Uma mensagem pode ser enviada para a coleção como um todo, em vez de enviada para um objeto.
• Exemplo– Encontrar um objeto com um identificador
único– Obter o número de objetos de uma coleção
Exemplo de Multiobjetos
Mensagens Típicas
• Posicionar o cursor da coleção no primeiro elemento
• Retornar o i-ésimo objeto da coleção• Retornar o próximo objeto da coleção• Encontrar um objeto de acordo com um
identificador único• Adicionar um objeto na coleção• Remover um objeto na coleção• Obter a quantidade de objetos na coleção• Retornar um valor lógico que indica se há
mais objetos a serem considerados
3. Diagrama de Seqüência
Elementos do Diagrama
C:Client
:Transaction
p:DataAccessObject
objeto
linha de
vida
foco de controle
create ()
setActions (a, d, o)setValues (d, 3.4)
setValues (a, b)
destroy ()
tempo
Mensagens
Mensagem síncrona
Mensagem assíncrona
Mensagem de retorno
Mensagem de criação de objeto
<<create>>
Mensagem Reflexiva
• É a mensagem cujo remetente é também o receptor.
• O foco de controle sobreposto representa a chamada interna.
:Objeto
m( )
4. Modularização de Interações
Quadro de Interação
• Serve para encapsular um diagrama de seqüência.
Análise e Projeto Orientado a Objetos - 2a. edição
Diagrama Nomeado
Diagramas Referenciados
Fluxo de Controle: Alternativa
Fluxo de Controle: Opção
Execução opcional
Fluxo de Controle: Iteração
Repetição
3. Construção do Modelo de Interações
Mensagens e Responsabilidades
• O objetivo do modelo de interações é identificar as mensagens trocadas entre objetos.
• Uma mensagem implica na existência de uma operação no objeto receptor.
• A modelagem de interações consiste em decompor as responsabilidades do sistema e alocá-las a classes.
Coesão e Acoplamento
• Objetivo– Modelo com alta coesão e baixo acoplamento.
• A coesão é uma medida de quão fortemente responsabilidades de uma classe estão relacionadas e focalizadas.
• É importante assegurar que as responsabilidades atribuídas a cada classe sejam altamente relacionadas.
Coesão e Acoplamento
• O acoplamento é uma medida de quão fortemente uma classe está conectada a outras classes, tem conhecimento ou depende das mesmas.
• Uma classe com acoplamento baixo não depende de muitas outras.
• Uma classe com alto acoplamento é mais sensível a mudanças, quando é necessário modificar as classes da qual ela depende.
Recomendações
• Identifique as classes conceituais que participam em cada caso de uso. – Entidades do mundo real– Entidades de fronteira
• Identifique quaisquer classes de software que ajudem a organizar as tarefas a serem executadas.– Classes de fronteira, classes de controle, classes
de acesso aos dados, etc.
Recomendações
• Defina também os objetos criam (destróem) outros objetos.
• Verifique a consistência dos diagramas de interação em relação ao Modelo de Casos de Uso e ao Modelo de Classes.
• Certifique de que o objeto de controle realiza apenas a coordenação da realização do caso de uso.
Recomendações
• Faça o máximo para construir diagramas de interação o mais inteligíveis possível.
• Procure soluções de baixo acoplamento.
Diagrama de Seqüência
• Os Diagramas de Seqüência são construídos para cada caso de uso ou parte dele.
• Um caso de uso complexo deve ser quebrado em vários diagramas que permitam a sua compreensão.
Procedimento
• Identificar o escopo do diagrama. • Identificar os objetos que participam do escopo
identificado. • Alocar os objetos que participam do escopo do
diagrama no diagrama.• Traçar as linhas de vida dos objetos.• Representar focos de controle.• Representar as mensagens e os seus parâmetros.• Verificar contra o caso de uso considerado e o
Diagrama de Classes.
4. Modelos de Interações no Desenvolvimento Iterativo
MI em um processo iterativo
Resumo
• Qual é o significado da parte dinâmica dos modelos?
• Quais são os elementos do Diagrama de Interações?
• O que é Diagrama de Seqüências?• Como construir modelo de interações?• Qual é o papel de modelo de iteração no
desenvolvimento de software?
top related