UML Unified Modeling Language Professor: André Gustavo Bastos Lima
Diagramas de Casos de Uso Professor: André Gustavo Bastos Lima
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 Consultar Disponibilidade <<extend>> <<include>> Atualizar Financeiro Inscrever em Curso
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).
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.
ANATOMIA DO CASO DE USO Descrição Pré-condição Fluxo Básico Fluxo Alternativo 1 Fluxo Alternativo n Pontos de Extensão Pós-condição
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.
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.
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.
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).
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.
FLUXO ALTERNATIVO Fluxos Alternativos A1. Valor informado inválido 1. 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 insuficiente 1. 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.
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.
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...
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.
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.
NOMEANDO OS CASOS DE USO Bons nomes Depositar Dinheiro; Gravar Movimentação Bancária; Transferir Valores entre Contas Correntes. Nomes Ruins Controle de Saque; Controle de Saldo; Transferência Bancária.
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.
DEFINIÇÃO DE ATOR (CONT.) Várias pessoas podem ser representadas por um único ator Bruno é um cliente Caixa Correntista Ana Lúcia Eletrônico é uma cliente Efetuar saque em Conta Corrente
DEFINIÇÃO DE ATOR (CONT.) Uma pessoa pode atuar como mais de um ator. Fulano é um cliente Correntista Caixa Fulano também é responsável pelo abastecimento da máquina Eletrônico Técnico responsável
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
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;
NOMEANDO ATORES Nomes ruins INSS Recepcionista IN Cadastrar Títulos MEC Bons nomes Auditor 3
MODELO DE CASOS DE USO Sacar Dinheiro Correntista Depositar Dinheiro Pagar Título Técnico do Suporte Abastecer Numerário
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.
COMUNICAÇÃO Seta do Ator para o caso de uso: Ator dispara o caso de uso; Ator estimula o sistema; Ator principal. Consultar Saldo Correntista
COMUNICAÇÃO Seta do Caso de Uso para o Ator: Sistema solicita informações; Sistema espera uma ação do ator; Ator secundário. Consultar Saldo Correntista Sistema Mainframe
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.
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.
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 ;
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.
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.
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.
GENERALIZAÇÃO - EXEMPLO Cobrar de Penalti Cobrar Penalti em tempo regulamentar Cobrar Penalti em desempate