Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 1 Objetivos Descrever em detalhe a técnica de Modelagem de Requisitos com Casos de Uso Apresentar um modelo de documento de requisitos Discutir o uso do diagrama de atividades na modelagem de casos de uso CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 2 Conceitos Básicos CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 3 Principais Tipos de Requisitos Não-Funcionais Atributos ou qualidades do sistema.Exemplos: Usabilidade (Facilidade de uso) Confiabilidade Desempenho Segurança Distribuição Adequação a Padrões Restrições de Hardware e Software Funcionais Expressam funcionalidades do sistema CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 4 Caso de uso Uma unidade coerente de funcionalidade provida por um um sistema, manifestada por uma seqüência de mensagens trocadas entre o sistema e um ou mais usuários externos (representados como atores), junto com as ações executadas pelo sistema. Descrevem o que acontece dentro do sistema. Mostram apenas o que o sistema faz, e não como. Capturam o comportamento pretendido para um sistema, sem a necessidade de especificar como esse comportamento será implementado. CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 5 Caso de uso: representação gráfica Solicitar extrato CIn-UFPE Solicitar saldo ©2003, Alexandre Vasconcelos & Augusto Sampaio 6 Atores Constituem as entidades que interagem com o ambiente do sistema Pessoas ou outros sistemas (de hardware ou software) que interagem com o sistema em desenvolvimento Definem um papel particular (uma mesma entidade pode desempenhar diferentes papéis) São sempre externos ao sistema O sistema será descrito através de vários casos de uso que são executados por um número de atores CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 7 Ator: representação gráfica Cliente CIn-UFPE Caixa ©2003, Alexandre Vasconcelos & Augusto Sampaio 8 Diagrama de casos de uso: representação gráfica Sacar dinheiro Cliente Realizar depósito Transferir entre contas Uma associação entre um ator e um caso de uso indica que há uma comunicação, possivelmente com envio e recepção de mensagens. CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 9 Cenário Em UML significa um caminho através de um caso de uso. Uma instância de um caso de uso Exemplo (Sacar dinheiro): Saque com sucesso Tentativa de saque MAS senha incorreta Tentativa de saque MAS saldo insuficiente CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 10 Cenário: Fluxo de eventos básico/principal Série de passos que compõem um caso de uso Concentre-se inicialmente na funcionalidade básica/central do caso de uso Pense nos fluxos secundários depois! CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 11 Exemplo de um fluxo básico Caso de uso “Sacar dinheiro” 1. O cliente passa o seu cartão 2. Digita sua senha 3. Digita o valor do saque 4. O sistema verifica se há saldo suficiente 5. O saldo é debitado da conta do cliente 6. O dinheiro é entregue ao cliente CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 12 Cenário: Fluxos secundários Caso de uso “Sacar dinheiro” MAS... E se a senha não conferir? E se não houver saldo? E se não houver dinheiro suficiente na máquina? CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 13 Requisitos Não-Funcionais x Casos de Uso Requisitos não funcionais podem ser: Específicos: associados a um caso de uso específico Genéricos: associados a vários casos de uso ou ao sistema com um todo Para serem atendidos podem gerar novos casos de uso CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 14 Especificação de Caso de Uso Identificador do caso de uso Breve Descrição Ator (opcional) Prioridade (ex: Essencial, Importante, Desejável) Pré condições Pós condições Fluxo de eventos: Fluxo de eventos principal Fluxos secundários: alternativos e de exceção Requisitos Não-Funcionais Específicos CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 15 Pacotes de Casos de Uso Servem para agrupar casos de uso relacionados Critérios para agrupamento: ator funcionalidades correlatas processos “um por todos e todos por um” CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 16 Um Modelo de Documento de Requisitos Introdução Objetivos do documento Público ao qual se destina Termos e acrônimos Referências Descrição geral do sistema Abrangência e sistemas relacionados Descrição dos usuários Casos de uso Diagrama Especificações Requisitos não funcionais genéricos CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 17 Como encontrar atores e casos de uso? CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 18 Como encontrar atores? Quem usa o sistema? Quem instala/mantém o sistema? Quem inicia/desliga o sistema? Que outros sistemas usam o sistema? Quem recebe informação do sistema? Quem provê informação ao sistema? CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 19 Como encontrar casos de uso? Que funções o ator vai querer do sistema? O sistema armazena informações? Que informações atores irão criar, ler, atualizar ou apagar? O sistema precisa notificar o ator sobre mudanças no seu estado interno? Existe algum evento externo que o sistema precisa saber? Que ator informa o sistema desses eventos? CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 20 Especificação Detalhada dos Casos de Uso CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 21 Quando e por que realizá-las? Quando? após fazer levantamento dos principais casos de uso do sistema Por que? descrever detalhes dos casos de uso descrever fluxos de eventos e outras propriedades uniformizar entendimento entre clientes, usuários e equipe de desenvolvimento CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 22 Uso do diagrama de atividades na especificação dos fluxos de eventos CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 23 Diagrama de atividades Usados para representar graficamente o fluxo de eventos (fluxo básico + fluxos alternativos) São muito usados para modelar atividades concorrentes. Às vezes um diagrama fala mais que 1000 palavras! CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 24 Exemplo: diagrama de atividades para o caso de uso Sacar dinheiro atividade Estado inicial decisão Verifica senha condição de guarda [ incorreta ] Manipula senha incorreta [ correta ] [ resolvido ] Pede valor concorrência [ não resolvido ] [ dinheiro não disponível ] [ dinheiro disponível ] Libera dinheiro sincronização de atividades Prepara para Imprimir recibo transição Termina transação e Imprime recibo Estado final CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 25 Estruturação do Modelo de Casos de Uso CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 26 Generalização de Atores É possível definir tipos gerais de atores e especializálos usando o relacionamento de especialização Vendedor Supervisor CIn-UFPE Realizar venda Estabelecer crédito ©2003, Alexandre Vasconcelos & Augusto Sampaio 27 Relacionamentos entre Casos de Uso Inclusão Extensão Generalização CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 28 Inclusão de casos de uso Use inclusão quando houver repetição entre casos de uso e você desejar evitar esta repetição. Um caso de uso incorpora explicitamente o comportamento de outro caso de uso, evitando assim repetições de descrição de fluxos. CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 29 Inclusão de casos de uso: exemplo Validar cliente <<includes>> Sacar Cliente CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 30 Exemplo de inclusão: validação de cliente no sistema Use Case: Sacar O cliente seleciona a opção “sacar” O cliente informa o valor a ser sacado includes Validar cliente O cliente recebe o dinheiro Use Case de Inclusão: Validar Cliente O cliente informa a senha e passa o cartão O sistema valida a senha e os dados do cartão CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 31 Extensão de casos de uso Use extensão quando quiser descrever uma variação do comportamento normal. partes opcionais de use cases cursos alternativos e complexos que raramente ocorrem Realizar pedido <<extends>> Vendedor Solicitar catálogo CIn-UFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio 32 Generalização de casos de uso Relaciona um Use Case especializado a um mais geral O filho herda os atributos, operações e seqüências de comportamento dos pais Validar cliente Verificar password CIn-UFPE Scan da retina ©2003, Alexandre Vasconcelos & Augusto Sampaio 33