casos de usos. histórico o conceito de “caso de uso” foi criado por ivar jacobson (um dos...

37
Casos de Usos Casos de Usos

Upload: lavinia-de-caminha-da-mota

Post on 07-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Casos de UsosCasos de Usos

Page 2: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Histórico

O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o Processo Unificado).

Surgiu da necessidade de tentar estabelecer comunicação eficiente entre o técnico de software e o usuário.

“Alcançar boa comunicação, associada a um bom entendimento do mundo dos usuários, é a chave para desenvolver um bom software”.

Page 3: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Definição

Um caso de uso é uma técnica de modelagem usada para descrever o que um novo sistema deve fazer .

Ele é construído através de um processo interativo no qual as discussões entre o cliente e os desenvolvedores do sistema conduzem a uma especificação do sistema da qual todos estão de acordo.

Page 4: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Identificação

Geralmente, é difícil decidir se um conjunto de interações do usuário do sistema, ou uma caixa de diálogo, é um ou são vários casos de uso.

Considere o uso de uma máquina de reciclagem. O cliente insere itens de depósito como, por exemplo, latas, garrafas e caixotes na máquina de reciclagem. Ao inserir todos os itens de depósito, basta pressionar um botão e um recibo é impresso. Esse recibo pode ser trocado por dinheiro.

Page 5: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

IdentificaçãoÉ um caso de uso para inserir um item de depósito e

outro caso de uso para solicitar o recibo?

Ou trata-se apenas de um caso de uso para os dois?

Há duas ações, mas uma sem a outra é de pouco valor para o cliente. Mais exatamente, é o diálogo completo, com todas as inserções e a obtenção do recibo, que tem valor para o cliente (e faz sentido para ele).

Portanto, o diálogo completo, desde a inserção do primeiro item de depósito, até o pressionamento do botão e a obtenção do recibo, é um caso de uso completo.

Page 6: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Os casos tem por objetivo

Decidir e descrever os requisitos funcionais do sistema.

Fornecer uma descrição clara e consistente do que o sistema deve fazer.

Permitir descobrir os requisitos funcionais das classes e operações do sistema. (Casos de uso NÃO são requisitos)

Page 7: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Componentes de um casos de uso

Ator - é um papel que tipicamente estimula/solicita ações/eventos do sistema e recebe reações. Cada ator pode participar de vários casos de usoCasos de uso - documento narrativo que descreve a seqüência de eventos feitos por um ator no uso do sistema.Sistema - O sistema a ser modelado

Page 8: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Como identificar atores?

Para identificar os atores que vão participar do modelo devemos fazer as seguintes perguntas - Quem usa o sistema?- Quem inicializa o sistema?- Quem fornece os dados?- Quem usa as informações?

Page 9: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Como descrever atores?

Nome do caso de uso tipo de uso (freqüente, ocasional, etc...) descrição de seu papel no sistema

Page 10: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Como Identificar casos de uso?

Os casos de uso são interações entre os atores e o sistema. Temos então ações do ator e ações do sistema. Sendo que os atores sempre iniciam a ação.

Page 11: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Relacionamento entre os casos de uso

A partir de um diagrama de casos de uso preliminar muitas vezes temos que definir casos de usos adicionais separadamente pois as operações se encontram duplicadas em outros casos de uso ou são complexas e longas e a separação nos ajuda a compreendê-las.

Page 12: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Inclusão

Page 13: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Inclusão

Se um caso de uso inicia ou inclui o comportamento de outro, dizemos que ele usa

o outro.

Page 14: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Extensão

Page 15: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Extensão

Define pontos de extensão que adicionam comportamento a um caso de uso base descrevendo uma variação do comportamento normal. O caso de uso base pode ser

executado mesmo sem a extensão.

Page 16: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Generalização

Page 17: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo

Suponha que você tenha um almoxarifado de peças onde clientes façam pedidos e onde um operador receba tarefas do sistema para buscar peças para os pedidos dos clientes e distribuir peças do setor de compras para o almoxarifado.

Page 18: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo

Vamos identificar os atores . 

Eles são :  Cliente ,  Operador ,  Sistema e Setor de Compras.

Page 19: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo

Não errado !!! No exemplo Sistema não pode ser um ator pois ele não se ajusta ao conceito dado a um ator .

Lembre-se que um ator é um papel que interage com o sistema mas não faz parte do sistema, então no lugar de Sistema poderíamos sugerir um administrador ou gerente.

Então os atores seriam :   Cliente ,  Operador , Administrador e Compras.

Page 20: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo

E os casos de usos , quais seriam ?

- solicita peças (ator Cliente)- entrega peças (ator Compras)- buscar pedidos (ator operador)- distribuir pedidos (ator operador)- cadastrar Tarefas (administrador)

Page 21: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo

Errado !!!  No caso do ator operador ele não atua sobre o sistema nos casos de uso buscar pedidos e distribuir pedidos , ele atua sobre o sistema realizando Tarefa. Então o correto seria:

- solicita peças (ator Cliente)- entrega peças (ator Compras)- realiza Tarefa (ator operador)- cadastrar Tarefas (administrador)

Page 22: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Diagrama

Page 23: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Instâncias de um Casos de Uso

Cada Caso de Uso pode seguir por ilimitados caminhos,(mas se deve sempre enumera-los), e os mesmos dependem dos eventos desencadeados pelo caso de uso.

Page 24: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Questão Interessante Concorrência de Instâncias de Casos de Uso

Instâncias de vários casos de uso e várias instâncias do mesmo caso de uso funcionam ao mesmo tempo, se o sistema permitir isso.

Na modelagem de casos de uso, você pode assumir que as instâncias de casos de uso podem estar ativas ao mesmo tempo sem conflito.

Page 25: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Eventos

O fluxo de eventos de um caso de uso contém as informações mais importantes derivadas da modelagem de casos de uso.

Ele deve descrever o fluxo de eventos do caso de uso claramente, para que alguém de fora o entenda facilmente.

Lembre-se de que o fluxo de eventos deve apresentar o que o sistema faz, e não como é o design do sistema para realizar o comportamento exigido.

Page 26: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Eventos

Precondições e Pós-condições:Precondições e Pós-condições:

Pode ser útil usar a noção de precondição e pós-condição para esclarecer como o fluxo de eventos começa e termina.

- Uma precondição é o estado do sistema e da sua vizinhança, que é exigido antes do início do caso de uso.

- Uma pós-condição é o estado que o sistema pode apresentar após o término do caso de uso.

Page 27: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o
Page 28: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Eventos

Diretrizes para Elaboração do fluxo de eventosDiretrizes para Elaboração do fluxo de eventos

- - Descreva os dados que são trocados entre o ator e o caso de uso;

-- Não descreva os detalhes da interface do usuário, a menos que seja necessário entender o comportamento do sistema;

Page 29: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Eventos- Descreva o fluxo de eventos, não apenas a

funcionalidade. Para impor isso, inicie cada ação com "Quando o ator... " ;

- Descreva somente os eventos que pertencem ao caso de uso e não o que ocorre em outros casos de uso ou fora do sistema;

- Evite terminologia vaga, como "por exemplo", "etc. " e "informações";

- Detalhe o fluxo de eventos - todos os"o quê" devem ser respondidos. Lembre-se de que os designers do teste devem usar esse texto para identificar os casos de teste.

Page 30: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Eventos - Estrutura

-Fluxo de Evento Básico.

-Fluxos de Eventos Alternativos.

Page 31: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Evento - Estrutura

-Fluxo de Evento Básico:

Deve abordar o que "geralmente" ocorre quando o caso de uso é executado.

Page 32: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Evento - Estrutura

- Os Fluxos de Eventos Alternativos:

Abordam o comportamento de caráter opcional ou excepcional em relação ao comportamento normal e também as variações do comportamento normal.

Page 33: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Fluxo de Evento - Estilos

Page 34: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo 1

• 1.1. Início do Caso de Uso • Este caso de uso começa quando o ator Operador configura o sistema para criar uma ordem de medição. O sistema

recuperará todos os atores Elemento da Rede, seus objetos de medição e as funções de medição correspondentes que estiverem disponíveis para esse Operador específico. Os Elementos de Rede disponíveis são aqueles que estão em operação e os que o Operador tem permissão para acessar. A disponibilidade das funções de medição depende do que foi configurado para um determinado tipo de objeto de medição.

• 1.2. Configurar Ordem de Medição• O sistema permite que o ator Operador selecione os Elementos da Rede que serão medidos e, em seguida, mostre os

objetos de medição que estão disponíveis para os Elementos de Rede selecionados. O sistema permite que o Operador selecione a partir dos objetos de medição e, em seguida, selecione as funções de medição que serão configuradas para cada objeto de medição.

• O sistema permite que o Operador insira um comentário textual na ordem de medição.• O Operador configura o sistema para completar a ordem de medição. O sistema responderá gerando um nome exclusivo

para a ordem de medição e configurando os valores padrão para quando, com que freqüência e por quanto tempo a medição deve ser feita. Os valores padrão são exclusivos para cada Operador. O sistema permite, em seguida, que o Operador edite esses valores padrão.

• 1.3. Inicializar Ordem• O Operador configura o sistema para inicializar a ordem de medição. O sistema registrará a identidade do Operador, a

data da criação e o status "Programada" da ordem de medição.

• 1.4. Fim do Caso de Uso• O sistema confirma a inicialização da ordem de medição para o Operador, e a ordem de medição fica disponível para

que os outros atores possam ver.

Page 35: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo 2• Os ordenadores podem criar Ordens para coletar os dados da medição

dos Elementos da Rede. • O sistema atribuirá à Ordem um nome exclusivo, bem como valores

padrão que indicam o comprimento e o tempo da medição, além da freqüência em que é repetida. O Ordenador poderá editar esses valores.

• Ele deve especificar mais a função da medição, o elemento de rede e os objetos de medição que se aplicam. O Ordenador também pode adicionar um comentário pessoal à ordem.

• Quando as informações necessárias foram definidas, uma nova Ordem foi criada e inicializada com os atributos definidos, o nome do criador e a data de criação. O status da ordem será definido como "programada". (Os possíveis valores do status são: Programada, Em Execução, Concluída, Cancelada e Errada.)

• A interface do usuário é notificada de que uma nova Ordem foi criada e recebe uma referência para a nova Ordem para que ela possa ser exibida.

Page 36: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Exemplo 3IF (os valores para multiplicação não for zero){ Multiplicar e retornar o valor.}

IF (M != 0 && N != 0) { RETURN M*N;}

Page 37: Casos de Usos. Histórico O conceito de “Caso de Uso” foi criado por Ivar Jacobson (um dos “três amigos” - como se chama o grupo que formulou a UML e o

Estilos de Escrita

• Estilo Essencial–O administrador identifica-se.

• Estilo Concreto–O administrador digita seu ID e senha na

caixa de diálogo