aula 01 - diagrama de casos de uso

62
Diagrama de Casos de Uso Aula 01 Prof. Kleinner Farias Programa Interdisciplinar de PósGraduação em Computação Aplicada – PIPCA Universidade do Vale do Rio dos Sinos 1 27/02/14 @KleinnerFarias 1

Upload: valeska-b-jacobsen

Post on 16-Jan-2016

280 views

Category:

Documents


4 download

DESCRIPTION

Diagrama de casos de uso

TRANSCRIPT

Page 1: Aula 01 - Diagrama de Casos de Uso

Diagrama  de  Casos  de  Uso  Aula  01  

Prof.  Kleinner  Farias  Programa  Interdisciplinar  de  Pós-­‐Graduação    

em  Computação  Aplicada  –  PIPCA  Universidade  do  Vale  do  Rio  dos  Sinos  

     ��

1 �

27/02/14   @KleinnerFarias   1  

Page 2: Aula 01 - Diagrama de Casos de Uso

Desafio e Contextualização �

27/02/14   @KleinnerFarias   2  

Page 3: Aula 01 - Diagrama de Casos de Uso

Desafio e Contextualização �

Problema ao: �1) Elicitar os requisitos�2) Especificar os requisitos�3) Validar os requisitos�

27/02/14   @KleinnerFarias   3  

Page 4: Aula 01 - Diagrama de Casos de Uso

Desafio e Contextualização �

Como especificar requisitos de software de uma maneira adequada?�

27/02/14   @KleinnerFarias   4  

Page 5: Aula 01 - Diagrama de Casos de Uso

ObjeMvos  •  Compreender  conceitos  centrais  em  engenharia  de  requisitos  

•  Entender  a  importância  de  casos  de  uso  e  quem  usa  os  casos  de  uso  

•  Compreender  como  criar  diagrama  e  especificação  de  casos  de  uso  

•  EsMmular  a  análise  de  situações  coMdianas  vividas  por  um  engenheiro  de  requisitos  

27/02/14   @KleinnerFarias   5  

Page 6: Aula 01 - Diagrama de Casos de Uso

Agenda  

•  Introdução  •  Elementos  do  diagrama  de  casos  de  uso  •  Especificação  de  casos  de  uso  •  Ferramentas  de  modelagem  •  Referências  

27/02/14   @KleinnerFarias   6  

Page 7: Aula 01 - Diagrama de Casos de Uso

Introdução  •  O  que  são  requisitos  de  so<ware?  

– São  funcionalidades/serviços  fornecidos  pelo  soYware  e  as  suas  restrições  operacionais.  

•  Quais  são  os  @pos  de  requisitos?  – Requisitos  de  usuário  – Requisitos  de  sistema  

•  Funcionais,  não-­‐funcionais  e  de  domínio  

27/02/14   @KleinnerFarias   7  

Page 8: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Requisitos  de  usuário:  

– São  declarações,  em  um  linguagem  natural  com  diagramas,  de  quais  serviços  são  esperados  do  sistema  e  as  restrições  sob  as  quais  eles  devem  operar  

– São  menos  detalhados  com  os  requisitos  de  sistema  

 

27/02/14   @KleinnerFarias   8  

Page 9: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Requisitos  de  sistema:  

– Definem,  detalhadamente,  as  funcionalidades,  os  serviços  e  as  restrições  operacionais  do  sistema  

– Devem  definir  exatamente  o  que  deve  ser  implementado  

– Pode  ser  uMlizado  como  uma  forma  de  “contrato”  entre  o  cliente  e  o  responsável  pelo  desenvolvimento  

– Conhecido  como:  especificação  funcional  

 27/02/14   @KleinnerFarias   9  

Page 10: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Requisitos  funcionais  (cont.):  

– Especificam  as  funcionalidades  que  o  sistema  deve  fornecer,  como  o  sistema  deve  reagir  às  entradas  específicas  e  como  o  sistema  deve  se  comportar  em  determinadas  situações  

– Definem  o  que  o  sistema  deve  fazer  e  não  deve  fazer  

27/02/14   @KleinnerFarias   10  

Page 11: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Requisitos  não-­‐funcionais:  

– São  restrições  sobre  as  funcionalidades  oferecidas  pelo  sistema  

–  Incluem  restrições  de  tempo,  processo  de  desenvolvimento  e  padrões  

– Geralmente  são  requisitos  transversais,  aqueles  que  se  aplicam,  frequentemente,  ao  sistema  como  um  todo  

– Em  geral,  não  se  aplicam  às  caracterísMcas  ou  serviços  individuais  do  sistema  

27/02/14   @KleinnerFarias   11  

Page 12: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Requisitos  não-­‐funcionais:  

– Requisitos  de  produto  •  Transição:  Portabilidade,  Interoperabilidade,  reuso  •  Revisão:  manutenabilidade,  testabilidade,  flexibilidade,  modularidade,  estabilidade  

•  Operação:  eficiência  (espaço  e  desempenho),  integridade,  correção,  e  usabilidade  

27/02/14   @KleinnerFarias   12  

Page 13: Aula 01 - Diagrama de Casos de Uso

•  Requisitos  de  produto:  –  Fatores  de  Qualidade  de  SoYware  de  McCall  

Operação  do  Produto  

Revisão  do    Produto  

Transição    do  Produto  

Portabilidade  Reuso  Interoperabilidade  

Manutenibilidade  Flexibilidade  Testabilidade  

Correção                  Confiabilidade    Usabilidade        Integridade  Eficiência  

Introdução  

Page 14: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Requisitos  não-­‐funcionais:  

– Requisitos  organizacionais  •  Padrões  de  implementação  •  Padrões  organizacionais  

– Requisitos  externos    •  ÉMcos  •  Interoperabilidade  •  Legais:  privacidade  e  segurança  

27/02/14   @KleinnerFarias   14  

Page 15: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Requisitos  de  domínio:  

– São  aqueles  provenientes  do  domínio  da  aplicação  do  sistema  e  que  refletem  as  caracterísMcas  e  as  restrições  desse  domínio  

– Podem  ser  considerados  funcionais  ou  não  funcionais  

27/02/14   @KleinnerFarias   15  

Page 16: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Por  que  usar  Casos  de  Uso?  Qual  a  sua  importância?  – Descrevem  como  os  usuários  interagem  com  o  sistema  (as  funcionalidades  do  sistema)  

– Facilitam  a  organização  dos  requisitos  de  um  sistema  

– Dão  uma  visão  externa  do  sistema  – Exercem  um  papel  crucial  na  análise  e  projeto  de  sistemas  

27/02/14   @KleinnerFarias   16  

Page 17: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Por  que  usar  Casos  de  Uso?  Qual  a  sua  importância?  – Os  casos  de  uso  devem  ser  capazes  de  comunicar  a  funcionalidade  e  o  comportamento  do  sistema  para  o  cliente  

– São  essenciais  durante  a  fase  validação  dos  requisitos  e  implementação  

û Descrevem  o  que  o  sistema  faz,  mas  NÃO  especificam  como  isso  deve  ser  feito  

27/02/14   @KleinnerFarias   17  

Page 18: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Casos  de  uso  no  Processo  Unificado  

27/02/14   @KleinnerFarias   18  

Page 19: Aula 01 - Diagrama de Casos de Uso

Introdução  •  Quem  são  os  usuários?  Por  que  ele  u@lizam?  

27/02/14   @KleinnerFarias   19  

Usuário do Sistema

Especificam  e  leem  os  requisitos  para  verificar  se  eles  atendem  às  suas  necessidades  

Usam  para  planejar  um  pedido  de  proposta  para  o  sistema  e  planejar  o  processo  de  desenvolvimento  

Gerentes  

Usam  para  compreender  qual  sistema  será  desenvolvido  

Engenheiros    de  SoYware  

Usam  os  requisitos  para  desenvolver  testes  para  o  sistema  

Engenheiros    de  Teste  

Usam  os  requisitos  para  compreender  o  sistema  e  os  relacionamentos  entre  suas  partes  

   Engenheiros    de  Manutenção  

Page 20: Aula 01 - Diagrama de Casos de Uso

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  

27/02/14   @KleinnerFarias   20  

Page 21: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

•  Atores  – Representam  os  papéis  desempenhados  por    elementos  externos  ao  sistema    

•  Ex:  humano  (usuário),  disposiMvo  de  hardware  ou    outro  sistema  (cliente)  

– Elementos  que  interagem  com  o  sistema  – Notação:  

27/02/14   @KleinnerFarias   21  

Secretária(from Use Case View)

Diretor(from Use Case View)

Sistema de Relatórios

(from Use Case View)

Page 22: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  os  atores    Uma   loja   de   CDs   possui   discos   para   venda.   Um   cliente   pode   comprar   uma  quanMdade  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.  

27/02/14   @KleinnerFarias   22  

Loja  de  CDS  

Page 23: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  os  atores    Uma   loja   de   CDs   possui   discos   para   venda.   Um   cliente   pode   comprar   uma  quanMdade  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.  

27/02/14   @KleinnerFarias   23  

Loja  de  CDS  

Page 24: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  os  atores                  

•  E  o  cliente?  –  Não  é  ator  pois  ele  não  interage    

com  o  sistema!  

   27/02/14   @KleinnerFarias   24  

Loja  de  CDS  

Gerente

(from Use Case View)

Atendente

(from Use Case View)

Page 25: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

Situação  CoMdiana:  Iden8ficando  os  atores                  

   

Quais  serão  os  atores  do  sistema  do  caixa  eletrônico  do  Banco  do  Brasil?  

Page 26: Aula 01 - Diagrama de Casos de Uso

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  

27/02/14   @KleinnerFarias   26  

Page 27: Aula 01 - Diagrama de Casos de Uso

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:  

27/02/14   @KleinnerFarias   27  

Nome  do  Caso  de  Uso  

Page 28: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  os  UC    Uma   loja   de   CDs   possui   discos   para   venda.   Um   cliente   pode   comprar   uma  quanMdade  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.  

27/02/14   @KleinnerFarias   28  

Loja  de  CDS  

Page 29: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  os  UC    

 

27/02/14   @KleinnerFarias   29  

Loja  de  CDS  Administrar  estoque  

Vender  CDs  

Page 30: Aula 01 - Diagrama de Casos de Uso

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  

27/02/14   @KleinnerFarias   30  

Page 31: Aula 01 - Diagrama de Casos de Uso

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  

Dicas:    û NÃO  use  setas  nas  associações  û Associações  NÃO  representam  fluxo  de  informação  

Notação:  

27/02/14   @KleinnerFarias   31  

Ator(from Use Case View)

Caso de Uso(from Use Case View)

interação

Page 32: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

Exemplo:  Loja  de  CDs  –IdenMficando  associações    Uma   loja   de   CDs   possui   discos   para   venda.   Um   cliente   pode   comprar   uma  quanMdade  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.  

27/02/14   @KleinnerFarias   32  

Loja  de  CDS  

Page 33: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

•  Relacionamento  de  associação  

27/02/14   @KleinnerFarias   33  

Atendente

Gerente

Vender CDs

Administrar estoque

Page 34: Aula 01 - Diagrama de Casos de Uso

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  

27/02/14   @KleinnerFarias   34  

Page 35: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

•  Relacionamento  de  generalização  Generalização  de  atores  –  Quando  dois  ou  mais  atores  podem  se  interagir/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:    

 

27/02/14   @KleinnerFarias   35  

Page 36: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

•  Iden@ficando  generalização  de  atores  

27/02/14   @KleinnerFarias   36  

Atendente

Gerente

Vender CDs

Administrar estoque

Page 37: Aula 01 - Diagrama de Casos de Uso

27/02/14   @KleinnerFarias   37  

•  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  subsMtuir  o  caso  de  uso  pai  em  qualquer  lugar  

que  ele  apareça  

Dica:  deve  ser  aplicada  quando  uma  condição  resulta  na  definição  de  diversos  fluxos  alternaMvos.  

Notação:     Pai

Filho 1 Filho 2

Elementos  –  Diagrama  de  Casos  de  Uso  

Page 38: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   38  

Exemplo:  Loja  de  CDs  –  IdenMficando  generalização  de  casos  de  uso    Novos  requisitos:    –  As  vendas  podem  ser  à  vista  ou  à  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.  

Page 39: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   39  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  generalização  de  casos  de  uso    

Atendente  

Vender  CDs  

Gerente  

Vender  CDs  à  vista  Vender  CDs  a  prazo  

Administrar  estoque  

Page 40: Aula 01 - Diagrama de Casos de Uso

27/02/14   @KleinnerFarias   40  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  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.  

Elementos  –  Diagrama  de  Casos  de  Uso  

Page 41: Aula 01 - Diagrama de Casos de Uso

27/02/14   @KleinnerFarias   41  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  generalização  de  casos  de  uso    

Atendente  

Vender  CDs  

Gerente  

Vender  CDs  à  vista  Vender  CDs  a  prazo  

Administrar  estoque  

Vender  c/  cartão  Vender  c/  boleto  

Elementos  –  Diagrama  de  Casos  de  Uso  

Page 42: Aula 01 - Diagrama de Casos de Uso

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  

27/02/14   @KleinnerFarias   42  

Page 43: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   43  

•  Relacionamento  de  dependência:      Extensão:  

–  Representa  uma  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  

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

Notação:  <<extends>>  

<<extends>>  

Page 44: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   44  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  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.  

Page 45: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   45  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  dependência:  extensão  

Atendente  

Vender  CDs  

Gerente  

Vender  CDs  à  vista  Vender  CDs  a  prazo  

Administrar  estoque  

Vender  c/  cartão  Vender  c/  boleto   Calcular  desconto  

<<extend>>  

<<extend>>  

Page 46: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   46  

•  Relacionamento  de  dependência:      Inclusão:  

–  Evita  repeMção  ao  fatorar  uma  funcionalidade  comum  a  dois  ou  mais  casos  de  uso  

–  Um  caso  de  uso  pode  incluir  vários  casos  de  uso  

Notação:  <<includes>>  

<<includes>>  

Page 47: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   47  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  dependência:  inclusão    Novos  requisitos:    – Para  efetuar  vendas  ou  administrar  estoque,  atendentes  e  gerentes  terão  que  validar  suas  respecMvas  senhas  de  acesso  ao  sistema.  

Page 48: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   48  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  dependência:  inclusão    

Atendente  

Gerente  

Vender  CDs  à  vista  Vender  CDs  a  prazo  

Vender  c/  cartão  Vender  c/  boleto   Calcular  desconto  

<<extend>>  

<<extend>>  

Fazer  login  

Vender  CDs  

Administrar  estoque  <<include>>  

<<include>>  

Page 49: Aula 01 - Diagrama de Casos de Uso

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  

27/02/14   @KleinnerFarias   49  

Page 50: Aula 01 - Diagrama de Casos de Uso

Elementos  –  Diagrama  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   50  

•  Fronteira  do  Sistema  – Elemento  opcional  (mas  essencial  para  um  bom  entendimento)    

– Serve  para  definir  a  área  de  atuação  do  sistema  

Notação:      

Page 51: Aula 01 - Diagrama de Casos de Uso

27/02/14   @KleinnerFarias   51  

Exemplo:  Loja  de  CDs  -­‐  IdenMficando  a  fronteira  do  sistema  

Atendente  

Gerente  

Vender  CDs  à  vista  Vender  CDs  a  prazo  

Vender  c/  cartão  Vender  c/  boleto   Calcular  desconto  

<<extend>>  

<<extend>>  

Fazer  login  

Vender  CDs  

Administrar  estoque  <<include>>  

<<include>>  

Elementos  –  Diagrama  de  Casos  de  Uso  

Page 52: Aula 01 - Diagrama de Casos de Uso

Especificação  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   52  

•  A  especificação  é  mais  detalhada  e  mais  importante  

•  Diagrama  e  especificação  se  complementam  •  Não  existe  um  padrão  de  especificação  •  Tipos  de  especificações:  

–  Informal  – Típica  – Detalhada  

   

Page 53: Aula 01 - Diagrama de Casos de Uso

Especificação  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   53  

•  Especificação  Informal  – Contém  o  nome  do  caso  de  uso  e    uma  descrição  textual  de  sua  funcionalidade  

 Exemplo:  

   

Page 54: Aula 01 - Diagrama de Casos de Uso

Especificação  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   54  

•  Descrição  Típica  – Contém:  

•  IdenMficação  do  ator  que  iniciou  o  caso  de  uso  •  Pré-­‐requisitos  (se  houver)  do  caso  de  uso  •  Descrição  textual  do  Fluxo  normal  e  Fluxos  alternaMvos      

   

Exemplo:  

Page 55: Aula 01 - Diagrama de Casos de Uso

Especificação  de  Casos  de  Uso  

27/02/14   @KleinnerFarias   55  

•  Descrição  Detalhada  (Ex.1)  – Contém:  

•  IdenMficação  do  ator  que  iniciou  o  caso  de  uso  •  ObjeMvo  •  Nível  •  Pré-­‐requisitos  (se  houver)  do  caso  de  uso  •  Condições  de  disparo  (triggers)  •  Descrição  textual  do:  

–  Fluxo  normal  –  Fluxos  alternaMvos  (se  houver)  

Page 56: Aula 01 - Diagrama de Casos de Uso

         Exemplo  1:  

Page 57: Aula 01 - Diagrama de Casos de Uso

 ©  LES/PUC-­‐Rio  

Descrição  de  Casos  de  Uso  •  Descrição  Detalhada  (Ex.2)    

–  Contém:  •  Nome    •  Descrição  sucinta  •  Atores  •  Pré-­‐condições  •  Pós-­‐condições  •  Fluxo  básico  •  Fluxos  alternaMvos  •  Fluxos  de  exceção  •  Estruturas  de  dados  •  Regras  de  negócio  •  Observações  

Usar este tipo

de descrição de

casos de uso

nos trabalhos da

disciplina!

Page 58: Aula 01 - Diagrama de Casos de Uso

Exemplo  2:    (usar  nos  trabalhos!)  

Page 59: Aula 01 - Diagrama de Casos de Uso

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

Page 60: Aula 01 - Diagrama de Casos de Uso

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

Page 61: Aula 01 - Diagrama de Casos de Uso

Ferramentas  •  Borland  Together:hzp://www.borland.com/products/together/  

•  Poseidon:  hzp://www.gentleware.com  

•  Astha:  hzp://astah.net/  

•  IBM  RaMonal  SoYware  Architecthzp://www.ibm.com/soYware/raMonal  

•  Enterprise  Architecthzp://www.sparxsystems.com  

27/02/14   @KleinnerFarias   61  

Page 62: Aula 01 - Diagrama de Casos de Uso

Referências  •  COCKBURN,  A.:  Escrevendo  Casos  de  Uso  Eficazes  –  Um  Guia  PráMco  para  Desenvolvedores  de  SoYware,  Bookman,  2004.  

•  LARMAN,  C.:  UMlizando  UML  e  Padrões:  uma  Introdução  à  Análise  e  ao  Projeto  Orientados  a  Objetos.  Porto  Alegre:  Bookamn,  2007.  492p.  

•  Apresentações  –  LES/PUC-­‐Rio          hzp://www.les.inf.puc-­‐rio.br/wiki/index.php/PSS    

27/02/14   @KleinnerFarias   62