Upload
internet
View
124
Download
0
Embed Size (px)
Citation preview
Diagrama de Caso de UsoSimone Sawasaki Tanaka
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
Diagramas da UML
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
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"
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
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.
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
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.
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
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)
Visão Geral: Ator
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.
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
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.
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).
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.
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.
Visão Geral: Unidirecional
Visão Geral: Bidirecional
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.
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:
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
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
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
Visão Geral: Include
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:
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
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
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
Visão Geral: Extend
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:
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
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
TrabalhadoresMédico
Enfermeira
Ajudante
Ler Gráfico
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
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:
Visão Geral: Estereótipo
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.
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.
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.
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.
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 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