análise e gerenciamento de requisitos com casos de uso módulo 3 introdução à modelagem de...
TRANSCRIPT
Análise e Gerenciamento de Requisitos com Casos de Uso
Módulo 3Introduçã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.• Validar / Verificar requisitos.• É um instrumento de
planejamento.
EspecificaçãoCaso de Uso 2
Ator 2
Use case 1
Modelo
Use case 2
Use case 3
Use case 1
Use case 2
Use case 3
Um Modelo de Caso de Uso
Volta pelo Modelo de UC- Navegue pelos textos - Liste todos os atores- Liste todos os casos de uso
Especif. UC 2- Descrição Breve- Fluxo de eventos
Espec. UC 3- Descrição breve- Fluxo de eventos
Ator 1
Ator 2
Ator 3
Especificação UC 1- Descrição breve - Fluxo de eventos
O Sistema
Elementos relevantes da Modelagem de Casos 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
Ator
Caso de Uso
O que é um 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.
Nome do Caso de Uso
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
Descoberto
Rabiscado
Descrito brevemente
Fechar Matrículas
Descrição Breve: Este caso de uso permite ao Digitador 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-Fluxo de Eventos
-Passo-a-Passo
Fechar Matrículas Especificação de Caso de Uso- Fluxo de Eventos detalhadoRequisitos Especiais-Condições (Pré & Pós)
Totalmente Descrito
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.
?
Charlie e Jodie agem como estudantes.
Charlie também age como Professor. Professor
Matricular em Curso
Submeter grades
Estudante
Atores e Papéis
Charlie: Está empregado como professor de matemática e é aluno de Economia.
Jodie: É um aluno de Ciências.
Comunicação-Associação
• 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.
Ator 1
Ator 2 Ator 3
Caso de Uso
Convenções das setas e linhas
Supervisor Sensor ativo
Sensor passivo
Sensor híbrido
Supervisor
Monitorar Alarmes
Sensor passivo
Sensor híbrido
Sensor ativo
Monitorar Alarmes
Cada Associação de Comunicação é o Diálogo Completo
Estudante Sistema de Cadastro de Cursos
Matricular em Curso
O estudante acessa o sistema.
O sistema autentica o usuário.
Estudante requisita dados do curso.
O sistema transmite a requisição.
O sistema retorna os dados do curso.
Sistema apresenta a lista de cursos.
Estudante seleciona curso.
Sistema apresenta a agenda do curso.
Um cenário de umCaso de Uso
Cenário 1Autenticar no sistema.Aprova o login.Digitar o assunto.Obter lista de cursos.Apresentar lista de cursos.Selecionar Cursos.Confirmar Disponibilidade.Mostrar grade final.
Cenário 2Autenticar 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.
EstudanteSistema de
Cadastro de Cursos
Matricular em Curso
Diagrama de Caso de Uso
Consórcio deBancos
Cliente Banco
Máquina de Auto Atendimento (ATM)
Caixa
Sacar Fundos
Transferir Fundos
Depositar Fundos
Manter ATM Manutenção
Coletar Depósitos
Exercício: Sistema de Vendas Externas
Sistema de EstoqueVendedor
Sistema de Vendas
Ator XAtor Y
Realizar Pedido
Course Registration System Artifacts
Outro caso de uso
Caso de Uso 3
• 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
Como deve ser o nome do caso de uso?
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.
Estudante Digitador Sistema de Matrículas
O sistema nunca digita no sistema; o digitador faz isto. Ou, você está construindo uma aplicação WEB?
Sistema de Matrícula OnlineEstudante
Quem está operando (interagindo com o sistema)?
Procure Atores
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 atorDescrição Textual do Ator.Nome EstudanteDescrição Breve Uma pessoa que se
registra para um curso.
Relacionamentocom 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
Ator
Objetivo 1
Objetivo 2
Quais objetivos desejo alcançar
utilizando o sistema?
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 UsoDescriçã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.
Relacionamentocom 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
Entrar PIN
Inserir Cartão
Selecionar Conta Origem
Entrar Quantidade
Selecionar Saque
Cliente
Selecionar Saldo da Conta
Selecionar Transferência
de Fundos
Selecionar Conta Destino
Consórcio Bancário
Processar Transação
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
Depositar Fundos
ClienteConsórcio Bancário
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
Professor
Estudante
Sistema de Cobrança
Digitador
Sistema de Matrículas
Matricular em Curso
Requisitar Catálogo de Cursos
Ver Grades
Alterar Opções de Curso
Fechar Matrículas
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
Refinar o Sistema Gerenciar Mudanças
de RequisitoEspecificaçãode Caso de Uso
(detalhada)
Definir o Sistema
Gerenciar o Escopo
DescriçãoCaso de Uso
Entender Necessidades do
Stakeholder
Revisão
1. Quais benefícios da Modelagem de Casos de Uso?2. O que é incluído no Modelo de Casos de Uso?3. Como identificar atores e casos de uso?4. O que é decomposição funcional?5. Por que devemos evitar decomposição funcional?6. Quais questionamentos devemos fazer para testar a
qualidade do Modelo de Casos de Uso?