Análise e Projeto de Sistemas
Análise e Projeto de Sistemas
Modelagem de Requisitos com
Casos de Uso
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 22
Objetivos
Objetivos
Descrever em detalhe a técnica de Modelagem de Requisitos com Casos de Uso
Apresentar um modelo de documento de requisitos
Discutir o uso do diagrama de atividades na modelagem de casos de uso
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 44
Principais Tipos de Requisitos
Principais Tipos de Requisitos
Não-Funcionais
Atributos ou qualidades do sistema.Exemplos:
Usabilidade (Facilidade de uso) Confiabilidade
Desempenho Segurança Distribuição
Adequação a Padrões
Restrições de Hardware e Software
Funcionais
Caso
Caso
de
de
uso
uso
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.
Descrevem o que acontece dentro do sistema.
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á
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 66
Caso de uso: representação gráfica
Caso de uso: representação gráfica
Solicitar
Atores
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 (uma mesma entidade pode desempenhar diferentes papéis)
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
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 88
Ator: representação gráfica
Ator: representação gráfica
D
D
iagrama
iagrama
de casos de uso:
de casos de uso:
representação gráfica
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.
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 1010
Cenário
Cenário
Em UML significa um caminho através de um caso de uso.
Uma instância de um caso de uso Exemplo (Sacar dinheiro):
Saque com sucesso
Tentativa de saque MAS senha incorreta Tentativa de saque MAS saldo insuficiente
Cenário
Cenário
:
:
Fluxo
Fluxo
de
de
eventos básico
eventos básico
/principal
/principal
Série de passos que compõem um caso de uso
Concentre-se inicialmente na funcionalidade
básica/central do caso de uso
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 1212
Exemplo
Exemplo
de um
de um
fluxo básico
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
Cenário
Cenário
:
:
Fluxos secundários
Fluxos secundários
Caso de uso “Sacar dinheiro” MAS...
E se a senha não conferir? E se não houver saldo?
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 1414
Requisitos Não
Requisitos Não
-
-
Funcionais
Funcionais
x
x
Casos de Uso
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
Especificação de Caso de Uso
Especificação de Caso de Uso
Identificador do caso de uso Breve Descrição
Ator (opcional)
Prioridade (ex: Essencial, Importante, Desejável) Pré condições
Pós condições Fluxo de eventos:
Fluxo de eventos principal
Fluxos secundários: alternativos e de exceção
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 1616
Pacotes de Casos de Uso
Pacotes de Casos de Uso
Servem para agrupar casos de uso relacionados
Critérios para agrupamento:
ator
funcionalidades correlatas processos
Um Modelo de Documento de Requisitos
Um Modelo de Documento de Requisitos
IntroduçãoObjetivos 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 Diagrama
Especificações
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 1818
Como
Como
encontrar atores
encontrar atores
e
e
casos
Como encontrar atores?
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?
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 2020
Como encontrar casos de uso?
Como encontrar casos de uso?
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?
Especificação Detalhada
dos Casos de Uso
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 2222
Quando
Quando
e
e
por que realizá
por que realizá
-
-
las
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
Uso do diagrama de atividades na
especificação dos fluxos de eventos
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 2424
Diagrama de atividades
Diagrama de atividades
Usados para representar graficamente o fluxo de eventos (fluxo básico + fluxos alternativos)
São muito usados para modelar atividades concorrentes.
Às vezes um diagrama fala mais que 1000
palavras!
Estado inicial Verifica senha Libera dinheiro Termina transação e Imprime recibo Manipula senha incorreta [ incorreta ] [ correta ] Pede valor condição de guarda atividade [ dinheiro disponível ]
[ dinheiro não disponível ]
Prepara para Imprimir recibo [ resolvido ]
[ não resolvido ]
Exemplo: diagrama de atividades para o caso de uso
Exemplo: diagrama de atividades para o caso de uso
Sacar dinheiro
Sacar dinheiro
transição concorrência decisão sincronização de atividadesCIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 2626
Estruturação do Modelo
de Casos de Uso
Generalização de Atores
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
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 2828
Relacionamentos entre Casos de Uso
Relacionamentos entre Casos de Uso
Inclusão
Extensão
Inclusão de casos de uso
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.
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 3030
Inclusão de casos de uso: exemplo
Inclusão de casos de uso: exemplo
Validar cliente
Cliente
Sacar
Exemplo de inclusão: validação de cliente no
Exemplo de inclusão: validação de cliente no
sistema
sistema
Use Case: Sacar
O cliente seleciona a opção “sacar” O cliente informa o valor a ser sacado
includes Validar cliente
O cliente recebe o dinheiro
Use Case de Inclusão: Validar Cliente O cliente informa a senha e passa o cartão O sistema valida a senha e os dados do cartão
CIn
CIn--UFPEUFPE ©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio 3232
Extensão de casos de uso
Extensão de casos de uso
Use extensão quando quiser descrever uma variação do comportamento normal.
partes opcionais de use cases
cursos alternativos e complexos que raramente ocorrem
Solicitar catálogo Vendedor
Realizar pedido
Generalização de casos de uso
Generalização de casos de uso
Relaciona um Use Case especializado a um mais geral O filho herda os atributos, operações e seqüências de comportamento dos pais
Validar cliente