APSOO Aula 03 Requisitos (Revisando) • Capacidade e Condições que o sistema deve atender, incondicionalmente • Além de identificar, gerenciar é um dos problemas • Tipos – Funcionais – Não Funcionais Requisitos (Revisando) • Mudanças são necessárias – Cliente não sabe o que quer – Não há integração da equipe (comunicação) – Mudança no domínio da aplicação Requisitos com casos de uso • Casos de uso (Use Case) – Facilitam o entendimento de um sistema mostrando a sua visão externa; – Elo de entendimento entre usuários e os desenvolvedores; – São usados para modelar o contexto de um sistema ou subsistema; – É a maneira mais comum de doUCmentar os requisitos do sistema; – Identificam as interfaces do sistema. Requisitos com casos de uso • Atores – Participam do sistema – Grupos de usuários, sistemas externos • Cenário – Um caminho possível dentro de um caso de uso – Cenário base + cenários alternativos Requisitos com Casos de uso • Nome do caso de uso – Objetivo que o ator vai ver oferecido e resolvido pelo sistema • Não definem apenas uma lista de funcionalidades • Modelagem é basicamente redigir textos. – UML oferece diagrama para facilitar a visualização Formato dos casos de uso • Casos de uso são caixas pretas – Descrevem o que, não como! Exemplos: 1. Sistema registra venda 2. Sistema grava no banco de dados e gera SQL INSERT Formatos de casos de uso • Tipos de formalidade (o que é útil) – Resumido - um parágrafo, geralmente o cenário de sucesso principal, como por exemplo: "Processar venda: Um cliente chega em um ponto de pagamento com itens que deseja adquirir. O caixa do sistema PDV (Sistema de Ponto-De-Venda, voltado para registrar vendas e UCidar de pagamentos) para registrar cada item comprado. O sistema vai apresentando um total parcial e uma linha de detalhes à medida que registra cada item. O cliente entra com os dados de pagamento, que são validados e, em seguida, registrado pelo sistema. O sistema atualiza o estoque. Cliente recebe um recibo do sistema e sai com os itens comprados". Formatos de casos de uso – Informal - Múltiplos parágrafos que cobrem vários cenários, como mostra o exemplo: – "Tratar Devoluções • Cenário Principal de Sucesso: um cliente chega a um poste de pagamento com itens a serem devolvidos. O caixa usa o sistema PDV para registrar cada item devolvido. • Cenários Alternativos: – Se ele pagou os itens com crédito e a transação de reembolso para estorno em sua conta de crédito é rejeitada, informe o cliente e o reembolso com dinheiro. – Se o identificador do item não for encontrado no sistema, este notifica o caixa e sugere que entre manualmente o código do produto (talvez ele esteja corrompido). – Se o sistema detecta uma falha para se comunicar com o sistema externo de contabilidade..." Formatos de casos de uso • Completo: É o mais elaborado, onde todos os passos e variantes são escritos detalhadamente, com précondições e garantias de sucessos. UC1: Processar Venda • Ator Principal: Caixa • Pré-condições: – Caixa é identificado e autenticado • Pós-condições: – – – – A venda é registrada Os impostos são calculados O estoque é atualizado Pagamentos efetuados e recibos gerados UC1: Processar Venda • Cenário base 1. 2. 3. Cliente chega no PDV com produtos Caixa começa uma nova venda Caixa entra em contato com o identificador da unidade do produto 4. Sistema checa unidade, registra item da venda, apresenta descrição, seu preço e total parcial da venda Caixa repete os passos 3 e 4 até o término dos itens 5. Sistema apresenta o total já com impostos calculados 6. Cliente paga e o sistema trata o pagamento 7. Sistema registra a venda finalizada, atualizando o sistema de estoque 8. Sistema emite recibo 9. Cliente sai com recibo e itens comprado UC1: Processar venda • Cenários alternativos 3-6a: cliente pede ao caixa para cancelar item de venda 1. Caixa entra com identificador do item 2. Sistema exibe total parcial atualizado 5a. Sistema detecta falha no serviço de cálculo do imposto 1. Sistema reinicia sistema externo e continua 1. Sistema detecta que o serviço não voltou 2. Caixa calcula manualmente imposto e adiciona ou cancela venda UC1: Processar venda • Requisitos especiais – Resposta de autorização do pagamento de no máximo 30s – Texto no PDV deve ser visível de 1 metro Encontrando casos de uso • Casos de uso devem ser definidos para realizar os objetivos dos atores • Passos – Identificar a fronteira do sistema – Identificar atores principais – Identificar objetivos, que vão gerar os casos de uso Identificar atores • Evitar criar um conjunto extenso de atores que utilizam o sistema de forma idêntica • Observar os dois tipos de atores possíveis – Os que solicitam/esperam algo do sistema – Sistemas externos que o sistema necessita Identificar Atores • Perguntas – Quem faz a administração de usuários? – Quem utiliza e recebe algo do sistema? – Quem ativa e pára o sistema? Identificar casos de uso • Pode-se fazer uma lista ator-objetivo • Perguntas – Que funções cada ator requer do sistema? – Que informações cada ator deseja criar, consultar, remover ou alterar no sistema? • Nomes mais adequados começam com verbo – Processar venda – Gerenciar produtos Dicas • Deixe de fora a interface do usuário, focaliza na intenção Administrador identifica-se EM VEZ DE administrador entra com login e senha • Especificação de casos de uso são incompletos – Comunicação pessoal e permanente Unified Modeling Language (UML) • Linguagem para expressar modelos – Vocabulário e regras – Permite visões variadas, abstratas, conectadas entre si • UML (1997): padrão para “plantas” de software • Não define como o desenvolvimento será realizado Diagramas de casos de uso • Representação gráfica de atores e casos de uso • Enriquecem os documentos ATORES CASOS DE USO caixa Processar Venda Tratar Devolução Diagrama de casos de uso Organização de casos de uso • Diagramas não são o foco da disciplina – Não perder muito tempo com os mesmos – Ferramentas de desenho • Eles podem ser melhor organizados – Organização por ator, assunto, etc – Relacionamento entre os casos de uso Organização de casos de uso Casos de uso no PU • Desenvolvimento guiado por casos de uso – Requisitos são primeiramente registrados em casos de uso – Casos de uso para planejamento iterativo (iterações escolhem alguns cenários ou casos de uso inteiros) – Realização dos UC´s guiam a análise e o projeto (solução e implementação) Casos de uso no PU • Fase de concepção – Identificar todos (com variadas técnicas) mas detalhar apenas 10% • Fase de elaboração – Implementação e validação fornecem novas informações – Detalhamento de 90% dos requisitos durante as iterações, aproveitando a realimentação do processo Casos de uso no PU • No nosso projeto – Pensar em todos os casos de uso – Combinar concepção e elaboração – Detalhar apenas os mais importantes • Riscos Aula Prática 2 Requisitos Objetivos da Prática • Elaborar os diagramas de casos de uso