Você está na página 1de 65

Analisar Caso de Uso

Objetivos deste mdulo


Apresentar os passos necessrios para realizar a atividade
analisar casos de uso e discutir seus artefatos
Apresentar os diagramas de seqncia, colaborao e classes

Copyright 2002 Qualiti. Todos os direitos reservados.


de UML

Qualiti Software Processes


Analisar caso de uso | 2
Analisar
Servios

Arquiteto de
Software Projetar
Projetar
Servios
Arquitetura

Revisor de
projeto
Prototipar
Interface grfica
Arquiteto de

Copyright 2002 Qualiti. Todos os direitos reservados.


Informao

Analisar
Casos de Uso Projetar Projetar
Casos de Uso Subsistemas/
componentes

Analista de
Sistemas

Revisar
Projetar Projeto
classes

Projetar
Base de Dados
Projetista de
Banco de Dados

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 3
Analisar
Servios

Arquiteto de
Software Projetar
Projetar
Servios
Arquitetura

Revisor de
projeto
Prototipar
Interface grfica
Arquiteto de

Copyright 2002 Qualiti. Todos os direitos reservados.


Informao

Analisar
Casos de Uso Projetar Projetar
Casos de Uso Subsistemas
componentes

Analista de
Sistemas

Revisar
Projetar Projeto
classes

Projetar
Base de Dados
Projetista de
Banco de Dados

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 4
Objetivos desta atividade
Encontrar as classes iniciais do sistema (classes de anlise) e
distribuir comportamento dos casos de uso entre elas
Para cada classe, descrever as responsabilidades, atributos e

Copyright 2002 Qualiti. Todos os direitos reservados.


associaes

Esta atividade realizada para cada caso de uso!

Qualiti Software Processes


Analisar caso de uso | 5
Viso geral dos artefatos

Documento de Glossrio Documento da Modelo de


Requisitos Arquitetura Casos de Uso

Copyright 2002 Qualiti. Todos os direitos reservados.


Analista de Analisar Caso Realizao de
Sistemas de Uso Caso de Uso

Diagrama de Diagrama de Diagrama de


Classes Colaborao Seqncia

Qualiti Software Processes


Analisar caso de uso | 6
Passos para Analisar Casos de Uso
Para cada caso de uso:
1. Encontrar classes de anlise
2. Identificar persistncia

Copyright 2002 Qualiti. Todos os direitos reservados.


Para cada classe:
3. Distribuir comportamento entre as classes
4. Descrever responsabilidades
5. Descrever atributos e associaes

6. Revisar os Resultados

Qualiti Software Processes


Analisar caso de uso | 7
Passo 1. Encontrar classes de anlise
O comportamento do caso de uso distribudo em classes de
anlise dos seguintes tipos (esteretipos)
- fronteira

Copyright 2002 Qualiti. Todos os direitos reservados.


- controle
- entidade
Estes esteretipos so uma convenincia de anlise que
desaparecem no projeto

Qualiti Software Processes


Analisar caso de uso | 8
Classes de anlise: um primeiro passo
em direo ao executvel

Classes de
Modelo de Anlise

Copyright 2002 Qualiti. Todos os direitos reservados.


Casos de Uso

Cdigos Fonte

Elementos de
Projeto

Executvel

Qualiti Software Processes


Analisar caso de uso | 9
QIB - Diagrama de Casos de Uso
Usaremos o QIB como exemplo

Desbloquear Tales Efetuar Login


de Cheque

Copyright 2002 Qualiti. Todos os direitos reservados.


Solicitar Tales de Cheque
Alterar Senha

Consultar Cheques

ClienteAtor Consultar Saldo <<include>>

Realizar DOC <<include>>


Consultar Extrato Mostrar Dados da
Consulta

Realizar Transferncia Consultar Qualiti Card


Efetuar Pagamento do
Qualiti Card

Operadora do DOC

Qualiti Software Processes


Operadora Carto de Analisar caso de uso | 10
Crdito
Classes de Fronteira (boundary classes)
Isolam o sistema de mudanas no ambiente
externo Notao em UML

Copyright 2002 Qualiti. Todos os direitos reservados.


Atores devem se comunicar apenas com classes
de fronteira
Exemplos de classes fronteira
- GUI
- Interface com outros sistemas
- Interface com dispositivos
Modelam a interao entre o sistema e seu ambiente

<<boundary>>

Qualiti Software Processes


Analisar caso de uso | 11
QIB Efetuar Login
Regra geral para encontrar classes de fronteira:
uma classe por cada par ator/caso de uso

Copyright 2002 Qualiti. Todos os direitos reservados.


Efetuar Login
ClienteAtor

<<boundary>>
TelaLogin

Qualiti Software Processes


Analisar caso de uso | 12
QIB Efetuar Pagamento do
Qualiti Card
Descobrindo classes de fronteira

Copyright 2002 Qualiti. Todos os direitos reservados.


Efetuar Pagamento
ClienteAtor do Qualiti Card Operadora de Carto
de Crdito

<<boundary>> <<boundary>>
TelaPagamentoQualitiCard ComunicacaoOperadoraCartao

Qualiti Software Processes


Analisar caso de uso | 13
Descrevendo Classes de
Fronteira
GUI
- Concentre-se nas informaes que sero
apresentadas, no em um projeto grfico

Copyright 2002 Qualiti. Todos os direitos reservados.


Interface com outros sistemas ou dispositivos
- Concentre-se em quais protocolos devem ser
definidos, no como sero implementados
Concentre-se nas responsabilidades, no nos detalhes!

Qualiti Software Processes


Analisar caso de uso | 14
Classes de Entidade (entity classes)
Abstraes e conceitos chaves dos casos de uso
Notao em UML
Fontes:
-

Copyright 2002 Qualiti. Todos os direitos reservados.


Conhecimento do negcio
- Glossrio
- Modelo de negcios
- Documento de requisitos
- Especificao do Caso de uso

Armazenam e controlam informao no sistema

<<entity>>

Qualiti Software Processes


Analisar caso de uso | 15
QIB Efetuar Login
Observe o fluxo de eventos do Efetuar Login

Este caso de uso responsvel por autenticar um usurio do


sistema.

Copyright 2002 Qualiti. Todos os direitos reservados.


Pr-condio: nenhuma
Ps-condio: um usurio vlido logado e sua sesso
registrada no sistema.

Fluxo de eventos principal


1. O cliente informa login e senha.
2. O sistema verifica se o login e a senha so vlidos (verifica-se se
o login e senha pertencem a uma conta).
3. O sistema registra o incio de uma sesso de uso.

Fluxos secundrios
- No passo 2, se o login ou a senha forem invlidos, o sistema
exibe uma mensagem e volta ao passo 1.
Qualiti Software Processes
Analisar caso de uso | 16
Orientaes para encontrar
Classes de Entidade
Usando a descrio do caso de uso, use a abordagem
tradicional de filtrar substantivos
- identifique substantivos no fluxo de eventos

Copyright 2002 Qualiti. Todos os direitos reservados.


- remova candidatos redundantes e vagos
- remova atores que apenas interagem com o
sistema mas no fazem parte da modelagem
- remova atributos (sero usados mais tarde) e
operaes

Qualiti Software Processes


Analisar caso de uso | 17
QIB Efetuar Login
Classes de entidade

<<entity>> <<entity>>

Copyright 2002 Qualiti. Todos os direitos reservados.


Usuario Conta

A classe Conta uma classe que armazena o login e


senha de um cliente.

Algumas classes levantadas podem ser eliminadas e


novas sero adicionadas

Qualiti Software Processes


Analisar caso de uso | 18
QIB Efetuar Pagamento do Qualiti
Card
Descrio inicial

Este caso de uso responsvel por realizar o pagamento do Qualiti

Copyright 2002 Qualiti. Todos os direitos reservados.


Card com a operadora de carto de crdito. Cada cliente possui
apenas um carto como titular, estando vinculado a apenas uma
operadora.

Pr-condio: O cliente deve estar conectado ao sistema (ter efetuado


o login).

Ps-condio: O valor do pagamento debitado da conta do cliente,


o pagamento enviado operadora do carto de crdito e a transao
registrada no sistema.

Qualiti Software Processes


Analisar caso de uso | 19
QIB Efetuar Pagamento do Qualiti
Card
Fluxo de eventos principal

1. O cliente informa os dados necessrios para efetuar o pagamento do


carto:

Copyright 2002 Qualiti. Todos os direitos reservados.


- O cdigo de barras da fatura que deseja efetuar o pagamento.
- O valor que deseja pagar.

2. O sistema recupera a conta bancria 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 carto de crdito.

6. O sistema registra a transao de pagamento e emite um


comprovante da mesma para o usurio. A transao registrada contm
os dados da conta do cliente, o cdigo de barras da fatura, data, hora e
Qualiti Software Processes
valor do pagamento. Analisar caso de uso | 20
QIB Efetuar Pagamento do Qualiti
Card
Fluxo de eventos secundrios

Fluxo Principal
1. O cliente informa os dados necessrios para efetuar o pagamento do carto: - O cdigo de

Copyright 2002 Qualiti. Todos os direitos reservados.


barras da fatura que deseja efetuar o pagamento. - O valor que deseja pagar.
2. O sistema recupera a conta bancria 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 carto de crdito.

6. O Fluxo secundrio
sistema registra a transao de pagamento e emite um comprovante da mesma para o usurio.
A transao registrada contm os dados da conta do cliente, o cdigo de barras da fatura, data,
hora e valor do pagamento.
- No passo 3, se o saldo disponvel 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 carto de crdito estiver inativa, o
sistema exibe uma mensagem e cancela a operao.
- Em qualquer momento o usurio pode cancelar a operao.
Qualiti Software Processes
Analisar caso de uso | 21
QIB Efetuar Pagamento do
Qualiti Card
Classes de entidade

Copyright 2002 Qualiti. Todos os direitos reservados.


<<entity>> <<entity>> <<entity>>
PagamentoCartao Conta Comprovante

<<entity>> <<entity>> <<entity>> <<entity>>


CartaoCredito CodigoBarras Mensagem Cliente

Qualiti Software Processes


Analisar caso de uso | 22
Classes de Controle (control classes)
Coordenam o comportamento (lgica de
Notao em UML
controle) do caso de uso
Interface entre fronteira e entidade

Copyright 2002 Qualiti. Todos os direitos reservados.


Dependente do caso de uso, independente do
ambiente
Permitem separao entre o uso da entidade
(especfico do sistema) do comportamento
inerente entidade
Coordena o comportamento do caso de uso.
Uma classe controle pode ter referncia a vrios objetos entidade.

<<control>>

Qualiti Software Processes


Analisar caso de uso | 23
Orientaes para encontrar
Classes de Controle
Usualmente, uma classe de controle por caso de uso
Eventualmente mais de uma (comportamento complexo) ou
nenhuma (manipulao simples de informaes armazenadas)

Copyright 2002 Qualiti. Todos os direitos reservados.


Qualiti Software Processes
Analisar caso de uso | 24
QIB Efetuar Login
Encontrando classes de controle

Copyright 2002 Qualiti. Todos os direitos reservados.


Efetuar Login
ClienteAtor

<<control>>
ControladorLogin

Qualiti Software Processes


Analisar caso de uso | 25
QIB Efetuar Pagamento do
Qualiti Card
Encontrando classes de controle

Copyright 2002 Qualiti. Todos os direitos reservados.


Efetuar Pagamento
ClienteAtor do Qualiti Card Operadora de Carto
de Crdito

<<control>>
ControladorPagamentoQualitiCard

Qualiti Software Processes


Analisar caso de uso | 26
QIB Efetuar Login
Classes de anlise descobertas at o momento

Copyright 2002 Qualiti. Todos os direitos reservados.


<<control>> <<entity>>
ControladorLogin Usuario

<<boundary>> <<entity>>
TelaLogin Conta

Qualiti Software Processes


Analisar caso de uso | 27
QIB Efetuar Pagamento do Qualiti
Card
Classes de anlise descobertas at o momento

Copyright 2002 Qualiti. Todos os direitos reservados.


<<entity>> <<entity>> <<entity>> <<entity>> <<entity>>
Mensagem Conta Cliente Comprovante PagamentoCartao

<<entity>> <<entity>> <<control>>


CodigoBarras CartaoCredito ControladorPagamentoQualitiCard

<<boundary>> <<boundary>>
ComunicacaoOperadoraCartao TelaPagamentoQualitiCard

Qualiti Software Processes


Analisar caso de uso | 28
Exerccio Qualiti Internet
Banking
Dado:
- Artefatos de requisitos do Qualiti Internet
Banking, especialmente o fluxo de eventos do

Copyright 2002 Qualiti. Todos os direitos reservados.


caso de uso RealizarDoc (ver prximos slides)
Produzir:
- Identificao das classes de anlise, com seus
esteretipos e breve descrio

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 29
QIB Realizar Doc
Descrio inicial

Este caso de uso responsvel por realizar a transferncia de valores

Copyright 2002 Qualiti. Todos os direitos reservados.


entre uma conta deste banco para uma conta de um outro banco. A
transferncia pode ocorrer entre contas com mesmo CPF ou CPFs
distintos.

Pr-condio: o cliente deve estar conectado ao sistema (ter efetuado


o login).

Ps-condio: o valor da transferncia foi debitado da conta do


cliente, o DOC foi enviado operadora de DOC e a transao foi
registrada.

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 30
QIB Realizar Doc
Fluxo de eventos principal

1. O cliente informa os dados necessrios para a realizao do DOC:


- Banco, agncia e conta destino;

Copyright 2002 Qualiti. Todos os direitos reservados.


- CPF do favorecido;
- Valor do DOC.
2. O sistema recupera a conta bancria do cliente logado.
3. O sistema verifica se o saldo da conta do cliente suficiente para a
realizao do DOC.
4. O sistema envia o DOC operadora.
5. Debita-se o valor da conta.
6. O QIB registra a ocorrncia desta transao (um DOC).
7. Emite-se um comprovante da mesma para o usurio, contendo os
dados da conta de origem e destino, assim como a data e valor do
DOC.

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 31
QIB Realizar Doc
Fluxo de eventos secundrios

Fluxo Principal
1. O cliente informa os dados necessrios para a realizao do DOC:

Copyright 2002 Qualiti. Todos os direitos reservados.


- Banco, agncia e conta destino;
- CPF do favorecido;
- Valor do DOC.
2. O sistema recupera a conta bancria do cliente logado.
3. O sistema verifica se o saldo da conta do cliente suficiente para a
realizao do DOC.
4. O sistema envia o DOC operadora.
5. Debita-se o valor da conta.
6. O Fluxo secundrio
QIB registra a ocorrncia desta transao (um DOC).
No passo
7. Emite-se um comprovante
3, se da o mesma
saldopara o usurio, contendo
disponvel os dados
na conta dodausurio
que oconta de origem e
for menor
destino, assim como a data e valor do DOC.
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 comunicao que impea a efetivao da transao, o sistema
emite uma mensagem para o cliente e aborta a transao.
Em qualquer momento o usurio pode cancelar a operao.
Qualiti Software Processes
Anlise e Projeto OO com UML e Padres| 32
Passo 2. Identificar persistncia
Identificar que classes de anlise devero ser persistentes
Criar, para cada classe persistente, uma classe de cadastro
com esteretipo

Copyright 2002 Qualiti. Todos os direitos reservados.


<<entity collection>>

Qualiti Software Processes


Analisar caso de uso | 33
QIB Efetuar Login
Classes persistentes

Copyright 2002 Qualiti. Todos os direitos reservados.


<<entity>> <<entity>>
Usuario Conta

<<entity collection>> <<entity collection>>


CadastroUsuarios CadastroContas

Qualiti Software Processes


Analisar caso de uso | 34
QIB Efetuar Pagamento do
Qualiti Card
Classes persistentes

Copyright 2002 Qualiti. Todos os direitos reservados.


<<entity>> <<entity>> <<entity>>
PagamentoCartao Conta Cliente

<<entity collection>> <<entity collection>> <<entity collection>>


CadastroPagamentosCartao CadastroContas CadastroClientes

Qualiti Software Processes


Analisar caso de uso | 35
Exerccio Qualiti Internet
Banking
Dado
- Artefatos de requisitos do caso de uso realizar
doc

Copyright 2002 Qualiti. Todos os direitos reservados.


- Classes de entidade
Produzir
- Identificao das classes que devero ser
persistentes

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 36
Contexto

Encontradas as classes de anlise e identificadas as classes


persistentes, vamos agora descrever o seu comportamento.

Copyright 2002 Qualiti. Todos os direitos reservados.


Lembrando que estas atividades so realizadas para cada caso
de uso

Qualiti Software Processes


Analisar caso de uso | 37
Passo 3. Distribuir comportamento entre as
classes
Para cada fluxo de eventos
- alocar responsabilidades do caso de uso s
classes de anlise

Copyright 2002 Qualiti. Todos os direitos reservados.


- modelar interaes entre as classes atravs dos
diagramas de interao

Qualiti Software Processes


Analisar caso de uso | 38
Distribuindo comportamento
entre as classes

Copyright 2002 Qualiti. Todos os direitos reservados.


Classes de Diagrama de Diagrama de
Anlise Seqncia Colaborao

Caso de Uso
Classes de Anlise
(com responsabilidades)

Qualiti Software Processes


Analisar caso de uso | 39
Alocando responsabilidades
Use esteretipos de anlise como guia
- Classes de fronteira

Copyright 2002 Qualiti. Todos os direitos reservados.


comportamento que envolve comunicao com um ator
- Classes de entidade
comportamento que envolve informao encapsulada na
abstrao
- Classes de controle
comportamento especfico ao caso de uso (lgica de
controle do caso de uso)

Qualiti Software Processes


Analisar caso de uso | 40
Alocando responsabilidades
Identificar que classe tem a informao necessria para
realizar a responsabilidade
- isso pode envolver apenas uma classe, pode ser

Copyright 2002 Qualiti. Todos os direitos reservados.


preciso criar nova classe ou relacionamento entre
classes

Qualiti Software Processes


Analisar caso de uso | 41
Modelando interaes
Diagramas de interao (colaborao e seqncia) modelam
interaes do sistema com seus atores
A interao iniciada por um ator e envolve instncias

Copyright 2002 Qualiti. Todos os direitos reservados.


(objetos) das classes
Diagramas de interao capturam a semntica do fluxo de
eventos do caso de uso
- Auxiliam a identificar classes, responsabilidades
e relacionamentos

Qualiti Software Processes


Analisar caso de uso | 42
Forma Geral dos Diagramas de
Seqncia
Objeto cliente Objeto fornecedor

Copyright 2002 Qualiti. Todos os direitos reservados.


:Cliente :Fornecedor

Mensagem reflexiva

1: Realize responsabilidade

1.1: Realize outra responsabilidade

Mensagem

Numerao hierrquica para


as mensagens

Foco de controle

Qualiti Software Processes


Analisar caso de uso | 43
QIB Efetuar Login

: TelaLogin : ControladorLogin : CadastroContas


: ClienteAtor

Copyright 2002 Qualiti. Todos os direitos reservados.


efetuarLogin(login, senha)

efetuarLogin(login, senha)
existeConta(login, senha)

registraSessao(login)

Qualiti Software Processes


Analisar caso de uso | 44
Forma Geral de Diagramas de
Colaborao
Objeto cliente
Mensagem reflexiva

Copyright 2002 Qualiti. Todos os direitos reservados.


Link

1.1: Realize outra


:Cliente
responsabilidade

:Fornecedor
1: Realize responsabilidade

Mensagem
Objeto fornecedor

Qualiti Software Processes


Analisar caso de uso | 45
QIB - Efetuar Login

4: registraSessao(login)

Copyright 2002 Qualiti. Todos os direitos reservados.


1: efetuarLogin(login, senha)
:
TelaLogin

: ClienteAtor

2: efetuarLogin(login, senha)

3: existeConta(login, senha)
: ControladorLogin : CadastroContas

Qualiti Software Processes


Analisar caso de uso | 46
QIB Efetuar Pagamento do
Qualiti Card
Exerccio: diagramas de seqncia e
colaborao do caso de uso Efetuar

Copyright 2002 Qualiti. Todos os direitos reservados.


Pagamento do Qualiti Card

Qualiti Software Processes


Analisar caso de uso | 47
Quantos diagramas de interao
fazer?
Quantos forem necessrios para modelar o comportamento do
caso de uso!

Copyright 2002 Qualiti. Todos os direitos reservados.


Pelo menos o fluxo principal deveria ser modelado
No necessrio modelar todos os fluxos
- Os fluxos secundrios geralmente no
acrescentam muito modelagem do principal

O importante exemplificar o uso de todas as


responsabilidades

Qualiti Software Processes


Analisar caso de uso | 48
Que diagramas de interao
fazer?
Diagramas de colaborao x diagramas de seqncia

Colaborao

Copyright 2002 Qualiti. Todos os direitos reservados.


- Melhores para visualizar os relacionamentos e
responsabilidades de um dado objeto
- Mais fceis de desenhar - teis em sesses de brainstorm

Seqncia
- Melhores para visualizar a seqncia do fluxo no tempo
Use o que gostar mais!!
- Melhores para visualizar o fluxo completo
- Mais adequados para cenrios complexos

Qualiti Software Processes


Analisar caso de uso | 49
Contexto
Para cada caso de uso
encontramos as classes de anlise

Copyright 2002 Qualiti. Todos os direitos reservados.


identificamos classes persistentes
descrevemos o seu comportamento atravs de
diagramas de interao

Agora, para cada classe


vamos descrever suas responsabilidades

Qualiti Software Processes


Analisar caso de uso | 50
Passo 4. Descrever
Responsabilidades
Responsabilidades identificadas nos fluxos de eventos so
refletidas em diagramas de interao
Mensagens nestes diagramas resultam em responsabilidades

Copyright 2002 Qualiti. Todos os direitos reservados.


nas classes receptoras

diagrama de
interao :Cliente :Fornecedor

// Realizar responsabilidade

diagrama de
Fornecedor
classes

// Realizar responsabilidade

Qualiti Software Processes


Analisar caso de uso | 51
QIB Efetuar Login
Classes com responsabilidades

Copyright 2002 Qualiti. Todos os direitos reservados.


<<entity collection>> <<boundary>>
CadastroContas TelaLogin

existeConta() efetuarLogin()

<<entity >> <<control>>


Conta ControladorLogin

efetuarLogin()

Qualiti Software Processes


Analisar caso de uso | 52
QIB Efetuar Pagamento do
Qualiti Card
Classes com responsabilidades
<<control>> <<entity>> <<entity collection>>

Copyright 2002 Qualiti. Todos os direitos reservados.


ControladorPagamentoQualitiCard Comprovante CadastroPagamentos
Cartao
efetuarPagamentoQualitiCard()
inserir()

<<boundary>> <<entity>>
Conta <<entity collection>>
TelaPagamentoQualitiCard
CadastroContas

efetuarPagamentoQualitiCard() getSaldo()
consultarConta()
debitar()
atualizar()
<<boundary>>
ComunicacaoOperadoraCartao <<entity>>
PagamentoCartao
enviar()

Qualiti Software Processes


Analisar caso de uso | 53
Analisando o Modelo
Classes com responsabilidades similares so
candidatas a serem combinadas

Copyright 2002 Qualiti. Todos os direitos reservados.


Uma classe com responsabilidades disjuntas
candidata a ser dividida
Classes sem (ou com apenas uma responsabilidade)
e classes que interagem com muitas classes so
candidatas a serem reexaminadas

Isso poder resultar em uma alterao


dos diagramas de interao

Qualiti Software Processes


Analisar caso de uso | 54
Exerccio Qualiti Internet
Banking
Dado:
- Artefatos de requisitos do QIB, especialmente o
fluxo de eventos do caso de uso Realizar DOC

Copyright 2002 Qualiti. Todos os direitos reservados.


- As classes de anlise identificadas no exerccio
anterior
Produzir:
- Diagrama de interao para o caso de uso
- VOPC* com responsabilidades

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 55
Passo 5. Descrever atributos e
associaes
Detalhando mais as classes
- definir atributos
- estabelecer associaes necessrias entre as

Copyright 2002 Qualiti. Todos os direitos reservados.


classes

Qualiti Software Processes


Analisar caso de uso | 56
Encontrando Atributos
Possveis fontes: conhecimento do negcio,
requisitos, glossrio, modelo do negcio, etc.

Copyright 2002 Qualiti. Todos os direitos reservados.


So propriedades/caractersticas das classes
identificadas
- informao cujo valor o aspecto crucial
- informao de propriedade exclusiva do objeto
- informao que pode ser lida ou escrita por operaes, mas
sem outro comportamento a no ser fornecer um valor
Se a informao tem comportamento complexo ou
compartilhada, deve gerar uma classe

Qualiti Software Processes


Analisar caso de uso | 57
Encontrando Relacionamentos
Links entre objetos em diagramas de colaborao indicam a
necessidade de relacionamento entre as respectivas classes
Links reflexivos s geram relacionamentos reflexivos quando

Copyright 2002 Qualiti. Todos os direitos reservados.


dois objetos da classe precisam se comunicar (mas no quando
um objeto envia mensagens para si prprio)
A navegabilidade do relacionamento deve estar de acordo com
a direo da mensagem
Inclua tambm o papel (role) e a multiplicidade dos
relacionamentos

Qualiti Software Processes


Analisar caso de uso | 58
Encontrando Relacionamentos
1: Realizar responsabilidade

Diagrama de
Colaborao :Cliente :Fornecedor

Copyright 2002 Qualiti. Todos os direitos reservados.


Link
Cliente Fornecedor

Cliente Fornecedor
Diagrama
de classe
Realizar responsabilidade

Associao Fonte: Rational

Um relacionamento para cada link


Qualiti Software Processes
Analisar caso de uso | 59
QIB Efetuar Login
Diagrama de classes com relacionamentos e atributos
<<boundary>>
TelaLogin

Copyright 2002 Qualiti. Todos os direitos reservados.


efetuarLogin()

0..n

<<control>>
ControladorLogin

efetuarLogin()

1
<<entity>>
<<entity collection>>
Conta
CadastroContas
login
0..n senha
existeConta()

Qualiti Software Processes


Analisar caso de uso | 60
QIB Efetuar Pagamento do Qualiti Card
Diagrama de classes com relacionamentos e atributos
<<boundary>>
TelaPagamentoQualitiCard

Copyright 2002 Qualiti. Todos os direitos reservados.


efetuarPagamentoQualitiCard()

0..n <<entity>>
Comprovante
1 pagamentoCartao
<<entity collection>> <<control>>
CadastroContas ControladorPagamentoQualitiCard

consultarConta() 1 1 efetuarPagamentoQualitiCard()
<<boundary>>
atualizar() verificarSaldo() 1 ComunicacaoOperadoraCartao
1 1
enviar()

0..n 1 <<entity>>
<<entity>> PagamentoCartao
Conta <<entity collection>>
CadastroPagamentos numeroFatura
numero 0..n data
Cartao
saldo hora
valor
getSaldo() inserir()
contaBancaria
debitar()

Qualiti Software Processes


Analisar caso de uso | 61
Exerccio Qualiti Internet
Banking
Dado:
- Classes de anlise do caso de uso Realizar DOC
com esteretipos e responsabilidades

Copyright 2002 Qualiti. Todos os direitos reservados.


- Diagramas de interao do caso de uso
- VOPCs desenvolvidos no exerccio anterior
Produzir:
- VOPCs com relacionamentos e atributos. Incluir
multiplicidade e navegabilidade dos
relacionamentos

Qualiti Software Processes


Anlise e Projeto OO com UML e Padres| 62
Passo 6. Revisar Resultados
Verificar se as classes de anlise satisfazem os requisitos
funcionais
Unificar as classes de anlise

Copyright 2002 Qualiti. Todos os direitos reservados.


Verificar se todo o modelo est consistente entre si e com os
requisitos

Qualiti Software Processes


Analisar caso de uso | 63
Revisando: Passos realizados nesta
atividade
Para cada caso de uso:
1. Encontrar classes de anlise
2. Identificar persistncia

Copyright 2002 Qualiti. Todos os direitos reservados.


Para cada classe:
3. Distribuir comportamento entre as classes
4. Descrever responsabilidades
5. Descrever atributos e associaes

6. Revisar os Resultados

Qualiti Software Processes


Analisar caso de uso | 64
Analisar Caso de Uso

Você também pode gostar