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

Analisar Caso de Uso