UML: Casos de Uso Projeto de Sistemas de Software Elementos – Diagrama de Casos de Uso • Elementos do diagrama: – Atores – Casos de uso – Relacionamentos • Associação • Generalização • Dependência: Extensão e Inclusão © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Elementos do diagrama – Atores – Casos de uso – Relacionamentos • Associação • Generalização • Dependência: Extensão e Inclusão © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Atores – Representam os papéis desempenhados por elementos externos ao sistema • Ex: humano (usuário), dispositivo de hardware ou outro sistema – Elementos que interagem com o sistema Notação: Secretária (from Use Case View) Diretor Sistema de Relatórios (from Use Case View) (from Use Case View) © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando os atores – Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos. © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando os atores • Gerente Atendente (from Use Case View) (from Use Case View) E o cliente? – Não é ator pois ele não interage com o sistema! © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Elementos do diagrama – Atores – Casos de uso – Relacionamentos • Associação • Generalização • Dependência: Extensão e Inclusão – Fronteira do sistema © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Caso de Uso – Representa uma funcionalidade do sistema (um requisito funcional) – É iniciado por um ator ou por outro caso de uso Dicas: Nomeie os casos de uso iniciando por um verbo Notação: Nome do Caso de Uso © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando os casos de uso – Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos. © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando os casos de uso Vender CDs Administrar estoque © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Elementos do diagrama – Atores – Casos de uso – Relacionamentos • Associação • Generalização • Dependência: Extensão e Inclusão – Fronteira do sistema © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Relacionamento de associação – Indica que há uma interação (comunicação) entre um caso de uso e um ator – Um ator pode se comunicar com vários casos de uso Notação: interação Caso de Uso Ator (from Use Case View) (from Use Case View) © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando os relacionamentos de associação – Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos. © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando os relacionamentos de associação Vender CDs Atendente Administrar estoque Gerente © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Elementos do diagrama – Atores – Casos de uso – Relacionamentos • Associação • Generalização • Dependência: Extensão e Inclusão – Fronteira do sistema © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Relacionamento de generalização Generalização de atores – Quando dois ou mais atores podem se comunicar com o mesmo conjunto de casos de uso – Um filho (herdeiro) pode se comunicar com todos os casos de uso que seu pai se comunica. Dica: coloque os herdeiros embaixo Notação: © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando generalização de atores Vender CDs Atendente Administrar estoque Gerente © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Relacionamento de generalização Generalização de casos de uso – O caso de uso filho herda o comportamento e o significado do caso de uso pai – O caso de uso filho pode incluir ou sobrescrever o comportamento do caso de uso pai – O caso de uso filho pode substituir o caso de uso pai em qualquer lugar que ele apareça Notação: Pai Filho 1 © LES/PUC-Rio Filho 2 Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando generalização de casos de uso Novos requisitos: – As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque é atualizado e uma nota fiscal, entregue ao consumidor. • No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. • No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acréscimo de 20%. As vendas a prazo podem ser pagas no cartão ou no boleto. Para pagamento com boleto, são gerados boletos bancários que são entregues ao cliente e armazenados no sistema para lançamento posterior no caixa. Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista. © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando generalização de casos de uso Vender CDs Atendente Vender CDs a prazo Vender CDs à vista Administrar estoque Gerente © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando mais generalização de casos de uso Novos requisitos: – As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque é atualizado e uma nota fiscal, entregue ao consumidor. • No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. • No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acréscimo de 20%. As vendas a prazo podem ser pagas no cartão ou no boleto. Para pagamento com boleto, são gerados boletos bancários que são entregues ao cliente e armazenados no sistema para lançamento posterior no caixa. Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista. © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando generalização de casos de uso Vender CDs Atendente Vender CDs a prazo Vender c/ boleto Vender CDs à vista Vender c/ cartão Administrar estoque Gerente © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Elementos do diagrama – Atores – Casos de uso – Relacionamentos • Associação • Generalização • Dependência: Extensão e Inclusão © LES/PUC-Rio Elementos – Diagrama de Casos de Uso • Relacionamento de dependência: Extensão: – Representa uma variação/extensão do comportamento do caso de uso base – O caso de uso estendido só é executado sob certas circunstâncias – Separa partes obrigatórias de partes opcionais • Partes obrigatórias: caso de uso base • Partes opcionais: caso de uso estendido Notação: <<extends>> <<extends>> © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando dependência: extensão Novos requisitos: – No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. – No caso de uma venda a prazo... ...Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras à vista. © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando dependência: extensão Vender CDs Atendente Vender CDs a prazo Vender CDs à vista <<extend>> Vender c/ boleto Vender c/ cartão <<extend>> Administrar estoque Gerente © LES/PUC-Rio Calcular desconto Elementos – Diagrama de Casos de Uso • Relacionamento de dependência: Inclusão: – Um caso de uso pode incluir vários casos de uso Notação: <<includes>> <<includes>> © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando dependência: inclusão Novos requisitos: – Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema. © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando dependência: inclusão Vender CDs Atendente Vender CDs a prazo Vender CDs à vista <<extend>> Vender c/ boleto Vender c/ cartão <<extend>> <<include>> Fazer login <<include>> Administrar estoque Gerente © LES/PUC-Rio Calcular desconto Elementos – Diagrama de Casos de Uso • Fronteira do Sistema – Elemento opcional (mas essencial para um bom entendimento) – Serve para definir a área de atuação do sistema Notação: © LES/PUC-Rio Elementos – Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando a fronteira do sistema Vender CDs Atendente Vender CDs a prazo Vender CDs à vista <<extend>> Vender c/ boleto Vender c/ cartão <<extend>> <<include>> Fazer login <<include>> Administrar estoque Gerente © LES/PUC-Rio Calcular desconto Bibliografia • Cockburn, A., Writing Effective Use Cases, Addison-Wesley, 2001. • Fowler, M e Scott, K., UML Distilled – A Brief Guide to the standard Object Modeling Language, Addison Wesley Longman, 2002 • Booch, G., Rumbaugh, J. and Jacobson, I., Unified Modeling Language User Guide, 2nd Edition, Addison-Wesley Object Technology Series, 2005. © LES/PUC-Rio