Interações entre objetos

Slides:



Advertisements
Apresentações semelhantes
Modelo de Casos de Uso Diagrama de Casos de Uso
Advertisements

Análise e Projeto Orientado a Objetos
DIAGRAMA DE COLABORAÇÃO
Engenharia de Software
Aula 8 Contratos.
UML Modelando um sistema.
UML Visões – Parte 2.
(Unified Modeling Language)
Análise de Casos de Uso.
Diagrama de Classes.
Engenharia de Software
Diagramas de Seqüência
Metodologias Equipe do Curso de ES para SMA
Linguagens de Modelagem para SMA
Diagrama de Sequência.
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Projeto de Software Orientado a Objetos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Análise e Gerenciamento de Requisitos com Casos de Uso
Modelagem de Interações
Classes e objetos Modelagem
Diagramas de Sequência e Comunicação
Diagramas de Seqüência
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Arquitetura Orientado a Serviços
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.
Engenharia de Software e Sistemas Danilo Veras e Rebeka Gomes.
Diagramas de Atividade
UNIDADE 2 UML MODELAGEM TEMPORAL
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.
Análise e Projeto de Sistemas
Diagramas de Comunicação
Diagramas de Seqüência
Analisar Caso de Uso 10/04/ /04/2017 Analisar caso de uso
UML Diagrama de Caso de Uso Profª. Marcelo Siedler
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Trabalho de Engenharia de Software II
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
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Projeto de Sistemas Alexandre Monteiro. Agenda 2. Análise 3. Projeto 1. Revisão 4. Exercícios.
Integração de Ferramentas CASE
Abr-17 Analisar Caso de Uso Analisar caso de uso.
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Abr-17 Projetar Subsistema Projetar subsistema.
Modelo de Análise e Projeto
Análise de Casos de Uso Rafael Duarte Alexandre Mota [rmd,
Engenharia de Software e Sistemas
Requisitos Não funcionais
2 - Visão Geral do Fluxo de Análise e Projeto
UML Statechart CIn-UFPE.
Análise e Projeto de Sistemas
A linguagem unificada de modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Diagrama de Colaboração
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
UML (Unified Modeling Language) A linguagem unificada de modelagem
Analisar Caso de Uso. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
Diagrama de atividade.
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.
Transcrição da apresentação:

Interações entre objetos CIn-UFPE

Modelagem Comportamental Diagramas de Use Case Diagramas de Seqüência Diagramas de Colaboração Statecharts Diagramas de Atividades CIn-UFPE

Interações Interações mostram os aspectos dinâmicos de um sistema, enfatizando a troca de mensagens entre objetos Dois diagramas podem ser usados para modelar as interações: diagramas de seqüência e diagramas de colaboração CIn-UFPE

Utilidade Modelar as interações em um sistema é uma das técnicas mais poderosas para a descoberta das classes e das operações do sistema Diagramas de interação facilitam o entendimento de sistemas com comportamento complexo Diagramas de interação são especialmente úteis para sistemas orientados a objetos porque a funcionalidade nesses sistemas geralmente é distribuída em muitas classes diferentes CIn-UFPE

Links Um link é uma conexão entre dois objetos, pela qual mensagens podem ser trocadas Sempre que uma classe tiver uma associação com outra classe, pode haver um link entre os objetos dessas classes p: Pessoa e: Empresa alocar(desenvolvimento) CIn-UFPE

Mensagens Definição formal: uma mensagem é a especificação de uma comunicação entre objetos, onde são passadas informações, com a esperança de que ocorra alguma atividade Na maioria das vezes, uma mensagem resulta na execução de uma operação CIn-UFPE

Seqüenciamento Quando um objeto envia uma mensagem para outro objeto, o objeto que recebe a mensagem pode enviar outras mensagens e assim por diante, formando uma seqüência de mensagens CIn-UFPE

Diagramas de seqüência Diagramas de seqüência enfatizam a ordenação das mensagens trocadas entre os objetos Um cenário é uma seqüência específica de ações que ilustra um comportamento Diagramas de seqüência podem modelar um cenário ou um conjunto de cenários Diagramas de seqüência podem mostrar decisões simples e iterações CIn-UFPE

Exemplo CIn-UFPE

Modelando o fluxo de controle através de Diagramas de Seqüência Defina o contexto da interação (ex: um cenário de um Use Case) Identifique quais objetos participam da interação Distribua o comportamento do use case em objetos das classes de análise dos seguintes tipos (estereótipos) Fronteira (interação com os atores) Controle (uma para cada use case) Entidade (obtidas a partir do fluxo de eventos) Defina a linha de vida do objeto A maioria dos objetos irão persistir durante toda a interação Se precisar indicar o nascimento ou morte de objetos durante a interação, use mensagens do tipo Create ou Destroy CIn-UFPE

Modelando o fluxo de controle através de Diagramas de Seqüência Comece com a mensagem inicial. As mensagens subseqüentes são colocadas do topo para baixo da linha de vida. Para explicar a semântica, é possível incluir as propriedades da mensagens, por ex. Parâmetros. Se precisar especificar limitações (ex: de tempo), adorne a mensagem com uma marca apropriada. Se precisar especificar o fluxo de controle mais formalmente, coloque pré e pós condições nas mensagens. CIn-UFPE

Classes de Fronteira (boundary classes) Isolam o sistema de mudanças no ambiente externo Atores devem se comunicar apenas com classes de fronteira Exemplos de classes fronteira GUI Interface com outros sistemas Interface com dispositivos <<boundary>> CIn-UFPE

O Papel de uma Classe de Fronteira Modela interação entre o sistema e seu ambiente <<boundary>> <<entity>> <<control>> Usuário Fonte: Rational CIn-UFPE

Regra geral para encontrar Classes de Fronteira Uma classe por cada par ator/caso de uso Exemplo: Caso de uso Sacar Dinheiro CIn-UFPE

Classes de Entidade (entity classes) Abstrações e conceitos chave dos casos de uso <<entity>> Descrição do Caso de uso CIn-UFPE Fonte: Rational

O Papel de uma Classe de Entidade <<boundary>> <<entity>> <<control>> Customer Fonte: Rational Armazenam e gerenciam informação no sistema CIn-UFPE

Orientações para encontrar Classes de Entidade Utilizando a descrição do caso de uso, use a abordagem tradicional de filtrar substantivos identifique substantivos no fluxo de eventos remova candidatos redundantes e vagos remova atores que interagem indiretamente com o sistema, pois estes não fazem parte da modelagem desconsidere atributos e operações (serão usados mais tarde) CIn-UFPE

Exemplo: Classe de entidade do caso de uso Sacar Dinheiro Conta CIn-UFPE

Classes de Controle (control classes) Coordenam o comportamento (lógica de controle) do caso de uso Interface entre fronteira e entidade <<control>> CIn-UFPE

O Papel de uma Classe de Controle Coordenam o comportamento do caso de uso Uma classe controle pode ter referência a vários objetos entidade Finalidade semelhante às classes de fachada (Arquitetura de Camadas) <<boundary>> <<entity>> <<control>> Customer Fonte: Rational CIn-UFPE

Orientações para encontrar Classes de Controle Usualmente, uma classe de controle por caso de uso Eventualmente mais de uma (comportamento complexo) ou nenhuma (manipulação simples de informações armazenadas) CIn-UFPE

Exemplo de Classe de Controle Caso de uso Sacar Dinheiro CIn-UFPE

Exemplo: Classes de Análise resultantes do caso de uso Sacar Dinheiro <<control>> ControladorSaque <<boundary>> FormularioSaque <<entity> Conta <<boundary>> SistemaBanco CIn-UFPE

Exemplo de um Diagrama de Seqüência: Caso de uso Sacar Dinheiro :Formulário saque : ControladorSaque : Conta :SistemaBanco solicitar saque (dados do saque) buscar conta (dados da conta) criar conta () Exibir mensagem (saque ok) saque ok CIn-UFPE

Descrevendo Responsabilidades Responsabilidades identificadas nos fluxos de eventos são refletidas em diagramas de interação Mensagens nestes diagramas resultam em responsabilidades nas classes receptoras :Client :Supplier // PerformResponsibility Supplier diagrama de classe interação CIn-UFPE

Diagramas de colaboração Diagramas de colaboração enfatizam a organização dos objetos em uma interação Praticamente tudo que pode ser mostrado em um diagrama de seqüência pode também ser mostrado em um diagrama de colaboração Diagramas de colaboração podem ser transformados em diagramas de seqüência e vice-versa CIn-UFPE

Diagramas de colaboração: exemplo Browser Servidor Web Processador de pedidos Interface com o banco Estudante submeter(dadosForm) 1: codificarDados(dadosForm) 2: enviarDadosCodificados(dados) 3: processarDados() 4: executar() 5: enviarDadosProc(dados) 6: cadastrapedido(consSQL) 8: enviarPagina(pag) 9: enviarPagina(pagina) 7: gerarPagResposta() CIn-UFPE

Modelando o fluxo de controle através de Diagramas de Colaboração Defina o contexto da interação (ex: um cenário de um Use Case) Identifique quais objetos participam da interação. Se os valores dos atributos mudam de forma significativa durante a interação, duplique o objeto, conecte-os com o estereótipo <<torna-se>> ou <<cópia>> e atualize o novo objeto com os novos valores. CIn-UFPE

Modelando o fluxo de controle através de Diagramas de Colaboração Especifique os links entre objetos. Eles permitem a passagem das mensagens. Começando com a mensagem que inicia a interação, coloque a numeração seqüencial nas mensagens. Se necessário, use aninhamento (1.1, 1.2). Se precisar especificar limitações (ex: de tempo), adorne a mensagem com uma marca apropriada. Se precisar especificar o fluxo de controle mais formalmente, coloque pré e pós condições nas mensagens. CIn-UFPE