Aula 07 - UML - Diagrama de Casos de Uso (Mod. Funcional)

49
UML: Casos de Uso Prof. MBA. Ricardo Roberto de Lima Engenheiro de Sistemas – Cesar.edu.br Mestrando em Engenharia de Software

description

Aula 07 - UML - Diagrama de Casos de Uso (Mod. Funcional)

Transcript of Aula 07 - UML - Diagrama de Casos de Uso (Mod. Funcional)

  • UML: Casos de Uso

    Prof. MBA. Ricardo Roberto de LimaEngenheiro de Sistemas Cesar.edu.brMestrando em Engenharia de Software

  • UNIP-PB

    UML Casos de Uso

    Introduo Casos de uso Elementos do diagrama de casos de uso Descrio de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia

  • UNIP-PB

    Introduo Casos de Uso

    Os casos de uso:

    Descrevem como os usurios interagem com o sistema(as funcionalidades do sistema)

    Facilitam a organizao dos requisitos de um sistema

    Do uma viso externa do sistema

    O conjunto de casos de uso deve ser capaz de comunicar a funcionalidade e o comportamento do sistema para o cliente

    Descrevem o que o sistema faz, mas NO especificam como isso deve ser feito

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Elementos do diagrama:

    Atores Casos de uso Relacionamentos

    Associao Generalizao Dependncia: Extenso e Incluso

    Fronteira do sistema

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Elementos do diagrama

    Atores Casos de uso Relacionamentos

    Associao Generalizao Dependncia: Extenso e Incluso

    Fronteira do sistema

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Atores Representam os papis desempenhados por

    elementos externos ao sistema Ex: humano (usurio), dispositivo de hardware ou

    outro sistema (cliente)

    Elementos que interagem com o sistema

    Notao:

    Secretria(from Use Case View)

    Diretor(from Use Case View)

    S istema de Relatrios

    (from Use Case V iew)

  • UNIP-PB

    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 funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando os atores

    E o cliente? No ator pois ele no interage com o sistema!

    Gerente(from Use Case View)

    Atendente(from Use Case View)

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Elementos do diagrama

    Atores Casos de uso Relacionamentos

    Associao Generalizao Dependncia: Extenso e Incluso

    Fronteira do sistema

  • UNIP-PB

    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

    Notao:

    Nome do Caso de Uso

  • UNIP-PB

    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 funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando os casos de uso

    Administrar estoque

    Vender CDs

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Elementos do diagrama

    Atores Casos de uso Relacionamentos

    Associao Generalizao Dependncia: Extenso e Incluso

    Fronteira do sistema

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Relacionamento de associao Indica que h uma interao (comunicao) entre

    um caso de uso e um ator Um ator pode se comunicar com vrios casos de uso

    Dicas: NO use setas nas associaes Associaes NO representam fluxo de informao

    Notao:

    Ator(from Use Case View)

    Caso de Uso(from Use Case View)

    interao

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando os relacionamentos de associao

    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 funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando os relacionamentos de associao

    Atendente

    Gerente

    Vender CDs

    Administrar estoque

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Elementos do diagrama

    Atores Casos de uso Relacionamentos

    Associao Generalizao Dependncia: Extenso e Incluso

    Fronteira do sistema

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Relacionamento de generalizaoGeneralizao 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

    Notao:

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando generalizao de atores

    Atendente

    Gerente

    Vender CDs

    Administrar estoque

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Relacionamento de generalizaoGeneralizao 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 aparea

    Dica: deve ser aplicada quando uma condio resulta na definio de diversos fluxos alternativos.

    Notao: Pai

    Filho 1 Filho 2

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando generalizao 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 acrscimo de 20%. As vendas a prazo podem ser pagas no carto ou no boleto. Para pagamento com boleto, so gerados boletos bancrios que so entregues ao cliente e armazenados no sistema para lanamento posterior no caixa. Para pagamento com carto, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando generalizao de casos de uso

    Atendente

    Vender CDs

    Gerente

    Vender CDs vistaVender CDs a prazo

    Administrar estoque

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando mais generalizao 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 acrscimo de 20%. As vendas a prazo podem ser pagas no cartoou no boleto. Para pagamento com boleto, so gerados boletos bancrios que so entregues ao cliente e armazenados no sistema para lanamento posterior no caixa. Para pagamento com carto, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando generalizao de casos de uso

    Atendente

    Vender CDs

    Gerente

    Vender CDs vistaVender CDs a prazo

    Administrar estoque

    Vender c/ cartoVender c/ boleto

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Elementos do diagrama

    Atores Casos de uso Relacionamentos

    Associao Generalizao Dependncia: Extenso e Incluso

    Fronteira do sistema

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Relacionamento de dependncia: Extenso: Representa uma variao/extenso do

    comportamento do caso de uso base O caso de uso estendido s executado

    sob certas circunstncias Separa partes obrigatrias de partes opcionais

    Partes obrigatrias: caso de uso base Partes opcionais: caso de uso estendido

    Fatorar comportamentos variantes do sistema (podendo reusar este comportamento em outros casos de uso)

    Notao:

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando dependncia: extenso

    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 carto, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras vista.

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando dependncia: extenso

    Atendente

    Vender CDs

    Gerente

    Vender CDs vistaVender CDs a prazo

    Administrar estoque

    Vender c/ cartoVender c/ boleto Calcular desconto

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Relacionamento de dependncia: Incluso: Evita repetio ao fatorar uma atividade

    comum a dois ou mais casos de uso Um caso de uso pode incluir vrios casos de uso

    Notao:

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando dependncia: incluso

    Novos requisitos: Para efetuar vendas ou administrar estoque, atendentes e gerentes

    tero que validar suas respectivas senhas de acesso ao sistema.

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando dependncia: incluso

    Atendente

    Gerente

    Vender CDs vistaVender CDs a prazo

    Vender c/ cartoVender c/ boleto Calcular desconto

    Fazer login

    Vender CDs

    Administrar estoque

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Elementos do diagrama

    Atores Casos de uso Relacionamentos

    Associao Generalizao Dependncia: Extenso e Incluso

    Fronteira do sistema

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Fronteira do Sistema Elemento opcional (mas essencial para um bom entendimento) Serve para definir a rea de atuao do sistema

    Notao:

  • UNIP-PB

    Elementos Diagrama de Casos de Uso

    Exemplo: Loja de CDs

    Identificando a fronteira do sistema

    Atendente

    Gerente

    Vender CDs vistaVender CDs a prazo

    Vender c/ cartoVender c/ boleto Calcular desconto

    Fazer login

    Vender CDs

    Administrar estoque

  • UNIP-PB

    Descrio de Casos de Uso

    A descrio mais importante do que o diagrama UML no especifica padro

    Pode ser: Informal Tpica Detalhada

  • UNIP-PB

    Descrio de Casos de Uso

    Descrio Informal Contm o nome do caso de uso e

    uma descrio textual de sua funcionalidade

    Exemplo:

  • UNIP-PB

    Descrio de Casos de Uso

    Descrio Tpica Contm:

    Identificao do ator que iniciou o caso de uso Pr-requisitos (se houver) do caso de uso Descrio textual do:

    Fluxo normal Fluxos alternativos (se houver)

    Exemplo:

  • UNIP-PB

    Descrio de Casos de Uso

    Descrio Detalhada (Ex.1) Contm:

    Identificao do ator que iniciou o caso de uso Objetivo Nvel Pr-requisitos (se houver) do caso de uso Condies de disparo (triggers) Descrio textual do:

    Fluxo normal Fluxos alternativos (se houver)

  • Exemplo 1:

  • UNIP-PB

    Descrio de Casos de Uso

    Descrio Detalhada (Ex.2) Contm:

    Nome Descrio sucinta Atores Pr-condies Ps-condies Fluxo bsico Fluxos alternativos Fluxos de exceo Estruturas de dados Regras de negcio Observaes

  • Exemplo 2: (usar nos trabalhos!)

  • Exemplo 2 (cont.): (usar nos trabalhos!)

  • Exemplo 2 (cont.): (usar nos trabalhos!)

  • UNIP-PB

    Exemplo: Blog

    Um blog uma ferramenta de colaborao

    Um blog formado por um conjunto de contedos:

    notas

    comentrios sobre as notas

    Os contedos possuem as seguintes informaes: texto, data de criao e autor

    Os usurios de um blog podem ser:

    Usurio: pode ler contedos de um blog, comentar uma nota, remover comentrios, e pode criar um blog.

    Dono do blog: alm de todas as funcionalidades de um usurio comum, o dono do blog pode criar notas e remover notas

    Para remover um contedo o usurio precisa ler o contedo antes

  • UNIP-PB

    Exemplo: Blog

    blogSystem

    Criar Comentario

    Ler Conteudo

    Remover Conteudo Remover Nota

    Remover Comentario

    Criar Blog

    Ler Comentario

    Ler Nota

    Criar Nota

    Usuario

    Dono do blog

  • UNIP-PB

    Ferramentas de Modelagem

    Omondo Plugin para Eclipse - http://www.omondo.com/ Jude - https://jude.change-vision.com/jude-web/ Together - http://www.borland.com/products/downloads/download_together.html IBM Rational Software Modeler - http://www.ibm.com/software/rational ...

  • UNIP-PB

    Ferramentas de Modelagem - Omondo

  • UNIP-PB

    Ferramentas de Modelagem - JUDE

  • UNIP-PB

    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.