53
Diagrama de Caso de Uso Simone Sawasaki Tanaka [email protected]

Diagrama de Caso de Uso Simone Sawasaki Tanaka [email protected]

Embed Size (px)

Citation preview

Page 1: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Diagrama de Caso de UsoSimone Sawasaki Tanaka

[email protected]

Page 2: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Diagrama de Caso de Uso

• Exibe um conjunto de atores e casos de uso e seus relacionamentos que expressam a funcionalidade do sistema

CorrentistaSacar Dinheiro

Page 3: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Diagramas da UML

Page 4: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Diagrama de Caso de Uso

• Composto pelo:– Ator– Associação– Caso de Uso

Funcionário

(f rom Actors)

Controlar Cliente

(from <Use Case Name>)

Ator

Associação

Caso de Uso

Page 5: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Workflow do Diagrama de Caso de Uso

Page 6: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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.

Page 7: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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.

Page 8: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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?

Page 9: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Workflow da Atividade “Fazer o Diagrama de Caso de Uso"

Page 10: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

Ator Especificação de Caso de Uso

Relacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode ser

pode ser

pode ser

Mapa Conceitual do Diagrama de Caso de Uso

Page 11: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Caso de Uso

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:são utilizados para capturar os requisitos do sistema, ou seja, referem-se aos serviços, tarefas ou funcionalidades.

Page 12: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Page 13: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Caso de Uso

Page 14: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Ator

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:Representa os papéis desempenhados pelos diversos usuários que poderão utilizar, de alguma maneira, os serviços e funções do sistema.

Page 15: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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.

Cliente FuncionárioEstoque

Page 16: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Professor: Lucio Kamiji Slide:16/35

Procure os Atores

Quem está pressionando a tecla (interagindo com o sistema)?

Sistema de RegistroEstudante Operador

O estudante nunca toca no sistema; o operador opera-o. Ou quem sabe vocês estão elaborando uma aplicação Internet.

Estudante Sistema Online de Registro (www.college.edu)

Page 17: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Ator

Page 18: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Relacionamento

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:Interação entre o ator e o caso de uso.

Page 19: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Relacionamento• Interação entre o ator e o caso de uso

– Comunicação ou Associação– Inclusão– Extensão– Generalização

<<extend>>

<<include>>associação

Generalização

Page 20: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Associação

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:O relacionamento de associação representa a informação de quais atores estão associados a que casos de uso podendo ser unidirecional ou bidirecional.

Page 21: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

21

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).

Page 22: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Unidirecional

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:Indica o sentido que as informações trafegam.

Page 23: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Bidirecional

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:as informações são transmitidas nas duas direções.

Page 24: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Unidirecional

Page 25: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Bidirecional

Page 26: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Dependência

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

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 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 do relacionamento é dependente.

Page 27: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Include

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:Costuma 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.

Exemplo:

Page 28: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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;

<<include>>

Base

Inclusão

Page 29: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Relacionamento Include

Sacar Dinheiro Tranferir de conta Depositar dinheiro

Identificar cliente

<<include>>

<<include>>

<<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

Page 30: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Execução de um Include• Executado completamente quando o ponto de

inclusão é alcançado

Instância do Caso de Uso

Caso de UsoInclude

Caso de Uso Base

Page 31: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Include

Page 32: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Extend

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:são utilizados para descrever cenários opcionais de um caso de uso. Representa eventos que não ocorrem sempre.

Exemplo:

Page 33: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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".

<<extend>>

Extensão

Base

Page 34: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Relacionamento Extend

Adquirir Seguro

Identificar cliente

<<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

Page 35: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Caso de Uso BaseInstância doCaso de Uso

Ponto de Extensão

Caso de Uso Extensão

Page 36: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Extend

Page 37: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Generalização

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:um relacionamento de um caso de uso filho para caso de uso pai ou ator filho para ator pai

Exemplo:

Page 38: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Pai

Filho 1 Filho 2

Executar Comércio

Executar Comércio

de Bens Reais

Executar Comércio com

Garantia

Page 39: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Page 40: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Page 41: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

TrabalhadoresMédico

Enfermeira

Ajudante

Ler Gráfico

Page 42: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Page 43: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Generalização

Page 44: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Esteriótipo

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:permite a extensibilidade aos componentes ou associação da UML. Como exemplo temos o include e o extend.

Exemplo:

Page 45: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Visão Geral: Estereótipo

Page 46: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Requisitos

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:é definido como uma condição ou capacidade com a qual o sistema deve estar de acordo, podendo ser funcionais ou não-funcionais.

Page 47: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Funcional

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:é definido como uma condição ou capacidade com a qual o sistema deve estar de acordo.

Page 48: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Não-Funcional

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de Caso

de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:descreve os atributos do sistema ou atributos do ambiente de sistema.

Page 49: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Especificação de Caso de Uso

Funcional Não-Funcional

Esteriótipo

Requisitos Caso de Uso

Unidirecional Bidirecional

Associação Dependência Generalização

AtorEspecificação de

Caso de UsoRelacionamento

Conceitos

Diagrama de Caso de Uso

possui

que pode ser

pode serpode ser

pode ser

Include Extend

pode ser

Definição:descreve com uma linguagem simples as informações referente ao caso de uso, quais atores interagem, os passos a serem executados entre outros.

Page 50: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

Onde fazer o Diagrama de Caso de Uso no Rational Rose?

Page 51: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Page 52: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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

Page 53: Diagrama de Caso de Uso Simone Sawasaki Tanaka Simone.tanaka@unifil.br

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 Uso7. 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