Buscar

aula_06Diagramas de Interação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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
Registrar os 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 
Ultimo Pedido
Caso de Uso: Consultar Pedidono 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

Outros materiais