• Nenhum resultado encontrado

Diagramas de Casos de Uso

N/A
N/A
Protected

Academic year: 2022

Share "Diagramas de Casos de Uso"

Copied!
41
0
0

Texto

(1)

Diagramas de Casos de Uso

Alexandre Monteiro

(2)

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

(3)

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

(4)

Use Case e Ator

Alguém ou alguma coisa (fora do

sistema) que interage com o sistema

Emissor/Receptor

(5)

Use Case e Ator

Função Emissor

Função Receptor

Ator Particular Resultado de Valor Observel

(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 representando um fluxo de eventos

específico

(7)

Use Case e Ator

Função Emissor

Passo 1 Passo 2

Passo N Descrição

(8)

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

(9)

Exemplo de Use Case e Ator

Cliente Transferir

dinheiro

Sacar dinheiro

Consultar saldo

Valor de resultado observável

(10)

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?

(11)

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

(12)

Identificando Use Cases

Facilitar gerenciamento durante ciclo de desenvolvimento

A razão para agrupar funcionalidades e chamá-las de use cases

(13)

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.

(14)

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

(15)

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

(16)

Pacote de Use Case

Primeiro esforço de estruturação

Agrupam-se use cases relacionados em único container

(17)

Pacote de Use Cases

Clientes

Clientes :: Atendimento

(18)

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

(19)

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

(20)

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

(21)

Inclusão

Sacar dinheiro

Consultar saldo Autenticar

usuário

<< include >> << include >>

(22)

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

(23)

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

(24)

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

(25)

Extensão

Atendimento

Pontos de extensão urgente

Atendimento de urgência

<< extend >>

(urgente)

(26)

Extensão

Descrição de Atendimento

Fluxo de Eventos Principal:

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

(27)

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

(28)

Especialização

Atendimento Atendimento

de urgência

 

Cliente Cliente

comercial

(29)

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

(30)

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)

(31)

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”

(32)

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.

(33)

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.

(34)

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

(35)

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)

(36)

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.

(37)

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

(38)

Elementos de um Diag. Ativ.

(39)

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

(40)

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

(41)

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.

Referências

Documentos relacionados

As JSPs criadas seguem as exigências dos casos de uso, com páginas para criar conta, ver detalhes do filhote, transferir dinheiro e adotar e vender animais. Em seguida, foram

UNBALANCED  no lado de trás do receptor a uma entrada des- balanceada LINE (entrada jack de 6,3 mm) na mesa de mixagem.. Gire o controle VOLUME na placa frontal do receptor até

1º O Ministro de Estado da Educação, no uso de suas atribuições, convoca as organizações da sociedade civil interessadas em participar do processo eletivo para

Novo lote de créditos da Nota Fiscal Paulista libera R$ 679 milhões em outubro; veja como transferir o dinheiro para a sua conta.. Em outubro, a Secretaria da Fazenda de São

adolescência, como morador de periferia, havia apenas esperado até o amanhecer do outro lado da cidade, para poder voltar para a casa pagando a tarifa de ônibus, com o dinheiro da

c) Eu não tenho bagagem de mão, apenas uma ... caso você tenha acidentes na sua viagem. h) Você vai pagar com dinheiro ou ... pegar prendre sacar dinheiro faire un retraite caso

A Secretaria de Estado de Desenvolvimento e Inovação/Superintendência de Capacitação e Formação Tecnológica, em parceria com a Secretaria de Estado

Na documentação disponível no Arquivo do Mu- nicípio de Carrazeda de Ansiães, nomeadamente nos livros de “Licenças de Comércio e Indústria” encontram-se referências