UML Diagrama de Caso de Uso Profª. Marcelo Siedler [email protected] Introdução Casos de uso (use cases) são utilizados para capturar os requisitos do sistema. De forma breve, um caso de uso identifica uma funcionalidade oferecida pelo sistema. Exemplo (sistema bancário): Diagrama de Casos de Uso Um Diagrama de Casos de Uso apresenta um conjunto de casos de uso, atores e suas relações. Captura as funcionalidades de um sistema de acordo com a visão de seus usuários. Um Diagrama de Casos de Uso é composto por: Casos de Uso Atores Relações de associação, dependência e generalização Diagrama de Caso de Uso São utilizados para modelar: O contexto de um sistema: identificando os atores e seus papéis na interação com o sistema; Os requisitos de um sistema: especificando o que o sistema deve fazer (do ponto de vista de seus usuários), sem no entanto se preocupar em como é implementado. Casos de uso - conceitos Conceitos básicos: Ator Caso de uso Relacionamentos: entre atores entre casos de uso entre atores e casos de uso Ator Um ator representa uma entidade (um ser humano, um dispositivo de hardware ou mesmo outro sistema) que interage com o sistema que está sendo modelado. Atores estão fora do sistema, isto é, não são entidades componentes do sistema que está sendo modelado. Atores podem ser conectados aos casos de uso somente por associações. Uma associação entre um caso de uso e um ator significa comunicação entre ambos, onde cada um pode enviar ou receber mensagens, estabelecendo uma interação. Ator Representação: Caso de uso Um caso de uso descreve uma seqüência de ações que o sistema deve executar, com o objetivo de produzir como resultado algo de valor para o atendimento das necessidades de um ator. Um caso de uso: Descreve uma funcionalidade completa do sistema; Gera como resultado algo de valor tangível para um ator (usuário); Caso de uso Representação: Nome do caso de uso: Um caso de uso deve ter como nome uma frase representando uma ação (comportamento). Ex: sacar, depositar, gerar relatórios... Relacionamentos em Diagramas de Caso de Uso Entre ator e caso de uso Uma associação indica a interação entre ator e caso de uso Exemplo Relacionamentos em Diagramas de Caso de Uso Entre atores Associações entre atores não são modeladas, modela-se apenas generalizações. A generalização pode identificar papéis específicos de um ator no sistema Relacionamentos em Diagramas de Caso de Uso Entre casos de uso: Generalização, Inclusão e Extensão Generalização Indicam casos de uso mais específicos baseados em um caso de uso mais genérico. Relacionamentos em Diagramas de Caso de Uso Inclusão (Include) Uma relação de inclusão de um caso de uso A com um caso de uso B indica que o caso de uso A (Sacar dinheiro, Liberar talão de cheque) deverá incluir o comportamento especificado para o caso de uso B (Validar conta). Relacionamentos em Diagramas de Caso de Uso Extensão (Extend) Uma relação de extensão de um caso de uso A com um caso de uso B indica que o caso de uso B (Sacar dinheiro) poderá incluir (sujeito a satisfação de condições especificas) o comportamento especificado para o caso de uso A (autorizar saque). Diagrama de Casos de Uso – Sistema Bancário Priorizando casos de uso Esta tarefa objetiva estabelecer uma priorização entre os casos de uso, de forma a estabelecer quais deles são “mais importantes” para o funcionamento do sistema Categorias: Casos de uso primários: representam processos principais, sem eles o sistema “não funciona” Casos de uso secundários: representam processos menos importantes ou raros Casos de uso opcionais: representam processos que podem ser desconsiderados Erros mais freqüentes Fazer casos de usos pequenos demais (ex.: “Incrementar contador”): não confundir um “passo” do processamento como um “caso de uso”. Fazer casos de usos grandes demais (ex.: “Processar sistema de vendas”): um caso de uso deve gerar um resultado perceptível pelo ator. “Forçar” relacionamentos entre casos de uso (ex.: indicar <<include>> entre casos de uso “Consultar produto” e “Cadastrar produto”): só indique um relacionamento entre casos de uso se realmente há alguma interação entre eles.