08 Caso de Uso UML Parte3 20230327090242

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 30

MODELAGEM DE

SOFTWARE

Prof. Saulo Popov Zambiasi


Prof. Richard Henrique de Souza
Prof. Ricardo Ribeiro Assink
Prof. Edson Lessa
Leitura Recomendada
Busca Ativa

✓ Da página 68 até 121 a página


do livro
✓ Larman, Craig. Utilizando UML
e padrões. Disponível em:
Minha Biblioteca, (3rd edição).
Grupo A, 2011..
✓ No ULIFE, link da Minha
biblioteca
Leitura Recomendada
Busca Ativa

✓ Da página 33 até a página 107


do livro
✓ REINEHR, Sheila. Engenharia de
Requisitos . Grupo A, 2020.
9786556900674. Disponível em:
✓ https://integrada.minhabiblioteca.
com.br/#/books/978655690067
4/. Acesso em: 04 mar. 2022.
✓ No ULIFE, link da Minha biblioteca
Leitura Recomendada
Busca Ativa

✓ Da página 84 até a página 135


do livro
✓ Pressman, Roger, S. e Bruce R.
Maxim. Engenharia de
software. Disponível em:
Minha Biblioteca, (9th edição).
Grupo A, 2021..
✓ No ULIFE, link da Minha
biblioteca
Leitura Recomendada
Busca Ativa

✓ Da página 85 até a página 128


do livro
✓ Engenharia de Software. Ian
Sommerville. 2018.
✓ https://plataforma.bvirtual.com.
br/Leitor/Publicacao/168127/pd
f/142.
✓ No ULIFE, link da biblioteca
Pearson
DICAS

✓ Trilha: Fundamentos do Desenvolvimento de


Sistemas
✓ https://www.ev.org.br/areas-de-interesse/programacao

✓ Cursos
✓ Introdução à Programação Orientada a Objetos
(POO)
✓ Ética no Desenvolvimento de Sistemas
✓ Projetos de Sistemas de TI
Relembrando
O que é um caso de uso?
Descreve como um usuário
interage com o sistema proposto
para executar uma determinada
funcionalidade

O termo usuário pode significar


um usuário humano, um
equipamento ou mesmo outro
sistema de software

Interação que tem significado


para o usuário final e que deve
terminar (sair do sistema) com
um estado completo, sendo
concluída ou retornando ao
estado inicial
Relembrando
Vamos Trabalhar

Veremos vamos descrever um caso de uso do


Sistema de Pontos-de-Venda (PDV ProxGer)
Descrito no livro do Larman, Craig. Utilizando UML e
padrões. Disponível em: Minha Biblioteca, (3rd
edição). Grupo A, 2011.
Sistema de Pontos-de-Venda
(PDV ProxGer)
Um sistema PDV é uma aplicação computadorizada usada (em
parte) para registrar vendas e cuidar de pagamentos; é tipicamente
utilizado por lojas de varejo. Inclui componentes de hardware,
como um computador e um leitor de código de barras, e um
software para rodar o sistema. Tem interfaces com várias
aplicações de serviço, como, por exemplo, uma aplicação de
cálculo de impostos e uma aplicação de controle de estoque.
Esses sistemas devem ser relativamente tolerantes a falhas; ou
seja, mesmo que os serviços remotos fiquem temporariamente
não disponíveis (como por exemplo o sistema de controle de
estoque), eles devem ser capazes de capturar as vendas e tratar
pelo menos os pagamentos em dinheiro (para que o negócio não
seja muito afetado.

Adaptado de Larman (2011)


Sistema de Pontos-de-Venda
(PDV ProxGer)
Um sistema PDV deve dar suporte de forma incremental a
múltiplos e variados terminais e interfaces no lado do cliente. Estes
incluem um terminal magro baseado em navegador da Web, um
computador pessoal comum com uma interface de usuário gráfica,
como Java Swing, entrada de informações por telas sensíveis ao
toque, PDAs sem fio, etc.

Além disso, o sistema PDV comercial será vendido a diferentes


clientes, com necessidades diferentes em termos de
processamento de regras de negócios. Cada cliente vai desejar um
conjunto especial de lógica para ser executado em pontos
previsíveis no cenário de utilização do sistema, como quando uma
nova venda é iniciada ou quando uma nova linha é acrescentada.
Portanto, necessitaremos de um mecanismo que forneça esta
capacidade de flexibilidade e personalização.
Adaptado de Larman (2011)
Caso de Uso Completo
A partir da descrição do Sistema de Pontos-de-Venda (PDV
ProxGer) iremos escrever um casos de uso:

Caso de uso USC001: Processar venda


Caso de uso
USC001: Processar venda
Ator Principal: Caixa
Pré-Condições:
➢ Caixa está identificado e autenticado.

Pós-Condições (ou Garantia de Sucesso ):


✓ Venda foi salva.
✓ Impostos foram corretamente calculados.
✓ Contabilidade e Estoque foram atualizados.
✓ Comissões foram registradas.
✓ Recibo foi gerado.
✓ Autorizações de pagamento foram registradas.

Adaptado de Larman (2011)


Caso de uso
USC001: Processar venda
Fluxo Principal (ou Fluxo Básico ou Cenário de Sucesso )
1. Cliente chega à saída do PDV com bens ou serviços para adquirir.
2. Caixa começa uma nova venda.
3. Caixa insere o identificador do item.
4. Sistema registra a linha de item da venda e apresenta uma descrição do item, seu preço e
total parcial da venda. Preço calculado segundo um conjunto de regras de preços.
5. Sistema apresenta o total com impostos calculados.
6. Caixa informa total ao Cliente e solicita pagamento.
7. Cliente realiza o pagamento.
8. O sistema trata pagamento.
9. Sistema registra venda completada e envia informações de venda e pagamento para
Sistema externo de contabilidade (para contabilidade e comissões) e para Sistema de Estoque
(para atualizar o estoque).
10. Sistema apresenta recibo.
11. Cliente vai embora com recibo e mercadorias (se houver).

Adaptado de Larman (2011)


Vamos Analisar o fluxo BASE
Fluxo Principal (ou Fluxo Básico ou Cenário de Sucesso )
v bens ou serviços para adquirir.
1. Cliente chega à saída do PDV com
2. Caixa começa uma nova venda.
3. Caixa insere o identificador do item.
Observação 1:
4. Sistema registra a linha de item da venda
Note eque
apresenta
os uma descrição
passos 1 e 11 do meramente
são item, seu preço e
total parcial da venda. Preço calculado segundo um conjunto de regras de preços.
informativos.
5. Sistema apresenta o total com impostos calculados.
Pode ser importante para entender o que está
6. Caixa informa total ao Cliente e solicita pagamento.muito comum quando se quer
acontecendo,
7. Cliente realiza o pagamento. entender melhor o problema.
8. O sistema trata pagamento.
9. Sistema registra venda completadaMas para
e envia o “caso de
informações de uso”
vendaem si essas linhas
e pagamento para
são opcionais,
Sistema externo de contabilidade (para contabilidade já que enão
e comissões) parahá comode Estoque
Sistema
(para atualizar o estoque).
implementar (programar...).
10. Sistema apresenta recibo.
11. Cliente vai embora com recibo ve mercadorias (se houver).

Adaptado de Larman (2011)


Vamos Analisar o fluxo BASE Observação 2:
Note que os passos 4 e 9 contém varias
funcionalidades descritas, de modo que
poderíamos, detalhar em mais passos.
Fluxo Principal (ou Fluxo Básico ouOCenário
detalhamento
de Sucessoou) não desses passos fica
como decisão do projetista.
1. Cliente chega à saída do PDV com bens ou serviços para adquirir.
2. Caixa começa uma nova venda. Exemplo :
3. Caixa insere o identificador do item. 4. Sistema registra a linha de item da venda
5. O sistema apresenta uma descrição do item e seu preço
4. Sistema registra a linha de item da venda
6 . O e apresenta
sistema umao descrição
apresenta total do
parcial daitem, seu preço e
venda.
total parcial da venda. Preço calculado segundo um conjunto de regras de preços.
.....
5. Sistema apresenta o total com impostos calculados.
11 (antigo 9). Sistema registra venda completada.
12. O sistema envia as informações de venda e pagamento
6. Caixa informa total ao Cliente epara
solicita pagamento.
Sistema externo de contabilidade (para contabilidade e
7. Cliente realiza o pagamento. comissões)
13. O sistema envia as informações para o Sistema de
8. O sistema trata pagamento. Estoque (para atualizar o estoque).
9. Sistema registra venda completada e envia informações de venda e pagamento para
Sistema externo de contabilidade (para contabilidade e comissões) e para Sistema de Estoque
(para atualizar o estoque).
10. Sistema apresenta recibo.
11. Cliente vai embora com recibo e mercadorias (se houver).

Adaptado de Larman (2011)


Observação 3:
Aqui estamos com um exemplo isolado, em um
Vamos Analisar o fluxo BASE
documento de requisitos completo, teríamos já as regras
de negócio descritas.
Lembram das aulas anteriores ?
Então poderíamos apenas referenciar as Regras de
negóciodeagora,
Fluxo Principal (ou Fluxo Básico ou Cenário Sucessoveja
) os exemplos:
1. Cliente chega à saída do PDV com bens ou serviços para adquirir.
4. Sistema
2. Caixa começa uma nova venda. registra a linha de item da venda e apresenta
uma descrição do item, seu preço e total parcial da
3. Caixa insere o identificador do item.
venda. (RN 004).
4. Sistema registra a linha de item da venda e apresenta uma descrição do item, seu preço e
total parcial da venda. Preço calculado segundo um conjunto de regras de preços.
9. Sistema registra venda completada e envia
5. Sistema apresenta o totalinformações
com impostosde
calculados.
venda e pagamento para Sistema
6. Caixa informa total ao externo
Cliente e de contabilidade
solicita pagamento.(RN 005) e para Sistema de
7. Cliente realiza o pagamento. Estoque (para atualizar o estoque).
8. O sistema trata pagamento.
9. Sistema registra venda completada e envia informações de venda e pagamento para
Sistema externo de contabilidade (para contabilidade e comissões) e para Sistema de Estoque
(para atualizar o estoque).
10. Sistema apresenta recibo.
11. Cliente vai embora com recibo e mercadorias (se houver).

Adaptado de Larman (2011)


Caso de uso
USC001: Processar venda
Fluxo Base Pronto.

Acabou ?

Tem certeza ?

Não tem outros caminhos ?

Tudo vai dar certo ?


Caso de uso
USC001: Processar venda
(ou seja, o Caixa repete
os passos 3 e 4 até que
Fluxos Alternativos: indique ter terminado.)

FA01: No passo 5 do fluxo base, existe mais produtos a serem


contabilizados.
01.01 – Volta ao passo 3 do fluxo principal.

FA02. A qualquer momento, Gerente solicita uma operação de


correção:
02.1. Sistema entra no modo Autorizado pelo Gerente.
02.2. Gerente ou Caixa realiza uma das operações do modo
Gerente, por exemplo, modificação do saldo em dinheiro,
retoma uma venda suspensa em outro registrador, anula uma
venda, etc.
02.3. Sistema reverte para o modo Autorizado pelo Caixa.
02.4. Volta ao passo onde foi interrompido.
Caso de uso
USC001: Processar venda

FA03. No passo 6 do fluxo base, o Cliente diz ao Caixa que tem uma
condição de isenção de imposto (por exemplo, idoso, cidadão
local)
3.1. Caixa verifica e depois insere o código de condição de
isenção de imposto.
3.2. Sistema registra a condição (que vai usar durante os
cálculos de imposto).
Caso de uso Para facilitar a identificação dos
passos, optou-se por continuar
USC001: Processar venda a mesma sequencia numérica
dos fluxos alternativos.
FA01, FA02, FA03, Ex04, Ex05

Fluxo de Exceção
Ex04. A qualquer momento, Sistema falha: Para fornecer suporte à
recuperação e à correta contabilidade, garanta que todos os estados e os
eventos sensíveis das transações possam ser recuperados a partir de
qualquer passo do cenário.
4.1. Caixa reinicia Sistema, registra-se e solicita a recuperação do
estado anterior.
4.2. Sistema restaura estado anterior.

Ex05. No passo 4.1, o sistema detecta anomalias que impedem a


restauração:
5. 1. Sistema avisa Caixa sobre erro, registra o erro e, então, entra
em um novo estado consistente.
5.2. Volta ao passo 1 do Fluxo Base.
Caso de uso
USC001: Processar venda

Ex06. No passo 3 do fluxo base. ID do item inválido.


6.1 sistema avisa erro.
6.2. Caixa solicita ao Gerente executar operação de correção.
6.3. Gerente realiza correção.
6.4. Caixa indica entrada manual de preço, insere preço.
6.5. Volta ao passo 5 do fluxo base.
Vamos
trabalhar?
Vamos voltar ao exemplo do Outlet
Vamos escrever os casos de uso
em sua forma completa.
MODELAGEM DE
Relembrando o escopo do projeto SOFTWARE

Uma loja que fazer uma grande outlet de promoções para aumentar
as vendas. Está promoção deve ser feita pela internet e com
transmissão ao vivo devido ao Covid. Será dado desconto para
seus produtos de acordo com a categoria de cada produto durante a
transmissão. Cada produto deve ter no seu cadastro o preço,
categoria e tamanho.
As categorias e os descontos são mostrados abaixo:

A B C D E
10% 15% 20% 25% 50%

Para entrar na outlet o cliente deve realizar o seu cadastro com nome e
telefone. Para cada produto apresentado deve ser exibido o preço, preço
final, categoria e tamanho. O cliente terá direito ao produto quando for o
primeiro a sinalizar a intenção de compra. Caso o cliente não efetue o
pagamento em até 2 dias úteis terá direito a compra o próximo cliente da
fila.

Observação: O sistema tem que funcionar em Firefox e Chrome.


Relembrando
Use case: Cadastrar Cliente
Fluxo Principal
1. O sistema apresenta uma tela principal do outlet;
2. O Cliente seleciona a opção de cadastro de cliente;
3. O sistema apresenta a tela de cadastro de cliente;
4. O Cliente preenche as informações;
5. O Cliente seleciona a opção salvar;
6. O sistema valida os dados do cliente;
7. O sistema exibe a tela de produtos.
Fluxo Alternativo 1
No passo 5 do fluxo principal:
A1.1. O cliente seleciona a opção de retorna a tela principal.
A1.2. Retorna ao passo 1 do fluxo principal.
Fluxo de Exceção 1
No passo 6 do fluxo principal:
E1.1. O sistema verificou que o telefone é inválido
E1.2. O sistema mostra uma mensagem de ERRO: “Número de Telefone Inválido”
E1.3. Retorna ao passo 4 do fluxo princiapl
Dúvidas?
Chamada

• Registrar presença no period das 19:00 até as 23:00 do dia


da aula

• http://gg.gg/13f1d1
Referência bibliográfica
FOWLER, Martin e SCOTT, Kendall. Uml Essencial. 2a. Edição. Bookman.
Porto Alegre, 2000.

SCHNEIDER, Geri. Applying use case: a practical guide. Addison-Wesley,


1998.

OESTEREICH, Bernd. Developing Software with UML. Addison-Wesley,


1999.

Você também pode gostar