Escolar Documentos
Profissional Documentos
Cultura Documentos
UML2
UML2
Objetivo:
Navegabilidade para
ator Caso de uso Ambos os lados
Ator A
– Entre casos de uso.
● Inclusão <<include>> - instância outros casos de uso
para suas condições
● Extensão <<extend>> - acrescenta outros casos de uso
para suas condições
Incluir produto
No pedido
Fornecer dados
Do cliente Definir formas
De pagamentos
<<include>>
<<include>> <<include>>
1 * Colocar Pedido
Vendedor
Consultar
<<extend>> catálogos
O vendedor pede o catálogo
– Sistema.
● Limites do sistema: representado por um retângulo
envolvendo os casos de uso que compõem o sistema.
● Nome do sistema: Localizado dentro do retângulo.
– Multiplicidade.
● Indica quantos objetos estão relacionados ao link.
– Ex. 1...*, 1...1, *...*, etc
– Ator.
● Primário e secundário
Exemplo
Cenários
● Cenário principal, e
●
Cenários alternativos (e.g., situações de exceção).
Exemplo
A operação de um caixa eletrônico tem início a partir de uma sessão
em que o cliente seleciona a opção de realizar saque. O cliente então
escolhe uma quantia a ser retirada, a partir de um conjunto de opções
de quantia disponíveis. O sistema verifica se o caixa eletrônico tem
saldo e notas adequadas para compor o valor solicitado (Ex. R$ 50,00
não podem ser fornecidos se só houver três notas de R$ 20,00). Caso
tenha notas adequadas, os números da conta e da agência do cliente
são enviados ao banco para determinar se existe saldo suficiente na
conta do Cliente. Se não houver saldo, uma mensagem adequada é
reportada. Havendo saldo, o sistema inicia uma transação com o ator
banco e solicita a retirada da quantia desejada e o banco aprova ou
desaprova a transação. Se a transação é aprovada, a máquina libera
a quantia correspondente e emite um recibo. Se a transação é
desaprovada, uma mensagem adequada é reportada. O banco é
notificado, independentemente de uma transação aprovada ter sido
completada ou não pela máquina. Se a transação é completada, o
banco realiza o débito na conta do cliente .
●
Caso de Uso - Realizar Saque
●
Objetivo: Este caso de uso possibilita a um cliente realize um saque de um caixa eletrônico
●
Atores: Cliente, Banco
●
Pré-Condições: Cliente autenticado
●
Condição de Entrada: o ator Cliente seleciona a opção realizar saque
●
Fluxo Principal
1. O sistema pergunta ao Cliente a quantia a ser retirada.
2. O Cliente digita a quantia desejada.[A1]
3. O sistema verifica se a importância requisitada é maior do que a quantia disponível.
4. O saldo é suficiente no caixa [A2]
5. O sistema verifica se a importância desejada pode ser fornecida com as notas existentes no caixa
eletrônico.(R$ 50,00 não podem ser fornecidos se só houver três notas de R$ 20,00).
6. Valores disponíveis [A3]
7. O sistema contata o ator banco para determinar se existe saldo suficiente na conta do Cliente.
8. O banco informa que cliente tem saldo[A4]
9. O sistema inicia uma transação com o ator banco e solicita a retirada da quantia desejada.
10. O banco envia aprovação da transação.[A5]
11. O sistema libera a quantia desejada
12. O sistema emite um recibo para o Cliente
13. O sistema fecha a transação com o ator banco.
14. O sistema envia ao banco um log da transação.
15. O caso de uso se encerra.
● Fluxos Alternativos
A1 O cliente não digita a quantia desejada
– Após 20 seg encerra o caso de uso
A2 O caixa automático não tem disponibilidade de dinheiro para atender a
solicitação do ator cliente
1. O sistema reporta uma mensagem de “falta de recursos no caixa”
2. O caso de uso se encerra.
A3 O caixa automático não tem disponibilidade notas para compor o valor
solicitado pelo ator cliente
1. O sistema reporta uma mensagem de “não temos notas de R$X,00 disponíveis
para compor esse valor, tente outro valor”
2. O caso de uso retorna para o passo 1 do fluxo principal
A4. O Cliente não tem saldo suficiente
1. O sistema reporta uma mensagem seu saldo não é suficiente para esse saque
2. O caso de uso se encerra.
A5 O banco não aprova a transação devido à violação de alguma regra de
negócio (por exemplo: limite diário excedido)
1. O sistema reporta uma mensagem adequada
2. O caso de uso se encerra.
Diagrama de Classe
Objetivo:
● Perspectiva:
– Conceitual
● Define um relacionamento entre duas entidades conceituais do
sistema.
– Especificação
● Define responsabilidades entre duas classes. Implica que
existem métodos que tratam desta responsabilidade.
– Implementação
● Permite saber quem está apontando para quem, através da
Perspectiva:
– Seja B uma generalização (extensão) de A.
● Conceitual
● Considera que B é um subtipo ou um tipo especial de A. O que é válido para A,
também é válido para B.
● Especificação
● Ocorre uma herança de interface.
● Implementação
● Ocorre uma herança de implementação.
Representação gráfica
– Agregação com navegabilidade
● Composição (utilizado apenas na perspectiva de
implementação)
Definição
Em mais baixo nível, em termos de passagem por parâmetro,
seria uma passagem por valor. Enquanto que agregação seria
uma passagem por referência.
O todo contém as partes (e não referências para as partes).
Quando o todo desaparece, todas as partes também
desaparecem.
Representação Gráfica
● Implementação (utilizado apenas na perspectiva
de implementação)
Definição
Utilizado para indicar que uma classe implementa uma
interface
Representação Gráfica
Exemplo
Exemplos
Diagrama de interação:
sequência
● Diagramas de Interação são modelos que
descrevem como grupo de objetos colaboram
em um determinado comportamento.
● Um diagrama de interação captura o
comportamento entre objetos dentro um único
caso de uso.
● Consiste em um diagrama que tem o objetivo de mostrar como as
mensagens entre os objetos são trocadas no decorrer do tempo para a
realização de uma operação.
● Em um diagrama de sequência, os seguintes elementos podem ser
encontrados:
● Linhas verticais representando o tempo de vida de um objeto (lifeline);
● Estas linhas verticais são preenchidas por barras verticais que indicam
exatamente quando um objeto passou a existir. Quando um objeto
desaparece, existe um "X" na parte inferior da barra;
● Linhas horizontais ou diagonais representando mensagens trocadas entre
objetos. Estas linhas são acompanhadas de um rótulo que contém o nome
da mensagem e, opcionalmente, os parâmetros da mesma. Observe que
também podem existir mensagens enviadas para o mesmo objeto,
representando uma iteração;
● Uma condição é representada por uma mensagem cujo rótulo é envolvido
por colchetes;
● Mensagens de retorno são representadas por linhas horizontais tracejadas.
Este tipo de mensagem não é frequentemente representada nos diagramas,
muitas vezes porque sua utilização leva a um grande número de setas no
diagrama, atrapalhando o entendimento do mesmo. Este tipo de mensagem
só deve ser mostrada quando for fundamental para a clareza do diagrama.
Exemplo: Partindo do
diagrama de Casos de Uso
Exemplo: Partindo do
diagrama de Casos de Uso
Exercício