Escolar Documentos
Profissional Documentos
Cultura Documentos
(UniCarioca) Analise - e - Projeto - Aula3
(UniCarioca) Analise - e - Projeto - Aula3
2
Modelo de Casos de Uso
3
Modelo de Casos de Uso
• Características
– Função: Registrar o que o sistema faz. Conjunto de sequências de
ações, incluindo variantes, realizadas pelo sistema para produzir um
resultado observável por um ator.
– Refinamento de um requisito funcional do sistema em forma de
passos.
– Fácil de ler: Não exige nenhum conhecimento de informática
• Foco no problema e não na implementação!!!
– Ótimo para o cliente
• Facilitam a validação dos requisitos do sistema
Casos de uso
• Exemplos:
– Fazer uma reserva
– Imprimir relatórios
• Não há uma regra geral que indique quantos casos de uso são necessários para
descrever completamente um sistema.
• Cada caso de uso é definido através da descrição textual das interações que
ocorrem entre o(s) elemento(s) externo(s) e o sistema.
Casos de Uso
Saque
Realizar Saque
Cliente
Casos de Uso - Nome
• Único
Realizar Saque
• Sugestão
– verbo + substantivo
• Exemplos:
– Validar Usuário
Emitir Relatório
– Realizar Saque
– Emitir Relatório
Casos de Uso - Atores
Cliente
• Comandam os casos de uso:
– Procure pelos atores e depois pelos seus casos de uso.
11
Exemplo (Notação)
Ator
Caso de uso
Reservar Livro
Usuário
Relacionamento
de comunicação
12
Exemplo (Notação)
Sistema de Vendas de
Livros por Correio
Vendedor
Realizar Pedido
Cliente
Empresa Transportadora
13
Relacionamentos
• Casos de uso e atores não existem sozinhos. Pode
haver relacionamentos entre.
• A UML define diversos de relacionamentos no modelo
de casos de uso:
– Comunicação
– Inclusão
– Extensão
– Generalização
14
Casos de Uso - Atores
Realizar Saque
Cliente
Casos de Uso - Cenários
Cliente Sistema
Código
Código do caso de uso na especificação (UC.00X)
Objetivos
Descrição do caso de uso (um parágrafo)
Atores
Lista de todos os nomes dos atores e pequena descrição
Prioridade
Este caso de uso é muito importante para o projeto? (P1, P2, P3, etc)
Estado
Qual o estado desse caso de uso? Ainda muito abstrato? Bem especificado? Fechado?
Pré-condições
Lista de condições que devem ser verificadas antes de o caso de uso começar
Casos de Uso – Descrição Padrão
Fluxo de eventos
Fluxo principal
1 - Primeiro passo no caso de uso
2 - Segundo passo no caso de uso
3-…
Fluxos alternativos
Descrição dos fluxos alternativos (também em passos)
Fluxos de exceção
Descrição dos fluxos alternativos (também em passos)
Pós-Condições
Lista de condições que devem ser verificadas após o fim do caso de uso
Pontos de extensão
Listas dos pontos de extensão no caso de uso
Outros requisitos
Listas de outros requisitos que afetam o caso de uso
Casos de Uso – Nível de Detalhamento
• Granularidade variável
– Mais detalhada ou menos detalhada.
– Solução: “Manter”
Casos de Uso – Relacionamentos
• Inclusão:
– Quando dois ou mais casos de uso incluem uma sequência
de interações comum, esta sequência comum pode ser
descrita em um outro caso de uso.
– Uma instância do primeiro caso de uso também conterá o
comportamento especificado no segundo caso de uso.
– Útil para descrever o mesmo fluxo de eventos múltiplas vezes.
– Evita a operação de copiar-e-colar de partes das descrições do
caso de uso.
Casos de Uso – Relacionamentos
Casos de Uso – Relacionamentos
• Inclusão:
Caso de Uso: Registrar Pedido
Pré-condição: Funcionário estar logado no sistema
Eventos:
1. Obter e verificar número do pedido
2. Incluir pedido (Fornecer dados do cliente)
3. Para cada parte do pedido (Incluir produto no pedido)
4. Realizar pagamento (Definir forma de pagamento)
…
Casos de Uso – Relacionamentos
Obter Extrato
«inclui»
«inclui»
Fornecer
Realizar Saque
Identificação
«inclui»
Cliente
Realizar
Transferência
29
Casos de Uso – Relacionamentos
• Extensão:
– Utilizado para modelar situações onde diferentes sequências
de interações podem ser inseridas em um caso de uso.
– A instância de um caso de uso pode ser estendida (acrescentada)
pela instância do outro caso de uso.
– Permite a modelagem de parte de um caso de uso que um usuário
pode ver como opcional.
– Permite modelar subfluxos condicionais.
– Permite inserir subfluxos num certo ponto, controlado pela
interação de um ator.
Casos de Uso – Relacionamentos
• Extensão:
– Sejam A e B dois casos de uso.
– Um relacionamento de extensão de A para B indica que
um ou mais dos cenários de B podem incluir o
comportamento especificado por A.
– Neste caso, diz-se que B estende A.
– O caso de uso A é chamado de estendido e o caso de
uso B de extensor.
Casos de Uso – Relacionamentos
• Extensão:
Casos de Uso – Relacionamentos
Editar Documento
«estende»
Escritor
Corrigir Ortografia
Casos de Uso – Relacionamentos
• Generalização:
– Relacionamento no qual o reuso é mais evidente.
Realizar Pagamento
Cliente
36
Casos de Uso – Relacionamentos
Reservar Livro
Devolver Livro
Usuário
Solicitar Compra
de Título
Professor
38
Notação (resumo)
Casos de Uso – Erros comuns
• Legibilidade:
Negociante
<<include>>
Definir Valores
Avaliar
<<extend>>
<<include>>
Limite ultrapassado
Realizar Acordo
Vendedor
Analizar Riscos
Casos de Uso – Erros comuns
<<include>> <<include>>
Analizar Riscos
Negociante Avaliar
<<include>>
Definir Valores
Casos de Uso – Erros comuns
Analizar Riscos
Negociante Avaliar
<<include>>
Definir Valores
<<extend>>
Definir Valores
Negociante
Vendedor
Realizar Acordo
Inclusão X
Extensão X
Generalização X X
Casos de Uso – Exercício
– Enviar Mensagem
Casos de Uso – Exercício
4. O sistema exibe uma lista de contatos, que mostra também grupos de contato.
6. O sistema fecha a lista de contatos e exibe os que foram selecionados pelo usuário
mensagens.
3. O sistema exibe uma lista de contatos, que mostra também grupos de contato.
5. O sistema fecha a lista de contatos e exibe os que foram selecionados pelo usuário
mensagem.
Include!!!
Casos de Uso – Exercício
Recipiente)
mensagens.
Recipiente)
mensagem.
3. O sistema fecha a lista de contatos e exibe os que foram selecionados pelo usuário
mensagens.
mensagem.
Extend!!!
Casos de Uso – Exercício
mensagens.
mensagem.
mensagem.
O sistema verifica se a conta correspondente tem saldo suficiente para satisfazer a requisição. Senão,
uma mensagem adequada é reportada, o que acarreta na execução da extensão. Se há dinheiro
suficiente, os números da conta e da agência do cliente são enviados ao banco, que 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, a extensão Informar Falha é executada.
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”