350 likes | 480 Views
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.
E N D
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 <<extend>> Atualizar Financeiro Consultar Disponibilidade <<include>> 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 FluxoBásico 1. O Clienteinforma a opção de Saque. 2. O Sistemasolicita o valor do saque. 3. O Clienteinforma o valor e confirma a operação. 4. O Sistemaverifica o valorinformado. 5. O Sistemaverifica o saldo do cliente .[A1] 6. O Sistemadebita o valorsacado do saldo do cliente.[A2] 7. O Sistemaentrega 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 usodescreve a funcionalidade do sistema de umaperspectivaorientada a tarefa (passos). • O Caso de usonãocontém: • Detalhesda interface de usuário; • Objetivos de performace; • Detalhesdaarquiteturadaaplicação; • Requisitosnãofuncionais.
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 Bonsnomes • DepositarDinheiro; • GravarMovimentaçãoBancária; • TransferirValores entre ContasCorrentes. Nomes Ruins • Controle de Saque; • Controle de Saldo; • TransferênciaBancá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 Eletrônico Correntista Ana Lúcia é uma cliente Saque de Conta Corrente
Definição de Ator (cont.) • Uma pessoa pode atuar como mais de um ator. Fulano é um cliente Caixa Eletrônico Correntista Fulano também é responsável pelo abastecimento da máquina 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
NomeandoAtores • 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;
Nomes ruins Recepcionista Auditor Bons nomes Nomeando Atores IN INSS Cadastrar Títulos MEC 3
Modelo de Casos de Uso Sacar Dinheiro Depositar Dinheiro Correntista Pagar Título Abastecer Numerário Técnico do Suporte
Comunicação • Os relacionamentos de associação entre Atores e classes de Casos de Usosãousadosparaindicarque o atorparticipa e se comunica com o sistemaconformedescrito no Caso de Uso; • A seta indicaqueminicia a comunicação; • Setasnãodemonstramfluxo; • Setasduplasnãosãoutilizadas.
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 Cobrança de Penalti Cobrança de Penalti em tempo regulamentar Cobrança de Penalti em desempate