Baixe o app para aproveitar ainda mais
Prévia do material em texto
I t d ã à M d l “U C ”Introdução à Modelagem “Use Case” Prof. Humberto Torres Marques Neto Abril / 2008 PUC-MINAS Referência Bibliográficaf g f BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivair. UML: Guia do Usuário. 2 ed. Rio de Janeiro: Campus 2005Campus, 2005. COCKBURN, Alistair. Escrevendo casos de uso eficazes: um guia prático para desenvolvedoreseficazes: um guia prático para desenvolvedores de software. Porto Alegre: Bookman, 2005. Modelagem da Arquitetura de um g q Sistema Visão de projeto Visão da Visão de projeto implementação Visão deVisão de caso de uso Visão da ImplantaçãoVisão do processo Comportamento do SistemaComportamento do Sistema 9É como o sistema age e reage ou seja a sua9É como o sistema age e reage, ou seja, a sua atividade externamente observável e que pode ser validadapode ser validada 9É a atividade externa visível e testável de um i tsistema 9O comportamento do sistema é estabelecido por: – Casos de Uso (Use Case) – Descrição do sistema, do ambiente e do relacionamento entre o sistema. Conceitos Fundamentais da Modelagem g de Caso de Uso Representa aqueles que interagem com o sistema At interagem com o sistema (usuários ou outros sistemas) Ator ) É üê i dÉ uma seqüência de transações realizadas pelo sistema para atender Caso de Uso pelo sistema para atender a uma solicitação de um ator Exemplos de Casos de UsoExemplos de Casos de Uso Vendedor Atualizar vendasVendedor Atualizar vendas Cliente Fazer pedido Benefícios do Modelo de Casos de Uson f c os o Mo o asos so 9 O Modelo de Caso de Uso é utilizado para O ode o de Caso de Uso é ut ado pa a comunicação com o usuário final e com especialistas domínio – Proporciona um “aceite” nos estágios preliminares do desenvolvimento de sistemas Assegura um entendimento mútuo sobre os requisitos do– Assegura um entendimento mútuo sobre os requisitos do sistema 9 É utilizado para identificar:9 É utilizado para identificar: – Quem fará interação com o sistema e o que o sistema deverá fazer – Que interfaces o sistema deverá ter 9 Representam os requisitos funcionaisrequisitos funcionais do sistemaRepresentam os requisitos funcionaisrequisitos funcionais do sistema O que é um Ator?O que é um Ator? 9Atores não são parte do sistema: eles9Atores não são parte do sistema: eles representam papéis que um usuário do sistema pode desempenhar em umsistema pode desempenhar em um determinado caso de uso. 9Podem ser:9Podem ser: – Pessoas que executam as principais funções do sistemasistema – Pessoas que executam funções secundárias – Hardware externo utilizado pelo sistemap – Outros sistemas – Fornecedor e/ou receptor de informações O que é um Ator?O que é um Ator? 9O t d9Os atores podem: – trocar informações com o sistema de forma ativa – ser um recipiente ativo de informações – representar um ser humano, uma máquina ou outro sistema Como encontrar os Atores?Como encontrar os Atores? 9 Quem está interessado em um requisito do q sistema? 9 Quem vai fornecer, usar, remover informações i t ?para o sistema? 9 Quais sistemas interagem com o sistema em questão?questão? 9 Quais áreas da organização irão utilizar o sistema? 9 Quais recursos externo são utilizados pelo sistema? 9 E i t t éi já id9 Existem atores que exercem papéis já exercidos por outros atores? 9 Existem atores que exercem mais de um papel?9 Existem atores que exercem mais de um papel? O que é um Caso de Uso?O que é um Caso de Uso? Modela um diálogo entre atores deModela um diálogo entre atores de um sistema É um fluxo de eventos completo eÉ um fluxo de eventos completo e significativo Os casos de uso devem representar Caso de Uso Os casos de uso devem representar todas as possíveis formas de utilizar o sistema Caso de Uso É iniciado por um ator para invocar certa funcionalidade no sistema NOME: Começar com um verbo (Comprar Itens, Entrar um Pedido) Questões úteis para se encontrar p Casos de Uso 9 Quais são as tarefas do ator que está se relacionando com o Caso de Uso? 9 O sistema fornece comportamento correto ao negócio? 9 Qual Caso de Uso vai criar, armazenar, modificar ou ler a informação? 99 Quais Casos de Uso oferecem suporte e manutenção ao sistema? 9 T d i it f i i d9 Todos os requisitos funcionais podem ser atendidos pelos Casos de Uso? Um Modelo de Caso de Uso definindo as F d Fronteiras de um Sistema Si t V d d i Sistema Vendas Vender itens Fazer consulta de Preçode Preço Caixa Cliente Pedir troca Documentação dos Casos de UsoDocumentação dos Casos de Uso 9Documentação resumida com o propósito do Caso de Uso 9Descrição dos fluxos primário e alternativo de eventos que ocorrem quanto do Caso de Uso é iniciado 9Deve espelhar o diálogo entre o Ator e o Caso de Uso 9Deve ser utilizada uma linguagem de alcance do usuário (é aconselhado a criação de um glossário) Fluxos de Eventos do Caso de UsoFluxos de Eventos do Caso de Uso 9Descreve apenas os eventos pertinentes ao Caso de Uso, e não o que acontece em outros Casos de Uso 9Deve evitar termos vagos, como por exemplo: “etc.” e “outros” 9O fluxo de eventos deve descrever: – Como e quando o Caso de Uso começa e termina – Quando o Caso de Uso interage com os Atores – Qual informação é trocada entre o Ator e o Caso de Uso ExemploExemplo Devolver Itens Este caso de uso é iniciado pelo cliente quando ele deseja devolver latas, garrafas ou engradados. A cada deseja de o e a as, ga a as ou e g adados cada item que o cliente coloca na máquina, o sistema incrementa o número de itens recebidos 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 debotão de recibo para obter um recibo com a relação de todos os itens devolvIdos com uma totalização ao final ExemploExemplo Administrar Itens E t d é tili d l dEste caso de uso é utilizado pelo operador para modificar informações no sistema. O valor de devolução assim como o tamanho de cada itemdevolução, assim como o tamanho de cada item pode ser modificado, assim como novos tipos de itens podem ser adicionados Detalhamento da DocumentaçãoD ta ham nto a Docum ntação 9Pré-condição: restrições que devem ser atendidas ao se iniciar um Caso de Uso – Exemplo: O usuário deve estar conectado e devidamente autenticado pelo sistema 9Pós-condição: resultado a ser atingido ao fi l d C d Ufinal do Caso de Uso – Exemplo: A transação é completada ou em d á d f itcaso de erro será desfeita Formas de DetalhamentoFormas de Detalhamento 9 ID e Nome do caso de uso9 ID e Nome do caso de uso 9 Sumário 9 Atores9 Atores 9 Pré-condições 9 Descrição Detalhada9 Descrição Detalhada 9 Pós-condições 9 E õ /C lt ti9 Exceções/Cursos alternativos 9 Interface 9 R i it ã f i i9 Requisitos não funcionais 9 Use Cases relacionados (uses e extends) Tabela de Ação X ReaçãoTabela de Ação X Reação 9 Ação – usuário informa qual a di ã d j d 9 Reação – O sistema procura um nome ú i did lmedição desejada, os elementos da rede e os objetos de medição aos quais o pedido se refere único para o pedido, valores default para quando e quantas vezes a medição deve ser efetuadaquais o pedido se refere. Opcionalmente um comentário pode ser incluído no pedido deve ser efetuada – Novo pedido é criado e inicializado com os atributos incluído no pedido – Valores são editados pelo usuário. Usuário determina i ã d did definidos, o nome do criador, a data de criação e o status “Pendente”. A i t f á i écriação de pedido interface com o usuárioé notificada que um novo pedido foi criado, exibindo-o na telana tela CenáriosCenários 9Cada Caso de Uso descreve um conjunto de seqüências, em que cada seqüência no conjunto representa um possível fluxo nessas variações CADA SEQUÊNCIA É CHAMADA DE CENÁRIOCENÁRIO 9Um cenário é uma “instância” de um Caso9Um cenário é uma instância de um Caso de Uso Conceitos Fundamentais da Modelagem g de Caso de Uso 9Os Casos de Usos podem ser organizados pela especificação de relacionamentos de generalizaçãogeneralização, inclusãoinclusão e extensãoextensão, existentes entre eles. 99GeneralizaçãoGeneralização significa que o Caso de Uso ou ator herda o comportamento e o significado do uso do pai. – É usado quando tem um que é semelhante a t f i I dáoutro, mas faz um pouco mais. Isso nos dá uma outra maneira de capturar cenários alternativos. Conceitos Fundamentais da Modelagem g de Caso de Uso generalizaçãogeneralização FuncionárioFuncionário Vendedor Conceitos Fundamentais da Modelagem g de Caso de Uso RegistrarRegistrar negócios generalizaçãogeneralização Negócio c/ limites excedidos Conceitos Fundamentais da Modelagem g de Caso de Uso 9Um relacionamentorelacionamento de inclusãoinclusão entre casos de uso significa que o caso de uso base incorpora explicitamente o comportamento de um outro caso de uso. – Pode ser usado quando parte do comportamento que é semelhante em mais de um caso de uso e você não quer ficar copiando a descrição deste comportamentocomportamento Conceitos Fundamentais da Modelagem g de Caso de Uso 9Um relacionamento estendidorelacionamento estendido significa que o Caso de Uso base incorpora implicitamente o Caso de Uso base co po a p c ta e te o comportamento de um outro Caso de Uso. – É semelhante a generalização. O Caso de UsoÉ semelhante a generalização. O Caso de Uso estendido pode acrescentar comportamentos para o caso de uso base – Os pontos que estão sendo estendidos devem ser relacionados na linha que liga os dois Casos de UUso Conceitos Fundamentais da Modelagem g de Caso de Uso 9Onde usar cada caso? –– Use inclusãoUse inclusão quando estiver se repetindoq p em dois ou mais Casos de Uso separados e você deseja evitar a repetiçãoj p ç –– Use generalizaçãoUse generalização quando você estiver descrevendo uma variação em comportamento normal e você deseja descrevê-la sem muito rigor –– Use extensãoUse extensão quando você estiver uma variação em comportamento normal e deseja utilizar a forma mais controlada, explicando os pontos de extensão no uso baseextensão no uso-base Um Exemplo de Caso de Usop Estabelecer AtualizarEstabelecer limites Atualizar contas Gerente comercial Analisar riscos Avaliar Sistema de Contabilidade <<include>> Fechar Preços Avaliar Negócios Compra para cliente regular<<include>> Analista Comercial Registrar g <<extend>> info pgt, info entregaComercial Registrar Negócio Negócios c/ li ã Comprar um Vendedor g imite excedido generalização produtoVendedor
Compartilhar