Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise de Requisitos Use Case Renata Araujo Ricardo Storino Comportamento do Sistema É como o sistema age e reage, ou seja, a sua atividade externamente observável e que pode ser validada Modelo de Casos de Uso(Use Case) Descrição do sistema, do ambiente e do relacionamento entre o sistema e o ambiente 2 Modelo de Casos de Uso Cliente Atualizar fitas Imprimir catálogo Operador 3 Modelo de Casos de Uso 4 Modelo da funcionalidade do sistema e dos elementos que interagem com o mesmo(atores) Atores -> usuários ou outros sistemas Casos de Uso -> útil na comunicação para validação dos requisitos com usuário final. Elementos 5 Ator -> qualquer coisa que interage, ou seja, troca dados ou eventos com o sistema Casos de Uso -> sequência de transações realizadas pelo sistema que resulta em um resultado de interesse de um ator.(Requisitos Funcionais) Ator Podem ser: 6 Pessoas que executam as principais funções do sistema Pessoas que executam funções secundárias Hardware externo utilizado pelo sistema Outros sistemas Fornecedor e/ou receptor de informações Um ator representa um papél desempenhado por uma pessoa em um determinado caso de uso Glossário 7 Define os conceitos que serão utilizados nas descrições dos casos de uso Palavras chave do negócio - Jargões Hipertexto Casos de Uso 8 Definem a funcionalidade do sistema Um caso de uso é um curso completo de eventos iniciados por um ator, especificando a interação que ocorre entre ator(es) e sistema Todos os casos de uso de um sistema, especificam todas as maneiras de se utilizar este sistema. Exemplos Devolução de Itens Este caso de uso é iniciado pelo cliente quando ele deseja devolver latas, garrafas ou engradados. A cada item que o cliente coloca na máquina, o sistema incrementa o número de itens recebidos pelo cliente assim como o total diário de cada tipo particular. Quando o cliente terminar o processo de devolução, ele pressiona o botão de recibo para obter um recibo com a relação de todos os itens devolvidos com uma totalização ao final. Administração de Itens Este caso de uso é utilizado pelo operador para modificar informações no sistema. O valor de devolução, assim como o tamanho de cada item pode ser modificado, assim como novos tipos de itens podem ser adicionados. 9 Descobrindo Casos de Uso 10 Como cada ator interage com o sistema? Quais as tarefas principais que o ator necessita que o sistema realize? O ator irá criar, armazenar, modificar, remover ou ler informações do sistema? O ator irá informar ou será informado (eventos) sobre certas ocorrências no sistema? Modelo de Casos de Uso - Visão Geral 11 Título do sistema Introdução - descrição breve do propósito do sistema Lista de atores - nome, descrição, quais casos de uso aparece Modelo de Casos de Uso - Visão Geral 12 Casos de Uso - Sumário (id, nome, descrição breve) Ex: O caso de uso Administração de itens permite adicionar, remover, e modificar itens de depósito. O valor de devolução e o tamanho de cada item pode ser modificado. Glossário Cada caso de uso vira uma entrada na Matriz de Requisitos Modelo de Casos de Uso - Detalhamento 13 ID e Nome Curso básico ( Ação e Reação) Cursos alternativos (Sequências alternativas exceções - tratamento de situações de erro) ou Modelo de Casos de Uso - Detalhado 14 Pré-condições - Restrições que devem ser atendidas ao se iniciar um caso de uso Ex: O usuário deve estar logado no sistema Pós-condições - Resultado a ser atingido ao final do caso de uso Ex: A transação é completada ou em caso de erro, a transação não é realizada Modelo de Casos de Uso - Detalhado Formas de Detalhamento 15 ID e Nome do caso de uso Sumário Atores Pré-condições Descrição Detalhada Pós-condições Exceções/Cursos alternativos Interface Requisitos não funcionais Use Cases relacionados(uses e extends) Modelo de Casos de Uso - Detalhado 16 Descrição Detalhada - Tabela de Ação X Reação Ação Reação 1) usuário informa qual a medição desejada, os elementos da rede e os objetos de medição aos quais o pedido se refere. Opcionalmente um comentário pode ser incluído no pedido. 1) O sistema procura um nome único para o pedido, valores default para quando e quantas vezes a medição deve ser efetuada 2) Valores são editados pelo usuário. Usuário determina criação de pedido. 2) Novo pedido é criado e inicializado com os atributos definidos, o nome do criador, a data de criação e o status “Pendente”. A interface com o usuário é notificada que um novo pedido foi criado, exibindo-o na tela. Extends Um caso de uso A estende um caso de uso B Devolução de itens <<extends>> Item Engasgado 17 Extends 18 Caso de uso B possui um curso completo de transações, ou seja independe de possíveis casos de uso relacionados via “extends” Podemos ver uma associação “extends” como uma interrupção no caso de uso original (B), ponto a partir do qual o caso de uso (A) será inserido. O caso de uso B não sabe se uma interrupção irá ocorrer ou não Na descrição do caso de uso A, o ponto de interrupção no caso de uso original deve ser descrito da forma mais precisa possível. Extends Item Engasgado 19 Este caso de uso é inserido no caso de uso Devolução de itens quando o cliente retorna um item que fica engasgado na máquina. O operador é chamado e o cliente não pode devolver mais nenhum item até que o operador o informe que a máquina pode ser usada novamente. Extends Modelar comportamento opcional em um caso de uso. Descrevendo os fluxos opcionais em casos de uso diferentes, pode-se fazer uma separação clara entre comportamento mandatório e comportamentos opcionais. Modelar um fluxo raramente ocorre. Modelar exceções que tenham um fluxo de transações associados. Modelar a inserção de vários sub-fluxos em qualquer combinação em um fluxo de eventos. 20 complexo de transações que Extends Login / Logout <<extends>> <<extends>> <<extends>> Compilando 21 Editando Texto Mail Uses Um caso de uso A resulta da fatoração de sub-fluxos comuns em casos de uso B, C, ... Impressão <<uses>> Devolução de itens 22 <<uses>> Impressão de Relatório Diário Uses Extrair sub-fluxos comuns presentes em vários casos de uso Redundância 23 Uses X Extends Extends: adição de um fluxo a um caso de uso já completo Uses: compartilhar comportamento comum entre casos de uso existentes. 24 Uses Freguês X Extends Jantar <<extends>> <<extends>> <<extends>> Entrada 25 Sobremesa Luz de Velas Uses Freguês X Extends Jantar <<uses>> <<uses>> <<uses>> Entrada 26 Sobremesa Luz de Velas Uses Freguês X Extends Jantar <<uses>> <<uses>> <<uses>> Entrada 27 Sobremesa Luz de Velas