Buscar

Modelagem de Sistemas - Diagramas de Interação

Prévia do material em texto

Modelagem de Sistemas
Marcelo Vasques de Oliveira
Aula 6
Aula 6 – Diagramas de Interação
Aplicação dos diagramas através de estudo de caso
 Casos de Uso (diagrama e especificações)
 Diagrama de classes
 Diagrama de sequencia 
2
Estudo de Caso
A empresa FAIXA AMARELA Ltda, confecciona faixas de anúncios e encomendou um sistema que controle suas atividades 
Controle e acompanhamento dos pedidos
Cadastramento de seus clientes 
O cliente, faz seu pedido e os dados são registrados:
Cliente: nome, cpf, endereço completo, tel_fixo, Tel_cel;
Pedido: Data do Pedido, altura e largura da faixa, texto a ser escrito na faixa, cor da faixa (amarela, preta ou branca), cor do texto (Branco, Preto, Azul ou vermelho), Previsão de entrega, Valor do Serviço e Valor do sinal (50% do total)
3
Estudo de Caso
O valor do serviço é calculado
Valor da faixa = Custo_Material + Custo_desenho + % Lucro
Custo_Material = área x 20,00
Custo_Desenho = número de letras * 0,70
% de Lucro = 20 % (Custo_Material + Custo_desenho)
O Prazo de entrega é calculado com base no trabalho de 5 dias por semana e produção diária de 8 faixas no máximo. O prazo deve começar a ser contabilizado, após a confirmação do pagamento do sinal
O sistema deve calcular o prazo de entrega e o valor do serviço;
4
Estudo de Caso
Para cada encomenda deve ser emitido um recibo, em 2 vias, contendo os dados do pedido e pagamento (valor do sinal e a pagar na entrega). 
O sistema (acesso da diretoria) deve controlar o pagamento do sinal, quando o serviço é iniciado e a data de entrega calculada. O sistema deve controlar o pagamento na entrega.
O sinal pode ser pago por depósito bancário e o pagamento do saldo deve ser pago contra entrega, em dinheiro, cheque ou cartão de débito.
5
Estudo de Caso
O produto somente é entregue mediante o pagamento do saldo. A entrega deve ser controlada.
O sistema deve prover uma consulta (disponível apenas a diretoria), de cada pedido feito no período, informando: data do pedido, data de entrega, Valor Serviço, Valor Sinal, Sinal Pago (S/N), Serviço Finalizado (S/N), Serviço Pago (S/N) e Status Pedido. (S/N) = Sim ou Não. 
O Pedido ao longo do seu ciclo de vida pode ter vários estados , que o sistema deve controlar.
 
6
Estudo de Caso
Ao ser inserido, o status é EM ESPERA. 
Com o sinal pago, o status é PRONTO PARA PRODUÇÃO
Ao iniciar a produção da faixa, o status é EM PRODUÇÃO. 
Ao ser finalizado o status passa a ser PRONTO. 
Ao ser entregue o status passa a ser ENTREGUE. Para ser considerado ENTREGUE o pedido tem que ter o saldo de pagamento confirmado. 
7
Estudo de Caso
O sistema deve emitir um informe a todo cliente que não faz pedido há mais de 6 meses (com base na data corrente). 
Num mesmo pedido podem ser encomendadas mais de 1 faixa, até 5 no máximo (mas essa regra pode alterar a qualquer momento).
 
8
Procedimento da solução
1) Diagramação da 1ª. Versão do diagrama de casos de uso
Identificação das principais funcionalidades do sistema
2) Especificação textual de casos de uso relevantes
3) Refinamento do diagrama de casos de uso
Identificação de includes ou extends que otimizem a solução
4) Identificação das classes do negócio
5) Diagrama Conceitual de Classes
6) Diagrama de sequencia dos casos de uso de relevância.
9
1ª. Versão diagrama de casos de uso
10
1ª. Versão diagrama de casos de uso
11
Caso de Uso
Breve descrição
Registrar Pedido
Registraros pedidos de faixas
Registrar Fim produção do pedido
Sinaliza que a produção da faixa chegou ao fim, devendo haver mudança do estado do pedido, nesse momento.
Registrar Entrega do Pedido
Sinaliza que o pedido foi entregue ao cliente, devendo haver mudança do estado do pedido, nesse momento.
Caso de Uso: Registrar Pedido
12
Pré Condição: --
Pós condição: Pedido registrado e Cliente registrado
Cenário Principal
...
....
...
..
Cenários Alternativos
...
...
...
Cenário Principal - Registrar Pedido 
13
1.Usuário informa Id do Cliente
2.Sistema Localiza Cliente com Id do Cliente
3.Sistema exibe nome , email e telefones do cliente
4.Para cada faixa do pedido FACA
a) Usuário informa dados da faixa 
b) Sistema Calcula valor da faixa 
c) Sistema acumula valor do pedido
5. Sistema apresenta valor total do pedido
6. Sistema aponta EM ESPERA para status do pedido.
7. Sistema registra pedido
8. Sistema emite boleto do pedido (*) 
Cenários Alternativos - Registrar Pedido 
14
Cenários Alternativos
2.a. Cliente não localizado
	1. Sistema Informa Cliente não localizado
	2. Sistema retorna ao passo 1 do cenário principal.
Caso de Uso: Cadastrar Cliente
15
Cenário Principal
1. Usuário informa Id do Cliente
2. Sistema Localiza Cliente com Id do Cliente
3. Usuário informa dados do cliente (1)
4. Sistema registra dados do cliente
Cenários Alternativos 
2.a. Cliente já cadastrado
 1. Sistema emite mensagem “Cliente já está cadastrado”
 2. Sistemas retorna ao passo 1 do cenário principal 
Caso de Uso: Confirmar Recebimento Sinal
16
Cenário Principal
1. Usuário informa Id do Pedido
2. Sistema Localiza Pedido com Id do Pedido
3. Sistema exibe dados do pedido
4. Usuário informa Data e valor do sinal
5. Sistema valida dados do sinal
6. Sistema aponta PRONTO PARA PRODUCAO para status do pedido.
7. Sistema calcula data de entrega do pedido
8. Sistema altera dados do pedido.
Caso de Uso: Confirmar Recebimento Sinal
17
 Cenários Alternativos 
2.a. Pedido não localizado
 1. Sistema emite mensagem “Inconsistência de dados, Pedido não localizado”
 2. Sistema retorna ao passo 1 do cenário principal
4.a. Valor do sinal inferior a 50% do pedido
 1. Sistema emite mensagem “O valor do sinal deve ser equivalente a 50% do valor do 
 pedido”
 2. Sistema retorna ao passo 4 do cenário principal. 
Caso de Uso: Registrar Início da produção
18
1. Usuário informa Id do Pedido
2. Sistema Localiza Pedido com Id do Pedido
3. Sistema exibe dados do pedido
4. Usuário informa Data de inicio da produção
5. Sistema calcula data de fim da produção e entrega
6. Sistema apresenta data de fim da produção e data de entrega
7. Sistema aponta EM PRODUCAO para status do pedido.
8. Sistema altera dados do pedido.
Caso de Uso: Registrar Início da produção
19
1 Cenários Alternativos 
2.a. Pedido não localizado
 1. Sistema emite mensagem “Inconsistência de dados, Pedido não localizado”
 2. Sistema retorna ao passo 1 do cenário principal
Caso de Uso: Registrar Fim da produção
20
Cenário Principal
1. Usuário informa Id do Pedido
2. Sistema Localiza Pedido com Id do Pedido
3. Sistema exibe dados do pedido
4. Usuário informa Data de fim da produção
5. Sistema calcula data de entrega
6. Sistema apresenta data de entrega
7. Sistema aponta PRONTO para status do pedido.
8. Sistema altera dados do pedido.
Caso de Uso: Registrar Fim da produção
21
Cenários Alternativos 
2.a. Pedido não localizado
 1. Sistema emite mensagem “Inconsistência de dados, Pedido não localizado”
 2. Sistema retorna ao passo 1 do cenário principal
Caso de Uso: Registrar entrega do pedido
22
Cenário Principal
1. Usuário informa Id do Pedido
2. Sistema Localiza Pedido com Id do Pedido
3. Sistema exibe dados do pedido
4. Usuário informa Data real de entrega 
5. Sistema apresenta data real de entrega
6. Sistema aponta ENTREGUE para status do pedido.
7. Sistema altera dados do pedido.
Caso de Uso: Registrar entrega do pedido
23
Cenários Alternativos 
2.a. Pedido não localizado
 1. Sistema emite mensagem “Inconsistência de dados, Pedido não localizado”
 2. Sistema retorna ao passo 1 do cenário principal
Caso de Uso: Consultar cliente sem pedido
24
 Cenário Principal
Para cada cliente cadastrado faça 
Sistema localiza Pedidos do Cliente
Para cada pedido do cliente faça
Se (Data Corrente – Data Pedido) > 180 então exibir dados Pedido (1)
Fim_para
Fim_para
(1) Nome Cliente, email Cliente, Telefone Cliente, Data UltimoPedido
Caso de Uso: Consultar Pedido no período
25
 
Cenário Principal
Usuário informa data Inicial e final
Para cada Pedido com data pedido>-Data Inicial e Data Pedido<=Data Final faça
Buscar Dados Cliente
Exibir dados Pedido (1)
Fim_para
(1)– Nome Cliente, email Cliente, Telefone Cliente, Data Pedido, Valor Pedido, Data Entrega
Refinamento do diagrama de casos de uso
26
Observe que nos casos de uso 
Confirmar Recebimento do Sinal, 
Registrar Início da Produção. 
Registrar Fim da Produção e 
Registrar Entrega do Pedido, 
Temos os dois trecho repetidos: o primeiro no cenário principal e segundo no cenário alternativo
Trechos repetidos nos casos de uso
27
Cenários Principal 
1. Usuário informa Id do Pedido
2. Sistema Localiza Pedido com Id do Pedido
3. Sistema exibe dados do pedido
Cenários Alternativos 
2.a. Pedido não localizado
 1. Sistema emite mensagem “Inconsistência de dados, Pedido não localizado”
 2. Sistema retorna ao passo 1 do cenário principal
Alterações nas especificações
28
As especificações dos casos de uso precisam ser modificadas para compatibilizar com diagramas. 
Observe que no local das 3 linhas que havia anteriormente na especificação do caso de uso Confirmar Recebimento do Sinal, passamos a ter uma única linha com a inclusão do novo caso de uso (<<Incluce>> Pesquisar Pedido), 
E o cenário alternativo de Confirmar Recebimento de sinal passa a ser o cenário alternativo do <<include>> Pesquisar Pedido
Caso de uso: Confirmar Recebimento sinal
29
Cenário Principal
1. <<Include>> Pesquisar Pedido
2. Usuário informa Data e valor de pagamento do sinal.
3. Sistema aponta PRONTO PARA PRODUCAO para status do pedido.
4. Sistema calcula data de entrega do pedido
5. Sistema altera dados do pedido.
FIM- caso de uso  
Caso de uso: Confirmar Recebimento sinal
30
Cenários Alternativos 
4.a. Valor do sinal inferior a 50% do pedido
 1. Sistema emite mensagem “O valor do sinal deve ser equivalente a 50% do valor do pedido”
 2. Sistema retorna ao passo 4 do cenário principal
Caso de uso: Pesquisar Pedido (include)
31
Cenário Principal
Usuário informa Id do Pedido
Sistema Localiza Pedido com Id do Pedido
Sistema exibe dados do pedido
 
Cenários Alternativos 
2.a. Pedido não localizado
 1. Sistema emite mensagem “Inconsistência de dados, Pedido não localizado”
 2. Sistema retorna ao passo 1 do cenário principal
.
Diagrama de casos de uso - refinado
32
Diagrama Conceitual de Classes
33
O diagrama conceitual de classes pode ser extraído dos casos de uso. 
Casos de uso podem ser classes
Casos de uso podem ser métodos
Casos de uso: Cadastrar Cliente
Classe Cliente
Casos de uso: Demais 
Classe Pedido
As 2 classes se relacionam por associação
Diagrama Conceitual de Classes
34
O relacionamento entre as classes é associação
Papel: Cliente FAZ Pedido
A cardinalidade do relacionamento
1 Cliente faz * Pedidos
1 Pedido é de 1 Cliente
Atributos
35
Um erro muito comum em diagrama de classes é a confusão que se faz com tabelas (de bancos de dados relacionais), usando os conceitos de chave primária e chave estrangeira em relacionamentos 1:* ou *..*. 
Esse conceito não existe em diagrama de classes. Classe e tabela são bem distintos nesse sentido. 
A classe deve conter apenas os atributos que pertençam a ela, que a identifiquem enquanto classe.
Analisando os atributos do pedido
36
Dados do pedido: tamanho da faixa (altura e largura), texto a ser escrito na faixa, cor da faixa (amarela, preta ou branca), cor do texto (Branco, Preto, Azul ou vermelho)
Cada pedido pode conter até 5 faixas, o que significa dizer que os dados do pedido, acima, terão que ser armazenados 5 vezes ou mais (caso cresça no futuro). 
Analisando os atributos do pedido
37
Isso acarreta uma anomalia de armazenamento de atributos, pois teríamos que ter 5 vezes cada dado de 1 faixa, que poderiam não ser usados sempre, causando desperdício de armazenamento e uma estrutura pouco ortodoxa.
Percebe-se uma nova classe, chamada FAIXAS PEDIDO, que estaria relacionada com a classe PEDIDO. 
Tal solução resolve problema da quantidade de faixas por pedido, pode aumentar ou diminuir. 
Diagrama Conceitual de classes final
38
Agregação ou composição?
39
Adicionando os atributos
Analisando especificações de casos de uso
40
A análise de especificações de casos de uso, nos indicam a necessidade de novos atributos 
Caso de Uso
Atributos sugeridos
Confirmar Recebimento de Sinal
Data Pago Sinal
Valor Pago Sinal
Registrar Início de Produção
Registrar Fim de Produção
Data Inicio Produção
Data Fim Produção
Data Entrega
Registrar Entrega do Pedido
Data Real Entrega
Responsabilidade das classes
41
A análise de especificações de casos de uso, nos indicam a necessidade de novos atributos 
Caso de Uso
Atributos sugeridos
Confirmar Recebimento de Sinal
Data Pago Sinal
Valor Pago Sinal
Registrar Início de Produção
Registrar Fim de Produção
Data Inicio Produção
Data Fim Produção
Data Entrega
Registrar Entrega do Pedido
Data Real Entrega
42
Adição de atributos
43
Responsabilidade das classes
Adição de métodos, analisando os casos de uso
44
Registrar Pedido-Cenário: Principal
Novos Métodos
Cliente
Pedido
Faixas Pedido
45
Consultar Pedidos Período-Cenário: Principal
46
Consultar Clientes Sem Pedido - Principal
47

Continue navegando