Diagrama de Casos de Uso
Requisitos
- O sistema para ser bem projetado depende fortemente dos requisitos definidos.
- Requisitos (IEEE):
- Capacidade que um usuário necessita para resolver um problema ou atingir um objetivo
- Capacidade que deve ser atendida ou possuída por um sistema ou componente de um sistema para satisfazer um contrato, padrão, especificação ou outro documento formalmente imposto
- Conjunto de todos os requisitos que formam a base para o desenvolvimento subseqüente de um software ou componentes dele;4. Nome curto utilizado para especificação de requisitos de software
- Requisitos expressam comportamentos e propriedades que o sistema deve apresentar
- Devem se compreendidos pela equipe de desenvolvimento e validados pela parte interessada e pela comunidade de usuários
- Deve ser capaz de ser verificado pela equipe de teste através de casos de teste
- Categorias:
- Requisitos Funcionais: descrevem uma ação que o sistema deve executar, normalmente em resposta a uma entrada de dados externa
- Requisitos Não-Funcionais: envolvem restrições usabilidade, segurança, desempenho, robustez, confiabilidade, hardware e implantação do sistema.
SRS – Software Requirements Specification
- Características de um bom documento de especificação de requisitos:
- Correto
- Não-ambíguo
- Completo
- Consistente
- Priorizado
- Verificável
- Modificável
- Rastreável
Diagrama de Casos de USo
Ator
- Um ator representa uma entidade (um humano, um dispositivo de hardware ou mesmo outro sistema) que interage com um sistema
- Por interação entende-se a troca de mensagens entre um ator e o sistema
- Atores estão fora do sistema, isto é, não são entidades componentes do sistema
- Atores podem ser conectados aos casos de uso somente por associações
- Uma associação entre um caso de uso e um ator significa um canal de comunicação entre ambos, onde cada um pode enviar ou receber mensagens, estabelecendo uma interação
- O seguinte questionário pode ser usado para identificar os atores do sistema:
- Quem usará as funções principais do sistema?
- Quem precisará do sistema para executar suas tarefas diárias?
- Quem manterá e administrará o sistema?
- Quais os equipamentos que o sistema controlará?
- Com quais outros sistemas o sistema precisará interagir?
- Quem tem interesse nos resultados que o sistema produz?
Representação

Generalização de atores
- Generalização: Relacionamento entre um ator “pai” e um ator “filho”, indicando que o primeiro representa um conceito mais geral que o segundo.

- Atores em um sistema

- Caso de Uso
- Descreve uma seqüência de ações - incluindo suas variantes - que o sistema deve executar com o objetivo de produzir como resultado algo de valor para o atendimento das necessidades de um ator
- Um caso de uso:
- Deve ser iniciado por um ator, embora haja exceções
- Descreve uma funcionalidade completa do sistema conforme percebida por um ator
- Gera como resultado algo de valor tangível para um ator (usuário)
- Expressam os requisitos do sistema
- Nome:
- Um caso de uso deve ter como nome uma frase representando uma ação (comportamento) significativa para o vocabulário do sistema em processo de modelagem
- Representação:

Especificando casos de uso
- Nomeando casos de uso:
- Enfatize que um caso de uso é um processo: nomeie-o iniciando por um verbo.
- Descrição:
- A especificação de um caso de uso pode ser feita através da descrição de seqüências de eventos em formato de texto
- Descreve como o ator e o caso de uso interagem
- Concentra-se no comportamento externo do sistema, ignorando os procedimentos a serem executados internamente pelo mesmo através de sua implementação.
- Deve ser considerado:
- como e quando o caso de uso inicia e termina
- quando o caso de uso interage com um ator envolvido
- a seqüência padrão
- as seqüências alternativas ou de exceção.
- A especificação inclui:
Identificação do Caso de Uso Nome do Caso de Uso Ator: ator que interage com o caso de uso Pré-condições: o estado do sistema para que o caso de uso possa iniciar Pós-condições: o estado do sistema após a execução do caso de uso
Seqüência de Eventos
Requisitos Não-Funcionais
Seqüência de Eventos Seqüência Típica de Eventos
Ação do Ator Resposta do Sistema Ações numeradas de ator Descrição numerada das respostas do sistema
Seqüências Alternativas Alternativas que podem surgir por número de linha: descrição de exceções.
- Exemplo:

Exemplo:
Identificação do Caso de Uso: UC1 Nome do Caso de Uso: Sacar dinheiro no caixa eletrônico Ator: Cliente Pré-condições: Cliente possui cartão do banco e senha e possui saldo Pós-condições: Lançada a transação na conta do Cliente, atualizado o saldo da conta corrente e liberado o dinheiro
Seqüência de Eventos
| Ação do Ator | Resposta do Sistema |
|---|---|
| 1. Este caso de uso começa quado o cliente realiza a leitura do cartão do banco no Caixa Eletrônico | |
| 2. O Cliente informa sua senha | 3. O sistema valida a conta corrente e a senha do cliente, autorizando a operação |
| 4. O Cliente informa o valor do saque | 5. O sistema autoriza o saque e lança o débito na conta corrente do Cliente |
| 6. O sistema libera o dinheiro | . |
Seqüências Alternativas 3a. Cliente Inválido: 1. O sistema não reconhece a conta corrente e senha do Cliente como válida 2. A operação é cancelada
5a: Fundos Insuficientes: 1. O sistema não autoriza o valor solicitado para saque pelo Cliente 2. A operação é cancelada
Requisitos Não-Funcionais Resposta do sistema deve ocorrer em no máximo 30 seg em 90 % dos casos.
- Descobrindo atores e casos de uso
- Lista Ator-Objetivos
Ator Objetivos
Cliente Retirar dinheiro de sua conta-corrente
Consultar conta-corrente
Depositar dinheiro
Transferir dinheiro
Imprimir folha de cheque
Pagar conta
Desbloquear cartão
Caixa Processar depósito de uma conta-corrente
Processar pagamento de contas
Processar retirada de talões de cheque
Retirar dinheiro para um cliente de sua conta-corrente
Sustar cheque
Atualizar dados do cliente
Generalização expressa com modificações

Identificação do Caso de Uso: UC5 Nome do Caso de Uso: Receber pagamento Ator: Caixa Pré-condições: O Caixa é identificado e autenticado Pós-condições:O pagamento recebido é registrado no sistema associado ao Caixa Seqüência de Eventos
| Ação do Ator | Resposta do Sistema |
|---|---|
| 1. Este caso começa quando o Caixa registra o documento de cobrança a ser pago | 2. O sistema valida a aceitação do documento de cobrança a ser pago |
| 3. O Caixa informa a opção desejada | . |
| 4.1. Se pagamento em dinheiro, ver Subseção: Receber pagamento em dinheiro | . |
| 4.2. Se pagamento em cheque, ver Subseção: Receber pagamento em cheque | 5. O sistema registra o pagamento |
| . | 6. O sistema imprime o comprovante |
| Subseção: Receber pagamento em cheque | |
|---|---|
| Ação do Ator | Resposta do Sistema |
| 1. O Caixa recebe o cheque, verifica assinatura e o registra no sistema | 2. O sistema valida os dados do cheque |
| . | 3. O sistema mostra a mensagem: "Transação efetuada" |
| Subseção: Receber pagamento em dinheiro | |
|---|---|
| Ação do Ator | Resposta do Sistema |
| 1. 1. O Caixa registra o valor em dinheiro recebido | 2. Sistema informa troco a ser repassado ao cliente |
| . | 3. O sistema mostra a mensagem: "Transação efetuada" |