Análise e Gerenciamento de
Requisitos com Casos de Uso
Módulo 3
Introdução à Modelagem de
Requisitos com Casos de Uso
Objetivos
• Definir os conceitos-chave da modelagem de
Casos de Uso.
– Listar os benefícios da modelagem de casos de uso;
– Entender os tipos de casos de uso;
– Entender os relacionamentos entre casos de uso.
• Identificar atores e casos de uso.
– Descrever o relacionamento e a interação entre eles.
• Definir decomposição funcional.
• Ler e desenhar o Diagrama de Casos de Uso.
O que é modelagem de casos de uso?
• Associar necessidades a requisitos de software.
• Definir claramente as fronteiras do sistema.
• Capturar e comunicar o comportamento que é desejado
do sistema.
• Identificar quem ou o que interage com o sistema.
Modelo
• Validar / Verificar requisitos.
Use case 1
• É um instrumento de
Ator 2
planejamento.
Use case 2
Use case 3
Especificação
Caso de Uso 2
Um Modelo de Caso de Uso
O Sistema
Use case 1
Volta pelo Modelo de UC
Ator 1
- Navegue pelos textos
- Liste todos os atores
- Liste todos os casos de uso
Use case 2
Ator 2
Use case 3
Ator 3
Especificação UC 1
- Descrição breve
- Fluxo de eventos
Especif. UC 2
- Descrição Breve
- Fluxo de eventos
Espec. UC 3
- Descrição breve
- Fluxo de eventos
Elementos relevantes da Modelagem de Casos de Uso
Ator
Caso de Uso
Ator
Alguém ou alguma coisa
externa, que tem o papel
de interagir com o sistema
Caso de Uso
Representa alguma coisa
de valor que o sistema
fornece para os seus atores
O que é um Caso de Uso?
Nome do Caso de Uso
Define a seqüência de ações realizadas
entre o sistema e o ator, que produzem
um resultado de valor para o ator.
O Caso de Uso realiza os Requisitos de Software
• Cada caso de uso
– Descreve ações no sistema que entregam algo de
valor para um ator.
– Apresenta uma funcionalidade do sistema usada
pelo ator
– Modela o diálogo entre sistema e ator.
– É um fluxo de eventos completo e significativo dos
eventos da perspectiva de um ator em particular
Benefícios dos Casos de Uso
• Dá um contexto para os requisitos.
– Coloca os requisitos do sistema em seqüência lógica
– Ilustra porque o sistema é necessário para o Ator.
– Ajuda a verificar se todos requisitos foram atendidos.
• São fáceis de entender.
– Usa terminologia que clientes e usuários utilizam.
– Fala de estórias concretas de uso do sistema
– Verifica o entendimento dos stakeholders
• Facilita o acordo entre os clientes.
• Facilita reuso: teste, documentação, e projeto.
Ciclo de Vida de Casos de Uso
Fechar Matrículas
Descoberto
Descrição Breve: Este caso de uso permite ao Digitador
Descrito
brevemente
fechar o processo de matrículas. Ofertas de curso que não
possuírem alunos serão canceladas. O sistema de Cobrança é
notificado com todos os dados de matrícula para assim efetuar
as devidas cobranças.
Resumo do Fechar Matrículas
Rabiscado
Totalmente
Descrito
-Fluxo de Eventos
-Passo-a-Passo
Fechar Matrículas Especificação de Caso de Uso
- Fluxo de Eventos detalhado
Requisitos Especiais
-Condições (Pré & Pós)
Definir Atores: Foco nos papéis
• Um ator representa um
papel que um humano,
hardware, ou outro
sistema desempenha
em relação ao sistema.
• Os nomes de ator
devem representar
claramente seu papel.
?
Atores e Papéis
Charlie: Está empregado como
professor de matemática e é aluno de
Economia.
Jodie: É um aluno de
Ciências.
Matricular
em Curso
Charlie e Jodie agem
como estudantes.
Estudante
Submeter grades
Charlie também age
como Professor.
Professor
Comunicação-Associação
Ator 1
Caso de Uso
Ator 2
Ator 3
• Um canal de comunicação entre
um ator e um Caso de Uso.
• Uma linha é usada para
representar uma associação de
comunicação.
– Uma flecha indica quem inicia
cada interação.
– Uma linha sem flecha indica que o
caso de uso ou o ator podem
iniciar a interação.
Convenções das setas e linhas
Sensor passivo
Monitorar
Alarmes
Supervisor
Sensor ativo
Sensor híbrido
Sensor passivo
Monitorar
Alarmes
Supervisor
Sensor ativo
Sensor híbrido
Cada Associação de Comunicação é o Diálogo Completo
O estudante acessa o
sistema.
O sistema autentica o
usuário.
Estudante requisita dados do
curso.
Estudante
Matricular
em Curso
Sistema de
Cadastro
de Cursos
Sistema apresenta a lista de cursos.
O sistema transmite a requisição.
Estudante seleciona curso.
O sistema retorna os dados do
curso.
Sistema apresenta a agenda do
curso.
Um cenário de umCaso de Uso
Estudante
Matricular em
Curso
Cenário 1
Autenticar no sistema.
Aprova o login.
Digitar o assunto.
Obter lista de cursos.
Apresentar lista de cursos.
Selecionar Cursos.
Confirmar Disponibilidade.
Mostrar grade final.
Sistema de
Cadastro de Cursos
Cenário 2
Autenticar no sistema.
Aprova o login.
Digitar o assunto.
Assunto inválido.
Entra novamente assunto.
Obter lista de cursos.
Apresentar lista de cursos.
Selecionar Cursos.
Confirmar Disponibilidade.
Mostrar grade final.
Diagrama de Caso de Uso
Máquina de Auto Atendimento (ATM)
Sacar Fundos
Transferir Fundos
Cliente
Banco
Consórcio de
Bancos
Depositar Fundos
Coletar Depósitos
Caixa
Manter ATM
Manutenção
Exercício: Sistema de Vendas Externas
Sistema de Vendas
Vendedor
Realizar Pedido
Sistema de Estoque
Outro caso de uso
Ator X
Caso de Uso 3
Ator Y
Course
Registration
System Artifacts
Como deve ser o nome do caso de uso?
•
•
•
•
Indicar o significado ou objetivo do UC.
Usa a forma ativa; começar com verbo.
Imagine uma lista de tarefas.
Exemplos de variação:
–
–
–
–
–
Realizar Venda
Realizando Venda
Confirmar Realização da Venda
Venda de Produtos
Usar Sistema de Venda
Quais variações tem maior significado para o usuário? Quais não
tem?
Que nome de caso de uso você escolhe? Por que?
Passos para criar o Modelo de Casos de Uso
1. Procurar atores e casos de uso.
– Identifique e descreva brevemente os atores.
– Identifique e descreva brevemente casos de usos.
2. Escreva os casos de uso.
– Desenhe todos os casos de uso.
– Priorize os fluxos de casos de uso.
– Detalhe os fluxos por ordem de prioridade.
Procure Atores
Quem está operando (interagindo com o sistema)?
Estudante
Digitador
Sistema de Matrículas
O sistema nunca digita no sistema; o digitador faz isto.
Ou, você está construindo uma aplicação WEB?
Estudante
Sistema de Matrícula Online
Identifique atores
•
•
•
•
•
•
Quem / o que usa o sistema?
Quem / o que obtêm informação do sistema?
Quem / o que fornece informação para o cliente?
Onde na empresa o sistema é usado?
Quem / o que suporta ou mantêm o sistema?
Quais outros sistemas usam o sistema?
Descrição de um ator
Descrição Textual do Ator.
Nome
Estudante
Descrição Breve
Uma pessoa que se
registra para um
curso.
Relacionamento
com UCs
Matricular em Curso
Estudante
Checkpoints para Atores
• Tem certeza que encontrou todos os atores?
• Esclareceu e modelou todos os papéis dentro do
ambiente de sistema?
• Cada ator está envolvido com pelo menos um caso
de uso?
• Você poderia identificar pelo menos duas pessoas
que realizam o papel do ator?
• Alguns atores desempenham as mesmas funções
em relação ao sistema? (Se sim, colocá-los em um
único ator.)

Identificando Casos de Uso
Quais objetivos
desejo alcançar
utilizando o sistema?
Objetivo 1
Ator
Objetivo 2
Identificando Casos de Uso
• Quais são os objetivos de cada ator?
– Porque o ator quer utilizar o sistema?
– O ator irá criar, guardar, mudar, remover, ou ler
dados no sistema? Se sim, porque?
– O ator precisa informar ao sistema sobre mudanças
ou eventos externos?
– O ator precisará ser informado sobre certas
circunstâncias do sistema?
Descrição do Caso de Uso
Descrição Textual do caso de uso.
Nome
Matricular em curso
Descrição Breve
O estudante seleciona os
cursos que deseja para o
próximo semestre. Uma grade
dos cursos primários e
alternativos são gerados.
Relacionamento
com atores
Matricular em Curso
Estudante
Checkpoints para Casos de Uso
• O modelo de caso de uso apresenta o comportamento do
completo sistema?
• Todos os casos de uso foram identificados?
• Os casos de uso descrevem todos os comportamentos esperados
pelo ator com o qual interagem.
• O modelo de caso de uso não contêm comportamento supérfluo?
• Todos os casos de uso podem ser justificados ao rastreá-los de
volta para os requisitos funcionais.
• Todos os casos de uso CRUD de tabelas auxiliares (as que não
realizam atividades do processo de negócio) foram removidos?

Decomposição funcional
• È a quebra do problema em partes menores,
isoladas.
– As partes juntas fornecem a funcionalidade do
sistema.
• Muitas vezes não fazem sentido se isoladas.
• Casos de uso:
– Não há decomposição funcional.
– Mantém a funcionalidade junta, para descrever o uso
completo do sistema.
– Fornece o contexto.
Decomposição Funcional: Um Exemplo
Inserir Cartão
Processar Transação
Consórcio
Bancário
Entrar PIN
Selecionar Conta Destino
Selecionar Transferência
de Fundos
Cliente
Entrar Quantidade
Selecionar Conta Origem
Selecionar Saque
Selecionar Saldo da Conta
Evite Decomposição Funcional
Sintomas
– Casos de uso pequenos
– Muitos casos de uso
– Casos de uso sem resultado
real
– Nomes com operações de
baixo nível
• “Operação” + “objeto”
• “Função” + “dados”
• Exemplo: “Inserir Cartão”
– Dificuldade de entender o
contexto geral
Ações Corretivas
– Procure um contexto maior
“Porque está construindo o
sistema?”
– Coloque-se no papel do
usuário
“O que o usuário quer obter?”
“Qual objetivo o caso de uso
deve satisfazer?”
“Qual valor o caso de uso
adiciona?”
“Qual é a história do caso de
uso?”
Decomposição Funcional: Um exemplo corrigido
Sacar Fundos
Transferir Fundos
Consórcio
Bancário
Cliente
Depositar Fundos
Exercício: Identifique atores e casos de uso
• Identifique os atores que interagem com o
sistema de Vendas Externas.
• Identifique os casos de uso para o sistema.
– Use como ponto de partida, cada ator.
• Desenhe um diagrama de casos de uso.
– Revise os casos de uso e atores de acordo com os
slides de checkpoints.
Exemplo de Solução: Sistema de Matrículas
Matricular em Curso
Requisitar Catálogo
de Cursos
Estudante
Sistema de
Matrículas
Alterar Opções
de Curso
Ver Grades
Sistema de
Cobrança
Fechar Matrículas
Professor
Digitador
Selecionar cursos
a lecionar
Submeter
Grades
Obter Lista de
Turmas do curso
Onde os casos de uso se encaixam na Ger. Req.?
Analisar o Problema
Entender
Necessidades do
Stakeholder
Descrição
Caso de Uso
Refinar o
Sistema
Especificação
de Caso de Uso
(detalhada)
?
Definir o
Sistema
Gerenciar o
Escopo
Gerenciar Mudanças
de Requisito
Revisão
1.
2.
3.
4.
5.
6.
Quais benefícios da Modelagem de Casos de Uso?
O que é incluído no Modelo de Casos de Uso?
Como identificar atores e casos de uso?
O que é decomposição funcional?
Por que devemos evitar decomposição funcional?
Quais questionamentos devemos fazer para testar
a qualidade do Modelo de Casos de Uso?
Download

Caso de Uso