58
Analisar Caso de Uso

Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Embed Size (px)

Citation preview

Page 1: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar Caso de Uso

Page 2: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 2

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Objetivos deste móduloApresentar os passos necessários para realizar a atividade analisar casos de uso e discutir seus artefatosApresentar os diagramas de seqüência, colaboração e classes de UML

Page 3: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 3

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Analisar Casos de Uso

Analisar Casos de Uso

Revisar Projeto

Projetar Arquitetura

Projetista deBanco de Dados

Arquiteto de Software

Revisor de projeto

Projetar Casos de Uso

Projetar Subsistemas

Projetar Base de Dados

Analista deSistemas

Projetar Cápsulas

Page 4: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 4

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Analisar Casos de Uso

Analisar Casos de Uso

Revisar Projeto

Projetar Arquitetura

Projetista deBanco de Dados

Arquiteto de Software

Revisor de projeto

Projetar Casos de Uso

Projetar Subsistemas

Projetar Base de Dados

Analista deSistemas

Projetar Cápsulas

Page 5: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 5

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Objetivos desta atividadeEncontrar as classes iniciais do sistema (classes de análise) e distribuir comportamento dos casos de uso entre elasPara cada classe, descrever as responsabilidades, atributos e associações

Esta atividade é realizada para cada caso de uso!

Page 6: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 6

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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

Page 7: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 7

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passos para Analisar Casos de Uso

Para cada caso de uso:1. Encontrar classes de análise2. Identificar persistência

Para cada classe:3. Distribuir comportamento entre as classes 4. Descrever responsabilidades5. Descrever atributos e associações

6. Revisar os Resultados

Page 8: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 8

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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

Page 9: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 9

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Classes de análise: um primeiro passo em direção ao executável

Modelo de Casos de Uso

Códigos Fonte

Executável

Classes de Análise

Elementos de Projeto

Page 10: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 10

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB - Diagrama de Casos de Uso

Operadora do DOC

Desbloquear Talõesde Cheque

Efetuar Login

Alterar Senha

Consultar Saldo

Consultar Extrato

Consultar Qualiti CardRealizar Transferência

Consultar Cheques

Solicitar Talões de Cheque

Realizar DOC

ClienteAtor

Operadora Cartão de Crédito

Efetuar Pagamento do Qualiti Card

Mostrar Dados daConsulta

<<include>>

<<include>>

Usaremos o QIB como exemplo

Page 11: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 11

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Classes de Fronteira (boundary classes)

Isolam o sistema de mudanças no ambiente externoAtores devem se comunicar apenas com classes de fronteira Exemplos de classes fronteira GUI Interface com outros sistemas Interface com dispositivos

<<boundary>>

Modelam a interação entre o sistema e seu ambiente

Notação em UML

Page 12: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 12

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar LoginRegra geral para encontrar classes de fronteira: uma classe por cada par ator/caso de uso

TelaLogin<<boundary>>

ClienteAtor Efetuar Login

Page 13: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 13

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Descobrindo classes de fronteira

TelaPagamentoQualitiCard<<boundary>>

ComunicacaoOperadoraCartao<<boundary>>

ClienteAtorEfetuar Pagamento

do Qualiti Card Operadora de Cartão de Crédito

Page 14: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 14

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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!

Page 15: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 15

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Classes de Entidade (entity classes)

Abstrações e conceitos chaves dos casos de usoFontes: Conhecimento do negócio Glossário Modelo de negócios Documento de requisitos Especificação do Caso de uso

<<entity>>

Armazenam e controlam informação no sistema

Notação em UML

Page 16: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 16

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar LoginObserve o fluxo de eventos do Efetuar Login

Este caso de uso é responsável por autenticar um usuário do sistema.

Pré-condição: nenhumaPós-condição: um usuário válido é logado e sua sessão é registrada no sistema.

Fluxo de eventos principal1. 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.

Page 17: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 17

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Orientações para encontrarClasses 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

Page 18: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 18

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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

Usuario<<entity>>

Conta<<entity>>

Page 19: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 19

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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.

Page 20: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 20

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Fluxo de eventos principal1. 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.

Page 21: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 21

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Fluxo de eventos secundáriosFluxo Principal1. 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.

Page 22: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 22

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Classes de entidade

QIB – Efetuar Pagamento do Qualiti Card

Conta<<entity>>

Cliente<<entity>>

CartaoCredito<<entity>>

Comprovante<<entity>>

Mensagem<<entity>>

CodigoBarras<<entity>>

PagamentoCartao<<entity>>

Page 23: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 23

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Classes de Controle (control classes)

Coordenam o comportamento (lógica de controle) do caso de usoInterface entre fronteira e entidade Dependente do caso de uso, independente do ambientePermitem separação entre o uso da entidade (específico do sistema) do comportamento inerente à entidade

<<control>>

Coordena o comportamento do caso de uso.Uma classe controle pode ter referência a vários objetos entidade.

Notação em UML

Page 24: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 24

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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)

Page 25: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 25

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar LoginEncontrando classes de controle

ControladorLogin<<control>>

ClienteAtor Efetuar Login

Page 26: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 26

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Encontrando classes de controle

ControladorPagamentoQualitiCard<<control>>

ClienteAtorEfetuar Pagamento

do Qualiti Card Operadora de Cartão de Crédito

Page 27: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 27

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar LoginClasses de análise descobertas até o momento

Usuario<<entity>>

TelaLogin<<boundary>>

ControladorLogin<<control>>

Conta<<entity>>

Page 28: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 28

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Conta<<entity>>

Cliente<<entity>>

CartaoCredito<<entity>>

TelaPagamentoQualitiCard<<boundary>>

Comprovante<<entity>>

Mensagem<<entity>>

CodigoBarras<<entity>>

ComunicacaoOperadoraCartao<<boundary>>

PagamentoCartao<<entity>>

ControladorPagamentoQualitiCard<<control>>

Classes de análise descobertas até o momento

Page 29: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 29

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passo 2. Identificar persistência

Identificar que classes de análise deverão ser persistentesCriar, para cada classe persistente, uma classe de cadastro com estereótipo <<entity collection>>

Page 30: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 30

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar LoginClasses persistentes

Usuario<<entity>>

CadastroUsuarios<<entity collection>>

Conta<<entity>>

CadastroContas<<entity collection>>

Page 31: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 31

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Classes persistentes

CadastroPagamentosCartao<<entity collection>>

CadastroClientes<<entity collection>>

CadastroContas<<entity collection>>

PagamentoCartao<<entity>>

Cliente<<entity>>

Conta<<entity>>

Page 32: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 32

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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

Page 33: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 33

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passo 3. Distribuir comportamento entre as

classesPara 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

Page 34: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 34

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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)

Page 35: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 35

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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)

Page 36: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 36

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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

Page 37: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 37

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Modelando interações Diagramas de interação (colaboração e seqüência) modelam interações do sistema com seus atoresA interação é iniciada por um ator e envolve instâncias (objetos) das classesDiagramas de interação capturam a semântica do fluxo de eventos do caso de uso Auxiliam a identificar classes,

responsabilidades e relacionamentos

Page 38: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 38

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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

Page 39: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 39

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Login

: ClienteAtor : TelaLogin : ControladorLogin : CadastroContas

efetuarLogin(login, senha)

efetuarLogin(login, senha)

existeConta(login, senha)

registraSessao(login)

Page 40: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 40

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Forma Geral de Diagramas de

Colaboração

:Cliente

:Fornecedor

Objeto cliente

Link

Objeto fornecedorMensagem

1: Realize responsabilidade

Mensagem reflexiva

1.1: Realize outra responsabilidade

Page 41: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 41

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB - Efetuar Login

: ClienteAtor

: TelaLogin

: ControladorLogin : CadastroContas

4: registraSessao(login)

1: efetuarLogin(login, senha)

2: efetuarLogin(login, senha)

3: existeConta(login, senha)

Page 42: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 42

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Exercício: diagramas de seqüência e colaboração do caso de uso Efetuar Pagamento do Qualiti Card

Page 43: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 43

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Quantos diagramas de interação fazer?

Quantos forem necessários para modelar o comportamento do caso de uso!

Pelo menos o fluxo principal deveria ser modeladoNã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

Page 44: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 44

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

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 Mais fáceis de desenhar - úteis em sessões de brainstorm

Seqüência Melhores para visualizar a seqüência do fluxo no tempo Melhores para visualizar o fluxo completo Mais adequados para cenários complexos

Use o que gostar mais!!

Page 45: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 45

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

ContextoPara cada caso de uso

encontramos as classes de análiseidentificamos classes persistentesdescrevemos o seu comportamento através de diagramas de interação

Agora, para cada classevamos descrever suas responsabilidades

Page 46: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 46

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passo 4. Descrever Responsabilidades

Responsabilidades identificadas nos fluxos de eventos são refletidas em diagramas de interaçãoMensagens nestes diagramas resultam em responsabilidades nas classes receptoras

:Cliente :Fornecedor

// Realizar responsabilidade

Fornecedor

// Realizar responsabilidade

diagrama de classes

diagrama de interação

Page 47: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 47

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar LoginClasses com responsabilidades

TelaLogin

efetuarLogin()

<<boundary>>

ControladorLogin

efetuarLogin()

<<control>>

CadastroContas

existeConta()

<<entity collection>>

Conta<<entity >>

Page 48: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 48

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Classes com responsabilidades

Conta

getSaldo()debitar()

<<entity>>

Comprovante<<entity>>

TelaPagamentoQualitiCard

efetuarPagamentoQualitiCard()

<<boundary>>

PagamentoCartao<<entity>>

CadastroPagamentosCartao

inserir()

<<entity collection>>

CadastroContas

consultarConta()atualizar()

<<entity collection>>

ControladorPagamentoQualitiCard

efetuarPagamentoQualitiCard()

<<control>>

ComunicacaoOperadoraCartao

enviar()

<<boundary>>

Page 49: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 49

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Analisando o ModeloClasses com responsabilidades similares são candidatas a serem combinadasUma 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

Page 50: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 50

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passo 5. Descrever atributos e associações

Detalhando mais as classes definir atributos estabelecer associações necessárias entre

as classes

Page 51: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 51

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Encontrando AtributosPossí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

Page 52: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 52

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Encontrando Relacionamentos

Links entre objetos em diagramas de colaboração indicam a necessidade de relacionamento entre as respectivas classesLinks 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 mensagemInclua também o papel (role) e a multiplicidade dos relacionamentos

Page 53: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 53

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Encontrando Relacionamentos

:Cliente :Fornecedor

Link

Fornecedor

Realizar responsabilidade

Diagramade classe

Diagrama deColaboração

Associação

Cliente Fornecedor

Um relacionamento para cada link

Cliente

1: Realizar responsabilidade

Fonte: Rational

Page 54: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 54

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar LoginDiagrama de classes com relacionamentos e atributos

Contaloginsenha

<<entity>>

TelaLogin

efetuarLogin()

<<boundary>>

CadastroContas

existeConta()

<<entity col lection>>

0..n0..n

ControladorLogin

efetuarLogin()

<<control>>

1

0..n

1

0..n

1

1

1

1

Page 55: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 55

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Pagamento do Qualiti Card

Diagrama de classes com relacionamentos e atributos

Contanumerosaldo

getSaldo()debitar()

<<entity>>

ComprovantepagamentoCartao

<<entity>>

PagamentoCartaonumeroFaturadatahoravalorcontaBancaria

<<entity>>

TelaPagamentoQualitiCard

efetuarPagamentoQualitiCard()

<<boundary>>

CadastroContas

consultarConta()atualizar()

<<entity collection>>

0..n0..n

CadastroPagamentosCartao

inserir()

<<entity collection>>

0..n0..n

ComunicacaoOperadoraCartao

enviar()

<<boundary>>

ControladorPagamentoQualitiCard

efetuarPagamentoQualitiCard()verificarSaldo()

<<control>>1

0..n

1

0..n

1 11 1

1

1

1

1 11

11

Page 56: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 56

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passo 6. Revisar Resultados

Verificar se as classes de análise satisfazem os requisitos funcionaisUnificar as classes de análiseVerificar se todo o modelo está consistente entre si e com os requisitos

Page 57: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar caso de uso | 57

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Revisando: Passos realizados nesta atividade

Para cada caso de uso:1. Encontrar classes de análise2. Identificar persistência

Para cada classe:3. Distribuir comportamento entre as classes

4. Descrever responsabilidades5. Descrever atributos e associações

6. Revisar os Resultados

Page 58: Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo

Analisar Casos de Uso