Casos de Uso - dcce.ibilce.unesp.brines/cursos/proj-si/materiais/... · Objetivos Identificar e...
Transcript of Casos de Uso - dcce.ibilce.unesp.brines/cursos/proj-si/materiais/... · Objetivos Identificar e...
Casos de Uso
Análise e Projeto Orientado a Objetos
UNIVERSIDADE ESTADUAL PAULISTAINSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA
Casos de Uso
Objetivos
� Identificar e escrever casos de uso� Desenhar diagramas de casos de uso� Definir casos de uso de resumidos e
expandidos
2
expandidos� Definir casos de uso essenciais e reais
Lembretes - 1� Estamos considerando o sistema como
uma “caixa-preta”.� O processo de análise que estamos
utilizando é “top-down” ou seja, parte do
3
utilizando é “top-down” ou seja, parte do geral e desce ao particular.
Definir casos de
Elaborar:....
uso(alto nível e
Especificação de Requisitos
Casos de Usoa. Todos os de alto nívelb. Alguns essenciais expandidos
Protótipos
Relatório deInvestigação
Preliminar
Lembretes - 2
4
uso(alto nível e essencial)
....
Engenharia de Requisitos
Diagrama de Casos de Uso
Esboço do modeloConceitual
Orçamento,
Cronograma
Protótipos
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.
5
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
Ator => Entidade ouAgente externo
Definição
� Um caso de uso narra a interação entre o sistema e os atores envolvidos, para atingir um ou mais objetivos..
� Deve estar relacionado a um processo bem
6
� Deve estar relacionado a um processo bem definido, com começo, meio e fim.
� Exemplos:
� Emprestar Livro
� Vender Produto
� Incluir ordem de serviço
Casos de Uso
� Muitas vezes é utilizado como um contrato entre desenvolvedor e cliente.
� Pode ser feito com base no documento de
7
� 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 agentes que supostamente serão os responsáveis, direta ou indiretamente, pela interação com o sistema.
8
� Ator principal: interage 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.
9
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.
10
interação entre um ator e o sistema.
Como identificar os casos de uso?
� Exemplo: Requisitos 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.
11
� 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 1 mês, dependendo do tipo de leitor (1 semana para estudante de graduação e servidores, 15 dias para estudantes de pós-graduação e 30 dias para docentes e pós-doutorandos).
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;
� o número de livros emprestados não ultrapasse o
12
� o número de livros emprestados não ultrapasse o número máximo permitido, que depende do tipo de leitor (4 livros para estudantes de graduação, 3 livros para servidores, 10 livros para estudantes de pós-graduação e 20 livros para docentes e pós-doutorandos).
� R4. O Sistema deve permitir que o leitor devolva um ou mais livros em seu poder, fazendo com que o livro volte a ficar disponível na biblioteca.
Como identificar os casos de uso?
� De acordo com esses 4 requisitos, dois casos de uso candidatos são:
� Incluir Leitor
13
� Emprestar Livro
� Devolver Livro
� 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.
14
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.
Casos de Uso
Um caso de uso é uma descrição de ponta a ponta, de um processo relativamente grande, que inclui, tipicamente, muitos
passos ou transações; ele não é
15
passos ou transações; ele não é normalmente um passo ou atividade
individual em um processo
Notação UML - AtoresO ator é representado por um identificador com letra inicial maiúscula e por um “homem palito”, embora os atores possam representar pessoas, sistemas de computadores e dispositivos elétricos e mecânicos.
16
e mecânicos.
Leitor
<<ator>>Leitor
Notação UML – Casos de Uso
Emprestar livro
17
Emprestar Livro
Diagrama de Caso de Uso
� Ilustra um conjunto de casos de uso para um sistema, os atores e a relação deles com os casos de uso.
� É um tipo de diagrama de contexto.
18
� É um tipo de diagrama de contexto.
Notação UML para Diagramas de Casos de Uso
19
Notação UML para Diagramas de Casos de Uso
Associaçãobidirecional
20
Associaçãounidirecional
Notação UML para Diagramas de Casos de Uso
21
Leitor
(from Logical View)
Atendente Emprestar Livro
Herança entre atoresComunicação entre
ator secundário e principal
22
Incluir Bibliotecária
Aquisição de LivroBibliotecária
Administrador
Herança entre atores
principal
Fronteiras do Sistema
� Um diagrama de caso de uso é excelente para:� Mostrar a fronteira do sistema, isto é, o que
está dentro ou fora dele.
23
está dentro ou fora dele.� Dar uma visão geral do comportamento do
sistema, isto é, como ele é usado e por quem.
Fronteiras do Sistema
24
Inclusões, Alterações, Exclusões e Consultas são casos de uso?
� Para cada objeto do sistema, seria necessário considerar três casos de uso?
� Exemplo: Incluir Livro, Alterar dados do livro e Excluir Livro
25
Excluir Livro� E quanto às consultas, por exemplo, Consultar
Livro por Autor, Consultar Livro por Título, etc., seriam casos de uso?
Inclusões, Alterações, Exclusões de Registros são casos de uso?
� Não há consenso.
� Como são, em geral, processos muito simples, não vamos detalhá-los como faremos com casos de uso mais
26
faremos com casos de uso mais complexos.
� No entanto, incluiremos no diagrama de casos de uso, para dar uma noção geral do escopo e tamanho do sistema.
Inclusões, Alterações, Exclusões e Consultas são casos de uso?
27
Casos de Uso e o PU� No PU, os casos de uso ajudam desde a
captação dos requisitos, guiam a divisão do desenvolvimento em vários ciclos de iteração e ajudam nos testes.
28
� Logo após elaborar o Diagrama de Casos de Uso do Sistema, sugere-se elaborar as descrições resumidas de todos eles e então alocá-los em diversos ciclos de iteração
Casos de Uso e o PU� No início do desenvolvimento usando o PU,
deve-se planejar quantas iterações serão necessárias para alcançar os objetivos do sistema
� as partes mais importantes devem ser
29
� as partes mais importantes devem serpriorizadas e alocadas nas primeiras iterações. � a primeira iteração deve estabelecer os principais
riscos e o escopo inicial do projeto, de acordo com a funcionalidade principal do sistema.
� Deve-se evitar correr o risco de descobrir, em iterações posteriores, que o projeto é inviável.
Casos de Uso e o PU
� Tendo alocado os casos de uso às iterações, pode-se iniciar a primeira iteração, com a fase de elaboração, detalhando os casos de uso usando o formato completo abstrato(visto a seguir)
30
� Exemplo: Biblioteca: Casos de uso:� Emprestar Livro � 1º ciclo� Devolver Livro � 2º ciclo� Incluir Livro � 1º ciclo� Comprar Livro � 2º ciclo� Consultar Livro � 3º ciclo� Alterar Livro � 3º ciclo� Excluir Livro � 3º ciclo
Documentação dos Casos de Uso
� Notação diagramática: Diagrama de Casos de Uso da UML.
� Notação textual: Descrição dos Casos
31
� 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 sequência típica de eventos (cenário de sucesso principal) e as sequências alternativas que
32
e as sequê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 : resumo de um parágrafo, apenas com o cenário de sucesso principal.
� Completo :
� Várias seções: interessados e interesses, pré-condições, pós-condições.
33
condições, pós-condições.
� Cenário de sucesso principal e sequências alternativas.
� Dois tipos:
� Abstrato : utilizado na fase de análise, sem considerar detalhes de implementação.
� Concreto : utilizado no projeto, com mais detalhes.
Caso de Uso Resumido
CasoCasoCasoCaso dededede usousousouso: “Emprestar Livro”
34
VisãoVisãoVisãoVisão GeralGeralGeralGeral: O Atendente da biblioteca realiza oempréstimo de um ou mais livros a um leitor apto aemprestar livros. O empréstimo é válido por umdeterminado período de tempo, de acordo com o tipode leitor. Os livros, depois de desmagnetizados, sãolevados pelo leitor e marcados como “emprestado”.
Caso de Uso Completo - Abstrato
Caso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroAtor PrincipalAtor PrincipalAtor PrincipalAtor Principal: AtendenteInteressados e Interesses:Interessados e Interesses:Interessados e Interesses:Interessados e Interesses:
Atendente: deseja registrar que um ou mais livros estão em
35
Atendente: deseja registrar que um ou mais livros estão em posse de um leitor, para controlar se a devolução será feita no tempo determinado.- Leitor: deseja emprestar um ou mais livros, de forma rápida e segura.- Bibliotecário: deseja controlar o uso dos livros, para que não se percam e para que sempre se saiba com que leitor estão no momento.
PréPréPréPré----Condições: Condições: Condições: Condições: O Atendente é identificado e autenticado.Garantia de Sucesso (PósGarantia de Sucesso (PósGarantia de Sucesso (PósGarantia de Sucesso (Pós----Condições):Condições):Condições):Condições): Os dados do novo
empréstimo estão armazenados no Sistema. Os livros emprestados possuem status “emprestado”
Cenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso Principal:1. O Leitor chega ao balcão de atendimento da biblioteca
e diz ao atendente que deseja emprestar um ou mais
36
e diz ao atendente que deseja emprestar um ou mais livros da biblioteca.
2. O Atendente seleciona a opção para realizar um novo empréstimo.
3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor.
4. O Atendente informa ao sistema a identificação do leitor.
5. O Sistema exibe o nome do leitor e sua situação.6. O Atendente solicita os livros a serem emprestados.7. Para cada livro, informa ao sistema o seu código de
identificação.
37
identificação.8. O Sistema informa a data de devolução de cada livro.9. O Atendente desbloqueia os livros para que possam
sair da biblioteca.10.O Leitor sai com os livros.
Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos:(1-8). A qualquer momento o Leitor informa ao Atendente que desistiu do empréstimo. Cancelar a operação.3. O Leitor informa ao Atendente que esqueceu a carteira de identificação.
38
carteira de identificação.1. O Atendente faz uma busca pelo cadastro do Leitor
e pede a ele alguma informação pessoal para garantir que ele é mesmo quem diz ser.4. O Leitor está impedido de fazer empréstimo,
por ter uma situação irregular. Cancelar a operação.
Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos:Fluxos Alternativos:8888a. O Livro não pode ser emprestado, pois está
reservado para outro leitor.1. O Atendente informa ao Leitor que não poderá
emprestar o livro e pergunta se deseja reservá-lo. Cancelar a operação (se for o único livro a ser emprestado)
39
operação (se for o único livro a ser emprestado)8b. O Livro não pode ser emprestado, pois é um livro reservado somente para consulta.
1. Cancelar a operação (se for o único livro a ser emprestado)
Casos de uso abstratos X casos de usos concretos
� Abstrato: expresso de forma ideal, livre de comprometimento com tecnologia e detalhes de implementação.
40
� Concreto: descreve o processo em termos do seu atual projeto real, com bastante comprometimento com tecnologias de entrada e saída, etc.
Caso de Uso Completo Concreto
Janela
1
A B D E
41C
Caso de Uso Completo -Concreto
Caso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar LivroCaso de Uso: Emprestar Livro. . .Cenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso PrincipalCenário de Sucesso Principal:1. O Leitor chega ao balcão de atendimento da biblioteca ...
42
2. O Atendente seleciona a opção “Realizar um empréstimo” no menu principal do sistema de biblioteca.3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor.4. O Atendente passa a caneta leitora de código de barras na
carteira de identificação.
Caso de Uso Completo -Concreto
5. O Sistema exibe nos campos A e B da Janela 1 o nome do leitor e sua situação.
6. O Atendente solicita os livros a serem emprestados. 7. Para cada um deles, o atendente digita no campo C o código do
43
7. Para cada um deles, o atendente digita no campo C o código do livro, composto de 6 algarismos e clica no botão Emprestar para concretizar o empréstimo.
8. O Sistema exibe no campo D da Janela 1 o nome do livro e sua data de devolução.
9. O Atendente passa os livros pelo desmagnetizador para que possam sair da biblioteca.
10. O Leitor sai com os livros.
Exemplo: Caso de uso abstrato
Ação do Ator Resposta do Sistema
1. O Cliente se identifica 2. Apresenta opções
44
3...e assim por diante 4...e assim por diante
Exemplo: Caso de uso concreto
Ação do Ator Resposta do Sistema
1. O Cliente insere o seu cartão
2. Apresenta solicitação de senha.
45
3. Digita a senha 4. Exibe opções do menu
5. E assim por diante. 6. E assim por diante.
Caso de Uso Comprar Itens: Essencial
Ação do Ator Resposta do Sistema
1. O caixa registra o identificador de cada itemSe há mais do que um
2. Determina o preço do item e adiciona a informação do item à transação de venda
46
Se há mais do que um exemplar do mesmo item, o caixa também entra a quantidade
item à transação de venda corrente
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 CUP da janela. Ele então pressiona o botão “Entrar Item” com o mouse ou digita
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.
47
Item” com o mouse ou digita <Enter>
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 DECISÃO DE PROJETO E COMPLEXIDADE DESNECESSÁRIA)
Resumindo casos de uso textuais…
Formato do caso de uso
Resumido
Completo
Abstrato
48
Completo
Concreto
Relacionamentos entre casos de uso
� Pode-se ter situações em que a execução deum caso de uso implique na execução de umoutro.
� Ou um caso de uso possui uma parte que serepete em outros casos de uso.
49
Ou um caso de uso possui uma parte que serepete em outros casos de uso.
� Para evitar redundância de texto, pode-se isolaressas partes em casos de uso separados, erelacioná-los uns aos outros.
Relacionamento <include>
� Uso Principal: Quando um caso de uso possui um comportamento parcial comum a vários outros casos de uso� Evitar repetir comportamento -> reuso� A inclusão do outro caso de uso é obrigatória
50
� A inclusão do outro caso de uso é obrigatória
� Exemplo:Saque
Cliente
Deposito
Movimento Conta
<<inc lude>>
<<include>>
Relacionamento <include>
� Usado também para decompor um caso de uso muito complexo� Ajuda a melhorar a compreensão do caso de uso� Atenção: evite usar esse uso, a menos que o caso de
uso seja realmente muito complexo.
51
uso seja realmente muito complexo.
� Exemplo:
Como mostrar o relacionamento <include> no caso de uso textual
Caso de Uso: Saque. . .Cenário de Sucesso Principal:1. O Cliente chega ao balcão do Caixa e solicita uma quantia em dinheiro.
2. O Cliente entrega ao Caixa seu cartão magnético.
52
2. O Cliente entrega ao Caixa seu cartão magnético.3. O Caixa escolhe a opção de saque e passa o cartão
magnético pela leitora.4. O Sistema exibe o nome do cliente e uma mensagem
informando se seu saldo é suficiente para sacar a quantia solicitada.5. Caso haja saldo suficiente, o Caixa entrega o dinheiro ao
cliente. 6. Incluir o caso de uso: Movimento Conta.7. O Cliente sai com o dinheiro.
Relacionamento <extend>� Um caso de uso estende outro se ele
adiciona comportamento ao caso de uso base. � Quando um fluxo alternativo é complexo e
merece maior detalhamento, pode-se escrevê-lo
53
merece maior detalhamento, pode-se escrevê-lo na forma de uma extensão ao caso de uso base.
� Quando uma modificação é necessária em um caso de uso e não deseja-se mexer no caso de uso base.
� O caso de uso de extensão não tem execução obrigatória (opcional).
Relacionamento <extend>
� Exemplo:
Emprestar Livros
54
Leitor Atendente
Emprestar sem carteirinha
<<extend>>
Como mostrar o relacionamento <extend> no caso de uso textual
Caso de Uso: Emprestar sem Carteirinha. . .Referências Cruzadas: Extensão do Caso de Uso Emprestar Livro para permitir outra forma de identificação do leitor
55
Exemplo de include e extend
56
Outro Exemplo de include
57
Aplicação de Casos de Uso aoTerminal de Ponto de Vendas
58
ClienteTerminal de Ponto de Vendas (TPV) Caixa
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
59
organização� Para cada ator, identificar os processos que eles
iniciam ou dos quais eles participam� Exemplos:
� Caixa - Iniciar uso do caixa (sistema), Registrar retirada de dinheiro
� Cliente – Comprar itens, Devolver 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
60
uso� Exemplos:
� Itens vendidos (ator=cliente, caso de uso=comprar item)
� Dinheiro retirado (ator=caixa, caso de uso=registrar retirada de dinheiro)
� 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
61
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
� Sistema pode ser limitado por:� Hardware ou software� Departamentos de uma organização� Toda a organização
62
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: 1- considerar toda a loja como sendo o sistema. O caixa está dentro do sistema e é um de seus recursos.
• LOJA
ComprarItens
63
Devolver Itens
Cliente
Ex: 2- considerar o hardware e o software do TPV como a fronteira.
TPV
ComprarItens
64
Abrir (Log in)
Devolver Itens
CaixaCliente
ALGUNS PONTOS DA NOTAÇÃO
� Comece o nome de um caso de uso com um verbo, para enfatizar que é um processo.� Emprestar Livro� Comprar itens
� Inicie o caso de uso Completo(expandido) com
65
� 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.
66
� Ex: o cliente pode pagar em dinheiro,cartão de crédito ou cheque (probabilidade de ocorrência relativamente iguais e normais)
ALGUNS PONTOS DA NOTAÇÃO
...� 3. O Cliente escolhe o tipo de pagamento� a. Se for pagamento em dinheiro, ver seção
Pagamento em Dinheiro� b. Se for pagamento por cartão de crédito
ver seção Pagamento por Cartão de Crédito
67
ver seção Pagamento por Cartão de Crédito� c. Se for pagamento por cheque, ver seção
Pagamento em Cheque
... Seção : Pagamento em Dinheiro
....
Passos da fase 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
Casos de Uso dentro de um processo de desenvolvimento
68
como principais, secundários e opcionais
3. Desenhar o diagrama de casos de uso
4. Relacionar os casos de uso e mostrar esses relacionamentos no diagrama de casos de uso (include e e extend)5. Alocar os casos de uso nos ciclos de desenvolvimento (classificar os casos de uso) 6. Escrever no formato completo e abstrato os casos de uso mais importantes, mais complexos ou mais arriscados, que foram escolhidos para o primeiro ciclo de desenvolvimento. Os demais poderão ser expandidos quando forem tratados em fases posteriores do processo de desenvolvimento.
Passos do processo para o TPV
Os limites do sistema serão definidos como o sistema de hardware e software de um ponto de venda e pagamento.
Atores e casos de uso:
( Passo 1: identificar atores, casos de uso e limites do sistema)
69
Atores e casos de uso:
Caixa: Abrir ( Log In), Retirar dinheiro do caixaCliente: Comprar Itens, Devolver ItensGerente: Iniciar e Encerrar (o sistema)Administrador do Sistema: Adicionar novo usuário
(caixa)
Passos do processo para o TPV
Caso de uso: Comprar Itens
Atores: Cliente (iniciador), Caixa
Interessados e interesses:
Cliente: deseja comprar produtos na loja e pagar
(Passo 2: escrever casos de uso no formato resumido)
70
Cliente: deseja comprar produtos na loja e pagar
Caixa: Registrar os itens vendidos pela loja e receber o pagamento de forma rápida e segura.
Tipo: primário (importante)
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.
Passos do processo para o TPV
Caso de uso: Iniciar
Atores: Gerente
Tipo: primário
(Passo 2: escrever casos de uso no formato resumido)
71
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.
TPV
ComprarItens
Abrir
Devolver
Itens
CaixaCliente
O EXEMPLO
TPV
(Passo 3: desenhar o
72
Itens
Adminstrador Do Sistema
Gerente
Adicionar novos usuários
Iniciar
etc.
(Passo 3: desenhar o diagrama de casos de uso)
Passos do processo para o TPV
(Passo 4: relacionar os casos de uso)(Passo 5: Alocar os casos de uso nos ciclos de
desenvolvimento (classificar os casos de uso) Serão vistos posteriormente
73
(Passo 6: escrever os casos de uso escolhidos para um primeiro ciclo de desenvolvimento no formato completo abstrato)
O EXEMPLO TPV – Caso de Uso Comprar Itens
Caso de Uso: Comprar Itens
Atores: Cliente (iniciador), CaixaInteressados e interesses:
Cliente: deseja comprar produtos na loja e pagar
Caixa: Registrar os itens vendidos pela loja de forma e receber o pagamento de forma rápida e segura.
74
pagamento de forma rápida e segura.
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 abstrato
ReferênciasCruzadas: Funções: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1, R2.2, R2.3,
R2.4Pré-Condição: O caixa deve ter completado o caso de uso Abrir
O EXEMPLO TPV – Passo 5Sequê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.
75
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 itemcorrente 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.
76
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 sistema1. 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
77
Cliente4. 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çopagamento 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.
78
de crédito do SAC.
5. Lança o pagamento com cartão de créditoe a informação da resposta de aprovação nosistema de Contas a Receber (C/R). (O SACdeve dinheiro à Loja, logo C/R deve fazer oacompanhamento)
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 chequee 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
79
para 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.
Passos do processo para o TPV
Será visto a seguir ...
(Passo 5: classificar os casos de uso)
80
Classificação e Alocação de Casos de Uso
Passos da fase 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
Casos de Uso dentro de um processo de desenvolvimento
82
como principais, secundários e opcionais
3. Desenhar o diagrama de casos de uso
4. Relacionar os casos de uso e mostrar esses relacionamentos no diagrama de casos de uso (include e e extend)5. Alocar os casos de uso nos ciclos de desenvolvimento (classificar os casos de uso) 6. Escrever no formato completo os casos de uso mais importantes, mais complexos ou mais arriscados, que foram escolhidos para o primeiro ciclo de desenvolvimento. Os demais poderão ser expandidos quando forem tratados em fases posteriores do processo de desenvolvimento.
Objetivos da Classificação e Alocação de Casos de Uso
� Estabelecer a ordem de implementação dos serviços do sistema
� Criar versões simplificadas de casos de uso (para gerenciar a complexidade de
83
uso (para gerenciar a complexidade de determinados casos de uso do sistema)
� Alocar os casos de uso a ciclos de desenvolvimento
Alocar casos de uso aos ciclos de desenvolvimento
Os ciclos de desenvolvimento do PU -> organizados em torno de requisitos especificados em casos de usoCada ciclo de desenvolvimento:
• implementa um ou mais casos de uso•Versões simplificadas, quando o caso de uso é complexo
84
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
O Objetivo da ordenação dos casos de uso:
Estabelecer a sequência dos casos de usos que serão abordados nos diferentes ciclos
85
que serão abordados nos diferentes ciclos de desenvolvimento do PU
Ordenar Casos de Uso
Qualidades que aumentam as chances de um caso de uso ser classificado como primário (prioritário):
a. Impacto significativo na arquitetura do projeto. Exemplo: requer muitas classes ou camada de armazenamento permanente.
b. Informação e compreensão significativas são obtidas com pouco
86
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 UsoExemplo: Comprar Itens
Caso de Uso a b c d e f Soma
Comprar Itens 5 3 2 0 5 3 18
87
. . .
Classificação InformalClassificação Caso de Uso Justificativa
Alto Comprar Itens Alta pontuação na maior parte dos critérios
Médio Adicionar novos usuários
Abrir
Afeta o subdomínio de segurança
Idem
88
Devolver Itens Processo importante; afeta a contabilidade
Baixo Fechar
Iniciar
Encerrar
Efeito mínimo na arquitetura
Outros casos de uso dependem de iniciar.
Efeito mínimo na arquitetura
O Caso de Uso Iniciar
� Praticamente todos os sistemas possuem um caso de uso iniciar.
� Embora não apareça em uma posição alta, deve ser abordado no primeiro ciclo de desenvolvimento para permitir as inicializações
89
desenvolvimento para permitir as inicializações assumidas por outros casos de uso.
� O caso de uso iniciar será desenvolvido incrementalmente, de modo a suprir as necessidades de inicialização de outros casos de uso.
ALOCAÇÃOOs 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.
90
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ÇÃODistribuição dos casos de uso ao longo dos ciclos:
Ciclo 1 Ciclo 2 Ciclo 3
Caso de Uso Compar Item
Caso de UsoComprar Item
Caso de UsoComprar Item
Ciclo 4
Devolver Itens...
91
Compar ItemVersão 1
Comprar ItemVersão2
Comprar ItemVersão 3...
Log In......
...
...
No primeiro ciclo de desenvolvimento serão abordados os caso de usos Comprar Itens –versão 1 e Iniciar o sistema
Caso de UsoIniciar
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
92
� 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óximo tópico
Conceber e Elaborar Construir Implantar
93
Ciclo de Desen-volvimento 1
Ciclo de Desen-volvimento 2
. . .
RefinarPlano
Sincronizarartefatos
Analisar Projetar Construir Testar