Simone Sawasaki Tanaka

Slides:



Advertisements
Apresentações semelhantes
Modelo de Casos de Uso Diagrama de Casos de Uso
Advertisements

Orientação a objetos identidade abstração classificação encapsulamento
Análise e Projeto Orientado a Objetos
Análise e Desenvolvimento de Sistemas
Requisitos de Software
UML Diagramas de Caso de Uso (USE-CASE)
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 9
(Unified Modeling Language)
Casos de Uso.
Diagrama de Classes.
Engenharia de Software
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Projeto de Sistemas de Software
Linguagens de Modelagem para SMA
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Modelo de Arquitetura Diagrama de Componentes
Prof. Luís Fernando Garcia
Casos de Uso de Sistema.
(Linguagem de Modelagem Unificada)
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Selma Shin Shimizu Melnikoff 2006
Classes e objetos Modelagem
AP 1.
Especificação de Requisitos de Software com Casos de Uso
DIAGRAMA DE COMPONENTES
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
UML Unified Modeling Language
Diagrama de Classes e Colaboração
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Universidade Castelo Branco Prof a Flávia Balbino da Costa.
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
DIAGRAMA DE CLASSE Modelagem de Software
Profa Simone Sawasaki Tanaka
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Diagrama de Atividades
Use Cases (Casos de Uso)
Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.
Casos de Uso no Engenharia de Software e Sistemas {abab, dtvp, jmmn, mscla, rmb2,
Análise e Projeto de Sistemas
Simone Sawasaki Tanaka
UML – Engenharia de Software 1
Análise Orientado aos Objetos Prof. Wolley W. Silva
UML Diagrama de Caso de Uso Profª. Marcelo Siedler
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Revisão 2º Bimestre Engenharia de Software I
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Análise e Projeto de Sistemas
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Casos de Uso Tarciane Andrade
UML 2.0 Requisitos, Casos de Uso e Diagrama de Atividades no Rational Rose Roberto Costa Rodrigo Lumack
Modelo de Análise e Projeto
Diagramas de Caso de Uso
Modelagem Orientada a Objetos Use-Case Modeling. Objetivos básicos de um modelo use-case n Descrever o que um novo sistema deve fazer n Descrever o que.
Introdução à modelagem orientada a objetos
Engenharia de Software Fluxo de Requisitos
Introdução à modelagem orientada a objetos
UML: Casos de Uso Projeto de Sistemas de Software.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Aula 04 – Analise de Sistemas Profª Rita de Cassia Gaieski
UML (Unified Modeling Language) A linguagem unificada de modelagem
Diagrama de Classes Herança Dependências.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Análise e Design de Software Site:
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Transcrição da apresentação:

Simone Sawasaki Tanaka Simone.tanaka@unifil.br 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

Diagramas da UML

Diagrama de Caso de Uso Composto pelo: 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"

Mapa Conceitual do 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

Especificação 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 Include Extend 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

Visão Geral: Caso de Uso

Especificação de Caso de Uso Ator 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 Include Extend 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.

Procure os Atores Quem está pressionando a tecla (interagindo com o sistema)? Estudante Operador O estudante nunca toca no sistema; o operador opera-o. Ou quem sabe vocês estão elaborando uma aplicação Internet. Sistema Online de Registro (www.college.edu) Sistema de Registro Professor: Lucio Kamiji Slide:16/35

Visão Geral: Ator

Especificação de Caso de Uso Relacionamento 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 Include Extend 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

Especificação de Caso de Uso Associação 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 Include Extend 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.

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 21

Especificação de Caso de Uso Unidirecional 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 Include Extend Definição: Indica o sentido que as informações trafegam.

Especificação de Caso de Uso Bidirecional 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 Include Extend Definição: as informações são transmitidas nas duas direções.

Visão Geral: Unidirecional

Visão Geral: Bidirecional

Especificação de Caso de Uso Dependência 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 Include Extend 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.

Especificação de Caso de Uso Include 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 Include Extend 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: No exemplo acima percebemos que sempre que um saque ou depósito ocorrer deve ser registrado para fins de histórico bancário. Como as rotinas para registro de um saque ou depósito são extremamente semelhantes, diferenciando-se apenas pelo tipo de movimento, colocou-se a rotina de registro em um caso de uso à parte, chamado Registrar Movimento. O caso de uso Registrar Movimento será executado obrigatoriamente sempre que os casos de uso Realizar Depósito ou Realizar Saque forem utilizados. Assim, não é preciso descrever os passos para registrar um movimento nesses casos de uso, pois as etapas estão descritas no caso de uso Registrar Movimento.

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 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 Uso Base Caso de Uso Include

Visão Geral: Include

Especificação de Caso de Uso Extend 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 Include Extend Definição: são utilizados para descrever cenários opcionais de um caso de uso. Representa eventos que não ocorrem sempre. No exemplo acima podemos perceber os processos de Login e Autorregistrar são representados como casos de uso e há uma associação de extensão entre eles, demonstrando que o caso de uso Autorregistrar poderá ser chamado a partir do caso de uso Realizar Login. 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". As extensões podem ser usadas para diversas finalidades: Mostrar que uma parte de um caso de uso é um comportamento opcional (ou possivelmente opcional) do sistema. Isso faz a diferenciação entre comportamento opcional e comportamento obrigatório em um modelo. Mostrar que um subfluxo só é executado em determinadas condições (algumas vezes excepcionais), como o disparo de um alarme. Mostrar que pode haver um conjunto de segmentos de comportamento dentre os quais um ou vários podem ser inseridos em um ponto de extensão de um caso de uso base. Os segmentos de comportamento que são inseridos (e a ordem na qual são inseridos) dependerão da interação com os atores durante a execução do caso de uso base. <<extend>> Extensão Base

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

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

Especificação de Caso de Uso Generalização 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 Include Extend Exemplo: Definição: um relacionamento de um caso de uso filho para caso de uso pai ou ator filho para ator pai

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 de Bens Reais Executar Comércio com Garantia Pai Filho 1 Filho 2

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 Ler Gráfico Enfermeira Trabalhadores Médico Ajudante

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

Especificação de Caso de Uso Esteriótipo 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 Include Extend Definição: permite a extensibilidade aos componentes ou associação da UML. Como exemplo temos o include e o extend. Exemplo: Como exemplo, poderíamos querer deixar bem claro que o caso de uso Abrir Conta refere-se a um processo. Assim, poderíamos atribuir-lhe o estereótipo <<process>>, cujo objetivo é deixar explícito que o caso de uso em questão refere-se a um processo.

Visão Geral: Estereótipo

Especificação de Caso de Uso Requisitos 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 Include Extend 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.

Especificação de Caso de Uso Funcional 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 Include Extend Definição: é definido como uma condição ou capacidade com a qual o sistema deve estar de acordo.

Especificação de Caso de Uso Não-Funcional 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 Include Extend 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 Ator Especificação de Caso de Uso Relacionamento Conceitos Diagrama de Caso de Uso possui que pode ser pode ser Include Extend 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. Os processos de abertura de conta especial e de conta-poupança são muito semelhantes ao de abertura de conta comum, mas têm algumas características próprias, o que justifica colocá-las como especializações do caso de uso Abrir Conta Comum, detalhando-se as particularidades de cada caso de uso especializado em sua própria documentação.

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