Diagramas de Casos de Uso

41
Diagramas de Casos de Uso Alexandre Monteiro

description

Diagramas de Casos de Uso. Alexandre Monteiro. 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. - PowerPoint PPT Presentation

Transcript of Diagramas de Casos de Uso

Page 1: Diagramas de Casos de Uso

Diagramas de Casos de Uso

Alexandre Monteiro

Page 2: Diagramas de Casos de Uso

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

Page 3: Diagramas de Casos de Uso

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

Page 4: Diagramas de Casos de Uso

Use Case e Ator Alguém ou

alguma coisa (fora do sistema) que interage com o sistema

Emissor/Receptor

Page 5: Diagramas de Casos de Uso

Use Case e Ator

FunçãoEmissor

FunçãoReceptor

Ato

r Part

icu

lar

Resu

ltad

o d

e V

alo

r O

bse

rvável

Page 6: Diagramas de Casos de Uso

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

Page 7: Diagramas de Casos de Uso

Use Case e Ator

Função

Emissor

Passo 1Passo 2…Passo N

Descrição

Page 8: Diagramas de Casos de Uso

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

Page 9: Diagramas de Casos de Uso

Exemplo de Use Case e Ator

Cliente

Transferirdinheiro

Sacardinheiro

Consultarsaldo

Valor deresultado

observável

Page 10: Diagramas de Casos de Uso

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?

Page 11: Diagramas de Casos de Uso

Identificando Use Cases

Representar valor observável para ator

Pode-se determinar 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

Page 12: Diagramas de Casos de Uso

Identificando Use Cases

Facilitar gerenciamento durante ciclo de desenvolvimento A razão para agrupar funcionalidades

e chamá-las de use cases

Page 13: Diagramas de Casos de Uso

Exercício

Tenho um sistema que é acionado 2 vezes por dia (às 10:20hs e 17:20hs), enviando-me um SMS. Também tenho como obter resultado semelhante acessando tal funcionalidade a partir de meu celular (web browser). Crie os casos de uso correspondentes.

Page 14: Diagramas de Casos de Uso

Evolução de Use Cases Inicialmente use cases são simples

Apenas esboço sobre funcionamento é suficiente

Mas com a sedimentação da modelagem Descrição mais detalhada do fluxo de eventos

faz-se necessária Fluxo de eventos deve ser refinado

Todos os stakeholders envolvidos devem estar de acordo com a descrição

Page 15: Diagramas de Casos de Uso

Organizando Use Cases

Sistema pequeno não demanda estruturação Exemplo, seis use cases, com

dois/três atores Já sistemas maiores requerem

princípios de estruturação e organização Caso contrário, planejamento,

atribuição de prioridades, etc., podem se tornar difíceis

Page 16: Diagramas de Casos de Uso

Pacote de Use Case

Primeiro esforço de estruturação Agrupam-se use cases

relacionados em único container

Page 17: Diagramas de Casos de Uso

Pacote de Use Cases

ClientesClientes :: Atendimento

Page 18: Diagramas de Casos de Uso

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

Page 19: Diagramas de Casos de Uso

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

Page 20: Diagramas de Casos de Uso

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

Page 21: Diagramas de Casos de Uso

Inclusão

Sacardinheiro

Consultarsaldo

Autenticarusuário

<< include >> << include >>

Page 22: Diagramas de Casos de Uso

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). ...

Page 23: Diagramas de Casos de Uso

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

Page 24: Diagramas de Casos de Uso

Extensão

Há também inclusã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

Page 25: Diagramas de Casos de Uso

Extensão

Atendimento

Pontos de extensãourgente

Atendimentode urgência

<< extend >>(urgente)

Page 26: Diagramas de Casos de Uso

Extensão

Descrição de Atendimento Fluxo de Eventos Principal:

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

Page 27: Diagramas de Casos de Uso

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

Page 28: Diagramas de Casos de Uso

Especialização

AtendimentoAtendimentode urgência

ClienteClientecomercial

Page 29: Diagramas de Casos de Uso

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

Page 30: Diagramas de Casos de Uso

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)

Page 31: Diagramas de Casos de Uso

Exemplo de Fluxo de Eventos Um esboço inicial sobre Sacar

dinheiro seria1. 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”

Page 32: Diagramas de Casos de Uso

Exemplo de Fluxo de Eventos

Um esboço inicial sobre Sacar dinheiro seria

4. Sistema pede a quantia a sacar. Cliente informa.

5. Sistema pede seleção da conta (corrente, etc). Cliente informa.

6. Sistema comunica com a rede para validar a conta, senha e o valor a sacar.

Page 33: Diagramas de Casos de Uso

Exemplo de Fluxo de Eventos

Um esboço inicial sobre Sacar dinheiro seria

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

8. Sistema entrega quantia solicitada.

Page 34: Diagramas de Casos de Uso

Fluxo de Eventos

Na descrição do que o sistema faz através de fluxos de eventos completos Surgem caminhos alternativos Casos diferentes a considerar Efeitos/valores diferentes a produzir

Eventualmente descreve todos esses caminhos possíveis

Page 35: Diagramas de Casos de Uso

Sub-fluxos de Eventos

Fluxo de eventos visto como Vários sub-fluxos de eventos

Sub-fluxos são descritos como Principal Alternativos/excepcionais

Abordagem visa reuso de fluxos de eventos (sub-fluxos)

Page 36: Diagramas de Casos de Uso

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: Se Cliente entra com senha inválida, o use case

reinicia.

Page 37: Diagramas de Casos de Uso

Diagrama de Atividades

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

Alternativa para modelar fluxos de eventos de casos de uso

Page 38: Diagramas de Casos de Uso

Elementos de um Diag. Ativ.

Page 39: Diagramas de Casos de Uso

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

Page 40: Diagramas de Casos de Uso

Exemplo de Diagrama

Transação decartão

Clientecorporativo

Clienteindividual

Cliente Instituiçãovendedora

Financeira

Sistema de validaçãode cartão de crédito

Processafatura

Reconciliatransações

Gerenciaconta

Page 41: Diagramas de Casos de Uso

Bibliografia

Sommerville, I. Software Engineering

Kruchten, P. The Rational Unified Process: An Introduction. 2nd Ed

Booch, G. et al. The Unified Modeling Language User Guide.