Diagrama de Estrutura
Acoplamento de Dados
Cadastrar novo cliente
Ver se cliente já existe
Cliente já existe CPF
Nome Cliente
Acoplamento de Imagem
Nome Cliente
“migrante”
Cadastrar Novo Aluno
Validar RA
RA Válido
Registro do aluno
Diagrama de Estrutura
Acoplamento de Dados
Fazer login no Jogo
Verificar Login/Senha
Credenciais OK
Username
Senha
Acoplamento de Dados
Jogo de Guerra
Emitir Som de Tiro
Volume
Diagrama de Estrutura
Acoplamento de Imagem
Cadastrar novo jogador
Consistir Dados do
Jogador
Lista de inconsistências Dados do Jogador
Acoplamento de Imagem
Cadastrar Novo Aluno
Validar RA
RA Válido
Registro do aluno
Acoplamento de Imagem – empacotamento.
Logar no BD Servidor
Diagrama de Estrutura
DataBase
Senha
User Status
da Conexão
Logar no BD Pacote de
conexão
Status da Conexão
Acoplamento de Controle
Fornecer dinheiro ao
cliente
Buscar saldo do cliente
Tipo de conta
Saldo Conta-Corrente
Saldo Aplicação Saldo Poupança
Acoplamento de Imagem – empacotamento.
Calcular o custo total do
negócio Preço por item
Diagrama de Estrutura
Tipo Desconto
Imposto Venda
Nº Itens Custo Total
Calcular o custo total do
negócio Material
Custo Total
Acoplamento de Controle
Gerenciar personagem
Movimentar (frente, trás, subir,
descer)
tipo
movimento
Acoplamento de Comum
Diagrama de Estrutura
Encontrar Nome do
Aluno
Gerar Matrícula
do Aluno
Nome Aluno Horário
Aluno RA
RA Cod.
Disciplina
Horário Disciplina
MSG_ERRO MSG_ERRO RA Inválido
Choque de Horário
Emitir mensagens de erro do sistema
MSG Erro
Área de dados acessível por vários módulos
Acoplamento de Conteúdo (Patológico)
Diagrama de Estrutura
Módulo A:
IMPRESSAO_DE_TELA:
CLS X1:
LOCATE I,J : PRINT “---”
LOCATE I+1, J : PRINT “TELA DE ” + TELA LOCATE I+2, J : PRINT “---”
...
RETURN Módulo B:
Módulo C:
I=1 : J = 1
TELA = “INCLUSÃO”
GOSUB X1
GOSUB IMPRESSAO_DE_TELA ...
I = 4 J = 2
TELA = “ALTERAÇÃO”
GOSUB IMPRESSAO_DE_TELA
...
Diagrama de Estrutura
¨ Decisão
¨ Repetição
Elementos
São utilizadas para promover uma mudança no curso lógico da execução do processo.
Estas mudanças poderão ser originadas pela
passagem de fluxos de dados ou fluxos de controle, Verificar
Dados do Cliente
Calcular DV - CPF
Calcular DV - CNPJ
CPF
DV
CPF CGC
DV CGC
Contar Quantidade de Clientes
Ler Clientes
Emitir Qtde.
Clientes
Fim
Qtde Clientes
É utilizada quando determinado módulo aciona outro, através de LOOP.
É como se existisse um comando “Do While”, que executaria determinada lógica, até que uma determinada condição fosse satisfeita.
Elementos da Diagrama de Estrutura
1
>
Coesão Coincidental;É o pior tipo de coesão.
Este tipo ocorre quando os procedimentos internos dos módulos estão dispostos de tal forma que não existe nenhuma ligação lógica entre eles.
Como o próprio nome já diz, estes procedimentos estão colocados juntos.
Rotinas Gerais
1. Ler CódigoCliente
2. Gerar aviso de cobrança;
3. Atualizar dados cadastrais de cliente;
4. Emitir tabela de preço aos vendedores;
Neste exemplo nenhuma das atividades
desenvolvidas pelo módulo têm forte ligação uma com as outras. Coincidentemente fazem parte do mesmo módulo.
tarefa
>
Coesão Lógica;Quando os elementos que formam um módulo, destinam-se ao tratamento de uma mesma categoria. Ou as atividades a serem executadas são selecionadas fora do módulo.
Tratamento de Erros
1. Emissão de Mensagem;
2. Execução de processo especifico;
3. Verificação da continuação do processamento, ou seu fim anormal
Código do Erro
1. Incluir cliente 2. Alterar cliente 3. Eliminar cliente 4. Mostrar cliente
Manter Cliente
tarefa Código Cliente
2
>
Coesão Temporal; Quando os procedimentos que executa estiverem relacionados com o tempo, e não com o tipo de função que executam.Neste módulo, as instruções necessitam ser executadas ao mesmo tempo, sem portanto, a necessidade de ordem ou vínculo entre elas.
Fechamento de caixa
Estabelece um determinado ponto no tempo onde as seguintes atividades são executadas:
1. Formatar e imprimir totais do dia;
2. Fechar arquivos;
3. Encerrar execução.
4. Mandar e-mail de aviso de fechamento ao gerente.
5. Fazer backup do DB
Neste tipo de coesão, todos os elementos do módulo são sempre executados.
>
Coesão Procedural;É quando o módulo possui elementos que cumprem funções
diferentes, e muitas vezes não relacionadas, nas quais o controle é passado de uma a outra.
Neste tipo de coesão só ocorre a passagem de controle, sem nenhuma passagem de dados.
Isto quer dizer que existe uma relação de controle, em que uma função depende da execução da outra para conseguir solucionar o problema, sem a necessidade de dado algum.
Verifica Crédito de Cliente
:1. Verificar se o limite de crédito do cliente foi atingido; e
2. Se o limite foi atingido, bloquear o pedido.
CódCliente
Statuscrédito
>
Coesão Comunicacional; É quando o módulo executa váriastarefas e se utiliza da mesma entrada ou da mesma saída.
Ou quando todos os elementos de processamento se concentram numa área de uma estrutura de dados.
Obter dados de Livro
1. Pegar preço do livro;
2. Pegar posição de estoque do livro;
3. Pegar autores do livro;
4. Pegar editora do livro.
5. Pegar nome do livro
Todas as tarefas do módulo se utiliza dos dados de livro.
Cód Livro Nome
preço
autores
editora
estoque
>
Coesão Seqüencial; É quando o módulo possui funções diferentes, executadas seqüencialmente, e o resultado do processamento da primeira, será a entrada para o processamento da segunda.A ordem de execução corresponde a ordem natural da solução do problema no mundo real.
Calcular Salário de Funcionário
1. Obter salário bruto;
2. Calcular deduções;
3. Calcular salário liquido.
Sal. Bruto Sal. Líquido
Deduções
Cód
Funcionário
>
Coesão Funcional É quando o módulo possui elementos diferentes, porém todos eles necessários e suficientes para executar uma e somente uma função..
Calcular Salário Líquido
1. Obter salário bruto;
2. Calcular deduções;
3. Calcular salário liquido.
Sal. Líquido
Cód
Funcionário
Calcular Área do Círculo
A r
X
Raiz quadrada XEmitir som de tiro
Intensidade
Validar CPF
CPF
Ok
Imprimir Cartão de Aniversário
Pegar Primeiro Nome da Pessoa
Ou
Pegar Sobrenome Ou
Pegar meio do nome
Pedaço Nome Nome Inteiro
Pedaço escolhido
Acoplamento de controle
Coesão lógica
Imprimir Cartão de Aniversário
Pegar Primeiro Nome da Pessoa
e
Pegar Sobrenome e
Pegar meio do nome
Sobrenome Nome Inteiro
Primeiro Nome
Nome do meio
Coesão comunicacional
Provável Acoplamento
de imagem*
*
Se imprimir cartão de aniversário usar todos os dados de volta, é acoplamento de dadosImprimir Cartão de Aniversário
Pegar Primeiro Nome da Pessoa
Nome Inteiro
Sobrenome
Sexo Estado Civil
Imprimir Cartão de Aniversário
Pegar Primeiro Nome da Pessoa
Nome Inteiro Tratamento + Primeiro Nome
Pegar sobrenome da Pessoa
Coesão funcional
Acoplamento de dados nos dois
casos
Primeiro Nome
Coesão funcional
Acoplamento de dados
Acessar extrato bancário, via web
Tratar Acesso
1) Conferir conta corrente e senha;
2) Consultar se quantidade de acesso incorreto excede a 3 tentativas (senha inválida);
3) Bloquear o acesso a conta corrente por 24h se o no máximo de acesso for ultrapassado.
No.Conta Corrente
Acesso liberado senha
Acoplamento de dados
Coesão procedural
(a tarefa 2 só ocorre se a 1 permitir e a 3,
se a 2 permitir)
Acessar E-MAIL
Tratar Acesso
1. Conferir username e senha;
2. Consultar se quantidade de acesso incorreto é igual ou superior a 2 tentativas (senha inválida)
3. Acionar teste de CAPTCHA se acessos incorretos forem iguais ou acima de 2.
username
credencial OK senha
Acoplamento de dados
Coesão procedural
(a tarefa 2 só ocorre se a 1 permitir e a 3,
se a 2 permitir)
Gerar CAPTCHA combinou
Acessar E-MAIL
(contém rotina para contar acessos incorretos)
Conferir username e senha;
username
credencial OK senha
Acoplamentos de dados
A coesão procedural foi transformada em
dois módulos de coesão funcional.
Gerar CAPTCHA
combinou
Manter Cliente
Operação de Manutenção de
Clientes 1) Incluir ou 2) Alterar ou 3) Eliminar Dados do cliente
Tipo de Operação
Operação OK
Acoplamento de controle
Coesão lógica
Ler Dados do Aluno
ValidarRA
RA_OK RA Aluno
Ler RA
RA Aluno
LerRegistroAlunoNo BD
RA Aluno
Registro Aluno
Coesão funcional
Acoplamento de imagem*
Acoplamento de dados
*
imagem porque se trata de uma passagem de estrutura de dadosImprimir Holerite
SBP = SalarioBruto – ( INSS(SalarioBruto) + DescontoDependente x NumDependente)
Salário Líquido = IRPF (SBp)
Obter salário bruto e nºDependen
tes
Calcula Salário Líquido
Sal Líquido
Sal.Bruto
Valor Isenção Dependentes
NºDep
Calcula IRPF Calcula
INSS Cod Func
Val Isenção
Jogo de Guerra
Barulho de tiro de Pistola
Jogo de Guerra
Barulho de tiro de Pistola
ou Fuzil
ou Metralhadora
Tipo de som de tiro
Sistema Acadêmico
Analisar Status do Aluno
Regra
Média Frequência
Status
Sistema Acadêmico
Sistema Acadêmico
Analisar Status Aluno de Faculdades Analisar Status Aluno
de Faculdades Média
Frequência
Status
Regra 1 Fatec
Regra 2 - Anhanguera, Regra 3 - Unicamp