aula 05casosuso
DESCRIPTION
use casesTRANSCRIPT
Objetivos
IDENTIFICAR E ESCREVER CASOS DE USO
DESENHAR DIAGRAMAS DE CASOS DE USO
CONTRASTAR CASOS DE USO DE ALTO NÍVEL E EXPANDIDOS
CONTRASTAR CASOS DE USO REAIS E ESSENCIAIS
Elaborar: .... 6. Definir casos de uso(alto nível e essencial) ....
Engenharia de Requisitos
Especificação de Requisitos
Casos de Usoa. Todos os de alto nívelb. Alguns essenciais expandidos
Diagrama de Casos de Uso
Esboço do modelo Conceitual
Orçamento,
Cronograma
Protótipos
Relatório de Investigação
Preliminar
Glossário
Depende de
Definição
Um caso de uso representa uma possível utilização do sistema por um ator, que pode ser uma pessoa, dispositivo físico, mecanismo ou subsistema que interage com o sistema alvo, utilizando algum de seus serviços..
Exemplos de atores:
Funcionário de um banco.
Sensor de fumaça
Subsistema de autorização de crédito
Definição
Um caso de uso é um documento textual que narra a interação entre o sistema e os atores envolvidos, para atingir um ou mais objetivos.
São também chamados de histórias de uso.
Os casos de uso dependem de que se tenha um entendimento ao menos parcial dos requisitos do sistema.
Deve estar relacionado a um processo bem definido, com começo, meio e fim.
Casos de Uso
Muitas vezes é utilizado como um contrato entre desenvolvedor e cliente.
Pode ser feito com base no documento de requisitos, ou pode ser feito como forma de captar os requisitos, para depois escrever o documento de requisitos.
Como identificar os atores?
Observar atentamente quem são os atores que supostamente serão os responsáveis, direta ou indiretamente, pela interação com o sistema.
Ator principal: interagem diretamente com o sistema computacional.
Ator secundário: interage com outros atores.
Como identificar os atores?
Exemplo:
Ao emprestar um livro, o Atendente é quem opera o computador e realiza a transação, portanto é o ator principal.
Já o Leitor, interage com o atendente, sendo um ator secundário.
Como identificar os casos de uso?
Analisar cada requisito do sistema em busca dos grandes eventos que ocorrem no mundo real e que dão origem a uma interação entre um ator e o sistema.
Como identificar os casos de uso?
Exemplo: Biblioteca
R1. Para usar os serviços de uma biblioteca, os leitores deverão estar registrados e possuir um cartão com número de identificação e foto.
R2. O sistema deve permitir que um leitor apto empreste um ou mais livros, por um período de tempo que varia de 1 semana a 6 meses, dependendo do tipo de leitor (1 semana para estudante de graduação, 15 dias para estudantes de pós-graduação e 6 meses para docentes).
Como identificar os casos de uso?
R3. O leitor está apto a emprestar livros se não possuir em seu poder livros com data de devolução vencida (menor do que a data atual) e desde que o número de livros emprestados não ultrapasse o número máximo permitido, que depende do tipo de leitor (6 livros para estudantes de graduação, 10 livros para estudantes de pós-graduação e 15 livros para docentes).
Como identificar os casos de uso?
De acordo com esses 3 requisitos, dois casos de uso candidatos são:
Emprestar Livro
Incluir Leitor
Um requisito pode referir-se a mais de um caso de uso. Um caso de uso pode referir-se a mais de um requisito.
Requisitos X Casos de Uso
Requisitos Casos de Uso
R1, R2, R3 Emprestar livroUm leitor empresta um ou mais livros por um período de tempo que depende do tipo de leitor.
R1, R3, R4 Devolver LivroUm leitor devolve um livro que estava em seu poder, tornando-o novamente disponível para empréstimo.
Inclusões, Alterações, Exclusões são casos de uso?
Não há consenso.
Como são processos em geral muito simples, não vamos detalhá-los como faremos com casos de uso mais complexos.
Entretanto, incluiremos no diagrama de casos de uso, para dar uma noção geral do escopo e tamanho do sistema.
Notação UML - AtoresO ator é representado por um identificador com letra inicial maiúscula e por um “homem palito”, embora os atores possam ser pessoas, sistemas de computadores e dispositivos elétricos e mecânicos.
Leitor
<<ator>>Leitor
Fronteiras do Sistema
Um diagrama de caso de uso é excelente para: Mostrar a fronteira do sistema, isto é, o que
está dentro ou fora dele. Dar uma visão geral do comportamento do
sistema, isto é, como ele é usado e por quem.
Documentação dos Casos de Uso
Notação diagramática: Diagrama de Casos de Uso da UML.
Notação textual: Descrição dos Casos de Uso ou Casos de Uso Textuais ( a UML não fornece notação específica para isso).
Descrição dos Casos de Uso ou Casos de Uso Textuais
Objetivos:
Mostrar a seqüência típica de eventos (cenário de sucesso principal) e as seqüências alternativas que podem ocorrer durante o caso de uso.
Mostrar interessados e interesses do caso de uso.
Mostrar pré e pós condições.
Formatos de Casos de Uso Textuais
Resumido (ou de alto nível): resumo de um parágrafo, apenas com o cenário de sucesso principal.
Completo (expandido):
Várias seções: interessados e interesses, pré-condições, pós-condições.
Seqüência típica de eventos e seqüências alternativas.
Dois tipos:
Abstrato (ou essencial): utilizado na fase de análise, sem considerar muitos detalhes.
Concreto (ou real): utilizado no projeto, com mais detalhes
TIPOS DE CASOS DE USO:
Primários : processos mais importantes Ex: comprar itens Secundários: processos menos importantes ou raros Ex: Requisição de estoque de produto novo Opcional: processos que podem não ser incluídos na
solução
Exemplo de Caso de Uso Resumido (ou de Alto Nível)
Caso de uso: Comprar Itens Atores: Cliente, Caixa Tipo: primário Descrição: Um cliente chega ao balcão de saída da loja com
itens para comprar. O caixa registra os itens de compra e recebe o pagamento. Quando termina, o cliente sai com os itens comprados.
Exemplo de Caso de Uso Expandido (ou Completo)
(restrito a pagamento em dinheiro e sem tratar controle de estoque)
Caso de Uso: Comprar Itens com Dinheiro
Atores: Cliente (iniciador), Caixa
Propósito: Captura a venda e seu pagamento em dinheiro
Visão geral: Um cliente chega ao balcão de saída da loja com itens para comprar. O caixa registra os itens de compra e recebe o pagamento. Quando termina, o cliente sai com os itens comprados.
Tipo: primário e essencial ReferênciasCruzadas: Requisitos: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1
Lembrando... R1.1 – Registrar a venda em andamento (corrente), isto
é, os itens comprados. (E) R1.2 – Calcular o total da venda corrente, incluindo os
cálculos de impostos e de cupons de desconto. (E) R1.3 – Capturar a informação de um item adquirido,
usando o código, obtido por um leitor de código de barra, ou pela entrada manual do código do produto, usando o código universal de produto (CUP ou UPC). (E)
Rastreabilidade
Seqüência típica de eventos
Ação do ator Resposta do Sistema 1. Este caso começa quando o cliente chega ao TPV com itens para comprar.
2. O Caixa registra o identificador de cada item.
3. Determina o preço do item e adiciona informação sobre o item à transação de venda corrente.
Se há mais de um do mesmo item, o caixa também entra a quantidade
A descrição e o preço do item são apresentados
4. Quando termina a entrada dos itens, o caixa indica ao TPV que as entradas estão completas
5. Calcula e apresenta o total da venda
6. O caixa informa o total ao cliente
7. O cliente entrega o pagamento em dinheiro – o “pagamento em dinheiro” – possivelmente maior que o total da venda
Seqüência típica de eventos (continuação)
Ação do ator Resposta do Sistema 8. O caixa registra a quantia
recebida como pagamento
9. Mostra o saldo a ser recebido de volta pelo cliente
Gera o recibo 10. O caixa deposita o dinheiro recebido e extra i o troco devido
11.Registra a venda completa
O caixa entrega o troco devido e o recibo impresso ao cliente
12. O Cliente sai com os itens comprados
Seqüência típica de eventos (continuação)
Seqüências alternativas: Linha 2: Identificador inválido digitado. Indicar o erro.Linha 7: O Cliente não tem dinheiro suficiente. Cancelar a transação de venda.
Caso de Uso Comprar Itens: Essencial
Ação do Ator Resposta do Sistema
1. O caixa registra o identificador de cada item
2. Determina o preço do item e adiciona a informação do item à transação de venda corrente
Se há mais do que um do mesmo item, o caixa também entra a quantidade
3...e assim por diante 4...e assim por diante
Caso de Uso Comprar Itens: Real
Ação do Ator Resposta do Sistema
1. Para cada item o Caixa digita o código universal do produto no campo de entrada UPC da janela. Ele então pressiona o botão “Entrar Item” com o mouse ou digita <Enter>
2. Mostra o preço do item e adiciona a informação do item à transação de venda corrente. A descrição e o preço são então mostrados na caixa de texto 2 da Janela1.
3...e assim por diante 4...e assim por diante
ATENÇÃO: EM GERAL, OS CASOS DE USO REAIS NÃO DEVEM SER PRODUZIDOS NA FASE DE ENGENHARIA DE REQUISITOS (COMPROMENTIMENTO PREMATURO COM UMA DECISÃO DE PROJETO E COMPLEXIDADE DESNECESSÁRIA)
Resumindo…
Formato do caso de uso
Resumido(Alto Nível)
Completo(Expandido)
Tipo do caso de uso Primário
Opcional
Secundário
Abstrato(Essencial)
Concreto(Real)
Diagrama de Caso de Uso para o Sistema TPV
TPV
ComprarItens
Abrir (Log in)
Reembolsar Itens
CaixaCliente
Identificação de casos de uso
Há dois métodos: baseado nos atores ou nos eventos do sistema
Baseado em atores Identificar os atores relacionados a um
sistema ou organização Para cada ator, identificar os processos que
eles iniciam ou dos quais eles participam Exemplos:
Caixa - Iniciar uso, Registrar retirada de dinheiro Cliente – Comprar itens, Reembolsar itens
Identificação de casos de uso
Baseado em eventos Identificar os eventos externos aos quais um
sistema deve responder Relacionar os eventos a atores e a casos de
uso Exemplos:
Itens vendidos (ator=cliente, caso de uso=comprar item)
Dinheiro retirado (ator=caixa, caso de uso=registrar retirada de dinheiro)
RASTREABILIDADE
A cláusula de referência cruzada permite conferir se todos os requisitos foram atendidos por casos de uso.
No fim, todos os casos de uso devem poder ser rastreados para a implementação e o teste.
IMPORTANTE:
UM CASO DE USO NÃO REPRESENTA UM PASSO INDIVIDUAL OU UMA OPERAÇÃO OU TRANSAÇÃO DE ENTRADA. POR EXEMPLO: “IMPRIMIR O RECIBO” NÃO É UM CASO DE USO NO SISTEMA DE TPV.
UM CASO DE USO É NORMALMENTE A DESCRIÇÃO DE UM PROCESSO RELATIVAMENTE GRANDE, COM INÍCIO E FIM PRÓPRIOS, QUE NORMALMENTE INCLUEM VÁRIAS TRANSAÇÕES OU OPERAÇÕES DE ENTRADA E SAÍDA.
LIMITE (OU ESCOPO) DO SISTEMA
O sistema pode ser limitado por: Hardware ou software Departamentos de uma organização Toda a organização O limite é sempre delimitado arbitrariamente pelo analista e o cliente, mas geralmente leva em conta critérios tais como: política organizacional, limites de menor comunicação entre os subsistemas, oportunidade e tamanho do sistema.
Ex: considerar toda a loja como sendo o sistema. O caixa está dentro do sistema e é um de seus recursos.
• LOJA
ComprarItens
Reembolsar Itens
Cliente
ALGUNS PONTOS DA NOTAÇÃO
Comece o nome de um caso de uso com um verbo, para enfatizar que é um processo.
Inicie o caso de uso Completo(expandido) com o seguinte esquema: Este caso de uso inicia quando o <Ator> <dispara
um evento>...
Ex: Este caso de uso inicia quando o cliente chega ao TPV com itens para comprar
ALGUNS PONTOS DA NOTAÇÃO
Pontos de Decisão e Desvio
Podem ocorrer nos casos de uso.
Ex: o cliente pode pagar em dinheiro,cartão de crédito ou cheque
ALGUNS PONTOS DA NOTAÇÃO
a. O Cliente escolhe o tipo de pagamento i. Se for pagamento em dinheiro, ver seção
Pagamento em Dinheiro ii. Se for pagamento por cartão de crédito ver
seção Pagamento por Cartão de Crédito iii. Se for pagamento por cheque, ver seção
Pagamento em Cheque
... Seção : Pagamento em Dinheiro....
PASSOS DO PROCESSO CONCEBER E ELABORAR
1. Listar todas as funções (requisitos), definir os limites do sistema e identificar atores e casos de uso
2. Escrever todos os casos de uso no formato resumido, classificando-os como principais, secundários e opcionais
3. Desenhar o diagrama de casos de uso
4. Relacione os casos de uso e mostre esses relacionamentos no diagrama de casos de uso (este ponto será discutindo mais adiante no curso)
5. Escreva no formato completo os casos de uso mais importantes, mais complexos ou mais arriscados. Os demais poderão ser expandidos quando forem tratados em fases posteriores do processo de desenvolvimento.
6. Idealmente, postergar os casos de uso reais até a fase de projeto. Exceções podem ocorrer se a) descrições concretas auxiliam grandemente a compreensão e b) os clientes demandam que o processo seja especificado dessa forma.
7. Classifique os casos de uso (discutido a seguir)
O EXEMPLO TPV – Passo 1
Os limites do sistema serão definidos como o sistema de hardware e software Atores e casos de uso:
Caixa: Abrir ( Log In), Retirar dinheiro da caixa, Fechar Cliente: Comprar Itens, Reembolsar ItensGerente: Iniciar e Encerrar (o sistema)Administrador do Sistema: Adicionar novo usuário
(identificar atores, casos de uso e limites do sistema)
O EXEMPLO TPV – Passo 2
Caso de uso: Comprar Itens
Atores: Cliente (iniciador), Caixa
Tipo: primário
Descrição: Um cliente chega ao balcão de saída da loja com itens para comprar. O caixa registra os itens de compra e recebe o pagamento. Quando termina, o cliente sai com os itens comprados.
(escrever casos de uso no formato resumido)
O EXEMPLO TPV – Passo 2
Caso de uso: Iniciar
Atores: Gerente
Tipo: primário
Descrição: Um Gerente liga o sistema TPV de modo a prepará-lo para o uso pelos Caixas. O Gerente confere se a data e hora estão corretas, após o que o sistema está pronto para uso dos Caixas.
(escrever casos de uso no formato resumido)
TPV
ComprarItens
Abrir
Reembolsar
Itens
CaixaCliente
Adminstrador Do Sistema
Gerente
Adicionar novos usuários
Iniciar
etc.
O EXEMPLO
TPV – Passo 3
(desenhar um diagrama de casos de uso)
O EXEMPLO TPV – Passo 4
(relacionar os casos de uso)
Será visto posteriormente
O EXEMPLO TPV – Passo 5
(escrever alguns casos de uso essenciais expandidos)
Comprar Item (a seguir)Reembolsar item comprado (Trabalho I)
O EXEMPLO TPV – Passo 5Seção : PrincipalCaso de Uso: Comprar Itens
Atores: Cliente (iniciador), Caixa
Propósito: Captura a venda e seu pagamento em dinheiro
Visão geral: Um cliente chega a um ponto de pagamento, com vários itens que deseja comprar. O caixa registra os itens de compra e recebe o pagamento, o qual pode necessitar autorização. No final, o cliente sai com os itens comprados.
Tipo: primário e essencial
ReferênciasCruzadas: Funções: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1, R2.2, R2.3,
R2.4Casos de Uso: o caixa deve ter completado o caso de uso Abrir
O EXEMPLO TPV – Passo 5Seqüência Típica de EventosAção do ator Resposta do
sistema1. Este caso de uso começa quando um cli-ente chega a um ponto de pagamento equi-pado com um TPV, com vários itens quedeseja comprar.
2. O Caixa registra cada item. 3. Determina o preço do item e acrescenta
informação sobre o Se houver mais de um exemplar do item, o item à transação de vendas Caixa também pode entrar a quantidade. em andamento.
A descrição e o preço do item corrente são apresentados.
4. No término da entrada de itens, o Caixa 5. Calcula e apresenta o totalindica para o TPV que a entrada de itens da venda.está completa.
6. O Caixa informa ao Cliente o total.
O EXEMPLO TPV – Passo 5Ação do ator Resposta do
sistema7. O Cliente escolhe o tipo de pagamento:a. Se pagamento em dinheiro, ver seçãoPagar com Dinheiro.b. Se pagamento com cartão, ver seçãoPagar com Cartão de Crédito.c. Se pagamento com cheque, ver seçãoPagar com Cheque.
8. Registra a venda completada.
9. Atualiza os níveis de estoque.
10. Gera um recibo.
11. O Caixa dá o recibo ao Cliente.12. O Cliente sai com os itens comprados.
Seqüências alternativas
Linha 2: Entrada de Identificador de item inválido. Indicas erro.Linha 7: Cliente não pode pagar. Cancelar a transação de venda.
O EXEMPLO TPV – Passo 5Seção: Pagar com DinheiroSeqüência Típica de Eventos
Ação do ator Resposta do sistema
1. O cliente dá um pagamento em dinheiro.O valor fornecido é possivelmente maior que ototal da venda.
2. O Caixa registra a quantia fornecida 3. Apresenta o troco devido aoCliente
4. O Caixa deposita o dinheiro recebido e retirao troco devido.
O Caixa dá o troco ao Cliente
Seqüências AlternativasLinha 1: O Cliente não tem dinheiro suficiente. Pode cancelar a venda ou iniciar outro
método de pagamento.Linha 4: A gaveta de dinheiro não contém o suficiente para pagar o troco. O Caixa
solicita mais dinheiro ao supervisor ou pede ao Cliente uma quantia de dinheiro diferente ou a opção por um outro método de pagamento
O EXEMPLO TPV – Passo 5Seção: Pagar com Cartão de CréditoSeqüência Típica de Eventos
Ação do ator Resposta do sistema1. O cliente comunica suas 2. Gera uma solicitação de pagamento com informações de Crédito para o cartão de crédito e a envia a um Serviço pagamento com cartão de crédito de Autorização de Crédito (SAC) externo
3. O SAC autoriza o pagamento 4. Recebe uma resposta de aprovaçãode crédito do SAC.
5. Lança o pagamento com cartão de crédito e a informação da resposta de aprovação no
sistema de Contas a Receber (C/R). (O SAC
deve dinheiro à Loja, logo C/R deve fazer o acompanhamento)
6. Exibe a mensagem de autorização bem sucedida
Seqüências AlternativasLinha 3: Solicitação de crédito negada pelo SAC. Sugerir um método de pagamento
diferente
O EXEMPLO TPV – Passo 5Seção: Pagar com ChequeSeqüência Típica de Eventos
Ação do ator Resposta do sistema1. O cliente preenche um cheque e se identifica.
2. O Caixa registra a informação de 3. Gera uma solicitação de pagamentoidentificação e solicita autorização com cheque e a envia a um Serviço depara pagamento com cheque Autorização de Cheques externo
4. O Serviço de autorização de 5. Recebe uma resposta de aprovaçãoCheques autoriza o pagamento do Serviço de Autorização de Cheques.
6. Indica autorização bem-sucedida.
Seqüências AlternativasLinha 4: Solicitação de cheque negada pelo Serviço de Autorização de Cheques.
Sugerir um método de pagamento diferente.
O EXEMPLO TPV – Passo 6
Será postergado até os ciclos de desenvolvimento subsequentes
(se necessário, escrever casos de uso reais)
Objetivos
CLASSIFICAR CASOS DE USO CRIAR VERSÕES SIMPLIFICADAS
QUANDO NECESSÁRIO ALOCAR OS CASOS DE USO NOS
CICLOS DE DESENVOLVIMENTO
Conceber e elaborar: .... 3. Refinar Planejamento ....
Engenharia de Requisitos
CLASSIFICAR E ALOCAR
Especificação de Requisitos
Casos de Usoa. Todos os de alto nívelb. Alguns essenciais expandidos
Diagramas de Casos de Uso
Esboço do modelo Conceitual
Orçamento,
Cronograma
Protótipos
Relatório de Investigação
Preliminar
Glossário
Depende de
Alocar casos de uso a ciclos de desenvolvimento
• Os ciclos de desenvolvimento do PU -> organizados em torno de requisitos especificados em casos de uso
• implementa-se um ou mais casos de uso•Versões simplificadas, quando o caso de uso é complexo
Ciclo 1 Ciclo 2 Ciclo 3
Caso de Uso AVersão Simplificada......
Caso de Uso AVersão Completa......
Caso de Uso B......
Caso de Uso C......
Ordenar Casos de Uso
Qualidades que aumentam a classificação de um caso de uso: a. Impacto significativo na arquitetura do projeto: ex requer muitas
classes ou camada de armazenamento permanente.b. Informação e compreensão significativas são obtidas com pouco
esforço.c. Inclui funções complexas, críticas com relação ao tempo ou de alto
risco.d. Envolve muita pesquisa ou tecnologias novas ou arriscadase. Representa processo de negócio importante;f. Apóia diretamente a redução de custos ou aumento de lucros. Pontuar os itens de “a” a “f” (0 a 5 por exemplo), ou classificá-los como alto, médio, baixo.
Classificar Casos de Uso Exemplo: Comprar Itens
Caso de Uso a b c d e f Soma
Comprar Itens 5 3 2 0 5 3 18
. . .
ClassificaçãoClassificação Caso de Uso Justificativa
Alto Comprar Itens Alta pontuação na maior parte dos critérios
Médio Adicionar novos usuários
Abrir
Reembolsar Itens
Afeta o subdomínio de segurança
Idem
Processo importante; afeta a contabilidade
Baixo Fechar
Iniciar
Encerrar
Efeito mínimo na arquitetura
Definição é dependente de outros casos de uso
Efeito mínimo na arquitetura
ALOCAÇÃO Os ciclos iterativos devem ser definidos. Suponha que sejam de 4 semanas: deve-se verificar quais casos de uso podem ser implementados nesse tempo ou se um caso de uso mais complexo deve ser distribuído para ser implementado em vários ciclos. Comprar Item é um caso de uso complexo que, assumindo 4 semanas, pode ser dividido em 3 versões por exemplo:Versão 1: pagamento só em dinheiro, nenhuma atualização de estoque...Versão 2: permite todos os tipos de pagamentosVersão 3: versão completa incluindo atualização de estoque,...
ALOCAÇÃO
Distribuição dos casos de uso ao longo dos ciclos: Ciclo 1: Comprar Item Versão 1Ciclo 2: Comprar Item Versão 2Ciclo 3: Compra Item Versão 3Ciclo 4: Abrir, Reembolsar Item
OBJETIVOS
RESUMIR A TRANSIÇÃO DA FASE Concepção e Elaboração PARA A FASE ITERATIVA CONSTRUCÃO
Concepção
Elaboraçãoconstrução
Implantação e
transição
O PRIMEIRO CICLO DE DESENVOLVIMENTO PODE ENTÃO COMEÇAR....
A fase Conceber e Elaborar foi completada. A fase Construir se inicia...
Dentro da fase Construir, inicia-se a fase de análise.
A cada ciclo de desenvolvimento a documentação deve ser sincronizada com o código desenvolvido.
Próxima aula
Conceber e Elaborar Construir Implantar
Ciclo de Desen-volvimento 1
Ciclo de Desen-volvimento 2
. . .
RefinarPlano
Sincronizarartefatos
Analisar Projetar Construir Testar
Trabalho I - IndividualParte A
Criar três versões para o caso de uso “Reembolsar Itens” do sistema TPV
i) caso de uso Resumido (de alto nível) ii) caso de uso completo abstrato iii) caso de uso completo concreto Obs: use sua intuição / criatividade para
descrever o caso de uso e a seqüência típica de eventos (não há especificação desse caso de uso no livro!!!)
Entregar um arquivo texto anexado a email para: [email protected]
Trabalho I - Individual
Parte B Usar a ferramenta Rational Rose (demo
disponível na página http://www.rational.com/tryit/rose/index.jsp) para desenhar o diagrama de caso de uso da página 82 do livro texto em português (1a. Edição). O arquivo gerado pela Rose deverá ser entregue anexado a email para: [email protected]
Prazo Máximo para entrega: dia 06/04 até as
18h