Diagrama de Caso de Uso Simone Sawasaki Tanaka [email protected] Diagrama de Caso de Uso • Exibe um conjunto de atores e casos de uso e seus relacionamentos que expressam a funcionalidade do sistema Correntista Sacar Dinheiro Diagramas da UML Diagrama de Caso de Uso • Composto pelo: – Ator – Associação – Caso de Uso Controlar Cliente Funcionário (f rom Actors) Ator (from <Use Case Name>) Associação Caso de Uso Workflow do Diagrama de Caso de Uso Levantar requisitos Funcionais • A análise de requisitos é o primeiro passo técnico do processo de Engenharia de Software. É nesse ponto que uma declaração geral do escopo do software é aprimorada numa especificação concreta que se torna a base para todas as atividades de Engenharia de Software que surgirão. • Um Caso de Uso representa um requisito funcional do sistema, portanto o levantamento de requisitos, em especial, os requisitos funcionais, é de extrema importância para elaboração do diagrama de Caso de Uso. Localizar Atores • Para localizar os atores, faça as seguintes perguntas: – Quais grupos de usuários necessitam de ajuda do sistema para executar tarefas? – Quais grupos de usuários são necessários para executar as funções básicas mais óbvias do sistema? – Quais grupos de usuários deverão executar funções secundárias, como manutenção e administração do sistema? – O sistema interagirá com algum sistema externo de hardware ou software? • Para determinar se possuem os atores (humanos) adequados, você poderá tentar nomear duas ou três pessoas que podem atuar como atores e ver se o seu conjunto de atores é suficiente para as necessidades deles. Identificar Caso de Uso • De acordo com RUP , alguns questionamentos são primordiais para identificar os Casos de Uso e as repostas para estas perguntas são sugestões de Caso de Uso. Para isso, cada ator, humano ou não, deve fazer a si mesmo estas perguntas: • Segundo o ator, quais são as principais tarefas a serem executadas pelo sistema? • O ator criará, armazenará, alterará, removerá ou lerá dados no sistema? • O ator precisa informar o sistema sobre mudanças externas repentinas? • O ator precisa estar informado sobre certas ocorrências no sistema? • O ator inicializará ou desligará o sistema? Workflow da Atividade “Fazer o Diagrama de Caso de Uso" Mapa Conceitual do Diagrama de Caso de Uso Diagrama de Caso de Uso possui Conceitos que pode ser Esteriótipo Requisitos Caso de Uso Ator Relacionamento pode ser Funcional NãoFuncional Especificação de Caso de Uso pode ser Associação Dependência pode ser Unidirecional Bidirecional Generalização Caso de Uso Diagrama de Caso de Uso Definição: possui são utilizados para capturar os requisitos do Conceitos sistema, ou seja, referem-se aos serviços, tarefas ou funcionalidades. que pode ser Esteriótipo Requisitos Caso de Uso Ator pode ser Funcional Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Caso de Uso • • • • Modela um diálogo entre um ator e o sistema; Representa uma funcionalidade do sistema; Produz algo de valor para o ator; Não representar para o mesmo Caso de Uso mais do que uma funcionalidade Controlar Cliente e fornecedores Controlar Cliente Controlar Fornecedores Visão Geral: Caso de Uso Ator Diagrama de Caso de Uso possui Conceitos que pode ser Esteriótipo Requisitos Caso de Uso pode ser Funcional Relacionamento Ator Especificação de Caso de Uso pode ser Definição: Não-Funcional Unidirecional Representa os papéis desempenhados pelos diversos usuários que poderão utilizar, Associação Dependência Generalização de alguma maneira, os serviços e funções do sistema. pode ser pode ser Bidirecional Include Extend Ator • Qualquer pessoa, departamento, sistema computacional e dispositivos que utilizam funcionalidades do Sistema. • Notação utilizada para representar um ator: Não representar para o mesmo ATOR mais do que uma missão. Procure os Atores Quem está pressionando a tecla (interagindo com o sistema)? Estudante Operador Sistema de Registro O estudante nunca toca no sistema; o operador opera-o. Ou quem sabe vocês estão elaborando uma aplicação Internet. Estudante Professor: Lucio Kamiji Sistema Online de Registro (www.college.edu) Slide:16/35 Visão Geral: Ator Relacionamento Diagrama de Caso de Uso possui Conceitos que pode ser Definição: Interação entre o ator e o caso de uso. Esteriótipo Requisitos Caso de Uso Ator pode ser Funcional Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Relacionamento • Interação entre o ator e o caso de uso – Comunicação ou Associação – Inclusão – Extensão – Generalização <<include>> associação Generalização <<extend>> Associação Diagrama de Caso de Uso possui Conceitos que pode ser Esteriótipo Definição: Requisitos Caso de Uso pode ser Funcional O relacionamento de associação representa a informação de quais atoresEspecificação estão de Caso Relacionamento Ator de Uso associados a que casos de uso podendo ser unidirecional ou bidirecional. pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Relacionamento de comunicação Associação • O relacionamento de comunicação representa a informação de quais atores estão associados a que casos de uso. • Um ator pode se relacionar com mais de um caso de uso. • Unidirecional (seta indica onde iniciou a comunicação) • Bidirecional (falta de seta indica comunicação nos dois sentidos). 21 Unidirecional Diagrama de Caso de Uso possui Conceitos que pode ser Esteriótipo Requisitos Caso de Uso Relacionamento Ator pode ser pode ser Definição: Funcional Indica Não-Funcional o trafegam. sentido que Associação pode ser Unidirecional Especificação de Caso de Uso Bidirecional as informações Dependência Generalização pode ser Include Extend Bidirecional Diagrama de Caso de Uso possui Conceitos que pode ser Esteriótipo Requisitos Caso de Uso Ator pode ser Funcional Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Definição: Associação Dependência as informações são transmitidas nas duas direções. pode ser pode ser Unidirecional Bidirecional Include Generalização Extend Visão Geral: Unidirecional Visão Geral: Bidirecional Dependência Diagrama de Caso de Uso possui Definição: Este relacionamento, como o próprio nome diz, identifica certo grau de dependência de um caso de uso em relação à outra. O que pode ser relacionamento de dependência é apresentado por uma linha tracejada entre duas classes, contendo uma seta apontando para a classe da qual a classe posicionada na outra extremidade Especificaçãodo de Caso Relacionamento Ator de Uso relacionamento é dependente. Conceitos Esteriótipo Requisitos Caso de Uso pode ser Funcional pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Include Diagrama de Caso de Uso possui Conceitos Definição: que pode Costuma ser ser utilizada quando existe um cenário comum a mais de um caso de uso. Indica a obrigatoriedade da execução do caso de uso incluído. Esteriótipo Exemplo: Requisitos Caso de Uso Ator pode ser Funcional Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend O que é um Relacionamento Include (Inclusão)? • Um relacionamento de um caso de uso base para um caso de uso de inclusão • O caso de uso incluído é sempre abstrato; • 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; Inclusão <<include>> Base Relacionamento Include •No sistema de Caixa Bancário, os casos de uso “Sacar”, “Depositar” e “Transferir” precisam incluir como o cliente será identificado no sistema. •Este comportamento pode ser fatorado em um caso de uso chamado “Identificar Cliente” que os três casos de uso incluem. Caso de uso BASE Sacar Dinheiro Tranferir de conta Depositar dinheiro <<include>> <<include>> <<include>> Identificar cliente Execução de um Include • Executado completamente quando o ponto de inclusão é alcançado Instância do Caso de Uso Caso de Uso Base Caso de Uso Include Visão Geral: Include Extend Diagrama de Caso de Uso possui Conceitos Definição: são utilizados para descrever cenários que pode seropcionais de um caso de uso. Representa eventos que não ocorrem sempre. Esteriótipo Requisitos Caso de Uso Ator pode ser Funcional Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Exemplo: Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend O que é um Relacionamento Extend (extensão)? • Conexão de um caso de uso estendido para um caso de uso base – O caso de uso de extensão é geralmente abstrato. – 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". Base <<extend>> Extensão Relacionamento Extend • No sistema de Caixa Bancário, quando o cliente for identificado, o sistema precisa saber se ele já adquiriu seguro contra roubo de cartão e, caso negativo, oferecer a aquisição do seguro. • Podemos demonstrar isso com a criação de um caso de uso chamado “Adquirir Seguro” que estende a funcionalidade de “Identificar Cliente”. Caso de uso BASE Identificar cliente <<extend>> Adquirir Seguro Execução de um Extend • Executado quando o ponto de extensão é alcançado e a condição de extensão (decisão) for verdadeira Instância do Caso de Uso Caso de Uso Base Ponto de Extensão Caso de Uso Extensão Visão Geral: Extend Generalização Diagrama de Caso de Uso possui Conceitos que pode ser Exemplo: Esteriótipo Definição: Requisitos um relacionamento de um caso de uso filho Especificação de Caso Relacionamento Atorpara caso de uso pai ou ator filho para de Usoator pai Caso de Uso pode ser Funcional pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend O Que é Caso de Uso Generalização? • Um relacionamento de um caso de uso filho para caso de uso pai (Herança) – Descreve compartilhamento geral do comportamento do pai – Descreve comportamento especializado num filho – Compartilha um objetivo comum Executar Comércio Pai Filho 1 Filho 2 Executar Comércio de Bens Reais Executar Comércio com Garantia Por que Caso de Uso Generalização? • Mostra comportamento comum, estrutura, e propósito de dois ou mais casos de uso – – – – Mostra que o filho é parte de um caso de uso familiar Evita qualquer descrição de comportamento múltiplas vezes Assegura comportamento comum consistente do resto Permite a reutilização de requisitos Pai Filho 1 Filho 2 O Que é Generalização de Ator? • Atores podem ter características comuns • Múltiplos atores podem ter papéis ou propósitos comuns interagindo com o caso de uso Ator Generalização: Exemplo Hospital • Pai: Trabalhadores do Hospital – Trabalhadores médicos podem ler gráficos • Filho: Médico, Enfermeira e Ajudante – Médico, Enfermeira e Ajudante podem ler gráficos Médico Enfermeira Ajudante Ler Gráfico Trabalhadores Médico Por que usar Generalização de Ator? • Para simplificar associações entre muitos atores e um caso de uso • Para mostrar que uma instância de um filho pode executar todos comportamentos descrito por um pai Visão Geral: Generalização Esteriótipo Diagrama de Caso de Uso possui Definição: Conceitos permite a extensibilidade aos componentes que pode ser ou associação da UML. Como exemplo temos o include e o extend. Esteriótipo Requisitos Exemplo: Caso de Uso Ator pode ser Funcional Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Visão Geral: Estereótipo Requisitos Diagrama de Caso de Uso possui Definição: Conceitos é definido como uma condição ou capacidade com a qual o que pode ser sistema deve estar de acordo, podendo ser funcionais ou não-funcionais. Esteriótipo Requisitos Caso de Uso Ator pode ser Funcional Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Funcional Diagrama de Caso de Uso possui Conceitos que pode ser Esteriótipo Requisitos Caso de Uso Ator pode ser Definição: Funcional Especificação de Caso de Uso pode ser é definido como uma condição ou Não-Funcionalcom a qual o sistema capacidade Associação deve estar de acordo. pode ser Unidirecional Relacionamento Bidirecional Dependência Generalização pode ser Include Extend Não-Funcional Diagrama de Caso de Uso possui Conceitos que pode ser Esteriótipo Definição: Requisitos pode ser Funcional descreve os atributos do Uso sistema Caso ou de atributos doAtor ambiente de sistema. Relacionamento Especificação de Caso de Uso pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Especificação de Caso de Uso Diagrama de Caso de Uso possui Definição: Conceitos com uma linguagem simples as descreve informações referente ao caso de uso, que pode ser quais atores interagem, os passos a serem executados entre outros. Esteriótipo Requisitos Caso de Uso Ator pode ser Funcional Especificação de Caso de Uso Relacionamento pode ser Não-Funcional Associação pode ser Unidirecional Bidirecional Dependência Generalização pode ser Include Extend Onde fazer o Diagrama de Caso de Uso no Rational Rose? Onde fazer o Diagrama de Caso de Uso? (cont.) 1. O Diagrama de Caso de Uso deve ser feito no pacote Use Case Model 2. Criar o ATOR: MBD em Actors New Actor (digitar o nome do Ator) 3. Criar o PACOTE com o nome do Caso de Uso: MBD em Use Cases New Package Onde fazer o Diagrama de Caso de Uso? (cont.) 4. Criar os CASOS DE USO: MBD no Pacote Use Cases (criado no item 3) New Use Case 5. Criar a Visão Local: MBD no Use Case New Use Case Diagram 6. Clicar e arrastar o ator (que está na pasta Actor) para a Visão Local Onde fazer o Diagrama de Caso de Uso? (cont.) 5. Clicar e arrastar o Caso de Uso (que está no pacote) para a Visão Local 6. Efetuar o relacionamento entre o Ator e o Caso de Uso 7. Após criado todos os pacotes com seus respectivos casos de usos, criar o Diagrama de Caso de Uso. 7.1. arrastar os Atores e Caso de Uso para o Global View of Actors and Use Cases