Diagrama de Casos de Uso



Requisitos



  • Qual a principal medida de sucesso de um projeto de software?



  • “The primary measure of success of a software system is the degree to which it meets the purpose for which it was intended.”
  • Bashar Nuseibeh, Steve Easterbrook



  • Requisitos (IEEE):
  1. Capacidade que um usuário necessita para resolver um problema ou atingir um objetivo
  2. 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
  3. 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:
  1. Quem usará as funções principais do sistema?
  2. Quem precisará do sistema para executar suas tarefas diárias?
  3. Quem manterá e administrará o sistema?
  4. Quais os equipamentos que o sistema controlará?
  5. Com quais outros sistemas o sistema precisará interagir?
  6. 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: nomeio-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 executadas 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 correnta 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
                        Que outros casos???
                        ???
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
                        Mais ???

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:
3.1. Se pagamento em dinheiro, 
     ver subseção Receber pagamento em dinheiro
3.2. Se pagamento em cheque, 
     ver subseção Receber pagamento em cheque
4. O sistema registra o pagamento
5. O sistema imprime o comprovante.
Subseção: Receber pagamento em cheque
1. O Caixa recebe o cheque, verifica assinatura 
   e o registra no sistema
2. O sistema valida os dados do cheque

Subseção: Receber pagamento em dinheiro
1. O Caixa registra o valor em dinheiro recebido
2. Sistema informa troco a ser repassado ao cliente


Inclusão



  • Dependência - Inclusão
  • Uma relação de inclusão de um caso de uso A com um caso de uso B indica que uma instância do caso de uso A deverá incluir o comportamento especificado para o caso de uso B





Caso de Uso de Inclusão



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 cadastrada
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 quando o
Cliente realiza a leitura do cartão do
banco no caixa eletrônico
2. O Cliente informa a sua senha. 3. Include Validar Conta.
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
5a: Fundos Insuficientes:
1. O sistema não autoriza o valor solicitado para saque pelo Cliente.
2. A operação é cancelada.



A Inclusão


Identificação do Caso de Uso: UC2
Nome do Caso de Uso: Validar conta
Ator:
Pré-condições:
Pós-condições:
Seqüência de Eventos
Ação do Ator                                Resposta do Sistema
1. O sistema valida a conta corrente e senha do
   cliente, autorizando a operação
Seqüências Alternativas
1a. Cliente Inválido:
1. O sistema não reconhece a conta corrente e senha
   do Cliente como válida.
2. A operação é cancelada.


Extensão



  • Dependência - Extensão


  • Uma relação de extensão de um caso de uso A com um caso de uso B indica que uma instância do caso de uso A poderá incluir - sujeito a satisfação da condição expressa em um fator de extensão - o comportamento especificado para o caso de uso B





Caso de Uso de Extensão


Identificação do Caso de Uso: UC1
Nome do Caso de Uso: Sacar dinheiro pelo Caixa
Ator: Caixa (iniciador) Cliente
Pré-condições: Cliente possui cartão do banco e senha cadastrada
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 quando o
   Cliente realiza a leitura do cartão do
   banco no caixa eletrônico
2. O Cliente informa a sua senha.         3. Include Validar Conta.
4. O Caixa informa o valor do saque       5. O sistema autoriza o saque e lança o
   Extend (quantia elevada) 
   Autorizar Saque débito na conta 
   corrente do Cliente
6. O caixa libera o dinheiro ao cliente.
Seqüências Alternativas
5a: Fundos Insuficientes:
1. O sistema não autoriza o valor 
   solicitado para saque pelo Cliente.
2. A operação é cancelada.



A extensão

Identificação do Caso de Uso: UC3
Nome do Caso de Uso: Autorizar Saque
Ator: Gerente
Pré-condições:
Pós-condições:
Seqüência de Eventos
Ação do Ator                              Resposta do Sistema
1. O Gerente consulta informações do      2. Apresenta informações completas sobre o cliente
   cliente
3. Gerente autoriza o saque
Seqüências Alternativas
3a: Saque não-autorizado
1. O Gerente não autoriza o saque no valor solicitado
2. A operação é cancelada.



Diagrama de Casos de Uso - Completo