Analisar Caso de Uso Objetivos deste módulo Apresentar os diagramas de seqüência, colaboração e classes de UML Qualiti Software Processes Analisar caso de uso | 2 Copyright © 2002 Qualiti. Todos os direitos reservados. Apresentar os passos necessários para realizar a atividade analisar casos de uso e discutir seus artefatos Analisar Serviços Projetar Arquitetura Projetar Serviços Revisor de projeto Prototipar Interface gráfica Arquiteto de Informação Analisar Casos de Uso Projetar Casos de Uso Projetar Subsistemas/ componentes Analista de Sistemas Projetar classes Revisar Projeto Projetar Base de Dados Projetista de Banco de Dados Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 3 Copyright © 2002 Qualiti. Todos os direitos reservados. Arquiteto de Software Analisar Serviços Projetar Arquitetura Projetar Serviços Revisor de projeto Prototipar Interface gráfica Arquiteto de Informação Analisar Casos de Uso Projetar Casos de Uso Projetar Subsistemas componentes Analista de Sistemas Projetar classes Revisar Projeto Projetar Base de Dados Projetista de Banco de Dados Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 4 Copyright © 2002 Qualiti. Todos os direitos reservados. Arquiteto de Software Objetivos desta atividade Para cada classe, descrever as responsabilidades, atributos e associações Esta atividade é realizada para cada caso de uso! Qualiti Software Processes Analisar caso de uso | 5 Copyright © 2002 Qualiti. Todos os direitos reservados. Encontrar as classes iniciais do sistema (classes de análise) e distribuir comportamento dos casos de uso entre elas Visão geral dos artefatos Documento de Glossário Documento da Requisitos Arquitetura Analisar Caso de Uso Diagrama de Classes Copyright © 2002 Qualiti. Todos os direitos reservados. Analista de Sistemas Modelo de Casos de Uso Realização de Caso de Uso Diagrama de Colaboração Diagrama de Seqüência Qualiti Software Processes Analisar caso de uso | 6 Passos para Analisar Casos de Uso 1. Encontrar classes de análise 2. Identificar persistência Para cada classe: 3. Distribuir comportamento entre as classes 4. Descrever responsabilidades 5. Descrever atributos e associações 6. Revisar os Resultados Qualiti Software Processes Analisar caso de uso | 7 Copyright © 2002 Qualiti. Todos os direitos reservados. Para cada caso de uso: Passo 1. Encontrar classes de análise - fronteira - controle - entidade Estes estereótipos são uma conveniência de análise que desaparecem no projeto Qualiti Software Processes Analisar caso de uso | 8 Copyright © 2002 Qualiti. Todos os direitos reservados. O comportamento do caso de uso é distribuído em classes de análise dos seguintes tipos (estereótipos) Modelo de Casos de Uso Classes de Análise Códigos Fonte Elementos de Projeto Executável Qualiti Software Processes Analisar caso de uso | 9 Copyright © 2002 Qualiti. Todos os direitos reservados. Classes de análise: um primeiro passo em direção ao executável QIB - Diagrama de Casos de Uso Usaremos o QIB como exemplo Efetuar Login Solicitar Talões de Cheque Alterar Senha Consultar Cheques ClienteAtor Consultar Saldo <<include>> <<include>> Realizar DOC Consultar Extrato Mostrar Dados da Consulta Realizar Transferência Consultar Qualiti Card Efetuar Pagamento do Qualiti Card Operadora do DOC Qualiti Software Processes Operadora Cartão de Crédito Analisar caso de uso | 10 Copyright © 2002 Qualiti. Todos os direitos reservados. Desbloquear Talões de Cheque Classes de Fronteira (boundary classes) - Notação em UML GUI Interface com outros sistemas Interface com dispositivos Modelam a interação entre o sistema e seu ambiente <<boundary>> Qualiti Software Processes Analisar caso de uso | 11 Copyright © 2002 Qualiti. Todos os direitos reservados. Isolam o sistema de mudanças no ambiente externo Atores devem se comunicar apenas com classes de fronteira Exemplos de classes fronteira QIB – Efetuar Login ClienteAtor Copyright © 2002 Qualiti. Todos os direitos reservados. Regra geral para encontrar classes de fronteira: uma classe por cada par ator/caso de uso Efetuar Login <<boundary>> TelaLogin Qualiti Software Processes Analisar caso de uso | 12 QIB – Efetuar Pagamento do Qualiti Card ClienteAtor Efetuar Pagamento do Qualiti Card <<boundary>> TelaPagamentoQualitiCard Operadora de Cartão de Crédito <<boundary>> ComunicacaoOperadoraCartao Qualiti Software Processes Analisar caso de uso | 13 Copyright © 2002 Qualiti. Todos os direitos reservados. Descobrindo classes de fronteira Descrevendo Classes de Fronteira GUI apresentadas, não em um projeto gráfico Interface com outros sistemas ou dispositivos - Concentre-se em quais protocolos devem ser definidos, não como serão implementados Concentre-se nas responsabilidades, não nos detalhes! Qualiti Software Processes Analisar caso de uso | 14 Copyright © 2002 Qualiti. Todos os direitos reservados. - Concentre-se nas informações que serão Classes de Entidade (entity classes) - Notação em UML Conhecimento do negócio Glossário Modelo de negócios Documento de requisitos Especificação do Caso de uso Armazenam e controlam informação no sistema <<entity>> Qualiti Software Processes Analisar caso de uso | 15 Copyright © 2002 Qualiti. Todos os direitos reservados. Abstrações e conceitos chaves dos casos de uso Fontes: QIB – Efetuar Login Este caso de uso é responsável por autenticar um usuário do sistema. Pré-condição: nenhuma Pós-condição: um usuário válido é logado e sua sessão é registrada no sistema. Fluxo de eventos principal 1. O cliente informa login e senha. 2. O sistema verifica se o login e a senha são válidos (verifica-se se o login e senha pertencem a uma conta). 3. O sistema registra o início de uma sessão de uso. Fluxos secundários - No passo 2, se o login ou a senha forem inválidos, o sistema exibe uma mensagem e volta ao passo 1. Qualiti Software Processes Analisar caso de uso | 16 Copyright © 2002 Qualiti. Todos os direitos reservados. Observe o fluxo de eventos do Efetuar Login Orientações para encontrar Classes de Entidade - identifique substantivos no fluxo de eventos - remova candidatos redundantes e vagos - remova atores que apenas interagem com o - sistema mas não fazem parte da modelagem remova atributos (serão usados mais tarde) e operações Qualiti Software Processes Analisar caso de uso | 17 Copyright © 2002 Qualiti. Todos os direitos reservados. Usando a descrição do caso de uso, use a abordagem tradicional de filtrar substantivos QIB – Efetuar Login <<entity>> Usuario <<entity>> Conta A classe Conta é uma classe que armazena o login e senha de um cliente. Algumas classes levantadas podem ser eliminadas e novas serão adicionadas Qualiti Software Processes Analisar caso de uso | 18 Copyright © 2002 Qualiti. Todos os direitos reservados. Classes de entidade QIB – Efetuar Pagamento do Qualiti Card Este caso de uso é responsável por realizar o pagamento do Qualiti Card com a operadora de cartão de crédito. Cada cliente possui apenas um cartão como titular, estando vinculado a apenas uma operadora. Pré-condição: O cliente deve estar conectado ao sistema (ter efetuado o login). Pós-condição: O valor do pagamento é debitado da conta do cliente, o pagamento é enviado à operadora do cartão de crédito e a transação é registrada no sistema. Qualiti Software Processes Analisar caso de uso | 19 Copyright © 2002 Qualiti. Todos os direitos reservados. Descrição inicial QIB – Efetuar Pagamento do Qualiti Card 1. O cliente informa os dados necessários para efetuar o pagamento do cartão: - O código de barras da fatura que deseja efetuar o pagamento. - O valor que deseja pagar. 2. O sistema recupera a conta bancária do cliente logado. 3. O sistema verifica se o saldo da conta do cliente é suficiente para realizar o pagamento. 4. O sistema debita da conta do cliente. 5. O sistema envia o pagamento à operadora de cartão de crédito. 6. O sistema registra a transação de pagamento e emite um comprovante da mesma para o usuário. A transação registrada contém os dados da conta do cliente, o código de barras da fatura, data, hora e Qualiti Software Processes valor do pagamento. Analisar caso de uso | 20 Copyright © 2002 Qualiti. Todos os direitos reservados. Fluxo de eventos principal QIB – Efetuar Pagamento do Qualiti Card Fluxo de eventos secundários 1. 2. O cliente informa os dados necessários para efetuar o pagamento do cartão: - O código de barras da fatura que deseja efetuar o pagamento. - O valor que deseja pagar. O sistema recupera a conta bancária do cliente logado 3. O sistema verifica se o saldo da conta do cliente é suficiente para realizar o pagamento. 4. O sistema debita da conta do cliente. 5. O sistema envia o pagamento à operadora de cartão de crédito. secundário 6. O Fluxo sistema registra a transação de pagamento e emite um comprovante da mesma para o usuário. A transação registrada contém os dados da conta do cliente, o código de barras da fatura, data, hora e valor do pagamento. - No passo 3, se o saldo disponível na conta do cliente for menor que o valor do pagamento, o sistema informa que o saldo é insuficiente e retorna para o passo 1. - No passo 5, se a operadora de cartão de crédito estiver inativa, o sistema exibe uma mensagem e cancela a operação. - Em qualquer momento o usuário pode cancelar a operação. Qualiti Software Processes Analisar caso de uso | 21 Copyright © 2002 Qualiti. Todos os direitos reservados. Fluxo Principal QIB – Efetuar Pagamento do Qualiti Card <<entity>> PagamentoCartao <<entity>> CartaoCredito <<entity>> Conta <<entity>> CodigoBarras <<entity>> Comprovante <<entity>> Mensagem <<entity>> Cliente Qualiti Software Processes Analisar caso de uso | 22 Copyright © 2002 Qualiti. Todos os direitos reservados. Classes de entidade Classes de Controle (control classes) Notação em UML Coordena o comportamento do caso de uso. Uma classe controle pode ter referência a vários objetos entidade. <<control>> Qualiti Software Processes Analisar caso de uso | 23 Copyright © 2002 Qualiti. Todos os direitos reservados. Coordenam o comportamento (lógica de controle) do caso de uso Interface entre fronteira e entidade Dependente do caso de uso, independente do ambiente Permitem separação entre o uso da entidade (específico do sistema) do comportamento inerente à entidade Orientações para encontrar Classes de Controle Eventualmente mais de uma (comportamento complexo) ou nenhuma (manipulação simples de informações armazenadas) Qualiti Software Processes Analisar caso de uso | 24 Copyright © 2002 Qualiti. Todos os direitos reservados. Usualmente, uma classe de controle por caso de uso QIB – Efetuar Login ClienteAtor Copyright © 2002 Qualiti. Todos os direitos reservados. Encontrando classes de controle Efetuar Login <<control>> ControladorLogin Qualiti Software Processes Analisar caso de uso | 25 QIB – Efetuar Pagamento do Qualiti Card ClienteAtor Efetuar Pagamento do Qualiti Card Operadora de Cartão de Crédito <<control>> ControladorPagamentoQualitiCard Qualiti Software Processes Analisar caso de uso | 26 Copyright © 2002 Qualiti. Todos os direitos reservados. Encontrando classes de controle QIB – Efetuar Login <<control>> ControladorLogin <<entity>> Usuario <<boundary>> TelaLogin <<entity>> Conta Copyright © 2002 Qualiti. Todos os direitos reservados. Classes de análise descobertas até o momento Qualiti Software Processes Analisar caso de uso | 27 QIB – Efetuar Pagamento do Qualiti Card <<entity>> Mensagem <<entity>> CodigoBarras <<entity>> Conta <<entity>> Cliente <<entity>> CartaoCredito <<boundary>> ComunicacaoOperadoraCartao <<entity>> Comprovante <<entity>> PagamentoCartao <<control>> ControladorPagamentoQualitiCard <<boundary>> TelaPagamentoQualitiCard Qualiti Software Processes Analisar caso de uso | 28 Copyright © 2002 Qualiti. Todos os direitos reservados. Classes de análise descobertas até o momento Exercício – Qualiti Internet Banking Dado: Banking, especialmente o fluxo de eventos do caso de uso RealizarDoc (ver próximos slides) Produzir: - Identificação das classes de análise, com seus estereótipos e breve descrição Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 29 Copyright © 2002 Qualiti. Todos os direitos reservados. - Artefatos de requisitos do Qualiti Internet QIB – Realizar Doc Este caso de uso é responsável por realizar a transferência de valores entre uma conta deste banco para uma conta de um outro banco. A transferência pode ocorrer entre contas com mesmo CPF ou CPFs distintos. Pré-condição: o cliente deve estar conectado ao sistema (ter efetuado o login). Pós-condição: o valor da transferência foi debitado da conta do cliente, o DOC foi enviado à operadora de DOC e a transação foi registrada. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 30 Copyright © 2002 Qualiti. Todos os direitos reservados. Descrição inicial QIB – Realizar Doc 1. O cliente informa os dados necessários para a realização do DOC: - Banco, agência e conta destino; - CPF do favorecido; - Valor do DOC. 2. O sistema recupera a conta bancária do cliente logado. 3. O sistema verifica se o saldo da conta do cliente é suficiente para a realização do DOC. 4. O sistema envia o DOC à operadora. 5. Debita-se o valor da conta. 6. O QIB registra a ocorrência desta transação (um DOC). 7. Emite-se um comprovante da mesma para o usuário, contendo os dados da conta de origem e destino, assim como a data e valor do DOC. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 31 Copyright © 2002 Qualiti. Todos os direitos reservados. Fluxo de eventos principal QIB – Realizar Doc Fluxo de eventos secundários 1. O cliente informa os dados necessários para a realização do DOC: - Banco, agência e conta destino; - CPF do favorecido; - Valor do DOC. 2. O sistema recupera a conta bancária do cliente logado. 3. O sistema verifica se o saldo da conta do cliente é suficiente para a realização do DOC. 4. O sistema envia o DOC à operadora. 5. Debita-se o valor da conta. secundário 6. O Fluxo QIB registra a ocorrência desta transação (um DOC). 7. Emite-se um comprovante o usuário, contendo os dados conta de origem e • No passo 3, se da o mesma saldopara disponível na conta dodausuário for menor destino, assim como a data e valor do DOC. que o valor do DOC, o sistema informa que o saldo é insuficiente e retorna ao passo 1 do fluxo principal de eventos. • No passo 4, se a operadora de DOC estiver inativa ou se ocorrer algum erro de comunicação que impeça a efetivação da transação, o sistema emite uma mensagem para o cliente e aborta a transação. • Em qualquer momento o usuário pode cancelar a operação. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 32 Copyright © 2002 Qualiti. Todos os direitos reservados. Fluxo Principal Passo 2. Identificar persistência Criar, para cada classe persistente, uma classe de cadastro com estereótipo <<entity collection>> Qualiti Software Processes Analisar caso de uso | 33 Copyright © 2002 Qualiti. Todos os direitos reservados. Identificar que classes de análise deverão ser persistentes QIB – Efetuar Login <<entity>> Usuario <<entity collection>> CadastroUsuarios <<entity>> Conta <<entity collection>> CadastroContas Qualiti Software Processes Analisar caso de uso | 34 Copyright © 2002 Qualiti. Todos os direitos reservados. Classes persistentes QIB – Efetuar Pagamento do Qualiti Card <<entity>> PagamentoCartao <<entity collection>> CadastroPagamentosCartao <<entity>> Conta <<entity collection>> CadastroContas <<entity>> Cliente <<entity collection>> CadastroClientes Qualiti Software Processes Analisar caso de uso | 35 Copyright © 2002 Qualiti. Todos os direitos reservados. Classes persistentes Exercício – Qualiti Internet Banking Dado - doc Classes de entidade Produzir - Identificação das classes que deverão ser persistentes Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 36 Copyright © 2002 Qualiti. Todos os direitos reservados. - Artefatos de requisitos do caso de uso realizar Encontradas as classes de análise e identificadas as classes persistentes, vamos agora descrever o seu comportamento. Lembrando que estas atividades são realizadas para cada caso de uso Qualiti Software Processes Analisar caso de uso | 37 Copyright © 2002 Qualiti. Todos os direitos reservados. Contexto Passo 3. Distribuir comportamento entre as classes Para cada fluxo de eventos - classes de análise modelar interações entre as classes através dos diagramas de interação Qualiti Software Processes Analisar caso de uso | 38 Copyright © 2002 Qualiti. Todos os direitos reservados. - alocar responsabilidades do caso de uso às Classes de Análise Diagrama de Seqüência Diagrama de Colaboração Caso de Uso Classes de Análise (com responsabilidades) Qualiti Software Processes Analisar caso de uso | 39 Copyright © 2002 Qualiti. Todos os direitos reservados. Distribuindo comportamento entre as classes Alocando responsabilidades Use estereótipos de análise como guia • comportamento que envolve comunicação com um ator - Classes de entidade • comportamento que envolve informação encapsulada na abstração - Classes de controle • comportamento específico ao caso de uso (lógica de controle do caso de uso) Qualiti Software Processes Analisar caso de uso | 40 Copyright © 2002 Qualiti. Todos os direitos reservados. - Classes de fronteira Alocando responsabilidades - isso pode envolver apenas uma classe, pode ser preciso criar nova classe ou relacionamento entre classes Qualiti Software Processes Analisar caso de uso | 41 Copyright © 2002 Qualiti. Todos os direitos reservados. Identificar que classe tem a informação necessária para realizar a responsabilidade Modelando interações A interação é iniciada por um ator e envolve instâncias (objetos) das classes Diagramas de interação capturam a semântica do fluxo de eventos do caso de uso - Auxiliam a identificar classes, responsabilidades e relacionamentos Qualiti Software Processes Analisar caso de uso | 42 Copyright © 2002 Qualiti. Todos os direitos reservados. Diagramas de interação (colaboração e seqüência) modelam interações do sistema com seus atores Forma Geral dos Diagramas de Seqüência :Cliente :Fornecedor Mensagem reflexiva 1: Realize responsabilidade 1.1: Realize outra responsabilidade Mensagem Numeração hierárquica para as mensagens Foco de controle Qualiti Software Processes Analisar caso de uso | 43 Copyright © 2002 Qualiti. Todos os direitos reservados. Objeto fornecedor Objeto cliente QIB – Efetuar Login : TelaLogin : ControladorLogin : CadastroContas efetuarLogin(login, senha) efetuarLogin(login, senha) existeConta(login, senha) registraSessao(login) Qualiti Software Processes Analisar caso de uso | 44 Copyright © 2002 Qualiti. Todos os direitos reservados. : ClienteAtor Forma Geral de Diagramas de Colaboração Objeto cliente Link 1.1: Realize outra responsabilidade :Cliente :Fornecedor 1: Realize responsabilidade Mensagem Objeto fornecedor Qualiti Software Processes Analisar caso de uso | 45 Copyright © 2002 Qualiti. Todos os direitos reservados. Mensagem reflexiva QIB - Efetuar Login 1: efetuarLogin(login, senha) : TelaLogin : ClienteAtor 2: efetuarLogin(login, senha) 3: existeConta(login, senha) : ControladorLogin : CadastroContas Qualiti Software Processes Analisar caso de uso | 46 Copyright © 2002 Qualiti. Todos os direitos reservados. 4: registraSessao(login) Exercício: diagramas de seqüência e colaboração do caso de uso Efetuar Pagamento do Qualiti Card Qualiti Software Processes Analisar caso de uso | 47 Copyright © 2002 Qualiti. Todos os direitos reservados. QIB – Efetuar Pagamento do Qualiti Card Quantos diagramas de interação fazer? Pelo menos o fluxo principal deveria ser modelado Não é necessário modelar todos os fluxos - Os fluxos secundários geralmente não acrescentam muito à modelagem do principal O importante é exemplificar o uso de todas as responsabilidades Qualiti Software Processes Analisar caso de uso | 48 Copyright © 2002 Qualiti. Todos os direitos reservados. Quantos forem necessários para modelar o comportamento do caso de uso! Que diagramas de interação fazer? Colaboração - - Melhores para visualizar os relacionamentos e responsabilidades de um dado objeto Mais fáceis de desenhar - úteis em sessões de brainstorm Seqüência - Melhores para visualizar a seqüência do fluxo no tempo Use o que gostar mais!! Melhores para visualizar o fluxo completo Mais adequados para cenários complexos Qualiti Software Processes Analisar caso de uso | 49 Copyright © 2002 Qualiti. Todos os direitos reservados. Diagramas de colaboração x diagramas de seqüência Contexto encontramos as classes de análise identificamos classes persistentes descrevemos o seu comportamento através de diagramas de interação Agora, para cada classe vamos descrever suas responsabilidades Qualiti Software Processes Analisar caso de uso | 50 Copyright © 2002 Qualiti. Todos os direitos reservados. Para cada caso de uso Responsabilidades identificadas nos fluxos de eventos são refletidas em diagramas de interação Mensagens nestes diagramas resultam em responsabilidades nas classes receptoras diagrama de interação :Cliente :Fornecedor // Realizar responsabilidade diagrama de classes Fornecedor // Realizar responsabilidade Qualiti Software Processes Analisar caso de uso | 51 Copyright © 2002 Qualiti. Todos os direitos reservados. Passo 4. Descrever Responsabilidades QIB – Efetuar Login <<entity collection>> CadastroContas <<boundary>> TelaLogin existeConta() efetuarLogin() <<entity >> Conta Copyright © 2002 Qualiti. Todos os direitos reservados. Classes com responsabilidades <<control>> ControladorLogin efetuarLogin() Qualiti Software Processes Analisar caso de uso | 52 QIB – Efetuar Pagamento do Qualiti Card <<control>> ControladorPagamentoQualitiCard <<entity>> Comprovante <<entity collection>> CadastroPagamentos Cartao efetuarPagamentoQualitiCard() inserir() <<boundary>> TelaPagamentoQualitiCard <<entity>> Conta efetuarPagamentoQualitiCard() getSaldo() debitar() <<boundary>> ComunicacaoOperadoraCartao enviar() <<entity collection>> CadastroContas consultarConta() atualizar() <<entity>> PagamentoCartao Qualiti Software Processes Analisar caso de uso | 53 Copyright © 2002 Qualiti. Todos os direitos reservados. Classes com responsabilidades Classes com responsabilidades similares são candidatas a serem combinadas Uma classe com responsabilidades disjuntas é candidata a ser dividida Classes sem (ou com apenas uma responsabilidade) e classes que interagem com muitas classes são candidatas a serem reexaminadas Isso poderá resultar em uma alteração dos diagramas de interação Qualiti Software Processes Analisar caso de uso | 54 Copyright © 2002 Qualiti. Todos os direitos reservados. Analisando o Modelo Exercício – Qualiti Internet Banking Dado: - fluxo de eventos do caso de uso Realizar DOC As classes de análise identificadas no exercício anterior Produzir: - Diagrama de interação para o caso de uso - VOPC* com responsabilidades Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 55 Copyright © 2002 Qualiti. Todos os direitos reservados. - Artefatos de requisitos do QIB, especialmente o Passo 5. Descrever atributos e associações - definir atributos - estabelecer associações necessárias entre as classes Qualiti Software Processes Analisar caso de uso | 56 Copyright © 2002 Qualiti. Todos os direitos reservados. Detalhando mais as classes Possíveis fontes: conhecimento do negócio, requisitos, glossário, modelo do negócio, etc. São propriedades/características das classes identificadas - informação cujo valor é o aspecto crucial informação de propriedade exclusiva do objeto informação que pode ser lida ou escrita por operações, mas sem outro comportamento a não ser fornecer um valor Se a informação tem comportamento complexo ou é compartilhada, deve gerar uma classe Qualiti Software Processes Analisar caso de uso | 57 Copyright © 2002 Qualiti. Todos os direitos reservados. Encontrando Atributos Links entre objetos em diagramas de colaboração indicam a necessidade de relacionamento entre as respectivas classes Links reflexivos só geram relacionamentos reflexivos quando dois objetos da classe precisam se comunicar (mas não quando um objeto envia mensagens para si próprio) A navegabilidade do relacionamento deve estar de acordo com a direção da mensagem Inclua também o papel (role) e a multiplicidade dos relacionamentos Qualiti Software Processes Analisar caso de uso | 58 Copyright © 2002 Qualiti. Todos os direitos reservados. Encontrando Relacionamentos Encontrando Relacionamentos 1: Realizar responsabilidade :Cliente :Fornecedor Link Cliente Diagrama de classe Fornecedor Cliente Fornecedor Realizar responsabilidade Fonte: Rational Associação Um relacionamento para cada link Qualiti Software Processes Analisar caso de uso | 59 Copyright © 2002 Qualiti. Todos os direitos reservados. Diagrama de Colaboração QIB – Efetuar Login Diagrama de classes com relacionamentos e atributos Copyright © 2002 Qualiti. Todos os direitos reservados. <<boundary>> TelaLogin efetuarLogin() 0..n 1 <<control>> ControladorLogin efetuarLogin() 1 1 <<entity>> Conta <<entity collection>> CadastroContas existeConta() 0..n login senha Qualiti Software Processes Analisar caso de uso | 60 QIB – Efetuar Pagamento do Qualiti Card Diagrama de classes com relacionamentos e atributos efetuarPagamentoQualitiCard() <<entity>> Comprovante pagamentoCartao 0..n 1 <<entity collection>> CadastroContas consultarConta() atualizar() <<control>> ControladorPagamentoQualitiCard 1 1 efetuarPagamentoQualitiCard() verificarSaldo() 1 1 1 <<boundary>> ComunicacaoOperadoraCartao enviar() 0..n <<entity>> Conta numero saldo getSaldo() debitar() 1 <<entity collection>> CadastroPagamentos Cartao inserir() <<entity>> PagamentoCartao 0..n numeroFatura data hora valor contaBancaria Qualiti Software Processes Analisar caso de uso | 61 Copyright © 2002 Qualiti. Todos os direitos reservados. <<boundary>> TelaPagamentoQualitiCard Exercício – Qualiti Internet Banking Dado: - com estereótipos e responsabilidades Diagramas de interação do caso de uso VOPCs desenvolvidos no exercício anterior Produzir: - VOPCs com relacionamentos e atributos. Incluir multiplicidade e navegabilidade dos relacionamentos Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 62 Copyright © 2002 Qualiti. Todos os direitos reservados. - Classes de análise do caso de uso Realizar DOC Passo 6. Revisar Resultados Unificar as classes de análise Verificar se todo o modelo está consistente entre si e com os requisitos Qualiti Software Processes Analisar caso de uso | 63 Copyright © 2002 Qualiti. Todos os direitos reservados. Verificar se as classes de análise satisfazem os requisitos funcionais Revisando: Passos realizados nesta atividade 1. Encontrar classes de análise 2. Identificar persistência Para cada classe: 3. Distribuir comportamento entre as classes 4. Descrever responsabilidades 5. Descrever atributos e associações 6. Revisar os Resultados Qualiti Software Processes Analisar caso de uso | 64 Copyright © 2002 Qualiti. Todos os direitos reservados. Para cada caso de uso: Analisar Caso de Uso