DISCIPLINA: ANÁLISE E PROJETO DE SOFTWARE TEMA 2: Casos de Uso REFORÇANDO A APRENDIZAGEM PONTOS PRINCIPAIS Diagrama de Casos de Uso Modelagem de Casos de Uso • O modelo de casos de uso é uma representação das funcionalidades externamente observáveis do sistema e dos elementos externos ao sistema que interagem com o mesmo. • O modelo de casos de uso modela os requisitos funcionais do sistema. Modelagem de Casos de Uso • Direciona diversas das tarefas posteriores do ciclo de vida do sistema de software (desenvolvimento, testes, produção de manuais). • Força os desenvolvedores a moldar o sistema de acordo com o usuário. Modelagem 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 Caso de Uso Um caso de uso representa quem faz o que (interage) com o sistema, sem considerar o comportamento interno do sistema. Cliente Realizar Saque Saque Modelagem de Casos de Uso • Atores e casos de uso são identificados a partir de informações coletadas na fase de levantamento de requisitos do sistema. – Durante esta fase, os analistas devem identificar as atividades do negócio relevantes ao sistema a ser construído. • Não há uma regra geral que indique quantos casos de uso são necessários para descrever completamente um sistema. – A quantidade de casos de uso a ser utilizada depende completamente da complexidade do 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. Diagrama de Casos de Uso - Nome • Único • Sugestão – verbo + substantivo • Exemplos: – Validar Usuário – Realizar Saque – Emitir Relatório Realizar Saque Emitir Relatório Diagrama de Casos de Uso: Ator • Papéis que uma entidade (homem, hardware, sistema) desempenha no sistema. • Não são parte do sistema. • Comandam os casos de uso: – Procure pelos atores e depois pelos seus casos de uso. • Não precisam ser humanos. • Representação: Stickman Instituição Financeira Cliente Diagrama de Casos de Uso: Ator 11 • pessoas (Empregado, Cliente, Gerente, Almoxarife, Vendedor, etc); • organizações (Empresa Fornecedora, Agência de Impostos, Administradora de Cartões, etc); • outros sistemas (Sistema de Cobrança, Sistema de Estoque de Produtos, etc). • equipamentos (Leitora de Código de Barras, Sensor, etc.) Diagrama de Casos de Uso: Notação 1212 Diagrama de Casos de Uso: Notação 13 Reservar Livro Usuário Ator Caso de uso Relacionamento de comunicação Diagrama de Casos de Uso: Notação 14 Diagrama de Casos de Uso: Cenários 15 • Narração de uma sequência específica de ações que ilustra um comportamento. • Um cenário é um caminho entre os fluxos de um caso de uso. • Fluxos de um Caso de uso: – Fluxo principal – Fluxos Alternativos (caminhos alternativos/opcionais dentro de um mesmo caso de uso) – Fluxos de Exceção (caminhos que representam exceções ao fluxo principal ou fluxo alternativo. Uma violação de regra de negocio, por exemplo. Diagrama de Casos de Uso: Cenários 16 • No desenvolvimento de um sistema, o analista deve começar sua investigação pelos cenários primários; – Cenários secundários são progressivamente agregados; – Cenários secundários relevantes devem ser estudados para evitar futuras alterações significativas nas principais classes. Diagrama de Casos de Uso: Cenários 17 • Sequência de ações / fluxo de eventos: – Textual – Fluxo Principal de eventos (Cenário básico) • Possui somente uma sucessão lógica • Todas as ações são bem sucedidas (Sem erros) • “O caso de uso começa quando o sistema solicita ao cliente uma identificação…” – Fluxo excepcional de eventos • Descrevem comportamentos excepcionais • “Se o cliente fornecer uma identificação inválida…” Diagrama de Casos de Uso: Cenários 18 • Descrição Textual: Realizar Saque (fluxo principal) “Este caso de uso inicia quanto o Cliente chega ao caixa eletrônico e insere seu cartão. O Sistema requisita a senha do Cliente. Após o Cliente fornecer sua senha e esta ser validada, o Sistema exibe as opções de operações possíveis. O Cliente opta por realizar um saque. Então o Sistema requisita o total a ser sacado. O Cliente fornece o valor da quantidade que deseja sacar. O Sistema fornece a quantia desejada e imprime o recibo para o Cliente. O Cliente retira a quantia e o recibo, e o caso de uso termina.” Diagrama de Casos de Uso: Cenários 19 • Descrição Numerada: Realizar Saque (fluxo principal) 1. O usuário introduz o cartão no caixa eletrônico; 2. O caixa eletrônico propõe as operações disponíveis; 3. O usuário escolhe a opção “saque”; 4. O usuário escolhe a conta (ex: conta corrente ou poupança); 5. O usuário entra o valor do saque; 6. O usuário entra com a sua senha; 7. O caixa eletrônico verifica a senha com o banco; 8. O caixa eletrônico verifica o saldo da conta; 9. O caixa eletrônico dá o dinheiro para o usuário; 10. O caixa eletrônico emite um recibo; Diagrama de Casos de Uso: Cenários 20 Cliente Sistema Insere seu cartão no caixa eletrônico. Digita senha. Solicita realização de saque. Fornece o valor da quantia que deseja sacar. Retira a quantia e o recibo. Apresenta solicitação de senha. Valida senha e exibe menu de operações disponíveis. Requisita quantia a ser sacada. Fornece a quantia desejada e imprime o recibo para o Cliente • Descrição Tabular: Realizar Saque (fluxo principal) Especificação de Casos de Uso: Descrição padrão 21 Código Código do caso de uso na especificação (UC.00X) Nome do Caso de Uso Identificação do caso de uso (Verbo + Substantivo) 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 22 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 Casos de uso incluídos Lista dos nomes dos casos de usos incluídos Outros requisitos Listas de outros requisitos que afetam o caso de uso Especificação de Casos de Uso: Descrição padrão Diagrama de Casos de Uso: Relacionamentos 23 • 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 Diagrama de Casos de Uso: Relacionamentos 24 • 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. Diagrama de Casos de Uso: Relacionamentos 25 Diagrama de Casos de Uso: Relacionamentos 26 • 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