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.

Slides:



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

Análise e Projeto Orientado a Objetos
Requisitos de Software
APSOO Aula 03.
UML Modelando um sistema.
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
(Unified Modeling Language)
Análise de Casos de Uso.
Diagrama de Classes.
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Análise de Casos de Uso Alexandre Motnteiro.
Diagramas de Sequência e Comunicação
Especificação de Requisitos de Software com Casos de Uso
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
SGE Sistema de Gerenciamento de Estabelecimentos
Arquitetura Orientado a Serviços
Modelos de Análise e Projeto
Análise Estruturada.
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.
UNIDADE 2 UML MODELAGEM TEMPORAL
Análise e Projeto de Sistemas
Analisar Caso de Uso 10/04/ /04/2017 Analisar caso de uso
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Projetar Arquitetura. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
Laboratório de Programação
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
Abr-17 Projetar Arquitetura Projetar caso de uso.
Projeto de Sistemas Alexandre Monteiro. Agenda 2. Análise 3. Projeto 1. Revisão 4. Exercícios.
Abr-17 Analisar Caso de Uso Analisar caso de uso.
Abr-17 Projetar Processos Projetar distribuição.
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,
5 - Atividade Projetar Caso de Uso
Engenharia de Software e Sistemas
Fluxo de Análise e Projeto 7 - Atividade Projetar Classes.
Fluxo de Análise e Projeto 6 - Atividade Projetar Subsistema.
Requisitos Não funcionais
2 - Visão Geral do Fluxo de Análise e Projeto
Expansão dos Casos de Uso
Análise e Projeto de Sistemas
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
Análise e Projeto OO com UML e Padrões
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga –
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Projetar Cápsulas Parte 1. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar cápsulas | 2 Objetivos deste módulo.
Projetar Cápsulas Segunda parte. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar cápsulas | 2 Objetivos deste.
Fluxo de Análise e Projeto do RUP para Sistemas de Tempo Real
Interações entre objetos
Projetar Base de Dados. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 2 Objetivos deste.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
UML (Unified Modeling Language) A linguagem unificada de modelagem
Diagrama de Classes Herança Dependências.
Projeto de Arquitetura 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.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
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:

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 deste módulo Apresentar os passos necessários para realizar a atividade analisar casos de uso e discutir seus artefatos Apresentar os diagramas de seqüência, colaboração e classes de UML

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 3 Analisar Casos de Uso Analisar Casos de Uso Revisar Projeto Projetar Arquitetura Projetista de Banco de Dados Arquiteto de Software Revisor de projeto Projetar Casos de Uso Projetar Subsistemas Projetar Base de Dados Analista de Sistemas Projetar Classe

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 4 Objetivos desta atividade Encontrar as classes iniciais do sistema (classes de análise) e distribuir comportamento dos casos de uso entre elas Para cada classe, descrever as responsabilidades, atributos e relacionamentos Esta atividade é realizada para cada caso de uso!

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 5 Visão geral dos artefatos Analista de Sistemas Analisar Caso de Uso Glossário Modelo de Casos de Uso Diagrama de Classes Diagrama de Seqüência Diagrama de Colaboração Documento de Requisitos Documento da Arquitetura Realização de Caso de Uso

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 6 Passos para Analisar Casos de Uso Para cada caso 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 7 Passo 1. Encontrar classes de análise O comportamento do caso de uso é distribuído em classes de análise dos seguintes tipos (estereótipos) ­ fronteira ­ controle ­ entidade Estes estereótipos são uma conveniência de análise que desaparecem no projeto

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 8 Classes de análise: um primeiro passo em direção ao executável Modelo de Casos de Uso Códigos Fonte ExecutávelClasses de Análise Elementos de Projeto

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 9 QIB - Diagrama de Casos de Uso Usaremos o QIB como exemplo

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 10 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 > Modelam a interação entre o sistema e seu ambiente Notação em UML

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 11 QIB – Efetuar Login Regra geral para encontrar classes de fronteira: uma classe por cada par ator/caso de uso ClienteAtor Efetuar Login

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 12 QIB – Efetuar Pagamento do Qualiti Card Descobrindo classes de fronteira ClienteAtor Efetuar Pagamento do Qualiti Card Operadora de Cartão de Crédito

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 13 Descrevendo Classes de Fronteira GUI ­ Concentre-se nas informações que serão 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!

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 14 Classes de Entidade (entity classes) Abstrações e conceitos chaves dos casos de uso Fontes: ­ 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 Notação em UML

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 15 QIB – Efetuar Login Observe o fluxo de eventos do 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 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. 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 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.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 16 Orientações para encontrar Classes de Entidade Usando 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 apenas interagem com o sistema mas não fazem parte da modelagem ­ remova atributos (serão usados mais tarde) e operações

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 17 Classes de entidade 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 QIB – Efetuar Login

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 18 QIB – Efetuar Pagamento do Qualiti Card Descrição inicial 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. 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.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 19 QIB – Efetuar Pagamento do Qualiti Card Fluxo de eventos principal 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 valor do pagamento. 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 valor do pagamento.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 20 QIB – Efetuar Pagamento do Qualiti Card Fluxo de eventos secundários Fluxo Principal 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 valor do pagamento. Fluxo Principal 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 valor do pagamento. Fluxo secundário - 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. Fluxo secundário - 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.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 21 Classes de entidade QIB – Efetuar Pagamento do Qualiti Card

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 22 Classes de Controle (control classes) 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 > Coordena o comportamento do caso de uso. Uma classe controle pode ter referência a vários objetos entidade. Notação em UML

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 23 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)

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 24 QIB – Efetuar Login Encontrando classes de controle ClienteAtor Efetuar Login

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 25 QIB – Efetuar Pagamento do Qualiti Card Encontrando classes de controle ClienteAtor Efetuar Pagamento do Qualiti Card Operadora de Cartão de Crédito

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 26 QIB – Efetuar Login Classes de análise descobertas até o momento

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 27 QIB – Efetuar Pagamento do Qualiti Card Classes de análise descobertas até o momento

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 28 Exercício – Qualiti Internet Banking Dado: ­ Artefatos de requisitos do Qualiti Internet 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 29 QIB – Realizar Doc Descrição inicial 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. 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.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 30 QIB – Realizar Doc Fluxo de eventos principal 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. 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.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 31 QIB – Realizar Doc Fluxo de eventos secundários Fluxo Principal 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. Fluxo Principal 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. Fluxo secundário No passo 3, se o saldo disponível na conta do usuário for menor 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. Fluxo secundário No passo 3, se o saldo disponível na conta do usuário for menor 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.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 32 Passo 2. Identificar persistência Identificar que classes de análise deverão ser persistentes Criar, para cada classe persistente, uma classe de cadastro com estereótipo >

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 33 QIB – Efetuar Login Classes persistentes

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 34 QIB – Efetuar Pagamento do Qualiti Card Classes persistentes

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 35 Exercício – Qualiti Internet Banking Dado ­ Artefatos de requisitos do caso de uso realizar doc ­ Classes de entidade Produzir ­ Identificação das classes que deverão ser persistentes

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 36 Contexto 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 37 Passo 3. Distribuir comportamento entre as classes Para cada fluxo de eventos ­ alocar responsabilidades do caso de uso às classes de análise ­ modelar interações entre as classes através dos diagramas de interação

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 38 Distribuindo comportamento entre as classes Classes de Análise Diagrama de Colaboração Caso de Uso Diagrama de Seqüência Classes de Análise (com responsabilidades)

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 39 Alocando responsabilidades Use estereótipos de análise como guia ­ Classes de fronteira 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)

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 40 Alocando responsabilidades Identificar que classe tem a informação necessária para realizar a responsabilidade ­ isso pode envolver apenas uma classe, pode ser preciso criar nova classe ou relacionamento entre classes

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 41 Modelando interações Diagramas de interação (colaboração e seqüência) modelam interações do sistema com seus atores 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 42 Forma Geral dos Diagramas de Seqüência :Cliente :Fornecedor Objeto cliente Objeto fornecedor Foco de controle Numeração hierárquica para as mensagens Mensagem reflexiva 1.1: Realize outra responsabilidade 1: Realize responsabilidade Mensagem

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 43 QIB – Efetuar Login : ClienteAtor : TelaLogin : ControladorLogin : CadastroContas efetuarLogin(login, senha) existeConta(login, senha) registrarSessao(login)

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 44 Forma Geral de Diagramas de Colaboração :Cliente :Fornecedor Objeto cliente Link Objeto fornecedor Mensagem 1: Realize responsabilidade Mensagem reflexiva 1.1: Realize outra responsabilidade

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 45 QIB - Efetuar Login

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 46 QIB – Efetuar Pagamento do Qualiti Card Observe os diagramas de seqüência e colaboração do caso de uso Efetuar Pagamento do Qualiti Card

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 47 Quantos diagramas de interação fazer? Quantos forem necessários para modelar o comportamento do caso de uso! Pelo menos o fluxo principal deve 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 48 Que diagramas de interação fazer? Diagramas de colaboração x diagramas de seqüência Colaboração ­ Melhores para visualizar os relacionamentos e responsabilidades de um dado objeto ­ Base para eleboração do diagrama de classes Seqüência ­ Melhores para visualizar a seqüência do fluxo no tempo ­ Melhores para visualizar o fluxo completo ­ Mais adequados para cenários complexos Sugestão: elaborar diagrama de seqüência, gerar o de colaboração e, a partir deste, o de classes

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 49 Contexto Para cada caso de uso 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 50 Passo 4. Descrever Responsabilidades Responsabilidades identificadas nos fluxos de eventos são refletidas em diagramas de interação Mensagens nestes diagramas resultam em responsabilidades nas classes receptoras :Cliente:Fornecedor // Realizar responsabilidade Fornecedor // Realizar responsabilidade diagrama de classes diagrama de interação

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 51 QIB – Efetuar Login Classes com responsabilidades TelaLogin efetuarLogin() registrarSessao() >

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 52 QIB – Efetuar Pagamento do Qualiti Card Classes com responsabilidades

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 53 Analisando o Modelo 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 54 Exercício – Qualiti Internet Banking Dado: ­ Artefatos de requisitos do QIB, especialmente o 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 55 Passo 5. Descrever atributos e relacionamentos Detalhando mais as classes ­ definir atributos ­ estabelecer associações necessárias entre as classes

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 56 Encontrando Atributos 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 57 Encontrando Relacionamentos 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 58 Encontrando Relacionamentos :Cliente:Fornecedor Link Fornecedor Realizar responsabilidade Diagrama de classe Diagrama de Colaboração Associação Cliente Fornecedor Um relacionamento para cada link Cliente 1: Realizar responsabilidade Fonte: Rational

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 59 QIB – Efetuar Login Diagrama de classes com relacionamentos e atributos

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 60 QIB – Efetuar Pagamento do Qualiti Card Diagrama de classes com relacionamentos e atributos

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 61 Exercício – Qualiti Internet Banking Dado: ­ Classes de análise do caso de uso Realizar DOC 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 62 Passo 6. Revisar Resultados Verificar se as classes de análise satisfazem os requisitos funcionais Unificar as classes de análise Verificar se todo o modelo está consistente entre si e com os requisitos

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 63 Revisando: Passos realizados nesta atividade Para cada caso 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

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 64 Exercício – Qualiti Internet Banking Dado: ­ Artefatos de requisitos do caso de uso Comprar Ações, especialmente o fluxo de eventos (ver slide a seguir) Produzir: ­ Identificação das classes de análise, com seus estereótipos e breve descrição ­ Identificação das classes que deverão ser persistentes ­ Diagramas de interação do caso de uso ­ VOPCs com relacionamentos e atributos

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 65 Fluxo de eventos – Consultar Extrato Fluxo de eventos 1.O cliente seleciona entre um extrato simples ou multiconta 1.No extrato simples, o cliente escolhe uma conta (corrente, poupança ou investimento) dentre as pertencentes a ele. 2.No extrato multiconta, o cliente escolha uma ou mais contas. 2.O sistema pesquisa por todas as transações relacionadas às contas do extrato. 3.O sistema mostra os dados da consulta de uma maneira unificada e uniforme (para todos os tipos de extrato) na tela.

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Fluxo de eventos – Configurar Conta Fluxo de eventos ­ O usuário seleciona uma de contas associadas ao cliente. ­ O usuário configura uma das seguintes ações automáticas à conta: Enviar um caso haja uma determinada variação N (positiva ou negativa) na conta. Transferência automática de uma valor X de uma conta reserva (do mesmo cliente) para a conta em questão, caso o saldo alcance um determinado limite Y. Mudança de estratégia (conservadora ou agressiva) de investimento dependendo da variação do saldo da conta. Esta ação só poderá ser associada às contas do tipo investimento. ­ Após o usuário preencher os parâmetros da configuração e confirmar a configuração, o sistema associa a ação à conta. Fluxo secundário ­ Caso em uma transferência automática, a conta reserva tenha saldo insuficiente, um é enviado ao cliente. ­ Problemas no envio de s são guardados no log do sistema, para posterior re-envio. Análise e Projeto OO com UML e Padrões| 66

Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Fluxo de eventos – Agendar Transação Fluxo de eventos 1.Durante a realização de qualquer uma das seguintes operações o usuário poderá agendar sua para uma determinada data D. Pagamento de um cartão Realizar DOC Transferência entre contas 2.Após a confirmar o agendamento, o sistema armazena o agendamento da transação. 3.Na data D, o sistema recupera todos o agendamentos para esta data e executa eles. Fluxo secundário ­ Durante a execução de uma operação agendada, caso a conta tenha saldo insuficiente, a operação é cancelada e um é enviado ao cliente. ­ Problemas no envio de s são guardados no log do sistema, para posterior re-envio. Análise e Projeto OO com UML e Padrões| 67