Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de...

63
Use Cases Use Cases (Casos de Uso)

Transcript of Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de...

Page 1: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use Cases (Casos de Uso)

Page 2: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use cases Um use case é a especificação de seqüências de ações que um sistema,

subsistema, ou classe pode realizar, interagindo com um dos atores Descrição de um conjunto de seqüências de ações, incluindo variantes,

que o sistema executa para produzir um resultado observável por um ator

Use cases podem incluir seqüências normais, seqüências alternativas, ou seqüências excepcionais (de erro)

Page 3: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use cases

Mostra apenas o que o sistema faz, e não como.

Captura o comportamento pretendido para um sistema, sem a necessidade de especificar como esse comportamento será implementado.

Diagramas de interação podem ser usados para especificar com um use case será implementado (ou realizado).

Page 4: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use cases: Utilidades

Use Cases são usados:– nas fases de análise de requisitos;– contribuem para os planos de testes ;– para criação do guia do usuário do sistema;– para validar os requisitos;– na criação do cronograma do projeto;– ajuda no planejamento do que cada versão deve

conter.

Page 5: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use cases: Representação gráfica

Matricular alunoSolicitarhistórico

Verificarpré-requisitos

A coleção de use cases deverá especificar todas as formas existentes de uso do sistema.

Page 6: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use Cases: Especificação

Use Cases:– Breve Descrição– Pré condições– Pós condições– Fluxo de eventos:

• Um fluxo normal• Diversos fluxos alternativos:

– variantes regulares– casos incomuns

• Fluxo excepcionais para manipular situações de erro

Page 7: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Pacotes de Use Cases

Servem para agrupar use cases relacionados

Se o número de atores ou use cases for muito grande, você pode dividi-los em pacotes de use cases.

Page 8: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Maneiras de Agrupar em Pacotes

casos de uso que interagem com o mesmo ator; casos de uso com funcionalidades correlatas; casos de uso envolvidos com um determinado

processo; casos de uso que devem ser oferecidos em

conjunto pelo sistema, isto é, se um deles for implementado, todos os outros devem ser implementados também.

Page 9: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Atores O sistema será descrito através de vários use cases

que são executados por um número de atores Qualquer coisa que possui interface com o sistema

em desenvolvimento São pessoas ou outros subsistemas que interagem

com o sistema em desenvolvimento Definem um papel particular São sempre externos ao sistema

Page 10: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Atores e papéis

A diferença entre um ator e um usuário de um sistema é que um ator representa uma classe particular de usuários em vez de um usuário real.

Um mesmo usuário pode desempenhar diferentes papéis.

Page 11: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Atores

Professora

Sistema de controlede pre-requisitos

Estudante

Secretária

<<Ator>>

Coordenador

Page 12: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Atores: Especialização É possível definir tipos gerais de

atores e especializá-los usando o relacionamento de especialização

Cliente

ClienteEspecial

Page 13: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Diagramas de Use Case

Uma associação entre um ator e um use case indica que há uma comunicação, possivelmente com envio e recepção de mensagens

Page 14: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Diagramas de Use cases

Estudante

Secretária

<<estende>> Histórico dosemestre atual

Solicitar histórico dedo curso

Solicitarhistórico

<<estende>>

Verificardependências

Matricularaluno

<<inclui>>

Sistema de controlede pré-requisitos

Page 15: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Exemplo (máquina de reciclar)

Um sistema de software é desenvolvido para controlar um máquina para reciclar garrafas, latas e engradados.

– A máquina poderá ser usado por vários usuários ao mesmo tempo.

– Cada usuário poderá retornar os três tipos de item na mesma ocasião.

– O sistema deverá ser capaz de distinguir entre diferentes tipos e tamanhos de garrafas e latas.

– O sistema deve registar o número e tipo de itens colocado por cada usuário.

– Quando solicitado, o sistema deverá ser capaz de imprimir um recibo com: o número de itens depositados, o valor dos item devolvidos, e o valor pago ao usuário.

Page 16: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Exemplo (máquina de reciclar)

IniciarRecibo

Engradado

Lata Garrafa

Page 17: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Exemplo (máquina de reciclar).

– O sistema também será usado por um operador. O operador precisa de uma impressão diária com os itens depositados durante o dia. A listagem de incluir um número para cada item.

– O operador do sistema também precisa de uma operação para modificar a informação de itens armazenada no sistema. Por exemplo, o valores dos itens depositados.

– Quando um item ficar preso no sistema, o sistema deve alertar o operador ligando um alarme.

Page 18: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Encontrando Atores

Quem usa o sistema? Quem instala/mantém o sistema? Quem inicia/desliga o sistema? Que outros sistemas interagem com o

sistema? Quem recebe informação do sistema? Quem provê informação ao sistema?

Page 19: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Atores do sistema de reciclagem:– O cliente– O operador

No exemplo, ocasionalmente o operador poderá depositar suas próprias garrafas na máquina. Neste caso ele atuará no papel de cliente.

Encontrando Atores (cont.)

Page 20: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Interação dos Atores O cliente interage com sistema:

– depositando itens na máquina– recebendo um recibo da máquina

O operador interagem com sistema:– Recebendo os relatórios diários dos depósitos

realizados– Mantendo o banco de dados de itens

Page 21: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use Cases do Sistema de Reciclagem

Após identificação dos atores, o próximo passo é a identificação dos use cases.

Os atores são fundamentais para a descoberta dos use cases. Cada ator irá executar vários use cases no sistema.

Cada use case será um curso completo de eventos iniciados pelo ator e especificará as interações que ocorrerão entre o ator e o sistema.

Page 22: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Identificação de use cases Primeiro passo, examinar os requisitos do

ponto de vista dos usuários. Perguntas úteis;

– Que funções o ator vai querer do sistema?– O sistema armazena informações? Que informações

atores irão criar, ler, atualizar ou apagar?– O sistema precisa notificar o ator sobre mudanças no

seu estado interno?– Existe algum evento externo que o sistema precisa

saber? Que ator informa o sistema destes eventos?

Page 23: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Identificação de use cases

Workshop de casos de uso– não pode ter muita gente– pessoas com diferentes perfis– presença de um facilitador– aceite todo tipo de sugestão e filtre depois!– evite pensar em detalhes– os casos de uso levantados devem estar claros para todos!– principalmente o valor que estes agregam ao usuário– consulte todos!– dê sugestões

Page 24: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Identificação de use cases

Reuniões– conversas com usuários

Storyboarding– simulação através de desenhos das interfaces

Page 25: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Identificação de use cases

Casos de uso não precisam ser descritos todos de uma vez: o processo deve ser iterativo

Casos de uso devem ser priorizados

Page 26: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use Cases do Sistema de Reciclagem

Cliente– Deve ser capaz de retornar itens (latas,

garrafas). O use case será Retornar item .– Este use case deverá incluir todos os

eventos até o recibo ser emitido.

Page 27: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use Cases do Sistema de Reciclagem

Operador– Deve ser capaz de receber um relatório diário

de todos os itens depositados. Use case Gerar relatório.

– Deve ser também capaz de modificar informações do sistema, por exemplo o valor de cada item depositado. Use case, Mudar item.

Page 28: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Especificações dos Use cases

Use Case Retornar itemFluxo principal de eventos:

• Será iniciado pelo cliente quando ele/ela retornar os itens. O sistema manterá uma contagem atualizada dos tipos de itens e seus valores diários.

• Quando o cliente depositar os seus itens, ele/ela irá pressionar o botão recibo para obter o recibo. O recibo impresso irá listar os itens depositados, seus totais e o valor a ser pago ao cliente.

Page 29: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Especificações dos Use cases

Use Case Gerar relatórioFluxo principal de eventos:

• Será iniciado pelo operador quando ele precisar da listagem dos itens retornados no dia. O sistema imprimirá o tipo, quantidade de cada item e o total.

Use case Mudar itemFluxo principal de eventos

• Será iniciado pelo operador para modificar a informação do item no sistema. Ele será capaz de alterar o valor a ser pago pelo item.

Page 30: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Diagrama de Use Case

Gerar Relatório

Retornar Item

Mudar ItemCliente

Operador

Page 31: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Expressão de variantes de use cases Nem sempre é óbvio decidir se uma

funcionalidade corresponde a um novo use cases. Às vezes trata-se de uma variação de um mesmo use case– Se as diferenças forem pequenas elas

podem ser descritas através de variantes de um mesmo use case

– Se as diferenças são grandes elas devem ser descritas como use cases separados.

Page 32: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Expressão de variantes

Use Case Retornar itemFluxo principal de eventos:

• …...• Quando o cliente depositar os seus itens, ele/ela irá pressionar o

botão recibo para obter o recibo. O recibo impresso irá listar os itens depositados, seus totais e o valor a ser pago ao cliente.

Fluxo excepcional de eventos• Quando o cliente retorna um item ele é medido pelo sistema. A

medição é usada para determinar que tipo de lata, garrafa ou gradeado foi depositado. Se aceito o total do cliente será incrementado. Se não for aceito, apresentar mensagem ´NÃO É VALIDA´.

Page 33: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Adição de detalhes Use Case Retornar item

Fluxo principal de eventos:

• Quando o cliente depositar os seus itens, ele/ela irá pressionar o botão recibo para obter o recibo. O recibo impresso irá listar :

nome do item

número de itens retornados

valor do item

total para este item

Soma total a ser paga ao cliente

Page 34: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Organizando Use Cases

Generalização Inclusão Extensão

Page 35: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Generalização de Use Case

Relaciona um Use Case especializado a um mais geral

O filho herda os atributos, operações e seqüências de comportamento dos pais

O filho pode adicionar e redefinir o comportamento do pai

O filho pode substituir o pai em qualquer lugar que ele aparece

Page 36: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Generalização de Use Case O use case filho pode adicionar

comportamento incremental através da inserção de seqüências adicionais de ações em pontos arbitrários da seqüência do pai

Pode modificar alguma das operações e seqüências herdadas (cuidado!!)

Page 37: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Generalização de Use Cases

É possível abstrair comportamentos de use cases. Normalmente a similaridade entre use cases é identificada após a construção do use case.

Os use cases Checar password e Scan de retina ambos servem para validar o usuário.

Identificar um use case abstrato Validar usuário para realizar esta validação.

Page 38: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Generalização

Validar usuário

Checar password Scan da retina

Page 39: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Inclusão de use cases

O use case base incorpora explicitamente o comportamento de outro use case no local especificado na base.

O use case incluído nunca estará sozinho, somente será instanciado de um use case base que o incluirá.

Usado para evitar a descrição do mesmo fluxo de eventos várias vezes.

Page 40: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Inclusão

Validar Conta use case incluído (servidor)

Sessão de ATM use case base (cliente)

IdentificarCliente

<<inclui>> <<inclui>>

Page 41: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Use Case: Sessão de ATMmostre anúncio do diainclui Identificar Clienteinclui Validar Conta imprimir cabeçalho do recibolog out

Use Case de Inclusão: Identificar Clientepegue o nome do clienteinclui Verificar Identidadeif falha de verificação then abort a sessãoobtenha número da conta do cliente

Use Case de Inclusão: Validar Contaestabeleça conexão com banco de dados de contasobtenha status e limite da conta

Page 42: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Inclusão de Use Case: Definição

Inclusão da seqüência de comportamento do use case servidor na seqüência de interação do use case cliente, sob controle do use case cliente, no local que o cliente especifica sua descrição

Page 43: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Inclusão de use case

Descreve uma seqüência adicional de comportamento que será inserida na instância de use case que está executando o use case base

O mesmo use case de inclusão pode ser inserido em múltiplos use cases base

A inclusão representa comportamento encapsulado que potencialmente poderá ser reusado em outros use cases base

Page 44: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão de use case A extensão de um use case base por um

use case de extensão especifica como o comportamento definido pelo use case de extensão pode ser inserido no comportamento do use case base.

O use case de extensão modifica incrementalmente o use case base de uma forma modular

Page 45: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão de use case

Exemplo:

quando um item ficar preso o sistema deverá emitir um alarme

Isto poderá ser descrito como um use case que estende o use case Retornar item

Page 46: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão de use case

Retornar item

Item preso

<<estende>>

Quando um item ficar preso o alarme é ativado para chamar o operador.

Quando operador remover o item preso o alarme é desligado e o cliente poderá continuar a retornar itens.

Page 47: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão de use case

Usado para :– Modelar partes opcionais de use cases– Modelar cursos alternativos e complexos que

raramente ocorrem, como Item Preso– Modelar sub-cursos que são executados

somente em certos casos

Page 48: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão de use case Para modelar a situação onde vários

diferentes use cases podem ser inseridos em um use case (pontos de extensão)

O use case base implicitamente incorpora o comportamento do use case na localização especificada.

Page 49: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão: Pontos de Extensão

<<estende>>(set prioridade)

Fazer PedidoPontos de extensãoset prioridade

Fazer Pedido Urgente

Use Case Fazer Pedido

Fluxo principal de eventos: inclui (Validar usuário). Receber do usuário os itens do pedido. (set prioridade). Submeter o pedido para processamento.

<<inclui>>Validarusuário

Page 50: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão: Pontos de Extensão

Sessão de ATM pontos de extensãotransação possíveldetalhes do recibo

Use Case: Sessão de ATMmostre anúncio do dia inclui Identificar Clienteinclui Validar Conta (transação possível) < ------ ponto de extensãoimprimir cabeçalho do recibo (detalhes do recibo) < -------- ponto de extensãolog out

Page 51: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão: Pontos de Extensão

Cada ponto de extensão precisa ser definido no use case base.

Quando a execução da instância do use case alcança o local do use case referenciado pelo ponto de extensão e a condição da extensão é satisfeita, a execução é transferida para a seqüência do segmento de extensão. Quanto terminada, o controle volta para o use case original

Page 52: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Extensão de use case: Avançado

O relacionamento de extensão pode ter uma condição, uma expressão em termos de atributos do use case base, ou a ocorrência de eventos tais como a recepção de um sinal

Os efeitos da do use case de extensão são adicionados aos efeitos do use case base quando da sua instanciação

Page 53: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Agenda

<<inclui>><<inclui>>

<<inclui>>

Entrar nosistema

Autenticarusuário

Mostrarcalendário

mensal

<<inclui>>Mostrar

calendário anual

Desmarcarcompromisso

<<inclui>>

Marcarcompromisso

Mostrar agendadiária

<<inclui>>

<<inclui>>

Programador

Marcar reuniãoGerente

Verificar agendas dosprogramadoresAlocar tarefas

Alterarcompromisso

Verificarpermissões

<<inclui>>

Page 54: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Celular

Realizar chamadatelefônica

Receber chamadatelefônica

Realizar chamadatipo "conferência"

Rede celular

Usuário

<<estende>>

Verificar lista dechamadas

Telefone Celular

Page 55: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Dicas: Modelando o Contexto do Sistema

Identifique os atores que cercam o sistema– Quais grupos precisam de ajuda do sistema para

executarem suas tarefas – Quais os grupos necessários para executarem as

funções do sistema – Quais grupos interagem com hardware externo

ou outros sistemas de software– Quais grupos executam funções secundárias de

administração e manutenção

Page 56: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Dicas: Modelando o Contexto do Sistema

Organize os atores que são similares em uma hierarquia de generalização / especialização.

Quando ajudar a compreensão, faça um estereótipo para o ator

Use os atores no diagrama de use cases e especifique os caminhos de comunicação entre atores e use cases do sistema.

Page 57: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Dicas: Modelando Requisitos do Sistema

Estabeleça o contexto do sistema através da identificação dos atores que o cercam

Para cada ator, considere o comportamento que eles esperam o requerem que o sistema produza

Dê um nome aos comportamentos comuns (Use cases)

Fatore comportamentos comuns em novos use cases que serão usados por outros

Page 58: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Dicas: Modelando Requisitos do Sistema Fatore comportamento variante em novos use

cases que estendem o fluxo principal de eventos Modele os use cases, atores e seus

relacionamentos através de diagramas de use case Adorne os use cases com notas que descrevem

requisitos não funcionais (algumas destes se aplicam ao sistema como um todo).

Page 59: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Checklist: Nomeação de Atores e Use Case

Devem ser únicos!– cuidado ao definir novos nomes!

Os nomes devem ser intuitivos e descritivos. Tanto os usuários como os patrocinadores do software têm um entendimento comum?

Nomes de atores– devem descrever claramente o papel do ator

Nomes de casos de uso– devem indicar o resultado do caso de uso– use quantas palavras for necessário!

Page 60: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Checklist: Atores Todos os atores foram identificados? Cada ator está envolvido com pelo menos

um use case? Cada ator desempenha um papel? Algum

deveria ser fundido com outro ou ser dividido em dois?

Existem dois ou mais atores desempenhando o mesmo papel em relação a um use case?

Page 61: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Checklist: Use Cases Cada use case está envolvido com pelo

menos um ator? Os use cases são independentes uns dos

outros? Algum dos use case têm comportamento

ou fluxo de eventos muito similares? Os use cases têm nomes únicos, intuitivos

e explicativos de modo que não podem ser confundidos em um estágio posterior?

Os patrocinadores e usuários entendem os nomes e descrições dos use cases?

Page 62: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Checklist: Modelo de Use Cases

O modelo de use cases está fácil de se entender?

Estudando o modelo de use cases, você pode ter uma idéia clara das funções do sistema e como elas estão relacionadas?

O modelo de use cases contém algum comportamento supérfluo?

A divisão em pacotes do modelo de use cases está apropriada?

Page 63: Use Cases Use Cases (Casos de Uso). Use Cases Use cases l Um use case é a especificação de seqüências de ações que um sistema, subsistema, ou classe pode.

Use Cases

Checklist: Especificação de Use Case Está claro quem deseja executar um use case? A finalidade de cada use case está clara? A descrição breve dá uma idéia clara do significado do

use case? Está claro como e quando os fluxos de eventos de cada

use case começam e terminam? A seqüência de comunicação entre um ator e um use

case está de acordo com as expectativas do usuário? As interações e trocas de informação entre os atores e o

sistema estão claras? Existe algum use case demasiadamente complexo? Os fluxos de eventos (básicos e alternativos) estão

modelados de forma clara?