Baixe o app para aproveitar ainda mais
Prévia do material em texto
Casos de Uso Análise e Projeto Orientado a Objetos UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Casos de Uso Objetivos � Identificar e escrever casos de uso � Desenhar diagramas de casos de uso � Definir casos de uso de resumidos e expandidos 2 expandidos � Definir casos de uso essenciais e reais Lembretes - 1 � Estamos considerando o sistema como uma “caixa-preta”. � O processo de análise que estamos utilizando é “top-down” ou seja, parte do 3 utilizando é “top-down” ou seja, parte do geral e desce ao particular. Definir casos de Elaborar: .... uso(alto nível e Especificação de Requisitos Casos de Uso a. Todos os de alto nível b. Alguns essenciais expandidos Protótipos Relatório de Investigação Preliminar Lembretes - 2 4 uso(alto nível e essencial) .... Engenharia de Requisitos Diagrama de Casos de Uso Esboço do modelo Conceitual Orçamento, Cronograma Protótipos Glossário Depende de Definição � Um caso de uso representa uma possível utilização do sistema por um ator, que pode ser uma pessoa, dispositivo físico, mecanismo ou subsistema que interage com o sistema alvo, utilizando algum de seus serviços. 5 utilizando algum de seus serviços. � Exemplos de atores: � Funcionário de um banco. � Sensor de fumaça � Subsistema de autorização de crédito Ator => Entidade ou Agente externo Definição � Um caso de uso narra a interação entre o sistema e os atores envolvidos, para atingir um ou mais objetivos.. � Deve estar relacionado a um processo bem 6 � Deve estar relacionado a um processo bem definido, com começo, meio e fim. � Exemplos: � Emprestar Livro � Vender Produto � Incluir ordem de serviço Casos de Uso � Muitas vezes é utilizado como um contrato entre desenvolvedor e cliente. � Pode ser feito com base no documento de 7 � Pode ser feito com base no documento de requisitos, ou pode ser feito como forma de captar os requisitos, para depois escrever o documento de requisitos. Como identificar os atores? � Observar atentamente quem são os agentes que supostamente serão os responsáveis, direta ou indiretamente, pela interação com o sistema. 8 � Ator principal: interage diretamente com o sistema computacional. � Ator secundário: interage com outros atores. Como identificar os atores? � Exemplo: � Ao emprestar um livro, o Atendente é quem opera o computador e realiza a transação, portanto é o ator principal. 9 portanto é o ator principal. � Já o Leitor, interage com o atendente, sendo um ator secundário. Como identificar os casos de uso? � Analisar cada requisito do sistema em busca dos grandes eventos que ocorrem no mundo real e que dão origem a uma interação entre um ator e o sistema. 10 interação entre um ator e o sistema. Como identificar os casos de uso? � Exemplo: Requisitos Biblioteca � R1. Para usar os serviços de uma biblioteca, os leitores deverão estar registrados e possuir um cartão com número de identificação e foto. 11 � R2. O sistema deve permitir que um leitor apto empreste um ou mais livros, por um período de tempo que varia de 1 semana a 1 mês, dependendo do tipo de leitor (1 semana para estudante de graduação e servidores, 15 dias para estudantes de pós-graduação e 30 dias para docentes e pós-doutorandos). Como identificar os casos de uso? � R3. O leitor está apto a emprestar livros se � não possuir em seu poder livros com data de devolução vencida (menor do que a data atual) e; � o número de livros emprestados não ultrapasse o 12 � o número de livros emprestados não ultrapasse o número máximo permitido, que depende do tipo de leitor (4 livros para estudantes de graduação, 3 livros para servidores, 10 livros para estudantes de pós- graduação e 20 livros para docentes e pós- doutorandos). � R4. O Sistema deve permitir que o leitor devolva um ou mais livros em seu poder, fazendo com que o livro volte a ficar disponível na biblioteca. Como identificar os casos de uso? � De acordo com esses 4 requisitos, dois casos de uso candidatos são: � Incluir Leitor 13 � Emprestar Livro � Devolver Livro � Um requisito pode referir-se a mais de um caso de uso. Um caso de uso pode referir- se a mais de um requisito. Requisitos X Casos de Uso Requisitos Casos de Uso R1, R2, R3 Emprestar livro Um leitor empresta um ou mais livros por um período de tempo que depende do tipo de leitor. 14 período de tempo que depende do tipo de leitor. R1, R3, R4 Devolver Livro Um leitor devolve um livro que estava em seu poder, tornando-o novamente disponível para empréstimo. Casos de Uso Um caso de uso é uma descrição de ponta a ponta, de um processo relativamente grande, que inclui, tipicamente, muitos passos ou transações; ele não é 15 passos ou transações; ele não é normalmente um passo ou atividade individual em um processo Notação UML - Atores O ator é representado por um identificador com letra inicial maiúscula e por um “homem palito”, embora os atores possam representar pessoas, sistemas de computadores e dispositivos elétricos e mecânicos. 16 e mecânicos. Leitor <<ator>> Leitor Notação UML – Casos de Uso Emprestar livro 17 Emprestar Livro Diagrama de Caso de Uso � Ilustra um conjunto de casos de uso para um sistema, os atores e a relação deles com os casos de uso. � É um tipo de diagrama de contexto. 18 � É um tipo de diagrama de contexto. Notação UML para Diagramas de Casos de Uso 19 Notação UML para Diagramas de Casos de Uso Associação bidirecional 20 Associação unidirecional Notação UML para Diagramas de Casos de Uso 21 Leitor (from Logical View) Atendente Emprestar Livro Herança entre atoresComunicação entre ator secundário e principal 22 Incluir Bibliotecária Aquisição de LivroBibliotecária Administrador Herança entre atores principal Fronteiras do Sistema � Um diagrama de caso de uso é excelente para: � Mostrar a fronteira do sistema, isto é, o que está dentro ou fora dele. 23 está dentro ou fora dele. � Dar uma visão geral do comportamento do sistema, isto é, como ele é usado e por quem. Fronteiras do Sistema 24 Inclusões, Alterações, Exclusões e Consultas são casos de uso? � Para cada objeto do sistema, seria necessário considerar três casos de uso? � Exemplo: Incluir Livro, Alterar dados do livro e Excluir Livro 25 Excluir Livro � E quanto às consultas, por exemplo, Consultar Livro por Autor, Consultar Livro por Título, etc., seriam casos de uso? Inclusões, Alterações, Exclusões de Registros são casos de uso? � Não há consenso. � Como são, em geral, processos muito simples, não vamos detalhá-los como faremos com casos de uso mais 26 faremos com casos de uso mais complexos. � No entanto, incluiremos no diagrama de casos de uso, para dar uma noção geral do escopo e tamanho do sistema. Inclusões, Alterações, Exclusões e Consultas são casos de uso? 27 Casos de Uso e o PU � No PU, os casos de uso ajudam desde a captação dos requisitos, guiam a divisão do desenvolvimento em vários ciclos de iteração e ajudam nos testes. 28 � Logo após elaborar o Diagrama de Casos de Uso do Sistema, sugere-se elaborar as descrições resumidas de todos eles e então alocá-los em diversos ciclos de iteração Casos de Uso e o PU � No início do desenvolvimento usando o PU, deve-se planejar quantas iterações serão necessárias para alcançar os objetivosdo sistema � as partes mais importantes devem ser 29 � as partes mais importantes devem ser priorizadas e alocadas nas primeiras iterações. � a primeira iteração deve estabelecer os principais riscos e o escopo inicial do projeto, de acordo com a funcionalidade principal do sistema. � Deve-se evitar correr o risco de descobrir, em iterações posteriores, que o projeto é inviável. Casos de Uso e o PU � Tendo alocado os casos de uso às iterações, pode-se iniciar a primeira iteração, com a fase de elaboração, detalhando os casos de uso usando o formato completo abstrato(visto a seguir) 30 � Exemplo: Biblioteca: Casos de uso: � Emprestar Livro � 1º ciclo � Devolver Livro � 2º ciclo � Incluir Livro � 1º ciclo � Comprar Livro � 2º ciclo � Consultar Livro � 3º ciclo � Alterar Livro � 3º ciclo � Excluir Livro � 3º ciclo Documentação dos Casos de Uso � Notação diagramática: Diagrama de Casos de Uso da UML. � Notação textual: Descrição dos Casos 31 � Notação textual: Descrição dos Casos de Uso ou Casos de Uso Textuais ( a UML não fornece notação específica para isso). Descrição dos Casos de Uso ou Casos de Uso Textuais � Objetivos: � Mostrar a sequência típica de eventos (cenário de sucesso principal) e as sequências alternativas que 32 e as sequências alternativas que podem ocorrer durante o caso de uso. � Mostrar interessados e interesses do caso de uso. � Mostrar pré e pós condições. Formatos de Casos de Uso Textuais � Resumido : resumo de um parágrafo, apenas com o cenário de sucesso principal. � Completo : � Várias seções: interessados e interesses, pré- condições, pós-condições. 33 condições, pós-condições. � Cenário de sucesso principal e sequências alternativas. � Dois tipos: � Abstrato : utilizado na fase de análise, sem considerar detalhes de implementação. � Concreto : utilizado no projeto, com mais detalhes. Caso de Uso Resumido CasoCasoCasoCaso dededede usousousouso: “Emprestar Livro” 34 VisãoVisãoVisãoVisão GeralGeralGeralGeral: O Atendente da biblioteca realiza o empréstimo de um ou mais livros a um leitor apto a emprestar livros. O empréstimo é válido por um determinado período de tempo, de acordo com o tipo de leitor. Os livros, depois de desmagnetizados, são levados pelo leitor e marcados como “emprestado”. Caso de Uso Completo - Abstrato Caso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar Livro Ator PrincipalAtor PrincipalAtor PrincipalAtor Principal: Atendente Interessados e Interesses:Interessados e Interesses:Interessados e Interesses:Interessados e Interesses: Atendente: deseja registrar que um ou mais livros estão em 35 Atendente: deseja registrar que um ou mais livros estão em posse de um leitor, para controlar se a devolução será feita no tempo determinado. - Leitor: deseja emprestar um ou mais livros, de forma rápida e segura. - Bibliotecário: deseja controlar o uso dos livros, para que não se percam e para que sempre se saiba com que leitor estão no momento. PréPréPréPré----Condições: Condições: Condições: Condições: O Atendente é identificado e autenticado. Garantia de Sucesso (PósGarantia de Sucesso (PósGarantia de Sucesso (PósGarantia de Sucesso (Pós----Condições):Condições):Condições):Condições): Os dados do novo empréstimo estão armazenados no Sistema. Os livros emprestados possuem status “emprestado” Cenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso Principal: 1. O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais 36 e diz ao atendente que deseja emprestar um ou mais livros da biblioteca. 2. O Atendente seleciona a opção para realizar um novo empréstimo. 3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor. 4. O Atendente informa ao sistema a identificação do leitor. 5. O Sistema exibe o nome do leitor e sua situação. 6. O Atendente solicita os livros a serem emprestados. 7. Para cada livro, informa ao sistema o seu código de identificação. 37 identificação. 8. O Sistema informa a data de devolução de cada livro. 9. O Atendente desbloqueia os livros para que possam sair da biblioteca. 10.O Leitor sai com os livros. Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos: (1-8). A qualquer momento o Leitor informa ao Atendente que desistiu do empréstimo. Cancelar a operação. 3. O Leitor informa ao Atendente que esqueceu a carteira de identificação. 38 carteira de identificação. 1. O Atendente faz uma busca pelo cadastro do Leitor e pede a ele alguma informação pessoal para garantir que ele é mesmo quem diz ser. 4. O Leitor está impedido de fazer empréstimo, por ter uma situação irregular. Cancelar a operação. Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos: 8888a. O Livro não pode ser emprestado, pois está reservado para outro leitor. 1. O Atendente informa ao Leitor que não poderá emprestar o livro e pergunta se deseja reservá-lo. Cancelar a operação (se for o único livro a ser emprestado) 39 operação (se for o único livro a ser emprestado) 8b. O Livro não pode ser emprestado, pois é um livro reservado somente para consulta. 1. Cancelar a operação (se for o único livro a ser emprestado) Casos de uso abstratos X casos de usos concretos � Abstrato: expresso de forma ideal, livre de comprometimento com tecnologia e detalhes de implementação. 40 � Concreto: descreve o processo em termos do seu atual projeto real, com bastante comprometimento com tecnologias de entrada e saída, etc. Caso de Uso Completo Concreto Janela 1 A B D E 41 C Caso de Uso Completo - Concreto Caso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar Livro . . . Cenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso Principal: 1. O Leitor chega ao balcão de atendimento da biblioteca ... 42 2. O Atendente seleciona a opção “Realizar um empréstimo” no menu principal do sistema de biblioteca. 3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor. 4. O Atendente passa a caneta leitora de código de barras na carteira de identificação. Caso de Uso Completo - Concreto 5. O Sistema exibe nos campos A e B da Janela 1 o nome do leitor e sua situação. 6. O Atendente solicita os livros a serem emprestados. 7. Para cada um deles, o atendente digita no campo C o código do 43 7. Para cada um deles, o atendente digita no campo C o código do livro, composto de 6 algarismos e clica no botão Emprestar para concretizar o empréstimo. 8. O Sistema exibe no campo D da Janela 1 o nome do livro e sua data de devolução. 9. O Atendente passa os livros pelo desmagnetizador para que possam sair da biblioteca. 10. O Leitor sai com os livros. Exemplo: Caso de uso abstrato Ação do Ator Resposta do Sistema 1. O Cliente se identifica 2. Apresenta opções 44 3...e assim por diante 4...e assim por diante Exemplo: Caso de uso concreto Ação do Ator Resposta do Sistema 1. O Cliente insere o seu cartão 2. Apresenta solicitação de senha. 45 3. Digita a senha 4. Exibe opções do menu 5. E assim por diante. 6. E assim por diante. Caso de Uso Comprar Itens: Essencial Ação do Ator Resposta do Sistema 1. O caixa registra o identificador de cada item Se há mais do que um 2. Determina o preço do item e adiciona a informação do item à transação de venda 46 Se há mais do que um exemplardo mesmo item, o caixa também entra a quantidade item à transação de venda corrente 3...e assim por diante 4...e assim por diante Caso de Uso Comprar Itens: Real Ação do Ator Resposta do Sistema 1. Para cada item o Caixa digita o código universal do produto no campo de entrada CUP da janela. Ele então pressiona o botão “Entrar Item” com o mouse ou digita 2. Mostra o preço do item e adiciona a informação do item à transação de venda corrente. A descrição e o preço são então mostrados na caixa de texto 2 da Janela1. 47 Item” com o mouse ou digita <Enter> de texto 2 da Janela1. 3...e assim por diante 4...e assim por diante ATENÇÃO: EM GERAL, OS CASOS DE USO REAIS NÃO DEVEM SER PRODUZIDOS NA FASE DE ENGENHARIA DE REQUISITOS (COMPROMENTIMENTO PREMATURO COM DECISÃO DE PROJETO E COMPLEXIDADE DESNECESSÁRIA) Resumindo casos de uso textuais… Formato do caso de uso Resumido Completo Abstrato 48 Completo Concreto Relacionamentos entre casos de uso � Pode-se ter situações em que a execução de um caso de uso implique na execução de um outro. � Ou um caso de uso possui uma parte que se repete em outros casos de uso. 49 Ou um caso de uso possui uma parte que se repete em outros casos de uso. � Para evitar redundância de texto, pode-se isolar essas partes em casos de uso separados, e relacioná-los uns aos outros. Relacionamento <include> � Uso Principal: Quando um caso de uso possui um comportamento parcial comum a vários outros casos de uso � Evitar repetir comportamento -> reuso � A inclusão do outro caso de uso é obrigatória 50 � A inclusão do outro caso de uso é obrigatória � Exemplo: Saque Cliente Deposito Movimento Conta <<inc lude>> <<include>> Relacionamento <include> � Usado também para decompor um caso de uso muito complexo � Ajuda a melhorar a compreensão do caso de uso � Atenção: evite usar esse uso, a menos que o caso de uso seja realmente muito complexo. 51 uso seja realmente muito complexo. � Exemplo: Como mostrar o relacionamento <include> no caso de uso textual Caso de Uso: Saque . . . Cenário de Sucesso Principal: 1. O Cliente chega ao balcão do Caixa e solicita uma quantia em dinheiro. 2. O Cliente entrega ao Caixa seu cartão magnético. 52 2. O Cliente entrega ao Caixa seu cartão magnético. 3. O Caixa escolhe a opção de saque e passa o cartão magnético pela leitora. 4. O Sistema exibe o nome do cliente e uma mensagem informando se seu saldo é suficiente para sacar a quantia solicitada. 5. Caso haja saldo suficiente, o Caixa entrega o dinheiro ao cliente. 6. Incluir o caso de uso: Movimento Conta. 7. O Cliente sai com o dinheiro. Relacionamento <extend> � Um caso de uso estende outro se ele adiciona comportamento ao caso de uso base. � Quando um fluxo alternativo é complexo e merece maior detalhamento, pode-se escrevê-lo 53 merece maior detalhamento, pode-se escrevê-lo na forma de uma extensão ao caso de uso base. � Quando uma modificação é necessária em um caso de uso e não deseja-se mexer no caso de uso base. � O caso de uso de extensão não tem execução obrigatória (opcional). Relacionamento <extend> � Exemplo: Emprestar Livros 54 Leitor Atendente Emprestar sem carteirinha <<extend>> Como mostrar o relacionamento <extend> no caso de uso textual Caso de Uso: Emprestar sem Carteirinha . . . Referências Cruzadas: Extensão do Caso de Uso Emprestar Livro para permitir outra forma de identificação do leitor 55 Exemplo de include e extend 56 Outro Exemplo de include 57 Aplicação de Casos de Uso ao Terminal de Ponto de Vendas 58 Cliente Terminal de Ponto de Vendas (TPV) Caixa Identificação de casos de uso Há dois métodos: baseado nos atores ou nos eventos do sistema � Baseado em atores � Identificar os atores relacionados a um sistema ou organização 59 organização � Para cada ator, identificar os processos que eles iniciam ou dos quais eles participam � Exemplos: � Caixa - Iniciar uso do caixa (sistema), Registrar retirada de dinheiro � Cliente – Comprar itens, Devolver itens Identificação de casos de uso � Baseado em eventos � Identificar os eventos externos aos quais um sistema deve responder � Relacionar os eventos a atores e a casos de uso 60 uso � Exemplos: � Itens vendidos (ator=cliente, caso de uso=comprar item) � Dinheiro retirado (ator=caixa, caso de uso=registrar retirada de dinheiro) � IMPORTANTE: � Um caso de uso não representa um passo individual ou uma operação ou transação de entrada. Por exemplo: “Imprimir o Recibo” não é um caso de uso no sistema de TPV. � Um caso de uso é normalmente a descrição de um processo relativamente grande, com início e fim 61 processo relativamente grande, com início e fim próprios, que normalmente incluem várias transações ou operações de entrada e saída. LIMITE (OU ESCOPO) DO SISTEMA � Sistema pode ser limitado por: � Hardware ou software � Departamentos de uma organização � Toda a organização 62 O limite é sempre delimitado arbitrariamente pelo analista e o cliente, mas geralmente leva em conta critérios tais como: política organizacional, limites de menor comunicação entre os subsistemas, oportunidade e tamanho do sistema. Ex: 1- considerar toda a loja como sendo o sistema. O caixa está dentro do sistema e é um de seus recursos. • LOJA Comprar Itens 63 Devolver Itens Cliente Ex: 2- considerar o hardware e o software do TPV como a fronteira. TPV Comprar Itens 64 Abrir (Log in) Devolver Itens Caixa Cliente ALGUNS PONTOS DA NOTAÇÃO � Comece o nome de um caso de uso com um verbo, para enfatizar que é um processo. � Emprestar Livro � Comprar itens � Inicie o caso de uso Completo(expandido) com 65 � Inicie o caso de uso Completo(expandido) com o seguinte esquema: � Este caso de uso inicia quando o <Ator> <dispara um evento>... � Ex: Este caso de uso inicia quando o cliente chega ao TPV com itens para comprar ALGUNS PONTOS DA NOTAÇÃO Pontos de Decisão e Desvio � Podem ocorrer nos casos de uso. 66 � Ex: o cliente pode pagar em dinheiro,cartão de crédito ou cheque (probabilidade de ocorrência relativamente iguais e normais) ALGUNS PONTOS DA NOTAÇÃO ... � 3. O Cliente escolhe o tipo de pagamento � a. Se for pagamento em dinheiro, ver seção Pagamento em Dinheiro � b. Se for pagamento por cartão de crédito ver seção Pagamento por Cartão de Crédito 67 ver seção Pagamento por Cartão de Crédito � c. Se for pagamento por cheque, ver seção Pagamento em Cheque ... Seção : Pagamento em Dinheiro .... Passos da fase Conceber e Elaborar 1. Listar todas as funções (requisitos), definir os limites do sistema e identificar atores e casos de uso 2. Escrever todos os casos de uso no formato resumido, classificando-os como principais, secundários e opcionais Casos de Uso dentro de um processo de desenvolvimento 68 como principais, secundários e opcionais 3. Desenhar o diagrama de casos de uso 4. Relacionar os casos de uso e mostrar esses relacionamentos no diagrama de casos de uso (include e e extend) 5. Alocar os casos de uso nos ciclos de desenvolvimento (classificar os casos de uso) 6. Escrever no formato completo e abstrato os casos de uso mais importantes, mais complexos ou mais arriscados, que foram escolhidos para o primeiro ciclo de desenvolvimento. Os demais poderão ser expandidos quando forem tratados em fases posteriores do processo de desenvolvimento. Passos do processo para o TPV Os limites do sistema serão definidos como o sistema de hardwaree software de um ponto de venda e pagamento. Atores e casos de uso: ( Passo 1: identificar atores, casos de uso e limites do sistema) 69 Atores e casos de uso: Caixa: Abrir ( Log In), Retirar dinheiro do caixa Cliente: Comprar Itens, Devolver Itens Gerente: Iniciar e Encerrar (o sistema) Administrador do Sistema: Adicionar novo usuário (caixa) Passos do processo para o TPV Caso de uso: Comprar Itens Atores: Cliente (iniciador), Caixa Interessados e interesses: Cliente: deseja comprar produtos na loja e pagar (Passo 2: escrever casos de uso no formato resumido) 70 Cliente: deseja comprar produtos na loja e pagar Caixa: Registrar os itens vendidos pela loja e receber o pagamento de forma rápida e segura. Tipo: primário (importante) Descrição: Um cliente chega ao balcão de saída da loja com itens para comprar. O caixa registra os itens de compra e recebe o pagamento. Quando termina, o cliente sai com os itens comprados. Passos do processo para o TPV Caso de uso: Iniciar Atores: Gerente Tipo: primário (Passo 2: escrever casos de uso no formato resumido) 71 Descrição: Um Gerente liga o sistema TPV de modo a prepará-lo para o uso pelos Caixas. O Gerente confere se a data e hora estão corretas, após o que o sistema está pronto para uso dos Caixas. TPV Comprar Itens Abrir Devolver Itens Caixa Cliente O EXEMPLO TPV (Passo 3: desenhar o 72 Itens Adminstrador Do Sistema Gerente Adicionar novos usuários Iniciar etc. (Passo 3: desenhar o diagrama de casos de uso) Passos do processo para o TPV (Passo 4: relacionar os casos de uso) (Passo 5: Alocar os casos de uso nos ciclos de desenvolvimento (classificar os casos de uso) Serão vistos posteriormente 73 (Passo 6: escrever os casos de uso escolhidos para um primeiro ciclo de desenvolvimento no formato completo abstrato) O EXEMPLO TPV – Caso de Uso Comprar Itens Caso de Uso: Comprar Itens Atores: Cliente (iniciador), Caixa Interessados e interesses: Cliente: deseja comprar produtos na loja e pagar Caixa: Registrar os itens vendidos pela loja de forma e receber o pagamento de forma rápida e segura. 74 pagamento de forma rápida e segura. Visão geral: Um cliente chega a um ponto de pagamento, com vários itens que deseja comprar. O caixa registra os itens de compra e recebe o pagamento, o qual pode necessitar autorização. No final, o cliente sai com os itens comprados. Tipo: primário e abstrato Referências Cruzadas: Funções: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1, R2.2, R2.3, R2.4 Pré-Condição: O caixa deve ter completado o caso de uso Abrir O EXEMPLO TPV – Passo 5 Sequência Típica de Eventos Ação do ator Resposta do sistema 1. Este caso de uso começa quando um cli- ente chega a um ponto de pagamento equi- pado com um TPV, com vários itens que deseja comprar. 75 2. O Caixa registra cada item. 3. Determina o preço do item e acrescenta informação sobre o Se houver mais de um exemplar do item, o item à transação de vendas Caixa também pode entrar a quantidade. em andamento. A descrição e o preço do item corrente são apresentados. 4. No término da entrada de itens, o Caixa 5. Calcula e apresenta o total indica para o TPV que a entrada de itens da venda. está completa. 6. O Caixa informa ao Cliente o total. O EXEMPLO TPV – Passo 5 Ação do ator Resposta do sistema 7. O Cliente escolhe o tipo de pagamento: a. Se pagamento em dinheiro, ver seção Pagar com Dinheiro. b. Se pagamento com cartão, ver seção Pagar com Cartão de Crédito. c. Se pagamento com cheque, ver seção Pagar com Cheque. 8. Registra a venda completada. 76 8. Registra a venda completada. 9. Atualiza os níveis de estoque. 10. Gera um recibo. 11. O Caixa dá o recibo ao Cliente. 12. O Cliente sai com os itens comprados. Seqüências alternativas Linha 2: Entrada de Identificador de item inválido. Indicas erro. Linha 7: Cliente não pode pagar. Cancelar a transação de venda. O EXEMPLO TPV – Passo 5 Seção: Pagar com Dinheiro Seqüência Típica de Eventos Ação do ator Resposta do sistema 1. O cliente dá um pagamento em dinheiro. O valor fornecido é possivelmente maior que o total da venda. 2. O Caixa registra a quantia fornecida 3. Apresenta o troco devido ao Cliente 77 Cliente 4. O Caixa deposita o dinheiro recebido e retira o troco devido. O Caixa dá o troco ao Cliente Seqüências Alternativas Linha 1: O Cliente não tem dinheiro suficiente. Pode cancelar a venda ou iniciar outro método de pagamento. Linha 4: A gaveta de dinheiro não contém o suficiente para pagar o troco. O Caixa solicita mais dinheiro ao supervisor ou pede ao Cliente uma quantia de dinheiro diferente ou a opção por um outro método de pagamento O EXEMPLO TPV – Passo 5 Seção: Pagar com Cartão de Crédito Seqüência Típica de Eventos Ação do ator Resposta do sistema 1. O cliente comunica suas 2. Gera uma solicitação de pagamento com informações de Crédito para o cartão de crédito e a envia a um Serviço pagamento com cartão de crédito de Autorização de Crédito (SAC) externo 3. O SAC autoriza o pagamento 4. Recebe uma resposta de aprovação de crédito do SAC. 78 de crédito do SAC. 5. Lança o pagamento com cartão de crédito e a informação da resposta de aprovação no sistema de Contas a Receber (C/R). (O SAC deve dinheiro à Loja, logo C/R deve fazer o acompanhamento) 6. Exibe a mensagem de autorização bem sucedida Seqüências Alternativas Linha 3: Solicitação de crédito negada pelo SAC. Sugerir um método de pagamento diferente O EXEMPLO TPV – Passo 5 Seção: Pagar com Cheque Seqüência Típica de Eventos Ação do ator Resposta do sistema 1. O cliente preenche um cheque e se identifica. 2. O Caixa registra a informação de 3. Gera uma solicitação de pagamento identificação e solicita autorização com cheque e a envia a um Serviço de para pagamento com cheque Autorização de Cheques externo 79 para pagamento com cheque Autorização de Cheques externo 4. O Serviço de autorização de 5. Recebe uma resposta de aprovação Cheques autoriza o pagamento do Serviço de Autorização de Cheques. 6. Indica autorização bem-sucedida. Seqüências Alternativas Linha 4: Solicitação de cheque negada pelo Serviço de Autorização de Cheques. Sugerir um método de pagamento diferente. Passos do processo para o TPV Será visto a seguir ... (Passo 5: classificar os casos de uso) 80 Classificação e Alocação de Casos de Uso Passos da fase Conceber e Elaborar 1. Listar todas as funções (requisitos), definir os limites do sistema e identificar atores e casos de uso 2. Escrever todos os casos de uso no formato resumido, classificando-os como principais, secundários e opcionais Casos de Uso dentro de um processo de desenvolvimento 82 como principais, secundários e opcionais 3. Desenhar o diagrama de casos de uso 4. Relacionar os casos de uso e mostrar esses relacionamentos no diagrama de casos de uso (include e e extend) 5. Alocar os casos de uso nos ciclos de desenvolvimento (classificar os casos de uso) 6. Escrever no formato completo os casos de uso mais importantes, mais complexos ou mais arriscados, que foram escolhidos para o primeiro ciclo de desenvolvimento. Os demais poderão ser expandidos quando forem tratados em fases posteriores do processo de desenvolvimento. Objetivos da Classificação e Alocação de Casos de Uso � Estabelecer a ordem de implementação dos serviços do sistema � Criar versões simplificadas de casos de uso (para gerenciar a complexidade de 83 uso (para gerenciar a complexidade de determinados casos de uso do sistema) � Alocar os casos de uso a ciclos de desenvolvimentoAlocar casos de uso aos ciclos de desenvolvimento Os ciclos de desenvolvimento do PU -> organizados em torno de requisitos especificados em casos de uso Cada ciclo de desenvolvimento: • implementa um ou mais casos de uso •Versões simplificadas, quando o caso de uso é complexo 84 Ciclo 1 Ciclo 2 Ciclo 3 Caso de Uso A Versão Simplificada ... ... Caso de Uso A Versão Completa ... ... Caso de Uso B ... ... Caso de Uso C ... ... Ordenar Casos de Uso O Objetivo da ordenação dos casos de uso: Estabelecer a sequência dos casos de usos que serão abordados nos diferentes ciclos 85 que serão abordados nos diferentes ciclos de desenvolvimento do PU Ordenar Casos de Uso Qualidades que aumentam as chances de um caso de uso ser classificado como primário (prioritário): a. Impacto significativo na arquitetura do projeto. Exemplo: requer muitas classes ou camada de armazenamento permanente. b. Informação e compreensão significativas são obtidas com pouco 86 b. Informação e compreensão significativas são obtidas com pouco esforço. c. Inclui funções complexas, críticas com relação ao tempo ou de alto risco. d. Envolve muita pesquisa ou tecnologias novas ou arriscadas e. Representa processo de negócio importante; f. Apóia diretamente a redução de custos ou aumento de lucros. Pontuar os itens de “a” a “f” (0 a 5 por exemplo), ou classificá-los como alto, médio, baixo. Classificar Casos de Uso Exemplo: Comprar Itens Caso de Uso a b c d e f Soma Comprar Itens 5 3 2 0 5 3 18 87 . . . Classificação Informal Classificação Caso de Uso Justificativa Alto Comprar Itens Alta pontuação na maior parte dos critérios Médio Adicionar novos usuários Abrir Afeta o subdomínio de segurança Idem 88 Devolver Itens Processo importante; afeta a contabilidade Baixo Fechar Iniciar Encerrar Efeito mínimo na arquitetura Outros casos de uso dependem de iniciar. Efeito mínimo na arquitetura O Caso de Uso Iniciar � Praticamente todos os sistemas possuem um caso de uso iniciar. � Embora não apareça em uma posição alta, deve ser abordado no primeiro ciclo de desenvolvimento para permitir as inicializações 89 desenvolvimento para permitir as inicializações assumidas por outros casos de uso. � O caso de uso iniciar será desenvolvido incrementalmente, de modo a suprir as necessidades de inicialização de outros casos de uso. ALOCAÇÃO Os ciclos iterativos devem ser definidos. Suponha que sejam de 4 semanas: deve-se verificar quais casos de uso podem ser implementados nesse tempo ou se um caso de uso mais complexo deve ser distribuído para ser implementado em vários ciclos. 90 Comprar Item é um caso de uso complexo que, assumindo 4 semanas, pode ser dividido em 3 versões por exemplo: Versão 1: pagamento só em dinheiro, nenhuma atualização de estoque... Versão 2: permite todos os tipos de pagamentos Versão 3: versão completa, incluindo atualização de estoque,... ALOCAÇÃO Distribuição dos casos de uso ao longo dos ciclos: Ciclo 1 Ciclo 2 Ciclo 3 Caso de Uso Compar Item Caso de Uso Comprar Item Caso de Uso Comprar Item Ciclo 4 Devolver Itens ... 91 Compar Item Versão 1 Comprar Item Versão2 Comprar Item Versão 3 ... Log In ... ... ... ... No primeiro ciclo de desenvolvimento serão abordados os caso de usos Comprar Itens – versão 1 e Iniciar o sistema Caso de Uso Iniciar O PRIMEIRO CICLO DE DESENVOLVIMENTO PODE ENTÃO COMEÇAR.... � A fase Conceber e Elaborar foi completada. A fase Construir se inicia... � Dentro da fase Construir, inicia-se a fase 92 � Dentro da fase Construir, inicia-se a fase de análise. � A cada ciclo de desenvolvimento a documentação deve ser sincronizada com o código desenvolvido. Próximo tópico Conceber e Elaborar Construir Implantar 93 Ciclo de Desen- volvimento 1 Ciclo de Desen- volvimento 2 . . . Refinar Plano Sincronizar artefatos Analisar Projetar Construir Testar
Compartilhar