Você está na página 1de 35

MODELAGEM DE

ANÁLISE

Anderson A. Namen
Introdução

Imagine que estamos querendo


montar uma cozinha em nossa
residência...
Modelagem de análise
◼ Representa os requisitos em diferentes
“dimensões”
◼ Combina formas textuais e diagramáticas
apresentando os requisitos de:
 Dados
 Função
 Comportamento
Modelagem de análise
◼ Duas abordagens

Análise Estruturada → processos e sub-


processos que resultam em procedures

Análise Orientada a Objetos (UML) →


descoberta e descrição de objetos (ou
conceitos) pertencentes ao domínio do
problema
Modelagem de análise
Biblioteca

OO Estruturada

Sistema
Usuário Livro

Registrar Efetuar Relatar


Empréstimo Bibliotecário
empréstimo reserva multas

OBJETOS FUNÇÕES OU PROCESSOS


Diagrama de Caso de Uso

Automóvel
Abrir janela

Acelerar
Motorista

Frear

Abrir porta malas

Ajustar injeção eletrônica


Mecânico
Diagr. de Caso de Uso (com herança)

Automóvel
Abrir janela

Motorista Acelerar

<<herda>> Frear

Abrir porta malas

Ajustar injeção eletrônica


Mecânico
Outras notações usadas em diagramas de CDUs
(include, extend, generalização)

<<include>>
Processar Venda Validar usuário
Caixa
<<extend>>

Se cliente
apresentar
vale- Tratar pagamento
presente
com vale-presente
Validar via
impressão Validar
digital via íris
CDU Processar Venda - Retirado de Larman
Ator principal: Caixa
Interessados e Interesses:
- Caixa: deseja entrada rápida, precisa e sem erros, de pagamento, pois a falta de dinheiro na
gaveta do caixa será deduzida do seu salário.
- Vendedor: deseja comissões sobre vendas atualizadas.
- Cliente: deseja comprar, receber um serviço rápido e com o mínimo esforço. Deseja um
comprovante da compra, necessário no caso de devoluções de mercadorias.
- Empresa: deseja registrar precisamente as transações e satisfazer aos interesses do cliente.
Quer garantir que os pagamentos a receber do Serviço de Autorização de pagamentos sejam
registrados. Deseja algum tipo de proteção contra falhas para permitir que as vendas sejam
capturadas mesmo se os componentes do servidor (por exemplo, validação remota de crédito)
se encontrarem indisponíveis. Deseja uma atualização automática e rápida da contabilidade e
do estoque.
- Órgãos fiscais governamentais: desejam cobrar os impostos de cada venda. Podem estar
envolvidos vários órgãos, como, por exemplo, federais, estaduais e municipais.
- Serviço de autorização de pagamentos: deseja receber solicitações de autorização digital no
formato e protocolo corretos. Deseja contabilizar com precisão seus débitos a pagar para a
loja.
Processar Venda – cont.
Pré-Condições: o Caixa é identificado e autenticado
Garantia de Sucesso (Pós-Condições): a venda é salva. Os impostos são corretamente calculados.
A Contabilidade e o Estoque são atualizados. As comissões são registradas. O recibo é gerado.
As aprovações de pagamento são registradas.

Cenário de Sucesso Principal (ou Fluxo Básico):


1. O Cliente chega à saída do PDV com bens ou serviços para adquirir
2. O Caixa começa uma nova venda
3. O Caixa digita o identificador de item
4. O Sistema registra a linha de item de venda e apresenta uma descrição do item, o seu preço e o
total parcial da venda. O preço é calculado segundo um conjunto de regras de preços.
O Caixa repete os passos 3 e 4 até que indique ter terminado.
5. O Sistema apresenta o total com impostos calculados
6. O Caixa diz ao Cliente o total e solicita o pagamento
7. O Cliente paga e o Sistema trata o pagamento
8. O Sistema registra a vendacompletada e envia as informações de venda e pagamento para o
Sistema externo de contabilidade e o Sistema de Estoque
9. O Sistema emite recibo
10. O Cliente sai com recibo e bens.
Processar Venda – cont.
Extensões (ou Fluxos Alternativos):
3a. Identificador inválido:
1. O Sistema informa o erro e rejeita a entrada.
3b. Existem vários itens do mesmo tipo:
1. O Caixa pode digitar o identificador do item e a quantidade.
3-6a. O Cliente pede ao Caixa para remover um item da compra:
1. O Caixa digita o identificador do item a ser removido da venda.
2. O Sistema exibe o total parcial atualizado.
3-6b. O Cliente diz ao Caixa para cancelar a venda:
1. O Caixa cancela a venda no Sistema.
4-a. O preço do item gerado pelo Sistema não é desejado (ex.: etiqueta errada):
1. O Caixa digita o preço que prevalecerá.
2. O Sistema apresenta o novo preço.
5-a. O Cliente diz que tem direito a um desconto (ex: empregado, cliente prefer.)
1. O Caixa sinaliza uma solicitação de desconto.
2. O Caixa entra com a identificação do Cliente.
3. O Sistema apresenta o total do desconto, baseado nas regras p/ descontos
Processar Venda – cont.
7a. Pagamento com dinheiro:
1. O Caixa digita a quantia de dinheiro fornecida.
2. O Sistema apresenta o valor do troco e libera a gaveta de dinheiro.
3. O Caixa deposita o dinheiro fornecido e entrega o troco ao Cliente.
4. O Sistema registra o pagamento em dinheiro.
7b. Pagamento em cartão de crédito:
1. O Cliente digita as informações de seu cartão de crédito.
2. O Sistema envia a solicitação de autorização de pagamento para um serviço externo de Autorização de Pagamento e
solicita sua aprovação.
3. O Sistema recebe aprovação do pagamento e sinaliza aprovação ao Caixa.
3a. O Sistema recebe rejeição do pagamento:
1. O Sistema sinaliza rejeição ao Caixa.
2. O Caixa solicita ao Cliente uma forma alternativa de pagamento.
4. O Sistema registra o pagamento a crédito, que inclui a aprovação do pagto.
5. O Sistema apresenta o mecanismo para entrada de assinatura do pagamento a crédito
6. O Caixa solicita ao Cliente uma assinatura para o pagamento a crédito. O Cliente fornece a assinatura
7c. Pagamento com cheque...
Processar Venda – cont.
Requisitos Especiais:
- Interface de usuário por tela sensível ao toque em monitor de painel plano grande. O texto deve
ser visível a uma distância de um metro.
- Resposta de autorização do crédito dentro de 30 segundos em 90% do tempo.
- O sistema deverá ser desenvolvido em Java
- ...
Lista de Variações Tecnológicas e de Dados:
3a. Identificador de item inserido por leitor a laser de código de barras ou pelo teclado
7a. Informação sobre o cartão de crédito inserida por leitora de cartão

Freqüência de Ocorrência: poderia ser quase contínuo

Problemas em aberto:
- Um Caixa deve levar sua gaveta de dinheiro quando ele sai do sistema?
Diagrama de Atividades
◼ Descreve a lógica de procedimento, processo de
negócio e fluxo de trabalho

◼ Mostra uma atividade, constituída de ações


Diagrama de Atividades

Extraído de Fowler
Diagrama de Atividades

Extraído de Larman
Diagrama de Atividades

Extraído de Larman
Diagrama de Atividades

Extraído de Larman
Diagrama de Atividades

Extraído de Larman
Diagrama de Atividades

Intercalação

Extraído de Larman
Diagrama de Sequência
◼ Auxilia na ilustração do comportamento do
sistema

◼ Pode ser usado para mostrar um cenário particular


de um CDU (chamado de DSS - diagrama de
sequência do sistema)

◼ Também é usado no projeto de software


Diagrama de Sequência

Extraído de Larman
Diagrama de Estados
(ou máquina de estados)
◼ Pode ser usado para acompanhar os estados por que passam
uma ou mais instâncias de uma determinada classe (ex:
situação de um documento, como um cheque)

◼ Também para representar os estados de um caso de uso (ex:


em uma venda, se está dando entrada nos itens, ou recebendo
pagamento etc)

◼ Pode modelar também os estados por que passa um sistema


inteiro

◼ Frequentemente usado para modelagem de sistemas de tempo


real (ex: sistema de alarme de tempo real)
Diagrama de Estados
◼ Ilustra os eventos e os estados interessantes de um
objeto e o seu comportamento em resposta a um
evento.
◼ Um evento é uma ocorrência significativa que
causa uma mudança de estado de um objeto.
◼ Um estado é a condição/situação de um objeto em
determinado momento no tempo – tempo entre os
eventos
◼ Uma transição é um relacionamento entre dois
estados, indicando que, quando um evento ocorre,
o objeto muda do estado anterior para o estado
subsequente.
Diagrama de Estados
◼ Exemplo (telefone):

fora do gancho

Ocioso Ativo
no gancho

Extraído de Larman
Diagrama de Estados - Aplicação em CDUs

entrarItem

iniciarNovaVenda
EsperandoPorVenda EntrandoItens

terminarVenda

autorizado fazerPagamentoEmDinheiro
EsperandoPorPagto

fazerPagamentoComCheque

AutorizandoPagto fazerPagamentoComCartãoDeCrédito

Extraído de Larman
Diagrama de Estados - Aplicação em classe/objetos

Quando a biblioteca adquire um novo exemplar de livro, este é


cadastrado e se torna disponível para empréstimo. Ao procurar
um livro na biblioteca, o leitor pode ou levar um exemplar deste
livro emprestado ou, caso não encontre nenhum exemplar
disponível, pode fazer uma reserva do livro. Neste caso, o
primeiro exemplar devolvido (que se torna disponível) será
então reservado para este leitor, e apenas ele poderá levá-lo
emprestado. Caso o leitor não leve o exemplar para ele
reservado em dois dias, a reserva é cancelada e o exemplar se
torna disponível para empréstimo.
Diagrama de Estados - Aplicação em classe/objetos

EXEMPLAR DE LIVRO

cadastrar

emprestar
Cadastrado excluir
Emprestado e disponível

devolver

cancelar reserva
reservar [reserva > 2 dias]
emprestar

Reservado e
Emprestado aguardando
com reserva
devolver
Diagrama de Estados
Estado de Sincronismo

SinalAberto SinalFechado

SinalFechado SinalAberto
Diagrama de Classes (OO)
◼ Classe ???

◼ Na modelagem de análise:

 não há preocupação com os métodos

 nem com artefatos de software (ex: classe janela, classe


com métodos para atualizar BD, segurança, etc)

 pensar nos conceitos!!


Diagrama de Classes (exemplo)

Funcionario Projeto
__________________ __________________________
trabalha-em
Matricula CodProjeto
1..* *
Nome NomeProjeto
DataNasc
*

0..1 * focado-em

gerencia AreaConhecimento
__________________________

CodArea
NomeArea
Diagrama de Classes

Extraído de Larman
Diagrama de Classes

ATENÇÃO!!!
Classe não é Tabela de BD
CARTÕES CRC
Modelagem de dados
◼ Diagrama Entidade-Relacionamento (DER)

◼ Diferentes notações (Chen, Martin)

◼ Pode usar a notação da UML (eu uso!)

◼ Novamente: Entidade ≠ Classe

◼ Há padrões definidos para transformação de um


objeto (classe) em um registro (tabela). Atividade
de projeto (arquitetura).

Você também pode gostar