H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
Capítulo VII – Especificação da Lógica dos Processos
7.1 – Introdução
Nos passos anteriores do desenvolvimento de sistemas, desenhamos uma
proposta de solução lógica do sistema e especificamos de forma detalhada e
completa todos os componentes da solução proposta, à exceção dos processos,
que serão especificados nesta etapa do trabalho.
Como já vimos, processos representam os pontos do sistema onde os
dados recebidos e os armazenados sofrem transformações de diversos tipos para
gerar os dados a serem entregues. Na verdade, o processo é uma pequena
fábrica onde a matéria prima que entra é transformada em produtos a serem
distribuídos aos clientes. Esta mudança nos dados pode ocorrer de muitas formas,
tais como:
por operações matemáticas ou estatísticas;
por validações de conteúdo ou compleição;
por desmembramento ou aglutinação;
por geração de novas formas de apresentação;
por várias outras maneiras.
A especificação dos processos, por conseguinte, não é apenas um
levantamento descritivo de formatos e nomes. Ao contrário, depende de
compreender e relatar claramente os mecanismos internos de funcionamento da
atividade. A atenção nesta tarefa é crítica, pois, a partir dela, em etapas
posteriores, serão descritos os programas de computador que automatizarão o
processo. Especificações incompletas, incorretas ou confusas vão comprometer a
programação e, naturalmente, provocar erros nos sistema.
A maior dificuldade para especificar a lógica dos processos, além da sua
natural complexidade, é a própria ambigüidade da língua portuguesa que permite
milhares de construções diferentes para o mesmo assunto. Essa característica
contribui para que se evite a descrição da lógica em linguagem natural. Foi
necessário, portanto, criar uma linguagem alternativa para substituir o português.
A nova linguagem, chamada de Português Estruturado, criou regras rígidas
de sintaxe para amenizar os efeitos da ambigüidade e da prolixidade. Essas
regras devem ser obedecidas intransigentemente, caso contrário, todos os
benefícios de sua aplicação serão perdidos.
Outras ferramentas foram criadas para ajudar o analista em sua tarefa.
Entre elas se destacam duas ferramentas gráficas conhecidas por árvore de
decisão e tabela de decisão. Ambas têm o objetivo de tratar lógicas complexas.
Elas estão relacionadas no livro “Análise Estruturada de Sistemas”de Gane e
Sarson, que deve ser lido pelos analistas em formação. Nosso curso tratará,
apenas, da técnica de construção do Português Estruturado.
1/1
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
7.2 Como Descrever um Processo
A primeira preocupação para descrever a lógica de um processo é procurar
entender os passos seqüenciais de sua construção. A lógica de um processo
baseia-se em dois princípios: relacionar todas as instruções necessárias para
executar o processo e colocá-las (as instruções) na ordem correta. Vamos
imaginar um processo cuja função fosse trocar um pneu furado de um carro. Para
descrever sua lógica, seria preciso:
1- Relacionar todas as instruções necessárias
Levantar o carro com o macaco.
Baixar o carro com o macaco.
Desapertar os parafusos da roda do pneu furado.
Tirar o pneu furado.
Colocar o triângulo de segurança.
Abrir o porta-malas do carro.
Colocar o estepe na roda.
Tirar o estepe, macaco e triângulo do porta-malas.
Apertar os parafusos da roda do estepe.
Guardar o pneu furado, o macaco e o triângulo.
Fechar o porta-malas.
2- Colocar as instruções na ordem correta
Abrir o porta-malas do carro.
Tirar o estepe, macaco e triângulo do porta-malas.
Colocar o triângulo de segurança.
Desapertar os parafusos da roda do pneu furado.
Levantar o carro com o macaco.
Tirar o pneu furado.
Colocar o estepe na roda.
Apertar os parafusos da roda do estepe.
Baixar o carro com o macaco.
Guardar o pneu furado, o macaco e o triângulo.
Fechar o porta-malas.
Como se percebe pelo exemplo, relacionar todas as instruções necessárias
para realizar a tarefa não foi suficiente. Foi preciso ordená-las, sem o que o
processo não seria realizado corretamente.
É necessário entender o significado correto da palavra instrução. No
contexto do português estruturado, instrução representa cada um dos passos
necessários par executar um trabalho. É, também, chamado de comando ou
ordem. Todas essas palavras são traduções livres do inglês statement.
2/2
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
Os pesquisadores que fixaram as regras de uso do português estruturado
identificaram três tipos de instruções, que reproduzem as estruturas possíveis de
acontecer com a lógica de um processo. Os três tipos identificados foram os
seguintes:
1- Instruções seqüenciais, que são aquelas que são completas em si
mesmas, como, por exemplo, as do caso do pneu. Outros exemplos podem
ser os seguintes:
Somar 1 em valor
Ler código em fornecedor
Obter nota fiscal de conferir nota fiscal
2- Instruções de decisão, que ocorrem quando há necessidade de escolherse um entre vários caminhos possíveis. Como, no seguinte exemplo:
Se a renda líquida for superior a R$ 50.000,00, descontar 20%
Senão descontar 15%
Este exemplo mostra a estrutura de uma decisão. Temos, para cada
situação, uma condição e uma ação.
A condição 1 é “renda líquida superior a R$ 50.000,00”
A ação 1 é “descontar 20%”
A condição 2 é “renda líquida inferior ou igual a R $50.000,00”
A ação 2 é “descontar 15%”
A cada condição corresponde uma ação. Dessa forma, a estrutura completa
de uma instrução de decisão pode ser representada assim:
SE condição 1, ENTÃO ação 1.
SENÃO (não acontece condição 1), LOGO ação 2.
As palavras Se, Então, Logo são reservadas para uso apenas neste casos.
Na prática quase nunca se usa a palavra “LOGO”, como também, não se usa a
negativa da condição 1, após a palavra “senão”. Neste caso, a estrutura seria
representada da seguinte forma:
SE condição 1, ENTÃO ação 1
SENÃO, ação 2.
3/3
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
3- Instruções de repetição, que ocorrem quando é necessário controlar a
repetição de um conjunto de instruções, um determinado número de vezes.
Veja o exemplo:
Número = 1
Total = 0
Repetir enquanto número for menor que 51
Somar número em total
Somar 1 em número
Fim da repetição
Imprimir total
Este caso representa a lógica de um processo para apresentar a soma dos
50 primeiros números naturais. Foi preciso controlar a execução repetida das
instruções seqüenciais 4 e 5, com as instruções 3 e 6. Ao iniciar o processo, o
valor de “número”é 1e, portanto, a condição é verdadeira (menor que 51). A cada
vez que o processo é repetido, “número”vai sendo incrementado até atingir o
valor 51. nesse momento, a condição é falsa e o ciclo de repetições é
interrompido.
Na verdade, existem dois tipos de estruturas de repetição. Uma que
controla a condição no início do bloco (Repetir Enquanto) e outra que controla a
condição no final do bloco (Repetir Até).
Com esses 3 (três) tipos de instrução é possível descrever a lógica de
qualquer processo, desde o mais simples até o mais confuso.
7.3 – Regras de Uso do Português Estruturado
Como já dissemos anteriormente, existem certas regras de sintaxe que
devem ser seguidas rigidamente. Estas regras são as seguintes:
1- Palavras Reservadas
Para indicar a existência de instruções de decisão ou de repetição, usam-se
determinadas palavras que devem ser reservadas, isto é, só podem ser usadas
para indicar aquelas instruções. Na descrição da lógica, estas palavras devem ser
escritas em letras maiúsculas. Estas palavras são as seguintes:
SE, ENTÃO, SENÃO, LOGO, FIM-SE para representar a cadeia completa de uma
decisão.
REPETIR, ATÉ, ENQUANTO, FIM-REPETIR para indicar uma instrução de
repetição.
EXECUTAR para indicar um bloco de instruções.
4/4
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
2- Bloco de Instruções
Existem determinados conjuntos de instruções, que realizam uma tarefa
específica e completa, que podem ser usados em diversos pontos da lógica. Para
evitar que ele seja reescrito várias vezes, costuma-se escrevê-lo à parte, como um
bloco de instruções, dando-lhe um nome. No corpo da lógica, basta, então, usar a
palavra EXECUTAR com o nome do bloco. Isto indicará que todas as instruções
do bloco serão executadas.
3- Indentação
Uma vez definida uma instrução de decisão ou de repetição, a instrução
seguinte deve ser indentada (deslocada de duas casas) em relação ao
alinhamento à esquerda anterior. Esta indentação é contínua, isto é, vai ocorrendo
uma após a outra, caso hajam instruções de decisão ou de repetição encadeadas,
como mostra o exemplo, abaixo:
Linha = 1
Número = 0
EXECUTAR cabeçalho
REPETIR ATÉ que número maior que 150
Somar 1 em número
Quadrado = número * número
Imprimir Número, Quadrado
Somar 1 em linha
SE linha = 50
ENTÃO linha = 1
Saltar para próxima página
EXECUTAR cabeçalho
FIM-SE
FIM-REPETIR
Cabeçalho
Imprimir nome da empresa, data e página
Imprimir nome da seção e responsável
Imprimir “Listagem dos quadrados dos 150 primeiros números naturais”
Neste exemplo, observa-se um deslocamento dado para as estruturas
vinculadas ao REPETIR e outro para a estrutura vinculada ao SE. Em ambos os
casos, a estrutura é encerrada com a instrução FIM. Observa-se, também, a
existência de um bloco de instruções de nome CABEÇALHO. Bloco de instruções
é um conjunto de instruções ao qual se atribui um nome e que, como será usado
em diversos pontos da lógica, é escrito uma vez e colocado no final da
especificação. Ele é ativado, nos pontos onde deve ser executado pelo comando
EXECUTAR.
5/5
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
As instruções em português estruturado devem ser curtas, diretas e sem o uso
de preposições e conjunções. Evita-se a ambigüidade das expressões maiores.
Pode-se e deve-se usar convenções que diminuam o texto e evite dúvidas.
Expressões do tipo: Maior que, menor que, maior ou igual a, menor ou igual a,
diferente de, podem ser substituídas por símbolos padronizados.
4- Termos do Dicionário de Dados
Toda vez que a lógica exigir a utilização de um nome definido no dicionário de
dados deve-se sublinhar o nome para indicar que se trata de elemento definido no
dicionário de dados.
Exemplo
SE cd-fornecedor inexistente
ENTÃO ler fonecedor
FIM-SE
Somar 10 em salário-hora
Este modo de descrição orienta o leitor mostando que cd-fornecedor, fornecedor e
salário-hora são elementos descritos no dicionário de dados.
Exemplos
1- Descrever a lógica do seguinte processo:
“Para cada ficha de matrícula recebida, eu verifico se os dados estão corretos. Se
não estiverem, eu devolvo ao aluno para correção. Quando está tudo certo, eu
registro o número da matrícula, preparo e entrego ao aluno o comprovante e, se a
ficha for de renovação, arquivo na pasta RENOVAÇÃO, se não for, mando para a
Secretaria”.
Este processo simples poderia ser descrito da seguinte maneira:
Iníco
Receber Ficha de Inscrição
SE Ficha de Inscrição preenchida corretamente ENTÃO
registrar número de matrícula
Preparar comprovante de matrícula
Enviar comprovante de matrícula para Aluno
SE Ficha de inscrição = renovação ENTÃO
Guardar em Renovação
SENÃO Enviar para Secretaria
FIM-SE
SENÃO devolver Ficha de Inscrição para Aluno
FIM-SE
6/6
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
Fim
Comentários
1- Estamos supondo que os itens sublinhados estão descritos no dicionário
de dados.
2- A palavra RENOVAÇÃO sublinhada, refere-se ao depósito de dados
enquanto a não sublinhada a um critério de seleção.
3- Descrever a lógica do seguinte processo:
“Quando eu chego no trabalho, meu primeiro serviço é distribuir a
correspondência. Apanho tudo que chegou e separo por destinatário. Quando o
destinatário não está claro ou eu desconheço, separo para a Seção de
Identificação. Depois de tudo separado, eu entrego as cartas ao seu dono.”
Início
Recuperar correspondência de malote
REPETIR ENQUANTO houver correspondência
Se destinatário é conhecido ENTÃO
Separar correspondência por destinatário
SENÃO Separar correspondência para Seção de Identificação
FIM-SE
FIM-REPETIR
Entregar correspondência para destinatário
Fim
4- Descrever a lógica do seguinte processo:
“Calcular o desconto dos funcionários para a Associação não é complicado. Basta
você comparar o salário bruto, no cadastro de funcionários, com a tabela de
descontos. Se o valor é menor que 5 salários mínimos, desconta-se 1%. Se
estiver entre 5 e 10 salários mínimos, desconta-se 1,5%. Se for maior que 10
salários mínimos, desconta-se 2%. O único cuidado a tomar é que o limite para
desconto é R$ 60.000,00. Não se pode fazer desconto maior que esse. Feito os
cálculos é só registrar o valor do desconto no local apropriado que o desconto
será cobrado.”
Início
desconto = 0
Ler cadastro de funcionários por matrícula
REPETIR ENQUANTO houver funcionários
SE salário bruto < 560,00 ENTÃO
desconto = salário bruto * 0,01
SENÃO SE salário bruto > 1120,00 ENTÃO
desconto = salário bruto * 0,02
SENÃO desconto = salário bruto * 0,015
FIM-SE
FIM-SE
7/7
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
H
F-XC A N GE
H
F-XC A N GE
c u-tr a c k
N
y
bu
to
k
lic
SE desconto > 60,00 ENTÃO
desconto = 60,00
FIM-SE
Registrar desconto em cadastro de funcionário
Ler cadastro de funcionários por matrícula
FIM-REPETIR
Fim
8/8
.d o
o
.c
m
C
m
w
o
.d o
w
w
w
w
w
C
lic
k
to
bu
y
N
O
W
!
PD
O
W
!
PD
c u-tr a c k
.c
Download

1/1 Capítulo VII – Especificação da Lógica dos