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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Extensão
• Use case pode ser estendido por outro
– Extensão de funcionalidade/Caso excepcional
• Extensão ocorre em pontos específicos
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
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
Extensão
• Descrição de Atendimento
• Fluxo de Eventos Principal:
– Colete os itens do pedido. (urgente). Submeta
pedido para processamento.
19
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
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
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
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
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).
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
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
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
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:
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
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
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
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