Analisar Caso de Usoplm/Ess/analiseCasosDeUsoRT.pdf · 2005-06-17 · Esta atividade é realizada...
Transcript of Analisar Caso de Usoplm/Ess/analiseCasosDeUsoRT.pdf · 2005-06-17 · Esta atividade é realizada...
Analisar caso de uso | 2
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Objetivos deste módulo
Apresentar os passos necessários pararealizar a atividade analisar casos de uso ediscutir seus artefatosApresentar os diagramas de seqüência,colaboração e classes de UML
Analisar caso de uso | 3
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Analisar Casos de Uso
AnalisarCasos de Uso
RevisarProjeto
ProjetarArquitetura
Projetista deBanco de Dados
Arquiteto deSoftware
Revisor deprojeto
ProjetarCasos de Uso
ProjetarSubsistemas
ProjetarBase de Dados
Analista deSistemas
ProjetarCápsulas
Analisar caso de uso | 4
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Analisar Casos de Uso
AnalisarCasos de Uso
RevisarProjeto
ProjetarArquitetura
Projetista deBanco de Dados
Arquiteto deSoftware
Revisor deprojeto
ProjetarCasos de Uso
ProjetarSubsistemas
ProjetarBase de Dados
Analista deSistemas
ProjetarCápsulas
Analisar caso de uso | 5
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Objetivos desta atividade
Encontrar as classes iniciais do sistema(classes de análise) e distribuircomportamento dos casos de uso entre elasPara cada classe, descrever asresponsabilidades, atributos e associações
Esta atividade é realizada para cada caso deuso!
Analisar caso de uso | 6
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Visão geral dos artefatos
Analista deSistemas
Analisar Casode Uso
Glossário Modelo deCasos de Uso
Diagrama deClasses
Diagrama deSeqüência
Diagrama deColaboração
Documento deRequisitos
Documento daArquitetura
Realização deCaso de Uso
Analisar caso de uso | 7
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
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 classes4. Descrever responsabilidades5. Descrever atributos e associações
6. Revisar os Resultados
Analisar caso de uso | 8
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Passo 1. Encontrar classes de análise
O comportamento do caso de uso édistribuído em classes de análise dosseguintes tipos (estereótipos) fronteira controle entidade
Estes estereótipos são uma conveniência deanálise que desaparecem no projeto
Analisar caso de uso | 9
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Classes de análise: um primeiro passoem direção ao executável
Modelo deCasos de Uso
Códigos Fonte
Executável
Classes deAnálise
Elementos deProjeto
Analisar caso de uso | 10
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
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 deCrédito
Efetuar Pagamento doQualiti Card
Mostrar Dados daConsulta
<<include>>
<<include>>
Usaremos o QIB como exemplo
Analisar caso de uso | 11
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Classes de Fronteira (boundary classes)
Isolam o sistema de mudanças no ambienteexternoAtores devem se comunicar apenas com classesde fronteiraExemplos 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
Analisar caso de uso | 12
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
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
Analisar caso de uso | 13
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento doQualiti Card
Descobrindo classes de fronteira
TelaPagamentoQualitiCard<<boundary>>
ComunicacaoOperadoraCartao<<boundary>>
ClienteAtorEfetuar Pagamento
do Qualiti Card Operadora de Cartãode Crédito
Analisar caso de uso | 14
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Descrevendo Classes deFronteira
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 nosdetalhes!
Analisar caso de uso | 15
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
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
Analisar caso de uso | 16
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar LoginObserve o fluxo de eventos do Efetuar Login
Este caso de uso é responsável por autenticar um usuário dosistema.
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 seo 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 sistemaexibe uma mensagem e volta ao passo 1.
Este caso de uso é responsável por autenticar um usuário dosistema.
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 seo 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 sistemaexibe uma mensagem e volta ao passo 1.
Analisar caso de uso | 17
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Orientações para encontrarClasses de Entidade
Usando a descrição do caso de uso, use aabordagem 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
Analisar caso de uso | 18
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Classes de entidade
A classe Conta é uma classe que armazena o login esenha de um cliente.
Algumas classes levantadas podem ser eliminadas enovas serão adicionadas
QIB – Efetuar Login
Usuario<<entity>>
Conta<<entity>>
Analisar caso de uso | 19
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento do QualitiCard
Observe o fluxo de eventos do caso de usoEfetuar Pagamento do Qualiti Card
Analisar caso de uso | 20
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento do QualitiCard
Descrição inicial
Este caso de uso é responsável por realizar o pagamento do QualitiCard com a operadora de cartão de crédito. Cada cliente possuiapenas um cartão como titular, estando vinculado a apenas umaoperadora.
Pré-condição: O cliente deve estar conectado ao sistema (ter efetuadoo 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 QualitiCard com a operadora de cartão de crédito. Cada cliente possuiapenas um cartão como titular, estando vinculado a apenas umaoperadora.
Pré-condição: O cliente deve estar conectado ao sistema (ter efetuadoo 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.
Analisar caso de uso | 21
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento do QualitiCard
Fluxo de eventos principal1. O cliente informa os dados necessários para efetuar o pagamento docartã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 pararealizar 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 umcomprovante da mesma para o usuário. A transação registrada contémos dados da conta do cliente, o código de barras da fatura, data, hora evalor do pagamento.
1. O cliente informa os dados necessários para efetuar o pagamento docartã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 pararealizar 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 umcomprovante da mesma para o usuário. A transação registrada contémos dados da conta do cliente, o código de barras da fatura, data, hora evalor do pagamento.
Analisar caso de uso | 22
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento do QualitiCard
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 realizaro 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 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 realizaro 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 ovalor do pagamento, o sistema informa que o saldo é insuficiente e retornapara o passo 1.- No passo 5, se a operadora de cartão de crédito estiver inativa, osistema 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 ovalor do pagamento, o sistema informa que o saldo é insuficiente e retornapara o passo 1.- No passo 5, se a operadora de cartão de crédito estiver inativa, osistema exibe uma mensagem e cancela a operação.- Em qualquer momento o usuário pode cancelar a operação.
Analisar caso de uso | 23
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Classes de entidade
QIB – Efetuar Pagamento doQualiti Card
Conta<<entity>>
Cliente<<entity>>
CartaoCredito<<entity>>
Comprovante<<entity>>
Mensagem<<enti ty>>
CodigoBarras<<entity>>
PagamentoCartao<<enti ty>>
Analisar caso de uso | 24
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Classes de Controle (control classes)Coordenam o comportamento (lógica decontrole) do caso de usoInterface entre fronteira e entidadeDependente do caso de uso, independente doambientePermitem separação entre o uso da entidade(específico do sistema) do comportamentoinerente à 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
Analisar caso de uso | 25
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Orientações para encontrarClasses de Controle
Usualmente, uma classe de controle por casode usoEventualmente mais de uma(comportamento complexo) ou nenhuma(manipulação simples de informaçõesarmazenadas)
Analisar caso de uso | 26
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Login
Encontrando classes de controle
ControladorLogin<<control>>
ClienteAtor Efetuar Login
Analisar caso de uso | 27
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento doQualiti Card
Encontrando classes de controle
ControladorPagamentoQualit iCard<<control>>
ClienteAtorEfetuar Pagamento
do Qualiti Card Operadora de Cartãode Crédito
Analisar caso de uso | 28
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Login
Classes de análise descobertas até o momento
Usuario<<entity>>
TelaLogin<<boundary>>
ControladorLogin<<control>>
Conta<<entity>>
Analisar caso de uso | 29
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento do QualitiCard
Conta<<entity>>
Cliente<<entity>>
CartaoCredito<<entity>>
TelaPagamentoQualitiCard<<boundary>>
Comprovante<<entity>>
Mensagem<<enti ty>>
CodigoBarras<<entity>>
ComunicacaoOperadoraCartao<<boundary>>
PagamentoCartao<<enti ty>>
ControladorPagamentoQualit iCard<<control>>
Classes de análise descobertas até o momento
Analisar caso de uso | 30
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Passo 2. Identificar persistência
Identificar que classes de análise deverão serpersistentesCriar, para cada classe persistente, umaclasse de cadastro com estereótipo<<entity collection>>
Analisar caso de uso | 31
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar LoginClasses persistentes
Usuario<<entity>>
CadastroUsuarios<<entity collection>>
Conta<<entity>>
CadastroContas<<entity collection>>
Analisar caso de uso | 32
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento doQualiti Card
Classes persistentes
CadastroPagamentosCartao<<entity collection>>
CadastroClientes<<entity collection>>
CadastroContas<<entity collection>>
PagamentoCartao<<enti ty>>
Cliente<<entity>>
Conta<<entity>>
Analisar caso de uso | 33
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Contexto
Encontradas as classes de análise eidentificadas as classes persistentes, vamosagora descrever o seu comportamento.
Lembrando que estas atividades sãorealizadas para cada caso de uso
Analisar caso de uso | 34
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Passo 3. Distribuircomportamento 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
Analisar caso de uso | 35
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Distribuindo comportamentoentre as classes
Classes deAnálise
Diagrama deColaboração
Caso de Uso
Diagrama deSeqüência
Classes de Análise(com responsabilidades)
Analisar caso de uso | 36
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
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)
Analisar caso de uso | 37
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Alocando responsabilidades
Identificar que classe tem a informaçãonecessária para realizar a responsabilidade isso pode envolver apenas uma classe, pode ser
preciso criar nova classe ou relacionamento entreclasses
Analisar caso de uso | 38
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Modelando interações
Diagramas de interação (colaboração eseqüência) modelam interações do sistemacom seus atoresA interação é iniciada por um ator e envolveinstâncias (objetos) das classesDiagramas de interação capturam asemântica do fluxo de eventos do caso deuso Auxiliam a identificar classes, responsabilidades
e relacionamentos
Analisar caso de uso | 39
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Forma Geral dos Diagramas deSeqüência
:Cliente :Fornecedor
Objeto cliente Objeto fornecedor
Foco de controle
Numeração hierárquica paraas mensagens
Mensagem reflexiva
1.1: Realize outra responsabilidade
1: Realize responsabilidade
Mensagem
Analisar caso de uso | 40
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Login
: ClienteAtor : TelaLogin : ControladorLogin : CadastroContas
efetuarLogin(login, senha)
efetuarLogin(login, senha)
existeConta(login, senha)
registraSessao(login)
Analisar caso de uso | 41
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Forma Geral de Diagramas deColaboração
:Cliente
:Fornecedor
Objeto cliente
Link
Objeto fornecedorMensagem
1: Realize responsabilidade
Mensagem reflexiva
1.1: Realize outraresponsabilidade
Analisar caso de uso | 42
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
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)
Analisar caso de uso | 43
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento doQualiti Card
Exercício: diagramas de seqüência ecolaboração do caso de uso EfetuarPagamento do Qualiti Card
Analisar caso de uso | 44
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Quantos diagramas deinteração fazer?
Quantos for necessário para modelar ocomportamento do caso de uso!
Pelo menos o fluxo principal deveria sermodeladoNã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 todasas responsabilidades
Analisar caso de uso | 45
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Que diagramas de interaçãofazer?
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!!
Analisar caso de uso | 46
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Contexto
Para cada caso de usoencontramos as classes de análiseidentificamos classes persistentesdescrevemos o seu comportamento através dediagramas de interação
Agora, para cada classevamos descrever suas responsabilidades
Analisar caso de uso | 47
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Passo 4. DescreverResponsabilidades
Responsabilidades identificadas nos fluxos de eventos sãorefletidas em diagramas de interaçãoMensagens nestes diagramas resultam em responsabilidadesnas classes receptoras
:Cliente :Fornecedor
// Realizar responsabilidade
Fornecedor
// Realizar responsabilidade
diagrama declasses
diagrama deinteração
Analisar caso de uso | 48
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar LoginClasses com responsabilidades
TelaLogin
efetuarLogin()
<<boundary>>
ControladorLogin
efetuarLogin()
<<control>>
CadastroContas
existeConta()
<<entity collection>>
Conta<<entity >>
Analisar caso de uso | 49
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento doQualiti Card
Classes com responsabilidades
Conta
getSaldo()debitar()
<<entity>>
Comprovante<<entity>>
TelaPagamentoQualitiCard
efetuarPagamentoQualitiCard()
<<boundary>>
PagamentoCartao<<enti ty>>
CadastroPagamentosCartao
inserir()
<<ent ity collection>>
CadastroContas
consultarConta()atualizar()
<<entity collection>>
ControladorPagamentoQualit iCard
efetuarPagamentoQualitiCard()
<<control>>
ComunicacaoOperadoraCartao
enviar()
<<boundary>>
Analisar caso de uso | 50
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Analisando o Modelo
Classes com responsabilidades similares sãocandidatas a serem combinadasUma classe com responsabilidades disjuntas écandidata a ser divididaClasses sem (ou com apenas uma responsabilidade)e classes que interagem com muitas classes sãocandidatas a serem reexaminadas
Isso poderá resultar em uma alteraçãodos diagramas de interação
Analisar caso de uso | 51
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Passo 5. Descrever atributos eassociações
Detalhando mais as classes definir atributos estabelecer associações necessárias entre as
classes
Analisar caso de uso | 52
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Encontrando Atributos
Possíveis fontes: conhecimento do negócio,requisitos, glossário, modelo do negócio, etc.São propriedades/características das classesidentificadas 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
Analisar caso de uso | 53
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Encontrando Relacionamentos
Links entre objetos em diagramas decolaboração indicam a necessidade derelacionamento entre as respectivas classesLinks reflexivos só geram relacionamentosreflexivos quando dois objetos da classeprecisam se comunicar (mas não quando umobjeto envia mensagens para si próprio)A navegabilidade do relacionamento deveestar de acordo com a direção da mensagemInclua também o papel (role) e amultiplicidade dos relacionamentos
Analisar caso de uso | 54
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
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
Analisar caso de uso | 55
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar LoginDiagrama de classes com relacionamentos e atributos
Contaloginsenha
<<entity>>
TelaLogin
efetuarLogin()
<<boundary>>
CadastroContas
existeCon ta()
<<en tity col lectio n>>
0..n0..n
ControladorLogin
efetuarLogin()
<<control>>
1
0..n
1
0..n
1
1
1
1
Analisar caso de uso | 56
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
QIB – Efetuar Pagamento do Qualiti CardDiagrama 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
Analisar caso de uso | 57
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Passo 6. Revisar Resultados
Verificar se as classes de análise satisfazemos requisitos funcionaisUnificar as classes de análiseVerificar se todo o modelo está consistenteentre si e com os requisitos
Analisar caso de uso | 58
Copy
righ
t ©
2002
Qua
liti.
Tod
os o
s di
reit
os r
eser
vado
s.
Qualiti Software Processes
Revisando: Passos realizados nestaatividade
Para cada caso de uso:1. Encontrar classes de análise2. Identificar persistência
Para cada classe:3. Distribuir comportamento entre as classes4. Descrever responsabilidades5. Descrever atributos e associações
6. Revisar os Resultados