Baixe o app para aproveitar ainda mais
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
Compartilhar