• Nenhum resultado encontrado

14c Casos de Uso

N/A
N/A
Protected

Academic year: 2021

Share "14c Casos de Uso"

Copied!
32
0
0

Texto

(1)

Diagramas  de  Casos  de  

Uso  

Centro  de  Informá-ca  -­‐  Universidade  Federal  de  Pernambuco   Sistemas  de  Informação  

Vinicius  Cardoso  Garcia   vcg@cin.ufpe.br  

 

Slides  originais  elaborados  por  Ian  Sommerville  

(2)

Obje1vos  

•  Introduzir  conceitos  de  use  case,  ator  e  fluxo  

de  eventos  

•  Apresentar  sub-­‐fluxos  de  eventos    

•  Discu-r  sobre  iden-ficação,  evolução  e  

organização  de  use  cases    

•  Apresentar  notação  UML  para  reusar  atores  e  

(3)

Use  Case  

28/3/2012

9

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 49/82

!"#$$%"&'"()*+,-."/012*34-.

49

! Links dos requisitos devem ser marcados como “revisar”

! Links “revisar” devem ser analisados

Req A antes

“if return value > $5”

Req B

Req C

“if return value > $2” Req A depois

Req C Req B

Rastreabilidade: Análise de Impacto

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 50/82

!"#$$%"&'"()*+,-."/012*34-. 50

Diagramas de Casos de Uso

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 51/82

!"#$$%"&'"()*+,-."/012*34-.

Objetivos

" Introduzir conceitos de use case, ator e fluxo de eventos " Apresentar sub-fluxos de eventos

" Discutir sobre identificação, evolução e organização de use cases

" Apresentar notação UML para reusar atores e use cases

51 ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6!"#$$%"&'"()*+,-."/012*34-. 52 Slide 52/82

Use Case

" Seqüência de ações,

executada pelo

sistema, que gera um resultado

• De valor observável

• E para ator particular

Função

Procedimento computacional/algorítmico atômico

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 53/82

!"#$$%"&'"()*+,-."/012*34-.

53

Use Case e Ator

" Alguém ou alguma coisa (fora

do sistema) que interage com

o sistema Emissor/Receptor

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 54/82

!"#$$%"&'"()*+,-."/012*34-.

54

Use Case e Ator

Função Emissor Função Receptor At or P ar ti cu la r Re su lt ad o d e V al or O b se rv áv el 3  

(4)

Use  Case  e  Ator  

•  Alguém  ou  alguma  coisa  

(fora  do  sistema)  que   interage  com  o  sistema  

4  

[if977]  Engenharia  de  SoTware  -­‐  SI  -­‐  CIn  -­‐  UFPE  

28/3/2012

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 49/82

!"#$$%"&'"()*+,-."/012*34-.

49

! Links dos requisitos devem ser marcados como “revisar”

! Links “revisar” devem ser analisados

Req A antes

“if return value > $5”

Req B

Req C

“if return value > $2”

Req A depois

Req C Req B

Rastreabilidade: Análise de Impacto

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 50/82

!"#$$%"&'"()*+,-."/012*34-. 50

Diagramas de Casos de Uso

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 51/82

!"#$$%"&'"()*+,-."/012*34-.

Objetivos

" Introduzir conceitos de use case, ator e fluxo de eventos " Apresentar sub-fluxos de eventos

" Discutir sobre identificação, evolução e organização de use

cases

" Apresentar notação UML para reusar atores e use cases

51 ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6!"#$$%"&'"()*+,-."/012*34-. 52Slide 52/82

Use Case

" Seqüência de ações,

executada pelo

sistema, que gera um resultado

• De valor observável

• E para ator particular

Função

Procedimento computacional/algorítmico atômico

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 53/82

!"#$$%"&'"()*+,-."/012*34-.

53

Use Case e Ator

" Alguém ou alguma coisa (fora

do sistema) que interage com

o sistema

Emissor/Receptor

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 54/82

!"#$$%"&'"()*+,-."/012*34-.

54

Use Case e Ator

Função Emissor Função Receptor At or P ar ti cu la r Re su lt ad o d e V al or O b se rv áv el

(5)

Use  Case  e  Ator  

28/3/2012

9

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 49/82

!"#$$%"&'"()*+,-."/012*34-.

49

! Links dos requisitos devem ser marcados como “revisar” ! Links “revisar” devem ser analisados

Req A antes

“if return value > $5”

Req B

Req C

“if return value > $2”

Req A depois

Req C Req B

Rastreabilidade: Análise de Impacto

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 50/82

!"#$$%"&'"()*+,-."/012*34-. 50

Diagramas de Casos de Uso

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 51/82

!"#$$%"&'"()*+,-."/012*34-.

Objetivos

" Introduzir conceitos de use case, ator e fluxo de eventos " Apresentar sub-fluxos de eventos

" Discutir sobre identificação, evolução e organização de use

cases

" Apresentar notação UML para reusar atores e use cases

51 ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6!"#$$%"&'"()*+,-."/012*34-. 52 Slide 52/82

Use Case

" Seqüência de ações,

executada pelo

sistema, que gera um resultado

• De valor observável • E para ator particular Função

Procedimento computacional/algorítmico atômico

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 53/82

!"#$$%"&'"()*+,-."/012*34-.

53

Use Case e Ator

" Alguém ou alguma coisa (fora

do sistema) que interage com o sistema

Emissor/Receptor

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 54/82

!"#$$%"&'"()*+,-."/012*34-.

54

Use Case e Ator

Função Emissor Função Receptor At or P ar ti cu la r Re su lt ad o d e V al or O b se rv áv el 5  

[if977]  Engenharia  de  SoTware  -­‐  SI  -­‐  CIn  -­‐  UFPE  

28/3/2012

9

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 49/82

!"#$$%"&'"()*+,-."/012*34-.

49

! Links dos requisitos devem ser marcados como “revisar”

! Links “revisar” devem ser analisados

Req A antes

“if return value > $5”

Req B

Req C

“if return value > $2”

Req A depois

Req C Req B

Rastreabilidade: Análise de Impacto

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 50/82

!"#$$%"&'"()*+,-."/012*34-. 50

Diagramas de Casos de Uso

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 51/82

!"#$$%"&'"()*+,-."/012*34-.

Objetivos

" Introduzir conceitos de use case, ator e fluxo de eventos " Apresentar sub-fluxos de eventos

" Discutir sobre identificação, evolução e organização de use cases

" Apresentar notação UML para reusar atores e use cases

51 ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6!"#$$%"&'"()*+,-."/012*34-. 52Slide 52/82

Use Case

" Seqüência de ações,

executada pelo

sistema, que gera um resultado

• De valor observável

• E para ator particular

Função

Procedimento computacional/algorítmico atômico

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 53/82

!"#$$%"&'"()*+,-."/012*34-.

53

Use Case e Ator

" Alguém ou alguma coisa (fora

do sistema) que interage com o sistema

Emissor/Receptor

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 54/82

!"#$$%"&'"()*+,-."/012*34-.

54

Use Case e Ator

Função Emissor Função Receptor At o r P ar ti cu la r Re su lt ad o d e V al o r O b se rv áv el

(6)

Use  Case  e  Ator  

•  A  descrição  de  um  use  case  define  o  que  o   sistema  faz  quando  o  use  case  é  realizado  

•  A  funcionalidade  do  sistema  é  definida  por  um  

conjunto  de  use  cases,  cada  um  

(7)

Use  Case  e  Ator  

28/3/2012

10

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 55/82

!"#$$%"&'"()*+,-."/012*34-.

55

Use Case e Ator

! A descrição de um use case define o que o sistema faz quando o use case é realizado

! A funcionalidade do sistema é definida por um conjunto de

use cases, cada um representando um fluxo de eventos

específico

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 56/82

!"#$$%"&'"()*+,-."/012*34-.

56

Use Case e Ator

Função Emissor Passo 1 Passo 2 … Passo N Descrição

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 57/82

!"#$$%"&'"()*+,-."/012*34-.

57

Exemplo de Use Case e Ator

! Cliente de banco pode usar um caixa automático para

• sacar dinheiro, transferir dinheiro ou consultar o saldo da conta

! Ator: Cliente

! Use cases: Sacar dinheiro, transferir dinheiro e consultar

saldo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 58/82

!"#$$%"&'"()*+,-."/012*34-.

58

Exemplo de Use Case e Ator

Cliente Transferir dinheiro Sacar dinheiro Consultar saldo Valor de resultado observável

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 59/82

!"#$$%"&'"()*+,-."/012*34-.

59

Identificando Use Cases

! Em geral, difícil decidir entre um ou vários use cases.

Por exemplo, seriam use cases

• Inserir cartão em um Caixa Automático?

• Entrar com a senha?

• Receber o cartão de volta?

! Representarm valor observável para ator. Pode-se

determinar

• A partir de interações (seqüência de ações) com o sistema que

resultam valores para atores

• Satisfaz um objetivo particular de um ator que o sistema deve

prover

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 60/82

!"#$$%"&'"()*+,-."/012*34-.

60

Reuso em Use Cases

! Comportamento comum a mais de dois use cases (ou forma parte independente)

Pode-se modelar como use case para ser reusado ! Há três possibilidades

• Inclusão • Extensão

• Generalização/Especialização

7  

(8)

Exemplos  de  Use  Case  e  Ator  

•  Cliente  de  banco  pode  usar  um  caixa  

automá-co  para  

– sacar  dinheiro,  transferir  dinheiro  ou  consultar  o  

saldo  da  conta  

•  Ator:  Cliente  

•  Use  cases:  Sacar  dinheiro,  transferir  dinheiro  

(9)

Exemplos  de  Use  Case  e  Ator  

28/3/2012

10

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 55/82 !"#$$%"&'"()*+,-."/012*34-.

55

Use Case e Ator

! A descrição de um use case define o que o sistema faz

quando o use case é realizado

! A funcionalidade do sistema é definida por um conjunto de

use cases, cada um representando um fluxo de eventos

específico

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 56/82 !"#$$%"&'"()*+,-."/012*34-.

56

Use Case e Ator

Função Emissor Passo 1 Passo 2 … Passo N Descrição

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 57/82 !"#$$%"&'"()*+,-."/012*34-.

57

Exemplo de Use Case e Ator

! Cliente de banco pode usar um caixa automático para

• sacar dinheiro, transferir dinheiro ou consultar o saldo da conta

! Ator: Cliente

! Use cases: Sacar dinheiro, transferir dinheiro e consultar

saldo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 58/82 !"#$$%"&'"()*+,-."/012*34-.

58

Exemplo de Use Case e Ator

Cliente Transferir dinheiro Sacar dinheiro Consultar saldo Valor de resultado observável

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 59/82 !"#$$%"&'"()*+,-."/012*34-.

59

Identificando Use Cases

! Em geral, difícil decidir entre um ou vários use cases. Por exemplo, seriam use cases

• Inserir cartão em um Caixa Automático?

• Entrar com a senha?

• Receber o cartão de volta?

! Representarm valor observável para ator. Pode-se determinar

• A partir de interações (seqüência de ações) com o sistema que

resultam valores para atores

• Satisfaz um objetivo particular de um ator que o sistema deve

prover

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 60/82 !"#$$%"&'"()*+,-."/012*34-.

60

Reuso em Use Cases

! Comportamento comum a mais de dois use cases (ou forma

parte independente)

Pode-se modelar como use case para ser reusado

! Há três possibilidades

• Inclusão

• Extensão

• Generalização/Especialização

9  

(10)

Iden1ficando  Use  Cases  

•  Em  geral,  dibcil  decidir  entre  um  ou  vários  use   cases.  Por  exemplo,  seriam  use  cases  

–  Inserir  cartão  em  um  Caixa  Automá-co?  

–  Entrar  com  a  senha?  

–  Receber  o  cartão  de  volta?  

•  Representam  valor  observável  para  ator.  Pode-­‐se   determinar  

–  A  par-r  de  interações  (sequência  de  ações)  com  o  

sistema  que  resultam  valores  para  atores  

–  Sa-sfaz  um  obje-vo  par-cular  de  um  ator  que  o  

(11)

Reuso  em  Use  Cases  

•  Comportamento  comum  a  mais  de  dois  use  

cases  (ou  forma  parte  independente)  

– Pode-­‐se  modelar  como  use  case  para  ser  reusado    

•  Há  três  possibilidades  

– Inclusão  

– Extensão  

– Generalização/Especialização  

11  

(12)

Inclusão  

•  Vários  use  cases  possuem  texto  de  fluxo  de  

eventos  

– Comum/idên-co  

– Sempre  usado  

•  Equivalente  a  fatoração  feita  em  programação  

atraés  de  sub-­‐  programas  

(13)

Inclusão  

•  Como  exemplo,  tanto  “Sacar  dinheiro”  quanto  

“Consultar  saldo”  necessitam  da  senha  

– Pode-­‐se  criar  novo  use  case  “Auten-car  usuário”  e  

incluí-­‐lo  

•  Mas  atenção  

– NÃO  SE  DEVE  CRIAR  USE  CASES  MÍNIMOS  

– Deve  haver  ganho  no  reuso  

13  

(14)

Inclusão  

28/3/2012

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 61/82

!"#$$%"&'"()*+,-."/012*34-.

61

Inclusão

! Vários use cases possuem texto de fluxo de eventos • Comum/idêntico

• Sempre usado

! Equivalente a fatoração feita em programação através de sub-programas

• #include da linguagem C

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 62/82

!"#$$%"&'"()*+,-."/012*34-.

62

Inclusão

! Como exemplo, tanto “Sacar dinheiro” quanto

“Consultar saldo” necessitam da senha

• Pode-se criar novo use case “Autenticar usuário” e

incluí-lo

! Mas atenção

• NÃO SE DEVE CRIAR USE CASES MÍNIMOS • Deve haver ganho no reuso

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 63/82

!"#$$%"&'"()*+,-."/012*34-.

63

Inclusão

Sacar

dinheiro Consultarsaldo

Autenticar usuário

<< include >> << include >>

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 64/82

!"#$$%"&'"()*+,-."/012*34-.

64

Inclusão

! Descrição de Consultar saldo

• Fluxo de Eventos Principal:

• include (Autenticar usuário). Sistema pede a Cliente que selecione tipo de conta (corrente, etc). ...

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 65/82

!"#$$%"&'"()*+,-."/012*34-.

65

Extensão

! Use case pode ser estendido por outro

• Extensão de funcionalidade/Caso excepcional ! Extensão ocorre em pontos específicos

• Pontos de extensão

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 66/82

!"#$$%"&'"()*+,-."/012*34-.

66

Extensão

! Há também extensão de texto (fluxo de eventos) • Porém sob condições particulares

! Pode ser usada para

• Simplificar fluxos de eventos complexos • Representar comportamentos opcionais • Lidar com exceções

14  

(15)

Inclusão  

•  Descrição  de  Consultar  saldo  

– Fluxo  de  Eventos  Principal:    

•  include  (Auten-car  usuário).  Sistema  pede  a  Cliente   que  selecione  -po  de  conta  (corrente,  etc)  

15  

(16)

Extensão  

•  Use  case  pode  ser  estendido  por  outro  

– Extensão  de  funcionalidade/Caso  excepcional  

•  Extensão  ocorre  em  pontos  específicos  

(17)

Extensão  

•  Há  também  extensão  de  texto  (fluxo  de  

eventos)  

– Porém  sob  condições  par-culares  

•  Pode  ser  usada  para  

– Simplificar  fluxos  de  eventos  complexos  

– Representar  comportamentos  opcionais  

– Lidar  com  exceções  

17  

(18)

Extensão  

28/3/2012

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 67/82

!"#$$%"&'"()*+,-."/012*34-. 67

Extensão

Atendimento Pontos de extensão urgente Atendimento de urgência << extend >> (urgente)

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 68/82

!"#$$%"&'"()*+,-."/012*34-.

68

Extensão

! Descrição de Atendimento

• Fluxo de Eventos Principal:

• Colete os itens do pedido. (urgente). Submeta pedido para processamento.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 69/82

!"#$$%"&'"()*+,-."/012*34-.

69

Especialização

! Use case pode especializar outro

• Adição/refinamento do fluxo de eventos original

! Especialização permite modelar comportamento de estruturas

de aplicação em comum

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 70/82

!"#$$%"&'"()*+,-."/012*34-.

Especialização

Atendimento Atendimento de urgência ! ! Cliente Cliente comercial

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 71/82

!"#$$%"&'"()*+,-."/012*34-.

71

Fluxo de Eventos

! Parte mais importante de um use case

• Atividade de requisitos

! Define a seqüência de ações entre o ator e o sistema

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 72/82

!"#$$%"&'"()*+,-."/012*34-.

72

Fluxo de Eventos

! Geralmente em linguagem natural

• Uso preciso de termos definidos no glossário de acordo com o domínio do problema

! Também expresso formalmente

• Pré e pós-condições (ou pseudo-código)

18  

(19)

Extensão  

•  Descrição  de  Atendimento  

•  Fluxo  de  Eventos  Principal:  

– Colete  os  itens  do  pedido.  (urgente).  Submeta  

pedido  para  processamento.  

19  

(20)

Especialização  

•  Use  case  pode  especializar  outro  

– Adição/refinamento  do  fluxo  de  eventos  original  

•  Especialização  permite  modelar  

comportamento  de  estruturas  de  aplicação   em  comum  

(21)

Especialização  

28/3/2012

12

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 67/82

!"#$$%"&'"()*+,-."/012*34-. 67

Extensão

Atendimento Pontos de extensão urgente Atendimento de urgência << extend >> (urgente)

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 68/82

!"#$$%"&'"()*+,-."/012*34-.

68

Extensão

! Descrição de Atendimento

• Fluxo de Eventos Principal:

• Colete os itens do pedido. (urgente). Submeta pedido para processamento.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 69/82

!"#$$%"&'"()*+,-."/012*34-.

69

Especialização

! Use case pode especializar outro

• Adição/refinamento do fluxo de eventos original

! Especialização permite modelar comportamento de estruturas

de aplicação em comum

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 70/82

!"#$$%"&'"()*+,-."/012*34-.

Especialização

Atendimento Atendimento de urgência ! ! Cliente Cliente comercial

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 71/82

!"#$$%"&'"()*+,-."/012*34-.

71

Fluxo de Eventos

! Parte mais importante de um use case

• Atividade de requisitos

! Define a seqüência de ações entre o ator e o sistema

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 72/82

!"#$$%"&'"()*+,-."/012*34-.

72

Fluxo de Eventos

! Geralmente em linguagem natural

• Uso preciso de termos definidos no glossário de acordo com o domínio do problema

! Também expresso formalmente

• Pré e pós-condições (ou pseudo-código)

21  

(22)

Fluxo  de  Eventos  

•  Parte  mais  importante  de  um  use  case  

– A-vidade  de  requisitos  

•  Define  a  seqüência  de  ações  entre  o  ator  e  o   sistema  

(23)

Fluxo  de  Eventos  

•  Geralmente  em  linguagem  natural  

– Uso  preciso  de  termos  definidos  no  glossário  de  

acordo  com  o  domínio  do  problema    

•  Também  expresso  formalmente  

– Pré  e  pós-­‐condições  (ou  pseudo-­‐código)  

23  

(24)

Exemplo  de  Fluxo  de  Eventos  

•  Um  esboço  inicial  sobre  Sacar  dinheiro  seria    

1.  O  use  case  inicia  quando  o  Cliente  insere  um  

cartão  no  CA.  Sistema  lê  e  valida  informação  do   cartão    

2.  Sistema  pede  a  senha.  Cliente  entra  com  a   senha.  Sistema  valida  a  senha.    

3.  Sistema  pede  seleção  do  serviço.  Cliente  escolhe   “Sacar  dinheiro”    

4.  Sistema  pede  a  quan-a  a  sacar.  Cliente  informa.     5.  Sistema  pede  seleção  da  conta  (corrente,  etc).  

(25)

Exemplo  de  Fluxo  de  Eventos  

•  Um  esboço  inicial  sobre  Sacar  dinheiro  seria    

1.  Sistema  comunica  coma  rede  para  validar  a   conta,  senha  e  o  valor  a  sacar.  

2.  Sistema  pede  remoção  do  cartão.  Cliente   remove.  

3.  Sistema  entrega  quan-a  solicitada.  

25  

(26)

Fluxo  de  Eventos  

•  Na  descrição  do  que  o  sistema  faz  através  de  

fluxos  de  eventos  completos  

– Surgem  caminhos  alterna-vos    

– Casos  diferentes  a  considerar    

– Efeitos/valores  diferentes  a  produzir  

•  Eventualmente  descreve  todos  esses  

(27)

Sub-­‐fluxos  de  Eventos  

•  Fluxo  de  eventos  visto  como  

– Vários  sub-­‐fluxos  de  eventos  

•  Sub-­‐fluxos  são  descritos  como  

– Principal  

– Alterna-vos/excepcionais  

•  Abordagem  visa  reuso  de  fluxos  de  eventos  

(sub-­‐fluxos)  

27  

(28)

Exemplo  de  Sub-­‐fluxos    

•  Seja  o  use  case  Validar  usuário  

–  Fluxo  principal:    

•  O  use  case  inicia  quando  o  sistema  pede  ao  Cliente  a  senha.   Cliente  entra  com  senha.  Sistema  verifica  se  a  senha  é  

válida.  Se  a  senha  é  válida,  sistema  confirma  e  termina  o  use   case.  

•  Fluxo  excepcional:  

–  Cliente  pode  cancelar  a  transação  a  qualquer  

momento  pressionando  a  tecla  ESC,  reiniciando  o  use   case.  Nenhuma  modificação  é  feita  na  conta  do  

Cliente.  

•  Fluxo  excepcional:  

(29)

Diagrama  de  A1vidades  

•  Descreve  fluxo  de  tarefas  

– Aspectos  dinâmicos  de  um  sistema  

– Podem  também  ser  usados  para  criar  sistemas  

executáveis  

•  Depende  do  nível  de  detalhamento  e  grau  de  execução   dos  elementos  usados    

•  Alterna-va  para  modelar  fluxos  de  eventos  de  

casos  de  uso  

29  

(30)

Diagrama  de  A1vidades  

28/3/2012

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 79/82

!"#$$%"&'"()*+,-."/012*34-.

Diagrama de atividades: exemplo

79 ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6!"#$$%"&'"()*+,-."/012*34-. 80 Slide 80/82

Diagramas de Use Cases

! Caracterizar limites da funcionalidade do sistema

Use cases são organizados dentro de um diagrama

! Em diagramas de use cases

• Atores são relacionados por generalização/especialização

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 81/82

!"#$$%"&'"()*+,-."/012*34-. 81

Exemplo de Diagrama

Transação de cartão Cliente corporativo Cliente individual Cliente Instituição vendedora Financeira Sistema de validação de cartão de crédito Processa fatura Reconcilia transações Gerencia conta

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 82/82

!"#$$%"&'"()*+,-."/012*34-.

Alguns casos de uso do LIBSYS

30  

(31)

Diagramas  de  Use  Cases  

•  Caracterizar  limites  da  funcionalidade  do  

sistema  

– Use  cases  são  organizados  dentro  de  um  diagrama  

•  Em  diagramas  de  use  cases  

– Atores  são  relacionados  por  generalização/

especialização  

31  

(32)

Exemplo  de  Diagrama  

28/3/2012

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 79/82 !"#$$%"&'"()*+,-."/012*34-.

Diagrama de atividades: exemplo

79 ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6!"#$$%"&'"()*+,-."/012*34-. 80 Slide 80/82

Diagramas de Use Cases

! Caracterizar limites da funcionalidade do sistema

Use cases são organizados dentro de um diagrama

! Em diagramas de use cases

• Atores são relacionados por

generalização/especialização

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 81/82 !"#$$%"&'"()*+,-."/012*34-. 81

Exemplo de Diagrama

Transação de cartão Cliente corporativo Cliente individual Cliente Instituição vendedora Financeira Sistema de validação de cartão de crédito Processa fatura Reconcilia transações Gerencia conta

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 82/82 !"#$$%"&'"()*+,-."/012*34-.

Alguns casos de uso do LIBSYS

32  

Referências

Documentos relacionados

Esse tipo de questionamento é chamado arrependimento pós-compra ou dissonância cognitiva (GIGLIO, 2003, p. Observando o cotidiano de qualquer pessoa, verifica-se que

Embora os resultados demonstrem que os profissionais estudados apresentam boas condições emocionais (dedicação), a redução observada nas dimensões vigor, absorção e escore

Mineração de conhecimento interativa em níveis diferentes de abstração: Como é  difícil  prever  o  que  exatamente  pode  ser  descoberto  de  um  banco 

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

Ele terá o campo Status Cartão com “07-Crédito Aprovado”, ficando disponível para a emissão do cartão e definição de limite de crédito, este cliente não será listado

Dentre as atividades parciais efetivas que compuse- ram o ciclo operacional, é possível observar que o tempo despendido para a atividade parcial “irrigar”, em ambos os tratamentos,

Em caso de roubo ou furto que o impossibilite de assumir o pagamento de despesas com hospedagem em hotéis e/ ou títulos de transporte, o Portador conta com um adiantamento de até

et al., (2012), nos estudos realizados sobre o PCK, são propostas algumas estratégias para reconhecê-lo, como entrevistas, observações de aulas, análise de planejamentos de ensino