210 likes | 448 Views
UML Diagrama de Caso de Uso Profª . Marcelo Siedler siedler@gmail.com. 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):.
E N D
UMLDiagrama de Caso de UsoProfª. Marcelo Siedlersiedler@gmail.com
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 forado sistema, isto é, não são entidades componentes do sistema que está sendo modelado. • Atores podem ser conectados aos casos de uso somentepor 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
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).
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.