Modelagem de Interações

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Modelagem de Estados.
Análise e Desenvolvimento de Sistemas
Aula 8 Contratos.
UML Modelando um sistema.
Princípios de Análise e Projeto de Sistemas com UML 2ª edição
Diagrama de Classes.
Engenharia de Software
Diagramas de Seqüência
Linguagens de Modelagem (cont.) (IV)
Orientação a Objetos: Encapsulamento e Classificação
Linguagens de Modelagem para SMA
Diagrama de Sequência.
Projeto de Software Orientado a Objetos
Diagrama de Seqüência.
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Geração de Código.
Projeto da Camada de Domínio
Selma Shin Shimizu Melnikoff 2006
UML - Unified Modeling Language
Diagrama de Estados.
TÉCNICAS DE PROGRAMAÇÃO II
Diagramas de Sequência e Comunicação
Diagramas de Seqüência
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
UML - Unified Modeling Language
Arquitetura Orientado a Serviços
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Diagramas de Sequência e Comunicação
DIAGRAMA DE CLASSE Modelagem de Software
Diagramas de Interacção
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Engenharia de Software e Sistemas Danilo Veras e Rebeka Gomes.
UNIDADE 2 UML MODELAGEM TEMPORAL
PSBD II Projeto de Sistemas de Banco de Dados II
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Interpretação de Projetos de Software Professor: Cheli dos S. Mendes.
Marcio de Carvalho Victorino
Simone Sawasaki Tanaka
UML - Unified Modeling Language
Diagramas de Comunicação
Diagramas de Seqüência
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Laboratório de Programação
Diagrama de Sequência I
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Análise e Projeto de Sistemas
Modelando Sistemas em UML
Projeto de Sistemas Alexandre Monteiro. Agenda 2. Análise 3. Projeto 1. Revisão 4. Exercícios.
SISTEMAS DE INFORMAÇÃO Análise de Sistemas II 2010/01 UNIPAC – Araguari FACAE - Faculdade de Ciências Administrativas e Exatas.
Diagramas de Caso de Uso
Diagramas UML de Seqüência
Engenharia de Software e Sistemas
Expansão dos Casos de Uso
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
A linguagem unificada de modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Interações entre objetos
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Análise e Design de Software Site:
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Modelagem Dinâmica – Diagrama de Sequência Toacy. Oliveira - PESC/COPPE/UFRJ.
Diagramas de Sequência e Comunicação
Profa. Priscila Facciolli.  O foco do diagrama é identificar a interação entre os objetos pelo tempo.  Identifica as mensagens trocadas entre os objetos.
Transcrição da apresentação:

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 Classes e relacionamentos Descrição de casos de uso

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

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 p:DataAccessObject create () :Transaction setActions (a, d, o) tempo setValues (d, 3.4) setValues (a, b) destroy ()

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)

2. Elementos da Modelagem de Interações

Elementos Principais Mensagens Atores Objetos e Classes 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 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.

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 ‘]’

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

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 preRequisitos [i]: Disciplina objeto em uma coleção Disciplina objeto anônimo 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 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.

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 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 ()

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. :Objeto É a mensagem cujo remetente é também o receptor. O foco de controle sobreposto representa a chamada interna. 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 Análise e Projeto Orientado a Objetos - 2a. edição

Diagramas Referenciados

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

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?