UML Unified Modeling Language

35
Professor: André Gustavo Bastos Lima UML Unified Modeling Language

description

UML Unified Modeling Language. Diagramas de Casos de Uso. Definição de Caso de Uso. Segundo o RUP: “Um Caso de Uso é a relação de uma seqüência de ações que um sistema executa produzindo um resultado de valor observável para um ator específico.”. UML - Diagrama de Casos de Uso. Aluno. - PowerPoint PPT Presentation

Transcript of UML Unified Modeling Language

Page 1: UML Unified Modeling Language

Professor: André Gustavo Bastos Lima

UMLUnified Modeling Language

Page 2: UML Unified Modeling Language

Professor: André Gustavo Bastos Lima

Diagramas de Casos de Uso

Page 3: UML Unified Modeling Language

DEFINIÇÃO DE CASO DE USO

Segundo o RUP:

“Um Caso de Uso é a relação de uma seqüência de ações que um sistema executa produzindo

um resultado de valor observável para um ator específico.”

Page 4: UML Unified Modeling Language

UML - DIAGRAMA DE CASOS DE USO

Consultar Disponibilidade

Inscrever em Curso

Atualizar Financeiro

Aluno

<<extend>>

<<include>>

Page 5: UML Unified Modeling Language

UML - DIAGRAMA DE CASOS DE USO Visão de alto nível (perspectiva externa e dos atores); O mais informal do diagramas da UML;

Representa o conjunto de atores, casos de uso, seus relacionamentos e responsabilidades;

Ajuda a capturar os requisitos funcionais do sistema;

É importante para a organização e modelagem de comportamentos do sistema (representação dinâmica);

A sua documentação é essencial (outros diagramas da UML, como de atividades e de seqüência, mais formais e precisos, podem ser usados nessa documentação).

Page 6: UML Unified Modeling Language

UML - DIAGRAMA DE CASOS DE USO

São as ações dos usuários com começo, meio e fim;

Pode ser simples ou complexo, ter alguns parágrafos ou várias páginas (ou diagramas) em sua documentação;

As funcionalidades do sistema podem ser rastreadas para casos de uso;

São exemplos: Sacar Dinheiro, Comprar Produtos, Abrir Conta, Pagar Título Bancário etc.

Page 7: UML Unified Modeling Language

ANATOMIA DO CASO DE USO

Descrição

Fluxo Básico

Fluxo Alternativo 1

Fluxo Alternativo n

Pontos de Extensão

Pós-condição

Pré-condição

Page 8: UML Unified Modeling Language

DESCRIÇÃO

Apresenta uma breve descrição do objetivo do caso de uso.

Descrição

Este caso de uso descreve o procedimento de saque de dinheiro em um caixa eletrônico.

Page 9: UML Unified Modeling Language

PRÉ-CONDIÇÃO

É o estado do sistema requerido antes do caso de uso ser iniciado;

Pode ser omitido (usar apenas quando relevante);

Deve ser um estado de valor mensurável; A Pré-condição é uma restrição para o início do

caso de uso, não o evento que inicia o caso de uso.

Pré-Condição

Cliente identificado corretamente.

Page 10: UML Unified Modeling Language

PÓS-CONDIÇÃO

Uma pós-condição é o estado no qual o sistema deve estar ao final do caso de uso;

Pode ser omitido, usar apenas quando adicionar valor;

Deve ser um estado de valor mensurável;

Pós-Condição

Cartão devolvido ao cliente.

Page 11: UML Unified Modeling Language

CENÁRIOS

É o diálogo ator-sistema detalhando a execução do caso de uso.

Fluxo Básico Fluxo onde tudo dá certo.

Fluxos alternativos Variações na execução do fluxo básico; Erros (exceções) que podem ocorrer no fluxo básico

(em alguns processos são chamados de fluxos de exceção).

Page 12: UML Unified Modeling Language

FLUXO BÁSICO

Fluxo Básico

1. O Cliente informa a opção de Saque.2. O Sistema solicita o valor do saque.3. O Cliente informa o valor e confirma a operação.4. O Sistema verifica o valor informado.5. O Sistema verifica o saldo do cliente .[A1]6. O Sistema debita o valor sacado do saldo do cliente.[A2]7. O Sistema entrega o dinheiro.8. Fim do caso de uso.

Page 13: UML Unified Modeling Language

FLUXO ALTERNATIVO

Fluxos Alternativos

A1. Valor informado inválido1. No passo 4 do fluxo básico o sistema verificou que o valor informado é inválido.2. O sistema informa que o valor é inválido.3. O sistema informa as regras para valores válidos.4. O caso de uso volta para o passo 2 do fluxo básico.

A2. Saldo insuficiente1. No passo 5 do fluxo básico o Sistema verificou que o cliente não possui saldo.2. O Sistema informa o saldo disponível.3. O caso de uso volta para o passo 8 do fluxo básico.

Page 14: UML Unified Modeling Language

O QUE UM CASO DE USO NÃO CONTÉM

O caso de uso descreve a funcionalidade do sistema de uma perspectiva orientada a tarefa (passos).

O Caso de uso não contém:Detalhes da interface de usuário;Objetivos de performace;Detalhes da arquitetura da aplicação;Requisitos não funcionais.

Page 15: UML Unified Modeling Language

O QUE UM CASO DE USO NÃO CONTÉM

Exemplos:

“... O sistema exibe um DBGrid com os...”“... A resposta deverá ser retornada em

menos de 10 segs...”“... O sistema inicia uma conexão com o

servidor de aplicação...”“... O usuário deverá entrar com os códigos

através da caneta ótica ....”

Page 16: UML Unified Modeling Language

COMO ENCONTRAR CASOS DE USO

Identifique as interações do usuário (concentre-se nos objetivos do usuário): “Sacar dinheiro...” “Transferir dinheiro entre contas...” “Cadastrar contas de débito automático...”

Descreva as funções que o usuário deseja do sistema; Descreva as funções que criam, lêem, atualizam e

excluem informações; Descreva como os atores são notificados sobre alterações

de estado do sistema; Descreva como o Ator necessitará informar ao sistema

eventos ocorridos.

Page 17: UML Unified Modeling Language

NOMEANDO OS CASOS DE USO

Nomeie o caso de uso com uma frase que especifique o objetivo do ator.

Utilize verbos concretos, “fortes”, ao invés de verbos genéricos e fracos, exemplos: Verbos fortes: criar, calcular, migrar, receber, arquivar,

registrar e ativar. Verbos fracos: controlar, gerenciar, administrar,

organizar e processar. Seja explícito. Utilize termos específicos, exemplos:

Termos fracos: dado e sistema. Termos fortes: pagamento e conta.

Page 18: UML Unified Modeling Language

NOMEANDO OS CASOS DE USO

Bons nomesDepositar Dinheiro;

Gravar Movimentação Bancária;

Transferir Valores entre Contas Correntes.

Nomes RuinsControle de Saque;

Controle de Saldo;

Transferência Bancária.

Page 19: UML Unified Modeling Language

DEFINIÇÃO DE ATOR

É qualquer coisa que interage com o sistema;

Pode ser um usuário, um hardware externo ou outro sistema;

Representa uma classe de usuários;

Algo sobre o qual não temos controle.

Page 20: UML Unified Modeling Language

DEFINIÇÃO DE ATOR (CONT.)

Várias pessoas podem ser representadas por um único ator

Caixa

Eletrônico

Bruno

é um cliente

Ana Lúcia

é uma cliente Saque de Conta

Corrente

Correntista

Page 21: UML Unified Modeling Language

DEFINIÇÃO DE ATOR (CONT.)

Uma pessoa pode atuar como mais de um ator.

Caixa

Eletrônico

Fulano

é um cliente

Fulano também é responsável

pelo abastecimento

da máquina

Correntista

Técnico responsável

Page 22: UML Unified Modeling Language

DEFINIÇÃO DE ATOR (CONT.)

Ator Primário: Estimula o sistema a reagir.

Ator Secundário: Responde às solicitações do sistema.

Caso de uso

Ator Primário Ator Secundário

Page 23: UML Unified Modeling Language

NOMEANDO ATORES

Agrupe os indivíduos segundo a utilização do sistema;

Identifique os papéis que eles assumem ao utilizar o sistema;

Cada papel é um ator em potencial; Use nomes comuns para um sistema existente

(do ponto de vista do usuário), não invente um nome novo;

Page 24: UML Unified Modeling Language

NOMEANDO ATORES

INCadastrar

Títulos

INSS

MEC

Recepcionista

Auditor

Nomes ruins

Bons nomes

3

Page 25: UML Unified Modeling Language

MODELO DE CASOS DE USO

Correntista

Técnico do Suporte

Sacar Dinheiro

Depositar Dinheiro

Pagar Título

Abastecer Numerário

Page 26: UML Unified Modeling Language

COMUNICAÇÃO

Os relacionamentos de associação entre Atores e classes de Casos de Uso são usados para indicar que o ator participa e se comunica com o sistema conforme descrito no Caso de Uso;

A seta indica quem inicia a comunicação;

Setas não demonstram fluxo;

Setas duplas não são utilizadas.

Page 27: UML Unified Modeling Language

COMUNICAÇÃO

Seta do Ator para o caso de uso: Ator dispara o caso de uso; Ator estimula o sistema; Ator principal.

Correntista

Consultar Saldo

Page 28: UML Unified Modeling Language

COMUNICAÇÃO

Seta do Caso de Uso para o Ator: Sistema solicita informações; Sistema espera uma ação do ator; Ator secundário.

Correntista

Consultar Saldo

Sistema Mainframe

Page 29: UML Unified Modeling Language

FATORAÇÃO DE CASOS DE USO

Existem três tipos de relacionamento de fatoração: Inclusão – Include; Extensão – Extend; Generalização.

Objetivos: Descrição de procedimentos obrigatórios; Descrição de procedimentos opcionais; Especialização de comportamento.

Page 30: UML Unified Modeling Language

INCLUSÃO (INCLUDE)

Características:

A execução do caso de uso incluído é obrigatória;

O caso de uso base depende do resultado retornado pelo caso de uso incluído;

A inclusão é na essência um encapsulamento.

Page 31: UML Unified Modeling Language

EXTENSÃO (EXTEND)

Características:

Representa uma fatoração implícita;

A execução do caso de uso de extensão é opcional;

O caso de uso de extensão é inserido no caso de uso base em locais específicos chamados “Pontos de extensão”;

Page 32: UML Unified Modeling Language

GENERALIZAÇÃO

Utilizado para:

Destacar o comportamento comum a mais de um caso de uso, mas com algumas particularidades adicionais;

Demonstrar formas mais específicas de comportamento do um caso de uso.

Page 33: UML Unified Modeling Language

GENERALIZAÇÃO

Características: Relacionamento é-um entre um caso de uso base

(pai) com um ou mais casos de uso filhos;

Semelhante a generalização/herança de classes;

O filho herda toda a estrutura, comportamento e relacionamentos do pai;

O filho é totalmente dependente da estrutura do pai.

Page 34: UML Unified Modeling Language

GENERALIZAÇÃO - EXEMPLO

No caso de uso “Cobrança de Penalti”, podem ser representados a cobrança de penalti em tempo regulamentar e como desempate. Esses dois casos de uso têm muito do seu comportamento em comum, mas com algumas particularidades, como a reposição da bola em jogo ou não.

Page 35: UML Unified Modeling Language

GENERALIZAÇÃO - EXEMPLO

Cobrança de Penalti

Cobrança de Penalti em tempo

regulamentar

Cobrança de Penalti em desempate