A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem de Interações

Apresentações semelhantes


Apresentação em tema: "Modelagem de Interações"— Transcrição da apresentação:

1 Modelagem de Interações
Selma S. S. Melnikoff EPUSP - PCS 2007

2 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.

3 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

4 Descrição de casos de uso
Classes e relacionamentos Descrição de casos de uso

5 1. Dinâmica nos Modelos

6 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?

7 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?

8 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.

9 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.

10 Objetivo do Modelo 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? Fornecer uma visão detalhada dos objetos e mensagens envolvidos na realização dos casos de uso.

11 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

12 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.

13 Diagrama de Seqüência C:Client p:DataAccessObject create ()
:Transaction setActions (a, d, o) tempo setValues (d, 3.4) setValues (a, b) destroy ()

14 Diagrama de Comunicação
C: Client 1: <<create>> 2: setActions (a,d,o) 3: <<destroy>> p:Data AccessObjetc :Transaction 2.1: setValues (d, 3.4) 2.2: setValues (a, b)

15 2. Elementos da Modelagem de Interações

16 Elementos Principais Mensagens Atores Objetos e Classes
Coleção de objetos

17 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.

18 Natureza de Mensagem Mensagem síncrona Mensagem assí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.

19 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 ‘]’ controle ou ‘[’ cláusula-condição ‘]’

20 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

21 Exemplos de Mensagens Mensagem simples, sem cláusula alguma
1: adicionarItem (item) Mensagem com cláusula de condição 3 [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)

22 Exemplos de Mensagens

23 Exemplo de Mensagem

24 2.Ator É representado com a mesma notação usada no Diagrama de Casos de Uso.

25 3. Objetos e Classes Representação de objetos Representação de classe
umaDisciplina: Disciplina objeto nomeado preRequisitos [i]: Disciplina objeto em uma coleção Disciplina objeto anônimo Disciplina classe

26 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

27 Exemplo de Multiobjetos
Algumas ferramentas CASE não possuem a notação para multiobjetos. Nesses casos, pode-se utilizar a notação comum para objetos e o estereótipo multiobject. Seu nome é apresentado no retângulo superior e segue a mesma nomenclatura utilizada para objetos. Convenção: usar o mesmo nome da classe dos objetos componentes para nomear a coleção. A superposição dos retângulos evita a confusão.

28 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

29 3. Diagrama de Seqüência

30 Elementos do Diagrama objeto C:Client p:DataAccessObject create ()
:Transaction setActions (a, d, o) tempo setValues (d, 3.4) foco de controle linha de vida setValues (a, b) destroy ()

31 Mensagens Mensagem síncrona Mensagem assíncrona Mensagem de retorno
Mensagem de criação de objeto <<create>>

32 Mensagem Reflexiva É a mensagem cujo remetente é também o receptor.
:Objeto É a mensagem cujo remetente é também o receptor. O foco de controle sobreposto representa a chamada interna. m( )

33 4. Modularização de Interações

34 Quadro de Interação Serve para encapsular um diagrama de seqüência.

35 Análise e Projeto Orientado a Objetos - 2a. edição
Diagrama Nomeado Análise e Projeto Orientado a Objetos - 2a. edição

36 Diagramas Referenciados

37 Fluxo de Controle: Alternativa
Mensagens condicionais podem ser mutuamente exclusivas.

38 Fluxo de Controle: Opção
Execução opcional

39 Fluxo de Controle: Iteração
Repetição

40 3. Construção do Modelo de Interações

41 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.

42 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.

43 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.

44 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.

45 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.

46 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.

47 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.

48 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.

49 4. Modelos de Interações no Desenvolvimento Iterativo

50 MI em um processo iterativo

51 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?


Carregar ppt "Modelagem de Interações"

Apresentações semelhantes


Anúncios Google