SlideShare a Scribd company logo
1 of 93
Download to read offline
©Jaelson Castro 2016 1
Requisitos Funcionais
Fluxo de Requisitos (RUP):
Atividades, Artefatos e
Responsáveis
©Jaelson Castro 2016 2
O Fluxo de Requisitos
Concepção Elaboração Construção Transição
Iteração
Preliminar
Iter.
#1
Iter.
#2
Iter.
#i
Iter.
#i+1
Iter.
#i+2
Iter.
#n
Iter.
#n+1
Requisitos.......................................
Análise e Projeto............................
Implementação...............................
Testes.............................................
Distribuição....................................
Planejamento e Gerenciamento.....
Fluxos de Processo
Fluxos de Suporte
Fases
Iterações
Gerência de Mudanças
©Jaelson Castro 2016 3
Objetivos do fluxo de requisitos
 Descrever o quê o sistema deve fazer, em acordo
com o cliente e usuários
 Descrever como gerenciar escopo e mudanças de
requisitos
 Delimitar o sistema e prover uma base para o
planejamento das iterações
 Definir a interface com o usuário
©Jaelson Castro 2016 4
Devemos ter em mente...
 O sistema deve prover valor ao cliente e usuários
 Os requisitos precisam ser definidos na direção
correta
 Os clientes precisam entender o resultado da captura
de requisitos
©Jaelson Castro 2016 5
Atividades do fluxo de requisitos
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
©Jaelson Castro 2016 6
Atividades do fluxo de requisitos
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
Levantar
Atores
Levantar
Casos de Uso
Check
List
 bla bla
 bla
 blabla

Desc:
Pré:
Pós:
Fluxo:
1.
2.
Fl. Sec:
RNF
Usab.
Conf.
Perfor.
Seg.
©Jaelson Castro 2016 7
Artefatos gerados
 Glossário
 Documento de Requisitos
 Diagrama de Casos de Uso
 Protótipo da interface com o usuário (opcional)
 Termo de Homologação de Requisitos
©Jaelson Castro 2016 8
Glossário
 Define termos importantes usados no projeto
 É importante para garantir que os conceitos
envolvidos são interpretados da mesma forma por
todos os membros da equipe
Glossário
©Jaelson Castro 2016 9
Glossário: estrutura
 Introdução
• Objetivos do documento
• Público ao qual se destina
 Definições
• Termos, definições e sinônimos
 Referências
©Jaelson Castro 2016 10
Documento de requisitos: estrutura
 Introdução
• Objetivos do documento
• Público ao qual se destina
• Termos e acrônimos
• Referências
 Descrição geral do sistema
• Abrangência e sistemas relacionados
• Descrição dos usuários
 Casos de uso
 Requisitos não funcionais
 Diagrama de casos de uso
©Jaelson Castro 2016 11
Documento de requisitos
 Casos de uso
• Identificador do caso de uso
• Breve descrição
• Ator (pode não ser inserido)
• Prioridade
• Requisitos não funcionais associados
• Pré condições
• Pós condições
• Fluxo de eventos principal
• Fluxos secundários: alternativos e de exceção
• Interfaces associadas (opcional)
©Jaelson Castro 2016 12
Homologação de requisitos: estrutura
 Introdução
• Objetivos do documento
• Organização do documento
 Casos de uso homologados
• Para cada caso de uso
» Identificador
» Resultado da homologação
 Homologado, não homologado, homologado com restrições
» Comentários
©Jaelson Castro 2016 13
Responsáveis no fluxo de requisitos
Analista de
sistemas
Diagrama de casos
de uso
Revisor
Projetista de
interface
Protótipo da GUI
Glossário
Termo de
homologação
de requisitos
Documento de
requisitos
Usuário
©Jaelson Castro 2016 14
Caso de Uso
Conceitos Básicos
©Jaelson Castro 2016 15
Caso de uso
 É uma forma específica de uso do sistema através da
execução de alguma de suas funcionalidades.
 Uma unidade coerente de funcionalidade provida
por um um sistema, manifestada por uma seqüência
de mensagens trocadas entre o sistema e um ou mais
usuários externos (representados como atores), junto
com as ações executadas pelo sistema.
©Jaelson Castro 2016 16
Caso de uso: continuação
 Descrevem o que acontece dentro do sistema.
 Ajudam muito na comunicação entre clientes e
desenvolvedores.
 Mostram apenas o que o sistema faz, e não como.
• Capturam o comportamento pretendido para um sistema, sem a
necessidade de especificar como esse comportamento será
implementado.
©Jaelson Castro 2016 17
Caso de uso: representação gráfica
Solicitar
extrato
Solicitar saldo
©Jaelson Castro 2016 18
Atores
 Constituem as entidades que interagem com o
ambiente do sistema
• Pessoas ou outros sistemas (de hardware ou software) que
interagem com o sistema em desenvolvimento
 Definem um papel particular
 São sempre externos ao sistema
 O sistema será descrito através de vários casos de
uso que são executados por um número de atores
©Jaelson Castro 2016 19
Ator: representação gráfica
Cliente Caixa
©Jaelson Castro 2016 20
Atores x usuários do sistema
 Uma mesma pessoa pode desempenhar diferentes
papéis
Carlos como
professor
Professor Estudante
Carlos como
estudante
Carlos
©Jaelson Castro 2016 21
Diagrama de casos de uso
 Diagrama com os casos de uso do
sistema e atores relacionados;
 Facilitam o entendimento do sistema
mostrando a sua “visão externa”;
 A coleção de casos de uso deve
especificar todas as formas existentes
de uso do sistema. Diagrama de casos de uso
©Jaelson Castro 2016 22
Diagrama de casos de uso:
representação gráfica
Cliente
Sacar dinheiro
Realizar depósito
Transferir entre contas
Uma associação entre um ator e um caso de uso indica que há uma
comunicação, possivelmente com envio e recepção de mensagens.
©Jaelson Castro 2016 23
Requisitos x casos de uso
 Um requisito funcional pode ser mapeado em um ou
mais casos de uso
 Requisitos não funcionais podem ser:
• Específicos: associados a um caso de uso específico
• Genéricos: associados a vários casos de uso ou ao sistema com um
todo
• Para serem atendidos podem gerar novos casos de uso
©Jaelson Castro 2016 24
Especificação de Caso de Uso
 Identificador do caso de uso
 Breve Descrição
 Ator (opcional)
 Prioridade
 Pré condições
 Pós condições
 Fluxos de eventos:
• Fluxo de eventos principal
• Fluxos secundários: alternativos e de exceção
 Requisitos Não-Funcionais Específicos
 Interface gráfica associada
©Jaelson Castro 2016 25
Modelo de casos de uso
Modelo de casos de uso
Atores
Casos de uso
Especificações de casos de uso
©Jaelson Castro 2016 26
Pacotes de Casos de Uso
 Servem para agrupar
casos de uso
relacionados
 Critérios para
agrupamento:
• ator
• funcionalidades correlatas
• etc
©Jaelson Castro 2016 27
Levantamento de Casos de Uso
©Jaelson Castro 2016 28
Objetivos
 Discutir como encontrar atores e casos de uso
 Apresentar o diagrama de casos de uso e o diagrama
de atividades de UML
 Discutir como especificar os casos de uso
©Jaelson Castro 2016 29
Levantar Requisitos do Sistema
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
©Jaelson Castro 2016 30
Levantar Requisitos do Sistema
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
Levantar
Atores
Levantar
Casos de Uso
©Jaelson Castro 2016 31
Como encontrar atores?
 Quem usa o sistema?
 Quem instala/mantém o sistema?
 Quem inicia/desliga o sistema?
 Que outros sistemas usam o sistema?
 Quem recebe informação do sistema?
 Quem provê informação ao sistema?
©Jaelson Castro 2016 32
Como encontrar casos de uso?
 Atores são fundamentais para a descoberta dos casos de uso
 Pergunte:
• 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 desses eventos?
©Jaelson Castro 2016 33
Escopo do sistema
 É preciso delimitar as fronteiras do sistema
Caixa
Sistema
de Caixa
Automático Sistema bancário
Qual é a
fronteira
do sistema?
Cliente
©Jaelson Castro 2016 34
Técnicas para levantar casos de uso
 Use-Case Workshop
• não pode ter muita gente
• pessoas com diferentes perfis
• presença de um facilitador
• aceitar todo tipo de sugestão, filtrar depois!
• evite pensar em detalhes
• os casos de uso levantados devem estar claros para todos!
» Principalmente o valor que este agrega ao usuário
• consulte todos!
• dê sugestões
©Jaelson Castro 2016 35
Técnicas para levantar casos de uso
 Reuniões
• conversas com usuários
 Storyboarding
• simulação através de desenhos das interfaces
©Jaelson Castro 2016 36
Exercício
 Dada uma descrição preliminar do QIB, observe
seu diagrama de casos de uso no próximo slide.
 Em seguida, com base na descrição inicial do
Amazônia, crie um diagrama de casos de uso.
©Jaelson Castro 2016 37
Diagrama de casos de uso do QIB
Operadora do DOC
Desbloquear Talões
de Cheque
Efetuar Login
Alterar Senha
Consultar Saldo
Consultar Extrato
Consultar Qualiti Card
Realizar Transferência
Consultar Cheques
Solicitar Talões de Cheque
Realizar DOC
Operadora Cartão de
Crédito
Efetuar Pagamento do
Qualiti Card
Operadora Mercado de
Ações
Comprar Ações
Consultar Cotações de Ações
ClienteAtor
Vender Ações
©Jaelson Castro 2016 38
Especificação Detalhada
dos Casos de Uso
©Jaelson Castro 2016 39
Detalhar
Especificação de Caso de Uso
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
©Jaelson Castro 2016 40
Detalhar
Especificação de Caso de Uso
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
Levantar
Atores
Levantar
Casos de Uso
Desc:
Pré:
Pós:
Fluxo:
1.
2.
Fl. Sec:
RNF
Usab.
Conf.
Perfor.
Seg.
©Jaelson Castro 2016 41
Quando e por que realizá-las?
 Quando?
• após fazer levantamento dos principais casos de uso do sistema
 Por que?
• descrever detalhes dos casos de uso
• descrever fluxos de eventos e outras propriedades
• uniformizar entendimento entre clientes, usuários e equipe de
desenvolvimento
©Jaelson Castro 2016 42
Especificando casos de uso
 Casos de uso não precisam ser especificados todos
de uma vez
• o processo é iterativo!
 Casos de uso devem ser priorizados por iteração
• Prioridade técnica
• Prioridade do usuário
©Jaelson Castro 2016 43
Especificando um caso de uso
 Identificador
 Breve descrição
 Ator
 Prioridade
 Requisitos não-funcionais associados
 Pré-condições
 Pós-condições
 Fluxo de eventos principal
 Fluxos secundários: alternativos e de exceção
 Interfaces associadas (opcional)
©Jaelson Castro 2016 44
Identificação do caso de uso
 Deve ser única!
 Não deve mudar nunca
 Pois casos de uso podem ser referenciados
por seu identificador
©Jaelson Castro 2016 45
Breve descrição do caso de uso
 Dar uma idéia do propósito do caso de uso,
do seu objetivo
 Deve ser feita ao se identificar o caso de uso,
para evitar mal-entendidos
 2 ou 3 linhas!
©Jaelson Castro 2016 46
Prioridade de casos de uso
 Essencial para gerenciar os requisitos
 É preciso definir prioridade de todos os casos
de uso
 Exemplos de prioridade:
• Essencial
• Importante
• Desejável
©Jaelson Castro 2016 47
Pré e pós condições
 O que deve ser verdade antes e depois da
realização do caso de uso!
©Jaelson Castro 2016 48
Pré e pós condições: exemplos
 Caso de uso “Entregar pedido”
• Pré condição: os itens do pedido devem existir em estoque
• Pós condição: os itens enviados devem ser abatidos do estoque
 Caso de uso “Recadastrar CPF”
• Pré condição: o usuário deve possuir um CPF
• Pós condição: a situação do contribuinte é atualizada
©Jaelson Castro 2016 49
Fluxo de eventos básico/principal
 Série de passos que compõem um caso de uso
 Concentre-se inicialmente na funcionalidade
básica/central do caso de uso
 Pense nos fluxos secundários depois!
©Jaelson Castro 2016 50
Exemplo de um fluxo básico
 Caso de uso “Sacar dinheiro”
1. O cliente passa o seu cartão
2. Digita sua senha
3. Digita o valor do saque
4. O sistema verifica se há saldo suficiente
5. O saldo é debitado da conta do cliente
6. O dinheiro é entregue ao cliente
©Jaelson Castro 2016 51
Exemplo de um fluxo básico
 Caso de uso “Sacar dinheiro”
 MAS...
• E se a senha não conferir?
• E se não houver saldo?
• E se não houver dinheiro suficiente na máquina?
Calma, vamos deixar esses detalhes para depois!
©Jaelson Castro 2016 52
Subfluxos
 Às vezes, o fluxo principal possui várias alternativas
igualmente prováveis de ocorrer
 Nestes casos, pode-se usar o conceito de subfluxos!
 Cada subfluxo representa um dos possíveis
caminhos do fluxo principal
©Jaelson Castro 2016 53
Subfluxos - Exemplo
 Considere um sistema que realiza compra e vendas
de produtos.
 Caso de uso Cadastrar Produtos
• Fluxo básico
1. O funcionário seleciona a opção de cadastro,
iniciando o caso de uso.
2. O sistema requisita que o funcionário forneça a
operação que quer efetuar: inclusão, atualização ou
remoção de produtos.
3. De acordo com a opção fornecida pelo funcionário,
um dos subfluxos abaixo é executado.
©Jaelson Castro 2016 54
Subfluxos - Exemplo
• Subfluxo Incluir produto
1.O sistema requisita o nome, descrição e preço do novo
produto.
2.Quando o usuário fornece os dados requisitados, o sistema
gera um identificador único para o novo produto e o
armazena no cadastro de produtos.
©Jaelson Castro 2016 55
Subfluxos - Exemplo
• Subfluxo Alterar informações do produto
1.O sistema requisita o nome ou identificador do
produto a ser alterado.
2.O funcionário fornece o identificador do produto.
3.O sistema recupera e apresenta os dados do produto
para alteração (os mesmos dados requisitados no
subfluxo “Incluir produto”).
4.O funcionário atualiza os dados do produto e o
sistema armazena os novos dados.
• Subfluxo Remover produto
...
©Jaelson Castro 2016 56
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)
 Fluxos de erro
• situações de erro
©Jaelson Castro 2016 57
Reuso de fluxos secundários
 Fluxos secundários, principalmente de erros, podem
ser referenciados por diferentes casos de uso
 Evitar duplicação de informação!
©Jaelson Castro 2016 58
Descrição da interface com o usuário
Interfaces associadas (opcional)
 Ferramenta para compreensão do caso de uso
• nível de detalhes adequado
 Facilidade para a descrição de críticas básicas
• tamanho e tipo dos campos
• máscaras
©Jaelson Castro 2016 59
Exemplo – QIB
 Observe os fluxos secundários (alternativos e de
exceção) dos casos de uso Atualizar Cotações e
Comprar Ações.
©Jaelson Castro 2016 60
Exercício
 Observe a especificação detalhada dos casos de uso
Atualizar Cotações e Comprar Ações do QIB.
 Em seguida, com base na descrição preliminar e no
diagrama de casos de uso do Amazônia, especifique
o fluxo principal de dois casos de uso.
©Jaelson Castro 2016 61
Estruturação do Modelo
de Casos de Uso
©Jaelson Castro 2016 62
Objetivos
 Apresentar os conceitos necessários e elementos de
UML usados para estruturar o modelo de casos de
uso
©Jaelson Castro 2016 63
Estruturar Modelo de Casos de Uso
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
©Jaelson Castro 2016 64
Estruturar Modelo de Casos de Uso
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
Levantar
Atores
Levantar
Casos de Uso
Desc:
Pré:
Pós:
Fluxo:
1.
2.
Fl. Sec:
RNF
Usab.
Conf.
Perfor.
Seg.
©Jaelson Castro 2016 65
Por que estruturar o modelo?
 Extrair descrições de funcionalidades genéricas e
compartilhadas que podem ser usadas por mais de um caso
de uso;
 Extrair descrições de funcionalidades adicionais que
possam estender descrições específicas;
 Facilitar o entendimento do modelo.
 O modelo não deve ser estruturado muito cedo!
©Jaelson Castro 2016 66
Generalização de Atores
 É possível definir tipos gerais de atores e
especializá-los usando o relacionamento de
especialização
Vendedor
Realizar venda
Estabelecer crédito
Supervisor
©Jaelson Castro 2016 67
Generalização de Atores:
outro exemplo
Aluno
Aluno
tempo integral
Aluno
tempo parcial
©Jaelson Castro 2016 68
Relacionamentos entre casos de uso
 Inclusão
 Extensão
 Generalização
©Jaelson Castro 2016 69
Inclusão de casos de uso
 Use inclusão quando houver repetição entre casos
de uso e você desejar evitar esta repetição.
 Um caso de uso incorpora explicitamente o
comportamento de outro caso de uso, evitando
assim repetições de descrição de fluxos.
©Jaelson Castro 2016 70
Relacionamento de inclusão
 Existe somente entre casos de uso.
 Analogia útil: rotina.
• Em uma linguagem de programação, instruções podem ser
agrupadas em uma unidade lógica chamada rotina.
• Sempre que essas instruções devem ser executadas, a rotina
correspondente é chamada.
 Quando dois ou mais casos de uso incluem uma
seqüência de interações comum, esta seqüência
comum pode ser descrita em um outro caso de uso.
©Jaelson Castro 2016 71
Relacionamento de inclusão
 Este caso de uso comum:
• evita a descrição de uma mesma seqüência de interações mais de
uma vez e
• torna a descrição dos casos de uso mais simples.
 Um exemplo: considere um sistema de controle de
transações bancárias. Alguns casos de uso deste
sistema são Obter Extrato, Realizar Saque e
Realizar Transferência.
• Há uma seqüência de interações em comum: a seqüência de
interações para validar a senha do cliente.
©Jaelson Castro 2016 72
Notação
Realizar Saque
Cliente
Fornecer
Identificação
«inclui»
«inclui»
Realizar
Transferência
Obter Extrato
«inclui»
©Jaelson Castro 2016 73
Inclusão de casos de uso: exemplo
Efetuar pagamento
Vendedor
Realizar pedido
<<inclui>>
©Jaelson Castro 2016 74
Exemplo de inclusão:
validação de cliente no sistema
Caso de uso: Realizar Saque
O cliente seleciona a opção “sacar”
O cliente informa o valor a ser sacado
<inclui> Fornecer Identificação
O cliente recebe o dinheiro
Caso de uso de Inclusão: Fornecer Identificação
O cliente informa a senha e passa o cartão
O sistema valida a senha e os dados do cartão
©Jaelson Castro 2016 75
Extensão de casos de uso
 Use extensão quando quiser descrever uma variação do
comportamento normal.
• partes opcionais de casos de uso
• cursos alternativos e complexos que raramente ocorrem
Solicitar catálogo
Vendedor
Realizar pedido
<<extends>>
©Jaelson Castro 2016 76
Relacionamento de extensão
 Utilizado para modelar situações onde diferentes
seqüências de interações podem ser inseridas em um
caso de uso.
 Sejam A e B dois casos de uso.
• Um relacionamento de extensão de B para A indica que um ou
mais dos cenários de A podem incluir o comportamento
especificado por B.
• Neste caso, diz-se que B estende A.
• O caso de uso A é chamado de estendido e o caso de uso B de
extensor.
©Jaelson Castro 2016 77
Relacionamento de extensão
 Cada uma das diferentes seqüências representa um
comportamento opcional, que só ocorre sob certas
condições ou cuja realização depende da escolha do
ator.
 Quando um ator opta por executar a seqüência de
interações definida no extensor, este é executado.
• Após a sua execução, o fluxo de interações volta ao caso de uso
estendido, recomeçando logo após o ponto em que o extensor foi
inserido.
 Importante: não necessariamente o comportamento
definido pelo caso de uso extensor é realizado.
©Jaelson Castro 2016 78
Extensão de casos de uso
©Jaelson Castro 2016 79
Generalização de casos de uso
 Relaciona um caso de uso 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
©Jaelson Castro 2016 80
Generalização de casos de uso: exemplo
Validar cliente
Verificar password Scan da retina
©Jaelson Castro 2016 81
Diagrama de casos de uso
estruturado: exemplo
©Jaelson Castro 2016 82
Diagrama de casos de uso estruturado:
outro exemplo
Mostrar dados da consulta
Informar dados do Qualiti Card
<<include>>
Operadora do
DOC
Operadora cartao
de crédito
Realizar transferencia
Consultar cheques
Solicitar taloes de cheque
Desbloquear taloes de cheque
Efetuar Login Alterar senha
Consultar saldo
<<include>>
Consultar extrato
<<include>>
Consultar Cartão
<<include>>
Realizar DOC
Efetuar pagamento do Cartão
<<include>>
Habilitar acesso a conta
Cliente
©Jaelson Castro 2016 83
Exercício (Opcional)
 Produza um diagrama de casos de uso estruturado
do Amazônia.
©Jaelson Castro 2016 84
Revisão dos Requisitos
©Jaelson Castro 2016 85
Objetivos
 Apresentar um checklist para verificação da
qualidade do modelo de casos de uso
©Jaelson Castro 2016 86
Revisar Requisitos
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Projetista da
Interface
Analista de
Sistema
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
©Jaelson Castro 2016 87
Revisar Requisitos
Projetista da
Interface
Analista de
Sistema
Levantar
Requisitos
do Sistema
Prototipar
Interface
Revisar
Requisitos
Detalhar
Especificação
De Caso de Uso
Revisor de
Requisitos
Estruturar
Modelo
de Casos de Uso
Homologar
Requisitos
Usuário
Levantar
Atores
Levantar
Casos de Uso
Check
List
 bla bla
 bla
 blabla
Desc:
Pré:
Pós:
Fluxo:
1.
2.
Fl. Sec:
RNF
Usab.
Conf.
Perfor.
Seg.
©Jaelson Castro 2016 88
Nomeação de atores e casos de uso
 Devem ser únicos!
• cuidado ao definir novos nomes!
 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!
©Jaelson Castro 2016 89
Casos de Uso devem ser
 Unidades testáveis e auto-contidas!
 Isso facilita:
• distribuição de tarefas entre os desenvolvedores
• gerenciamento do cronograma
• planejamento e realização de testes unitários
• integração do sistema
 Sem isso, não é viável um desenvolvimento
iterativo e incremental!
©Jaelson Castro 2016 90
Checklist - Revisão dos Atores
 Todo ator está relacionado a pelo menos um caso de uso?
 Você pode nomear pelo menos 2 pessoas que atuem como um
ator específico?
 2 ou mais atores possuem papéis similares em relação ao
sistema?
 1 determinado ator usa o sistema de várias maneiras diferentes
ou tem vários objetivos ao usar o sistema?
 Os nomes dos atores são únicos, descritivos e intuitivos e
correspondem aos seus papéis?
©Jaelson Castro 2016 91
Checklist - Revisão dos Casos de Uso
 Todo caso de uso está relacionado a pelo menos um ator? E
fornece um resultado de valor?
 Todo caso de uso é independente dos outros?
 Parte do fluxo de eventos de um caso de uso já foi especificado
em outro caso de uso?
 2 ou mais casos de uso possuem fluxos de eventos muito
similares?
©Jaelson Castro 2016 92
Checklist - Revisão dos Casos de Uso
 Os nomes dos casos de uso são únicos e intuitivos e descrevem os
seus comportamentos? Eles não correm o risco de serem
confundidos no futuro?
 Os casos de uso correlacionados estão agrupados em pacotes,
facilitando o seu entendimento?
©Jaelson Castro 2016 93
Os requisitos SEMPRE mudam
 Atualizar a documentação é fundamental!
 Lembre-se que os casos de uso serão utilizados para testes e
documentação do usuário!!!

More Related Content

Similar to Fluxo de Requisitos (RUP).pdf

Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de UsoProf. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de UsoRenato Augusto
 
Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de UsoProf. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de UsoRenato Augusto
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoVinícius de Paula
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptxAlanCunha14
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoCursoSENAC
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1marcosdcmartinsss
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de usoSergio Chaves
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosTiago Barros
 
[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de Uso
[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de Uso[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de Uso
[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de UsoUniversidade Federal de Minas Gerais
 
Requisitos monitoria
Requisitos monitoriaRequisitos monitoria
Requisitos monitoriaPaulo Damas
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dadosGabriel Moura
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 

Similar to Fluxo de Requisitos (RUP).pdf (20)

Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de UsoProf. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de Uso
 
Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de UsoProf. Renato Nunes   aula 04 - Modelagem de Sistemas - Caso de Uso
Prof. Renato Nunes aula 04 - Modelagem de Sistemas - Caso de Uso
 
Introdução à UML com Casos de Uso
Introdução à UML com Casos de UsoIntrodução à UML com Casos de Uso
Introdução à UML com Casos de Uso
 
Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de Projeto
 
Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptx
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de Uso
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de uso
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de Uso
[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de Uso[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de Uso
[CEFETMG][ESw]Aula 4 - Engenharia de Requisitos - Diagrama de Caso de Uso
 
Requisitos monitoria
Requisitos monitoriaRequisitos monitoria
Requisitos monitoria
 
Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dados
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 

Fluxo de Requisitos (RUP).pdf

  • 1. ©Jaelson Castro 2016 1 Requisitos Funcionais Fluxo de Requisitos (RUP): Atividades, Artefatos e Responsáveis
  • 2. ©Jaelson Castro 2016 2 O Fluxo de Requisitos Concepção Elaboração Construção Transição Iteração Preliminar Iter. #1 Iter. #2 Iter. #i Iter. #i+1 Iter. #i+2 Iter. #n Iter. #n+1 Requisitos....................................... Análise e Projeto............................ Implementação............................... Testes............................................. Distribuição.................................... Planejamento e Gerenciamento..... Fluxos de Processo Fluxos de Suporte Fases Iterações Gerência de Mudanças
  • 3. ©Jaelson Castro 2016 3 Objetivos do fluxo de requisitos  Descrever o quê o sistema deve fazer, em acordo com o cliente e usuários  Descrever como gerenciar escopo e mudanças de requisitos  Delimitar o sistema e prover uma base para o planejamento das iterações  Definir a interface com o usuário
  • 4. ©Jaelson Castro 2016 4 Devemos ter em mente...  O sistema deve prover valor ao cliente e usuários  Os requisitos precisam ser definidos na direção correta  Os clientes precisam entender o resultado da captura de requisitos
  • 5. ©Jaelson Castro 2016 5 Atividades do fluxo de requisitos Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário
  • 6. ©Jaelson Castro 2016 6 Atividades do fluxo de requisitos Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário Levantar Atores Levantar Casos de Uso Check List  bla bla  bla  blabla  Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg.
  • 7. ©Jaelson Castro 2016 7 Artefatos gerados  Glossário  Documento de Requisitos  Diagrama de Casos de Uso  Protótipo da interface com o usuário (opcional)  Termo de Homologação de Requisitos
  • 8. ©Jaelson Castro 2016 8 Glossário  Define termos importantes usados no projeto  É importante para garantir que os conceitos envolvidos são interpretados da mesma forma por todos os membros da equipe Glossário
  • 9. ©Jaelson Castro 2016 9 Glossário: estrutura  Introdução • Objetivos do documento • Público ao qual se destina  Definições • Termos, definições e sinônimos  Referências
  • 10. ©Jaelson Castro 2016 10 Documento de requisitos: estrutura  Introdução • Objetivos do documento • Público ao qual se destina • Termos e acrônimos • Referências  Descrição geral do sistema • Abrangência e sistemas relacionados • Descrição dos usuários  Casos de uso  Requisitos não funcionais  Diagrama de casos de uso
  • 11. ©Jaelson Castro 2016 11 Documento de requisitos  Casos de uso • Identificador do caso de uso • Breve descrição • Ator (pode não ser inserido) • Prioridade • Requisitos não funcionais associados • Pré condições • Pós condições • Fluxo de eventos principal • Fluxos secundários: alternativos e de exceção • Interfaces associadas (opcional)
  • 12. ©Jaelson Castro 2016 12 Homologação de requisitos: estrutura  Introdução • Objetivos do documento • Organização do documento  Casos de uso homologados • Para cada caso de uso » Identificador » Resultado da homologação  Homologado, não homologado, homologado com restrições » Comentários
  • 13. ©Jaelson Castro 2016 13 Responsáveis no fluxo de requisitos Analista de sistemas Diagrama de casos de uso Revisor Projetista de interface Protótipo da GUI Glossário Termo de homologação de requisitos Documento de requisitos Usuário
  • 14. ©Jaelson Castro 2016 14 Caso de Uso Conceitos Básicos
  • 15. ©Jaelson Castro 2016 15 Caso de uso  É uma forma específica de uso do sistema através da execução de alguma de suas funcionalidades.  Uma unidade coerente de funcionalidade provida por um um sistema, manifestada por uma seqüência de mensagens trocadas entre o sistema e um ou mais usuários externos (representados como atores), junto com as ações executadas pelo sistema.
  • 16. ©Jaelson Castro 2016 16 Caso de uso: continuação  Descrevem o que acontece dentro do sistema.  Ajudam muito na comunicação entre clientes e desenvolvedores.  Mostram apenas o que o sistema faz, e não como. • Capturam o comportamento pretendido para um sistema, sem a necessidade de especificar como esse comportamento será implementado.
  • 17. ©Jaelson Castro 2016 17 Caso de uso: representação gráfica Solicitar extrato Solicitar saldo
  • 18. ©Jaelson Castro 2016 18 Atores  Constituem as entidades que interagem com o ambiente do sistema • Pessoas ou outros sistemas (de hardware ou software) que interagem com o sistema em desenvolvimento  Definem um papel particular  São sempre externos ao sistema  O sistema será descrito através de vários casos de uso que são executados por um número de atores
  • 19. ©Jaelson Castro 2016 19 Ator: representação gráfica Cliente Caixa
  • 20. ©Jaelson Castro 2016 20 Atores x usuários do sistema  Uma mesma pessoa pode desempenhar diferentes papéis Carlos como professor Professor Estudante Carlos como estudante Carlos
  • 21. ©Jaelson Castro 2016 21 Diagrama de casos de uso  Diagrama com os casos de uso do sistema e atores relacionados;  Facilitam o entendimento do sistema mostrando a sua “visão externa”;  A coleção de casos de uso deve especificar todas as formas existentes de uso do sistema. Diagrama de casos de uso
  • 22. ©Jaelson Castro 2016 22 Diagrama de casos de uso: representação gráfica Cliente Sacar dinheiro Realizar depósito Transferir entre contas Uma associação entre um ator e um caso de uso indica que há uma comunicação, possivelmente com envio e recepção de mensagens.
  • 23. ©Jaelson Castro 2016 23 Requisitos x casos de uso  Um requisito funcional pode ser mapeado em um ou mais casos de uso  Requisitos não funcionais podem ser: • Específicos: associados a um caso de uso específico • Genéricos: associados a vários casos de uso ou ao sistema com um todo • Para serem atendidos podem gerar novos casos de uso
  • 24. ©Jaelson Castro 2016 24 Especificação de Caso de Uso  Identificador do caso de uso  Breve Descrição  Ator (opcional)  Prioridade  Pré condições  Pós condições  Fluxos de eventos: • Fluxo de eventos principal • Fluxos secundários: alternativos e de exceção  Requisitos Não-Funcionais Específicos  Interface gráfica associada
  • 25. ©Jaelson Castro 2016 25 Modelo de casos de uso Modelo de casos de uso Atores Casos de uso Especificações de casos de uso
  • 26. ©Jaelson Castro 2016 26 Pacotes de Casos de Uso  Servem para agrupar casos de uso relacionados  Critérios para agrupamento: • ator • funcionalidades correlatas • etc
  • 27. ©Jaelson Castro 2016 27 Levantamento de Casos de Uso
  • 28. ©Jaelson Castro 2016 28 Objetivos  Discutir como encontrar atores e casos de uso  Apresentar o diagrama de casos de uso e o diagrama de atividades de UML  Discutir como especificar os casos de uso
  • 29. ©Jaelson Castro 2016 29 Levantar Requisitos do Sistema Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário
  • 30. ©Jaelson Castro 2016 30 Levantar Requisitos do Sistema Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário Levantar Atores Levantar Casos de Uso
  • 31. ©Jaelson Castro 2016 31 Como encontrar atores?  Quem usa o sistema?  Quem instala/mantém o sistema?  Quem inicia/desliga o sistema?  Que outros sistemas usam o sistema?  Quem recebe informação do sistema?  Quem provê informação ao sistema?
  • 32. ©Jaelson Castro 2016 32 Como encontrar casos de uso?  Atores são fundamentais para a descoberta dos casos de uso  Pergunte: • 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 desses eventos?
  • 33. ©Jaelson Castro 2016 33 Escopo do sistema  É preciso delimitar as fronteiras do sistema Caixa Sistema de Caixa Automático Sistema bancário Qual é a fronteira do sistema? Cliente
  • 34. ©Jaelson Castro 2016 34 Técnicas para levantar casos de uso  Use-Case Workshop • não pode ter muita gente • pessoas com diferentes perfis • presença de um facilitador • aceitar todo tipo de sugestão, filtrar depois! • evite pensar em detalhes • os casos de uso levantados devem estar claros para todos! » Principalmente o valor que este agrega ao usuário • consulte todos! • dê sugestões
  • 35. ©Jaelson Castro 2016 35 Técnicas para levantar casos de uso  Reuniões • conversas com usuários  Storyboarding • simulação através de desenhos das interfaces
  • 36. ©Jaelson Castro 2016 36 Exercício  Dada uma descrição preliminar do QIB, observe seu diagrama de casos de uso no próximo slide.  Em seguida, com base na descrição inicial do Amazônia, crie um diagrama de casos de uso.
  • 37. ©Jaelson Castro 2016 37 Diagrama de casos de uso do QIB Operadora do DOC Desbloquear Talões de Cheque Efetuar Login Alterar Senha Consultar Saldo Consultar Extrato Consultar Qualiti Card Realizar Transferência Consultar Cheques Solicitar Talões de Cheque Realizar DOC Operadora Cartão de Crédito Efetuar Pagamento do Qualiti Card Operadora Mercado de Ações Comprar Ações Consultar Cotações de Ações ClienteAtor Vender Ações
  • 38. ©Jaelson Castro 2016 38 Especificação Detalhada dos Casos de Uso
  • 39. ©Jaelson Castro 2016 39 Detalhar Especificação de Caso de Uso Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário
  • 40. ©Jaelson Castro 2016 40 Detalhar Especificação de Caso de Uso Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário Levantar Atores Levantar Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg.
  • 41. ©Jaelson Castro 2016 41 Quando e por que realizá-las?  Quando? • após fazer levantamento dos principais casos de uso do sistema  Por que? • descrever detalhes dos casos de uso • descrever fluxos de eventos e outras propriedades • uniformizar entendimento entre clientes, usuários e equipe de desenvolvimento
  • 42. ©Jaelson Castro 2016 42 Especificando casos de uso  Casos de uso não precisam ser especificados todos de uma vez • o processo é iterativo!  Casos de uso devem ser priorizados por iteração • Prioridade técnica • Prioridade do usuário
  • 43. ©Jaelson Castro 2016 43 Especificando um caso de uso  Identificador  Breve descrição  Ator  Prioridade  Requisitos não-funcionais associados  Pré-condições  Pós-condições  Fluxo de eventos principal  Fluxos secundários: alternativos e de exceção  Interfaces associadas (opcional)
  • 44. ©Jaelson Castro 2016 44 Identificação do caso de uso  Deve ser única!  Não deve mudar nunca  Pois casos de uso podem ser referenciados por seu identificador
  • 45. ©Jaelson Castro 2016 45 Breve descrição do caso de uso  Dar uma idéia do propósito do caso de uso, do seu objetivo  Deve ser feita ao se identificar o caso de uso, para evitar mal-entendidos  2 ou 3 linhas!
  • 46. ©Jaelson Castro 2016 46 Prioridade de casos de uso  Essencial para gerenciar os requisitos  É preciso definir prioridade de todos os casos de uso  Exemplos de prioridade: • Essencial • Importante • Desejável
  • 47. ©Jaelson Castro 2016 47 Pré e pós condições  O que deve ser verdade antes e depois da realização do caso de uso!
  • 48. ©Jaelson Castro 2016 48 Pré e pós condições: exemplos  Caso de uso “Entregar pedido” • Pré condição: os itens do pedido devem existir em estoque • Pós condição: os itens enviados devem ser abatidos do estoque  Caso de uso “Recadastrar CPF” • Pré condição: o usuário deve possuir um CPF • Pós condição: a situação do contribuinte é atualizada
  • 49. ©Jaelson Castro 2016 49 Fluxo de eventos básico/principal  Série de passos que compõem um caso de uso  Concentre-se inicialmente na funcionalidade básica/central do caso de uso  Pense nos fluxos secundários depois!
  • 50. ©Jaelson Castro 2016 50 Exemplo de um fluxo básico  Caso de uso “Sacar dinheiro” 1. O cliente passa o seu cartão 2. Digita sua senha 3. Digita o valor do saque 4. O sistema verifica se há saldo suficiente 5. O saldo é debitado da conta do cliente 6. O dinheiro é entregue ao cliente
  • 51. ©Jaelson Castro 2016 51 Exemplo de um fluxo básico  Caso de uso “Sacar dinheiro”  MAS... • E se a senha não conferir? • E se não houver saldo? • E se não houver dinheiro suficiente na máquina? Calma, vamos deixar esses detalhes para depois!
  • 52. ©Jaelson Castro 2016 52 Subfluxos  Às vezes, o fluxo principal possui várias alternativas igualmente prováveis de ocorrer  Nestes casos, pode-se usar o conceito de subfluxos!  Cada subfluxo representa um dos possíveis caminhos do fluxo principal
  • 53. ©Jaelson Castro 2016 53 Subfluxos - Exemplo  Considere um sistema que realiza compra e vendas de produtos.  Caso de uso Cadastrar Produtos • Fluxo básico 1. O funcionário seleciona a opção de cadastro, iniciando o caso de uso. 2. O sistema requisita que o funcionário forneça a operação que quer efetuar: inclusão, atualização ou remoção de produtos. 3. De acordo com a opção fornecida pelo funcionário, um dos subfluxos abaixo é executado.
  • 54. ©Jaelson Castro 2016 54 Subfluxos - Exemplo • Subfluxo Incluir produto 1.O sistema requisita o nome, descrição e preço do novo produto. 2.Quando o usuário fornece os dados requisitados, o sistema gera um identificador único para o novo produto e o armazena no cadastro de produtos.
  • 55. ©Jaelson Castro 2016 55 Subfluxos - Exemplo • Subfluxo Alterar informações do produto 1.O sistema requisita o nome ou identificador do produto a ser alterado. 2.O funcionário fornece o identificador do produto. 3.O sistema recupera e apresenta os dados do produto para alteração (os mesmos dados requisitados no subfluxo “Incluir produto”). 4.O funcionário atualiza os dados do produto e o sistema armazena os novos dados. • Subfluxo Remover produto ...
  • 56. ©Jaelson Castro 2016 56 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)  Fluxos de erro • situações de erro
  • 57. ©Jaelson Castro 2016 57 Reuso de fluxos secundários  Fluxos secundários, principalmente de erros, podem ser referenciados por diferentes casos de uso  Evitar duplicação de informação!
  • 58. ©Jaelson Castro 2016 58 Descrição da interface com o usuário Interfaces associadas (opcional)  Ferramenta para compreensão do caso de uso • nível de detalhes adequado  Facilidade para a descrição de críticas básicas • tamanho e tipo dos campos • máscaras
  • 59. ©Jaelson Castro 2016 59 Exemplo – QIB  Observe os fluxos secundários (alternativos e de exceção) dos casos de uso Atualizar Cotações e Comprar Ações.
  • 60. ©Jaelson Castro 2016 60 Exercício  Observe a especificação detalhada dos casos de uso Atualizar Cotações e Comprar Ações do QIB.  Em seguida, com base na descrição preliminar e no diagrama de casos de uso do Amazônia, especifique o fluxo principal de dois casos de uso.
  • 61. ©Jaelson Castro 2016 61 Estruturação do Modelo de Casos de Uso
  • 62. ©Jaelson Castro 2016 62 Objetivos  Apresentar os conceitos necessários e elementos de UML usados para estruturar o modelo de casos de uso
  • 63. ©Jaelson Castro 2016 63 Estruturar Modelo de Casos de Uso Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário
  • 64. ©Jaelson Castro 2016 64 Estruturar Modelo de Casos de Uso Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário Levantar Atores Levantar Casos de Uso Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg.
  • 65. ©Jaelson Castro 2016 65 Por que estruturar o modelo?  Extrair descrições de funcionalidades genéricas e compartilhadas que podem ser usadas por mais de um caso de uso;  Extrair descrições de funcionalidades adicionais que possam estender descrições específicas;  Facilitar o entendimento do modelo.  O modelo não deve ser estruturado muito cedo!
  • 66. ©Jaelson Castro 2016 66 Generalização de Atores  É possível definir tipos gerais de atores e especializá-los usando o relacionamento de especialização Vendedor Realizar venda Estabelecer crédito Supervisor
  • 67. ©Jaelson Castro 2016 67 Generalização de Atores: outro exemplo Aluno Aluno tempo integral Aluno tempo parcial
  • 68. ©Jaelson Castro 2016 68 Relacionamentos entre casos de uso  Inclusão  Extensão  Generalização
  • 69. ©Jaelson Castro 2016 69 Inclusão de casos de uso  Use inclusão quando houver repetição entre casos de uso e você desejar evitar esta repetição.  Um caso de uso incorpora explicitamente o comportamento de outro caso de uso, evitando assim repetições de descrição de fluxos.
  • 70. ©Jaelson Castro 2016 70 Relacionamento de inclusão  Existe somente entre casos de uso.  Analogia útil: rotina. • Em uma linguagem de programação, instruções podem ser agrupadas em uma unidade lógica chamada rotina. • Sempre que essas instruções devem ser executadas, a rotina correspondente é chamada.  Quando dois ou mais casos de uso incluem uma seqüência de interações comum, esta seqüência comum pode ser descrita em um outro caso de uso.
  • 71. ©Jaelson Castro 2016 71 Relacionamento de inclusão  Este caso de uso comum: • evita a descrição de uma mesma seqüência de interações mais de uma vez e • torna a descrição dos casos de uso mais simples.  Um exemplo: considere um sistema de controle de transações bancárias. Alguns casos de uso deste sistema são Obter Extrato, Realizar Saque e Realizar Transferência. • Há uma seqüência de interações em comum: a seqüência de interações para validar a senha do cliente.
  • 72. ©Jaelson Castro 2016 72 Notação Realizar Saque Cliente Fornecer Identificação «inclui» «inclui» Realizar Transferência Obter Extrato «inclui»
  • 73. ©Jaelson Castro 2016 73 Inclusão de casos de uso: exemplo Efetuar pagamento Vendedor Realizar pedido <<inclui>>
  • 74. ©Jaelson Castro 2016 74 Exemplo de inclusão: validação de cliente no sistema Caso de uso: Realizar Saque O cliente seleciona a opção “sacar” O cliente informa o valor a ser sacado <inclui> Fornecer Identificação O cliente recebe o dinheiro Caso de uso de Inclusão: Fornecer Identificação O cliente informa a senha e passa o cartão O sistema valida a senha e os dados do cartão
  • 75. ©Jaelson Castro 2016 75 Extensão de casos de uso  Use extensão quando quiser descrever uma variação do comportamento normal. • partes opcionais de casos de uso • cursos alternativos e complexos que raramente ocorrem Solicitar catálogo Vendedor Realizar pedido <<extends>>
  • 76. ©Jaelson Castro 2016 76 Relacionamento de extensão  Utilizado para modelar situações onde diferentes seqüências de interações podem ser inseridas em um caso de uso.  Sejam A e B dois casos de uso. • Um relacionamento de extensão de B para A indica que um ou mais dos cenários de A podem incluir o comportamento especificado por B. • Neste caso, diz-se que B estende A. • O caso de uso A é chamado de estendido e o caso de uso B de extensor.
  • 77. ©Jaelson Castro 2016 77 Relacionamento de extensão  Cada uma das diferentes seqüências representa um comportamento opcional, que só ocorre sob certas condições ou cuja realização depende da escolha do ator.  Quando um ator opta por executar a seqüência de interações definida no extensor, este é executado. • Após a sua execução, o fluxo de interações volta ao caso de uso estendido, recomeçando logo após o ponto em que o extensor foi inserido.  Importante: não necessariamente o comportamento definido pelo caso de uso extensor é realizado.
  • 78. ©Jaelson Castro 2016 78 Extensão de casos de uso
  • 79. ©Jaelson Castro 2016 79 Generalização de casos de uso  Relaciona um caso de uso 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
  • 80. ©Jaelson Castro 2016 80 Generalização de casos de uso: exemplo Validar cliente Verificar password Scan da retina
  • 81. ©Jaelson Castro 2016 81 Diagrama de casos de uso estruturado: exemplo
  • 82. ©Jaelson Castro 2016 82 Diagrama de casos de uso estruturado: outro exemplo Mostrar dados da consulta Informar dados do Qualiti Card <<include>> Operadora do DOC Operadora cartao de crédito Realizar transferencia Consultar cheques Solicitar taloes de cheque Desbloquear taloes de cheque Efetuar Login Alterar senha Consultar saldo <<include>> Consultar extrato <<include>> Consultar Cartão <<include>> Realizar DOC Efetuar pagamento do Cartão <<include>> Habilitar acesso a conta Cliente
  • 83. ©Jaelson Castro 2016 83 Exercício (Opcional)  Produza um diagrama de casos de uso estruturado do Amazônia.
  • 84. ©Jaelson Castro 2016 84 Revisão dos Requisitos
  • 85. ©Jaelson Castro 2016 85 Objetivos  Apresentar um checklist para verificação da qualidade do modelo de casos de uso
  • 86. ©Jaelson Castro 2016 86 Revisar Requisitos Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Projetista da Interface Analista de Sistema Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário
  • 87. ©Jaelson Castro 2016 87 Revisar Requisitos Projetista da Interface Analista de Sistema Levantar Requisitos do Sistema Prototipar Interface Revisar Requisitos Detalhar Especificação De Caso de Uso Revisor de Requisitos Estruturar Modelo de Casos de Uso Homologar Requisitos Usuário Levantar Atores Levantar Casos de Uso Check List  bla bla  bla  blabla Desc: Pré: Pós: Fluxo: 1. 2. Fl. Sec: RNF Usab. Conf. Perfor. Seg.
  • 88. ©Jaelson Castro 2016 88 Nomeação de atores e casos de uso  Devem ser únicos! • cuidado ao definir novos nomes!  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!
  • 89. ©Jaelson Castro 2016 89 Casos de Uso devem ser  Unidades testáveis e auto-contidas!  Isso facilita: • distribuição de tarefas entre os desenvolvedores • gerenciamento do cronograma • planejamento e realização de testes unitários • integração do sistema  Sem isso, não é viável um desenvolvimento iterativo e incremental!
  • 90. ©Jaelson Castro 2016 90 Checklist - Revisão dos Atores  Todo ator está relacionado a pelo menos um caso de uso?  Você pode nomear pelo menos 2 pessoas que atuem como um ator específico?  2 ou mais atores possuem papéis similares em relação ao sistema?  1 determinado ator usa o sistema de várias maneiras diferentes ou tem vários objetivos ao usar o sistema?  Os nomes dos atores são únicos, descritivos e intuitivos e correspondem aos seus papéis?
  • 91. ©Jaelson Castro 2016 91 Checklist - Revisão dos Casos de Uso  Todo caso de uso está relacionado a pelo menos um ator? E fornece um resultado de valor?  Todo caso de uso é independente dos outros?  Parte do fluxo de eventos de um caso de uso já foi especificado em outro caso de uso?  2 ou mais casos de uso possuem fluxos de eventos muito similares?
  • 92. ©Jaelson Castro 2016 92 Checklist - Revisão dos Casos de Uso  Os nomes dos casos de uso são únicos e intuitivos e descrevem os seus comportamentos? Eles não correm o risco de serem confundidos no futuro?  Os casos de uso correlacionados estão agrupados em pacotes, facilitando o seu entendimento?
  • 93. ©Jaelson Castro 2016 93 Os requisitos SEMPRE mudam  Atualizar a documentação é fundamental!  Lembre-se que os casos de uso serão utilizados para testes e documentação do usuário!!!