☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta Regras de Negócio. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Regras de Negócio. Mostrar todas as mensagens

domingo, 26 de julho de 2026

Lógica de Validação : Quando um Programador COBOL Descobre que o Campo Obrigatório Não Foi Criado para Irritar Usuários... Mas para Evitar que um Banco Inteiro Exploda às 23h59

 

Bellacosa Mainframe e a logica de validação

☕ Um Café no Bellacosa Mainframe

Lógica de Validação sem Mistérios para Programadores COBOL

Quando um Programador COBOL Descobre que o Campo Obrigatório Não Foi Criado para Irritar Usuários... Mas para Evitar que um Banco Inteiro Exploda às 23h59

"Meu nome é COBOL. Enterprise COBOL."

Imagine a cena clássica de um filme de James Bond.

Em algum lugar de Londres, M entrega uma missão.

— Bond, encontramos um programa escrito em RPG III em 1989. Um desenvolvedor júnior pretende remover algumas validações porque "atrapalham a experiência do usuário". Se ele conseguir... centenas de sistemas financeiros poderão produzir dados incorretos durante meses sem que ninguém perceba.

Bond responde calmamente.

— Então o problema não é o código.

— Exatamente. O problema é que ninguém sabe por que aquele código existe.

...

Bem-vindo ao mundo dos sistemas corporativos.

E curiosamente...

Essa história acontece praticamente todos os dias: validações aparentemente simples escondem regras de negócio extremamente sofisticadas.

Para um programador COBOL iniciante, isso representa uma das maiores mudanças de mentalidade da carreira.


O grande erro dos iniciantes

Todo iniciante pensa parecido.

Ele abre um programa COBOL.

Encontra:

IF CLIENTE = SPACES
    DISPLAY "CLIENTE OBRIGATORIO"
    GO TO TELA
END-IF

Primeira reação:

"Isso é simples."

Segunda reação:

"Posso melhorar."

Terceira reação:

"Nem precisa existir."

...

E é exatamente aí que começam os problemas.

Porque talvez esse IF esteja protegendo:

  • faturamento

  • integração

  • impostos

  • compliance

  • auditoria

  • relatórios

  • processamento batch

  • fechamento mensal

Ou seja...

o verdadeiro trabalho nunca foi impedir campo vazio.

O verdadeiro trabalho era proteger todo o restante do sistema.


O efeito James Bond

Nos filmes do 007 existe um detalhe interessante.

Quase nunca o vilão destrói Londres usando uma bomba gigante.

Ele altera uma pequena peça.

Troca um satélite.

Muda um código.

Rouba uma chave.

Troca uma senha.

Depois observa o caos acontecer sozinho.

Nos sistemas corporativos acontece exatamente igual.

Você altera uma validação aparentemente insignificante.

Nada acontece.

Durante dias.

Durante semanas.

Depois...

o fechamento financeiro falha.


O usuário vê uma mensagem.

O sistema vê um contrato.

O artigo explica algo extremamente importante.

Para o usuário existe apenas isto:

Campo obrigatório.

Fim.

Mas internamente aquela mensagem significa:

"Não permita que este registro siga adiante porque cinquenta processos dependem dele."

Essa diferença de perspectiva muda completamente a forma como analisamos software legado.


O iceberg das validações

A tela é apenas a ponta.

Debaixo dela existem dezenas de dependências.

Imagine:

Tela

↓

Programa COBOL

↓

VSAM

↓

DB2

↓

MQ

↓

Interface REST

↓

Batch Noturno

↓

Relatórios

↓

BI

↓

Auditoria

↓

Banco Central

O usuário enxerga:

Campo obrigatório.

O arquiteto enxerga:

Uma cadeia inteira de dependências.

Por que sistemas antigos fazem tantas validações?

Porque durante décadas não existiam:

  • APIs

  • Microservices

  • Gateway

  • Event Broker

  • Kafka

  • Camadas REST

Tudo acontecia dentro do programa.

Logo...

a validação morava exatamente onde os dados entravam.

Na tela.

Esse padrão tornou-se extremamente comum em RPG, COBOL, Natural e PL/I.


O verdadeiro inimigo chama-se "dados ruins"

Programadores novos costumam pensar:

"Erro de compilação é ruim."

Não.

Muito pior é dado errado.

Porque código errado normalmente explode imediatamente.

Dado errado...

pode sobreviver anos.


Imagine:

Cliente cadastrado sem CPF.

Hoje nada acontece.

Amanhã:

batch ignora.

Depois:

faturamento não encontra cliente.

Depois:

impostos errados.

Depois:

auditoria encontra inconsistência.

Depois:

advogados entram.

Tudo começou porque alguém retirou um IF.


O paradoxo da modernização

Outro ponto excelente discutido no artigo.

Modernizar NÃO significa preservar tudo.

Nem apagar tudo.

Modernizar significa entender primeiro.

Depois decidir.

A sequência correta é:

  1. Descobrir a regra.

  2. Entender a regra.

  3. Descobrir quem usa.

  4. Descobrir quem depende.

  5. Só então alterar.

Jamais o contrário.


Um dos maiores perigos: o efeito dominó

Imagine uma peça de dominó.

Você derruba apenas uma.

As outras caem sozinhas.

Validações funcionam exatamente assim.

Uma alteração pequena pode atingir:

  • relatórios

  • integração SAP

  • emissão fiscal

  • XML

  • APIs

  • Data Warehouse

  • Analytics

Nenhuma dessas equipes estava olhando aquela tela.

Mas todas dependiam dela.


James Bond e o Mainframe

Se James Bond trabalhasse num banco...

Q provavelmente lhe entregaria um gadget chamado:

Validator Scanner 9000

Funções:

✓ localizar IF esquecidos

✓ encontrar PERFORM misteriosos

✓ rastrear GO TO perigosos

✓ identificar programas batch impactados

Infelizmente...

na vida real esse gadget chama-se:

Conhecimento.

A IA entra em cena

O artigo mostra um uso extremamente inteligente da IA.

Não para substituir o desenvolvedor.

Mas para acelerar investigação.

Por exemplo.

A IA pode responder rapidamente:

  • Qual campo é validado?

  • Qual mensagem aparece?

  • Qual arquivo recebe update?

  • Qual status muda?

  • Quais programas são chamados?

  • Quais SQL executam?

  • Quais interfaces dependem?

Ela reduz dias de investigação para minutos em muitos casos.


Mas cuidado...

A IA enxerga código.

Ela não enxerga história.

Ela pode dizer:

"Campo obrigatório."

Mas não sabe que:

Em 1997 um cliente perdeu milhões porque esse campo ficou vazio.

Quem sabe isso?

O analista veterano.


O método Bellacosa de investigação

Sempre ensine seu cérebro a pensar nesta sequência:

Etapa 1

Onde está a validação?


Etapa 2

Quem chama?


Etapa 3

Quem grava?


Etapa 4

Quem lê?


Etapa 5

Quem depende?


Etapa 6

O que quebra?


Etapa 7

Ainda faz sentido?


Só depois:

Modificar.


A importância da documentação

Outro excelente ponto.

Quando finalmente descobrimos o motivo daquela validação...

não podemos guardar isso apenas na cabeça.

Transforme em:

  • Wiki

  • Confluence

  • Markdown

  • Obsidian

  • Teste

  • Caso de Uso

Conhecimento que permanece apenas em pessoas desaparece quando elas mudam de projeto ou se aposentam.


O prompt apresentado

O artigo também fornece um excelente modelo para IA.

Ele pede análise sobre:

  • campo

  • condição

  • mensagem

  • regra

  • arquivos

  • programas

  • SQL

  • interfaces

  • batch

  • riscos

  • QA

  • suporte

  • testes

Na prática é quase um checklist de engenharia reversa moderna.


Os cinco agentes secretos da modernização

Desenvolvedor

Descobre como funciona.


Analista

Descobre por quê.


QA

Prova que continua funcionando.


Suporte

Conta todas as tragédias já ocorridas.


Arquiteto

Decide onde essa regra deverá viver daqui para frente.

Cada um possui uma parte da missão.


Curiosidade histórica

Nos anos 1970 e 1980 era comum concentrar praticamente toda a inteligência do negócio dentro do programa COBOL ou RPG.

Não porque fosse "bonito".

Mas porque era o local natural onde os dados entravam.

Décadas depois, APIs, microsserviços e arquiteturas em camadas redistribuíram muitas dessas responsabilidades, mas inúmeras regras continuam preservadas no legado por razões históricas e operacionais.


Easter Egg 007

Existe um paralelo curioso.

Nos filmes do James Bond, M frequentemente diz:

"Confie em seus instintos."

No mainframe existe uma versão melhor:

"Nunca remova um IF antes de descobrir quem escreveu aquele IF."

Porque talvez quem escreveu já tenha resolvido um desastre que nunca foi documentado.


Licença para Refatorar

Bond tinha licença para matar.

O programador moderno deveria possuir outra licença:

Licença para perguntar.

Antes de remover qualquer validação:

  • Quem pediu?

  • Quando surgiu?

  • Qual incidente originou?

  • Existe documento?

  • Existe chamado?

  • Existe histórico?

  • Existe auditoria?

Se ninguém souber responder...

o IF merece respeito.


Conclusão — O verdadeiro agente secreto é a regra de negócio

Todo iniciante imagina que programas COBOL são grandes coleções de IFs antigos, mensagens em maiúsculas e GO TO espalhados pelo código.

Com o tempo, porém, descobre uma verdade muito mais fascinante: cada validação é um pequeno agente secreto infiltrado no sistema. Ela trabalha silenciosamente, impedindo que dados inconsistentes atravessem fronteiras invisíveis e provoquem efeitos em cadeia em faturamento, relatórios, integrações, processamento batch e auditorias.

Modernizar não é eliminar essas sentinelas indiscriminadamente. É investigar sua missão, entender o contexto histórico, confirmar se ainda fazem sentido e decidir o melhor lugar para que continuem protegendo o negócio. A inteligência artificial pode acelerar essa investigação, resumir código e sugerir perguntas relevantes, mas ela ainda depende da experiência humana para interpretar o significado de cada regra e validar seu impacto no mundo real.

No universo Bellacosa Mainframe, a maior lição é simples: um IF aparentemente banal pode valer mais do que milhares de linhas de código moderno, porque ele representa conhecimento acumulado ao longo de décadas. Assim como James Bond salva o mundo antes que a maioria perceba que havia perigo, uma boa validação impede desastres que nunca aparecerão nos relatórios de incidentes justamente porque jamais chegaram a acontecer.

Da próxima vez que encontrar um antigo IF CAMPO = SPACES, não pense apenas em removê-lo. Pense que talvez ele seja o 007 do seu sistema: discreto, elegante, quase invisível... e responsável por impedir que uma catástrofe silenciosa aconteça todos os dias.

sábado, 25 de julho de 2026

O Código Nunca Foi o Mistério : Quando um Programador COBOL Descobre que Alterar Dez Linhas é Fácil... Difícil é Sobreviver ao Templo Esquecido do Sistema

 

Bellacosa Mainframe na aventura onde o codigo nunca foi o misterio

☕ Um Café no Bellacosa Mainframe

O Código Nunca Foi o Mistério

Quando um Programador COBOL Descobre que Alterar Dez Linhas é Fácil... Difícil é Sobreviver ao Templo Esquecido do Sistema

"Arqueologia não é procurar coisas velhas. É descobrir a história escondida por trás delas."

Se Indiana Jones tivesse escolhido Ciência da Computação em vez de Arqueologia, provavelmente terminaria trabalhando em um grande banco desenvolvendo COBOL.

Pode parecer exagero.

Mas pense comigo.

Indiana nunca encontrava o artefato logo na primeira sala.

Primeiro havia um mapa incompleto.

Depois uma caverna.

Uma armadilha.

Um diário escrito há cinquenta anos.

Um símbolo perdido.

Um templo subterrâneo.

Uma pedra falsa.

Uma ponte quebrada.

E somente depois de horas de investigação ele finalmente colocava as mãos no objeto que havia saído para procurar.

No Mainframe acontece exatamente a mesma coisa.

O gerente chega à sua mesa.

— "É só alterar umas dez linhas."

Você sorri.

Respira.

Abre o ISPF.

E cinco minutos depois percebe que acaba de entrar no equivalente computacional do Templo da Perdição.

Bem-vindo ao verdadeiro trabalho de um desenvolvedor COBOL.


Capítulo 1 — O Mapa Perdido

Todo aventureiro começa com um mapa.

O problema é que, no mundo corporativo, esse mapa quase nunca existe.

Ou pior.

Existe.

Mas foi escrito em 1994.

Em WordPerfect.

Impresso.

Escaneado.

Convertido para PDF.

E armazenado numa pasta chamada:

Documentacao_Final_Versao_Final_2_AgoraVai.pdf

Que obviamente está desatualizada desde 1998.

É nesse momento que o jovem programador descobre uma das maiores verdades da profissão.

O COBOL não é o sistema.

O programa é apenas uma pequena pedra dentro de uma pirâmide construída durante décadas.


Capítulo 2 — O Chicote Não é o COBOL

Muita gente acredita que dominar COBOL significa dominar Mainframe.

É o mesmo que dizer:

"Indiana Jones venceu porque sabia usar um chicote."

Não.

O chicote era apenas uma ferramenta.

O verdadeiro diferencial era compreender:

  • história

  • culturas

  • idiomas

  • símbolos

  • armadilhas

  • comportamento humano

Com COBOL acontece exatamente igual.

Conhecer:

MOVE
ADD
PERFORM
IF
READ
WRITE

é apenas aprender a usar o chicote.

O arqueólogo ainda nem entrou no templo.


Capítulo 3 — A Primeira Porta

Chega o chamado.

Modificar o programa FAT001.

Perfeito.

Onde ele está?

Ninguém sabe.

Começa então a expedição.

Primeira parada:

PDS COBOL

Nada.

Segunda parada.

LIBLOAD

Nada.

Terceira.

JCLLIB

Quarta.

PROCLIB

Quinta.

Scheduler

Somente depois de muito procurar você descobre:

JOBFIN01

↓

PROCFAT

↓

STEP040

↓

PGM=FAT001

Parabéns.

Você encontrou a porta do templo.

Agora começa a aventura.


Capítulo 4 — O Diário do Professor Ravenwood

Indiana Jones sempre encontrava um velho diário.

No Mainframe ele possui outro nome.

JCL.

O JCL é praticamente um diário de viagem.

Ele conta:

  • quem chamou o programa;

  • quais arquivos entram;

  • quais arquivos saem;

  • qual biblioteca foi usada;

  • quais parâmetros chegaram;

  • qual região executa;

  • qual ambiente está sendo utilizado.

Um simples trecho como:

//EXEC PGM=FAT001

parece insignificante.

Mas atrás dele existem dezenas de decisões arquitetônicas tomadas durante décadas.

O JCL responde perguntas que o próprio programa COBOL jamais responderá.


Capítulo 5 — As Pegadas na Poeira

Indiana observava pegadas.

Você observa datasets.

Imagine encontrar:

CLIENTE.GDG(+1)

Quem criou?

Quando?

Qual layout?

Possui compressão?

É VB?

FB?

RECFM?

LRECL?

Existe SORT anterior?

Existe IDCAMS?

Existe IEBGENER?

Cada dataset é uma pegada deixada por alguém que passou antes.

E cada pegada pode revelar uma história completamente diferente.


Capítulo 6 — O Labirinto dos Processamentos

Na imagem analisada, uma das partes mais brilhantes é justamente a existência de dois mundos:

Traitements Amont

e

Traitements Aval.

Pouca gente percebe a importância disso.

Imagine uma corrente.

Sistema A

↓

Sistema B

↓

Sistema C

↓

Sistema D

↓

Seu programa

O problema talvez tenha começado cinco programas antes.

Agora imagine o contrário.

Seu programa

↓

Financeiro

↓

PIX

↓

SPED

↓

Data Warehouse

↓

BI

↓

IA

Alterar um campo pode quebrar seis departamentos.

É como retirar uma pedra da parede de um templo maia.

Talvez nada aconteça.

Ou talvez toda a construção desabe.


Capítulo 7 — A Câmara das Armadilhas

Nos filmes existe sempre uma sala cheia de mecanismos mortais.

No Mainframe essa sala chama-se:

Regras de Negócio

Elas raramente aparecem documentadas.

Você encontra coisas como:

IF UF = "AM"

Por quê?

Silêncio.

Outro exemplo.

IF CODIGO = 37

Por quê?

Ninguém sabe.

Até que um veterano lembra.

— Em 1996 surgiu uma legislação especial.

Pronto.

Você acaba de resolver um mistério de trinta anos.


Curiosidade Bellacosa nº 1

Existe uma frase muito conhecida entre desenvolvedores experientes:

"Todo IF estranho possui uma história triste."

E normalmente ela envolve:

  • imposto;

  • banco central;

  • auditoria;

  • legislação;

  • cliente VIP;

  • bug ocorrido numa madrugada de domingo.


Capítulo 8 — O Cálice Sagrado Chama-se DB2

Muitos iniciantes acreditam que alterar uma tabela significa apenas executar:

ALTER TABLE

Longe disso.

Uma coluna nova pode afetar:

  • índices;

  • packages;

  • plans;

  • RUNSTATS;

  • REORG;

  • BIND;

  • stored procedures;

  • triggers;

  • views;

  • aplicações Java;

  • aplicações .NET;

  • relatórios;

  • APIs REST.

No filme, Indiana precisava escolher o cálice correto.

No Mainframe você precisa alterar a coluna correta.

Escolher errado custa muito mais caro que um filme de Hollywood.


Capítulo 9 — O Reino Invisível do CICS

Durante o dia:

Cliente consulta saldo.

À noite:

Batch recalcula saldo.

São dois mundos completamente diferentes.

Mas compartilham os mesmos dados.

É como duas expedições arqueológicas explorando entradas diferentes do mesmo templo.

Se um explorador mover uma pedra...

O teto pode cair sobre o outro.


Capítulo 10 — O Calendário Maia do Scheduler

Existe uma entidade misteriosa.

Poucos iniciantes lhe dão atenção.

Scheduler.

Ele sabe exatamente:

  • que horas tudo começa;

  • quanto cada JOB demora;

  • quem depende de quem;

  • qual janela operacional existe;

  • qual SLA precisa ser cumprido.

Imagine:

22:00 Recepção

22:30 Validação

23:10 DB2

00:20 COBOL

01:30 SPED

03:40 Banco Central

Você aumenta cinco minutos no processamento.

Agora tudo termina quinze minutos depois.

Às vezes isso significa apenas atraso.

Às vezes significa multa milionária.


Easter Egg nº 1 — A Pedra Rolante

Todo programador COBOL já viveu algo parecido.

Você altera uma linha.

Executa o teste.

Tudo funciona.

Vai para homologação.

Tudo funciona.

Vai para produção.

Então aparece uma "pedra rolante" gigantesca.

Não era seu programa.

Era um JOB executado apenas no último dia útil do mês, usando um parâmetro que ninguém lembrava existir.

A pedra não persegue Indiana Jones apenas no cinema.

Ela também aparece às 02h47 da manhã, durante o fechamento contábil.


Capítulo 11 — A Arqueologia Digital

Talvez a maior habilidade de um desenvolvedor Mainframe não seja programar.

Seja investigar.

Você vira uma mistura de:

  • arqueólogo;

  • historiador;

  • investigador;

  • detetive;

  • matemático;

  • contador;

  • psicólogo;

  • engenheiro.

Cada programa é uma civilização antiga.

Cada comentário:

* NÃO ALTERAR

é uma inscrição hieroglífica.

Cada COPYBOOK é um pergaminho.

Cada PDS é uma biblioteca de Alexandria.

Cada JOB é uma rota comercial entre impérios.


Passo a Passo — Como um Desenvolvedor Experiente Investiga uma Alteração

Antes de escrever qualquer linha de código, siga uma metodologia quase arqueológica:

Etapa 1 — Entenda o requisito

Não aceite frases como:

"É só mudar um IF."

Pergunte:

  • Qual problema de negócio será resolvido?

  • Existe documentação?

  • Quem é o usuário afetado?


Etapa 2 — Localize o programa

  • PDS fonte

  • Load Library

  • Histórico de versões

  • Chamadores

  • Programas chamados


Etapa 3 — Analise o JCL

Verifique:

  • EXEC PGM

  • DD Statements

  • GDGs

  • SYSIN

  • SYSOUT

  • PROCs

  • PARM


Etapa 4 — Descubra os arquivos

Para cada dataset pergunte:

  • Quem gera?

  • Quem consome?

  • Qual layout?

  • Existe versionamento?


Etapa 5 — Analise o banco

  • Tabelas

  • Índices

  • Views

  • Packages

  • Plans

  • Estatísticas

  • SQLs afetados


Etapa 6 — Verifique integrações

Existe:

  • CICS?

  • MQ?

  • Web Services?

  • z/OS Connect?

  • APIs?

  • Batch paralelo?


Etapa 7 — Procure regras escondidas

Nunca confie apenas na documentação.

Leia o código.

Leia comentários antigos.

Converse com analistas.

Converse com usuários.

Muitas regras vivem apenas na memória das pessoas.


Etapa 8 — Teste impacto

Pergunte sempre:

Quem depende disso?

Quem será afetado?

Quem vai perceber?


Curiosidade Bellacosa nº 2

Em muitos bancos existem programas COBOL executando diariamente há mais de quarenta anos.

Alguns foram escritos antes mesmo do nascimento dos desenvolvedores que hoje fazem sua manutenção.

É como entrar em uma tumba egípcia sabendo que o arquiteto original nunca imaginou que alguém, quatro décadas depois, ainda pisaria naquele corredor para instalar uma nova "porta secreta".


Easter Egg nº 2 — O "X" Nunca Marca o Lugar

Nos filmes, o mapa sempre mostra um enorme X indicando o tesouro.

No desenvolvimento corporativo acontece exatamente o contrário.

O chamado diz:

"Alterar o programa FAT001."

Você passa dois dias investigando e descobre que o problema verdadeiro está em:

  • um parâmetro no Scheduler;

  • um SORT que remove registros;

  • um COPYBOOK compartilhado;

  • uma VIEW DB2;

  • um arquivo recebido de outro sistema.

O X nunca marca o lugar certo. A jornada até ele é que revela onde o verdadeiro problema estava escondido.


Conclusão — O Tesouro Não é o Código

Quando iniciamos nossa jornada em COBOL, acreditamos que aprenderemos uma linguagem de programação.

Com o tempo percebemos que aprendemos algo muito maior.

Aprendemos engenharia de sistemas.

O programa COBOL é apenas a ponta visível de um enorme continente tecnológico formado por JCLs, PROCs, Scheduler, Db2, CICS, VSAM, arquivos, integrações, calendários operacionais e regras de negócio acumuladas ao longo de décadas.

É por isso que dois profissionais com o mesmo domínio da sintaxe podem ter desempenhos completamente diferentes. Um conhece os verbos da linguagem; o outro conhece a história do templo, onde estão as armadilhas, quais corredores desabam, onde ficam as passagens secretas e qual pedra jamais deve ser removida.

No universo Bellacosa Mainframe, o verdadeiro desenvolvedor COBOL não é apenas um programador. Ele é um explorador da computação corporativa, alguém que entra diariamente em ruínas digitais construídas por gerações de engenheiros e retorna trazendo o artefato mais valioso de todos: uma alteração segura, compreendida e confiável, capaz de preservar sistemas que movimentam bancos, governos, seguradoras e a economia mundial sem que milhões de usuários sequer percebam que uma aventura aconteceu durante a madrugada.

E, como diria um certo arqueólogo de chapéu e chicote, ao fechar mais um chamado aparentemente simples:

"O código pertence ao sistema... mas o conhecimento pertence a quem teve coragem de explorar o templo inteiro antes de alterar uma única linha."

sábado, 28 de abril de 2007

O que é Análise Funcional?

 

Bellacosa Mainframe o que é analise funcional

O que é Análise Funcional?

Imagine que um banco deseja lançar uma nova funcionalidade:

"O cliente poderá parcelar automaticamente uma compra realizada no cartão de crédito."

Antes que qualquer programador COBOL altere um programa ou um analista técnico pense em tabelas Db2, CICS ou APIs, alguém precisa responder uma pergunta fundamental:

Como essa funcionalidade deve funcionar para o usuário e para o negócio?

Essa resposta é construída durante a Análise Funcional.

Ela descreve o comportamento esperado do sistema, as regras de negócio e os resultados desejados, sem entrar em detalhes de programação.


Definição simples

A Análise Funcional é a atividade que transforma uma necessidade do negócio em uma especificação clara sobre o que o sistema deve fazer.

Seu foco está no funcionamento da solução e nas regras de negócio, não em como ela será programada.

Em outras palavras:

A Análise Funcional explica o "o quê"; a Análise Técnica explica o "como".


Uma analogia simples

Imagine a construção de um elevador.

O cliente diz:

"Quero um elevador que leve pessoas do térreo ao décimo andar."

A Análise Funcional define:

  • capacidade para 10 pessoas;

  • velocidade;

  • número de andares;

  • botões;

  • sistema de emergência;

  • acessibilidade.

Já o engenheiro decidirá:

  • tipo de motor;

  • cabos;

  • circuitos;

  • materiais.

No Mainframe ocorre exatamente a mesma separação.


Como funciona?

O fluxo normalmente é:

Necessidade do Negócio

↓

Análise Funcional

↓

Especificação Funcional

↓

Análise Técnica

↓

Desenvolvimento COBOL

↓

Testes

↓

Produção

Objetivos da Análise Funcional

Ela busca responder perguntas como:

  • O que o usuário deseja?

  • Como será o funcionamento?

  • Quais regras de negócio existem?

  • Quais validações serão feitas?

  • O que acontece em caso de erro?

  • Quais informações serão apresentadas?

  • Quem poderá utilizar a funcionalidade?


Quem realiza a Análise Funcional?

Dependendo da empresa:

  • Analista Funcional;

  • Analista de Sistemas;

  • Product Owner;

  • Especialista de Negócio;

  • Consultor Funcional;

  • Arquiteto de Soluções.

Normalmente essas pessoas trabalham em conjunto.


O que um Analista Funcional faz?

Entre suas atividades estão:

  • entrevistar usuários;

  • levantar requisitos;

  • entender processos;

  • documentar regras de negócio;

  • desenhar fluxos;

  • validar soluções;

  • acompanhar testes;

  • apoiar a homologação.


Exemplo prático

Imagine um banco criando um PIX Agendado.

A Análise Funcional responderá perguntas como:

  • O cliente poderá cancelar?

  • Até que horário?

  • Haverá cobrança de tarifa?

  • O agendamento poderá ser recorrente?

  • O que acontece se não houver saldo?

  • Como o cliente será avisado?

Somente depois dessas respostas a equipe técnica começará a implementação.


O documento funcional

Normalmente contém:

  • objetivo;

  • descrição da funcionalidade;

  • regras de negócio;

  • fluxos;

  • exceções;

  • mensagens;

  • telas;

  • validações;

  • critérios de aceitação;

  • impactos para o usuário.

Ele evita ambiguidades e serve como referência para desenvolvimento e testes.


Diferença entre Análise Funcional e Técnica

Análise Funcional

Responde:

  • O que fazer?

  • Por quê?

  • Para quem?

  • Em quais situações?

  • Quais regras devem ser respeitadas?


Análise Técnica

Responde:

  • Como implementar?

  • Quais programas COBOL mudar?

  • Quais tabelas Db2 alterar?

  • Quais transações CICS serão utilizadas?

  • Haverá novas APIs?

  • Como será o deploy?


Tecnologias envolvidas

Embora o foco seja o negócio, um analista funcional costuma conhecer:

  • COBOL;

  • CICS;

  • Db2;

  • JCL;

  • VSAM;

  • MQ;

  • APIs REST;

  • z/OS Connect;

  • Git;

  • DevOps.

Esse conhecimento ajuda a avaliar impactos e conversar com a equipe técnica.


Exemplo completo

Imagine uma alteração no limite do cartão.

A análise funcional define:

Cliente solicita aumento

↓

Sistema verifica elegibilidade

↓

Consulta score

↓

Calcula novo limite

↓

Exibe resultado

↓

Registra auditoria

A análise técnica transformará esse fluxo em programas, tabelas e integrações.


Benefícios

Uma boa análise funcional:

  • reduz retrabalho;

  • melhora a comunicação;

  • evita interpretações diferentes;

  • facilita os testes;

  • aumenta a qualidade;

  • reduz custos do projeto.


Curiosidades

1. A maioria dos problemas começa na fase funcional

Diversos projetos falham porque a necessidade do negócio foi mal compreendida, e não porque o código foi mal escrito.


2. Um bom Analista Funcional entende mais de negócio do que de programação

Ele precisa conhecer profundamente produtos como contas correntes, cartões, PIX, empréstimos, seguros e investimentos.


3. A documentação funcional pode durar décadas

Em sistemas Mainframe, documentos funcionais servem de referência para aplicações que permanecem em produção por muitos anos.


4. IA está auxiliando a Análise Funcional

Ferramentas de Inteligência Artificial já conseguem resumir documentos, identificar inconsistências, sugerir regras e gerar casos de teste, mas a validação com o negócio continua sendo responsabilidade humana.


Erros comuns de iniciantes

"Análise Funcional é programação"

Não.

Ela define o comportamento esperado do sistema, enquanto a programação implementa esse comportamento.


"Somente o analista funcional precisa conhecer as regras"

Não.

Programadores, testadores e arquitetos também precisam compreender as regras para desenvolver e validar corretamente a solução.


"Análise Funcional e levantamento de requisitos são a mesma coisa"

Não exatamente.

O levantamento de requisitos coleta as necessidades do negócio. A Análise Funcional organiza, detalha, valida e transforma essas necessidades em uma especificação clara e implementável.


Quando estudar Análise Funcional?

Depois de aprender:

  1. Lógica de Programação.

  2. COBOL.

  3. JCL.

  4. CICS.

  5. Db2.

  6. Requisitos.

  7. Processos de Negócio.

  8. Engenharia de Software.

Esse conhecimento permitirá compreender não apenas como desenvolver programas, mas por que eles existem e quais problemas do negócio resolvem.


Conclusão

A Análise Funcional é uma das etapas mais importantes do desenvolvimento de sistemas Mainframe. Ela conecta as necessidades do negócio às soluções tecnológicas, definindo regras, fluxos e comportamentos que serão implementados posteriormente pela equipe técnica.

No ambiente IBM Z, onde aplicações movimentam bilhões de transações diariamente, uma análise funcional bem executada reduz riscos, evita retrabalho e garante que programas COBOL, transações CICS, bancos Db2 e integrações via APIs atendam exatamente às expectativas do negócio. Para quem deseja evoluir de programador para analista ou arquiteto, dominar Análise Funcional é um passo essencial na carreira.

sexta-feira, 27 de abril de 2007

O que são Requisitos de Sistema no Mainframe?

 

Bellacosa Mainframe o que são requisitos no mainframe

O que são Requisitos de Sistemas no Mainframe?

Imagine que um banco deseja criar uma nova funcionalidade:

"Permitir que clientes aumentem temporariamente o limite do cartão de crédito pelo aplicativo."

Antes que qualquer programador escreva uma única linha de COBOL, diversas perguntas precisam ser respondidas.

  • Quem poderá usar essa função?

  • Qual será o limite máximo?

  • Quanto tempo o aumento ficará válido?

  • Como será feita a validação?

  • Quais programas serão alterados?

  • Haverá mudanças no Db2?

  • Será necessário alterar APIs?

  • Como ficará a segurança?

Todas essas respostas fazem parte dos requisitos.

Sem requisitos bem definidos, um projeto dificilmente será desenvolvido corretamente.


Definição simples

Os requisitos são as necessidades, regras e expectativas que um sistema deve atender.

Eles descrevem o que o sistema deve fazer, como deve funcionar e quais restrições devem ser respeitadas.

Em outras palavras:

Os requisitos são o projeto da solução antes do desenvolvimento começar.


Uma analogia simples

Imagine a construção de uma casa.

Antes do pedreiro começar a obra é necessário definir:

  • número de quartos;

  • tamanho da cozinha;

  • localização das portas;

  • quantidade de banheiros;

  • tipo do telhado.

Sem essas definições, ninguém consegue construir corretamente.

No desenvolvimento Mainframe acontece exatamente o mesmo.


Como funciona?

O processo normalmente segue este fluxo:

Necessidade do Negócio

↓

Levantamento de Requisitos

↓

Análise

↓

Especificação

↓

Desenvolvimento COBOL

↓

Testes

↓

Produção

Quem define os requisitos?

Normalmente participam:

  • usuários;

  • especialistas do negócio;

  • Product Owner;

  • Analistas de Sistemas;

  • Arquitetos;

  • Desenvolvedores;

  • equipes de Qualidade;

  • gestores.


Tipos de requisitos

Requisitos Funcionais

Descrevem o que o sistema deve fazer.

Exemplos:

  • emitir boleto;

  • calcular juros;

  • gerar fatura;

  • autorizar cartão;

  • consultar saldo;

  • registrar pagamento PIX.

São as funcionalidades do sistema.


Requisitos Não Funcionais

Descrevem como o sistema deve funcionar.

Exemplos:

  • responder em até 2 segundos;

  • funcionar 24x7;

  • suportar 10.000 usuários simultâneos;

  • utilizar criptografia;

  • manter disponibilidade de 99,99%.

Esses requisitos tratam de qualidade, desempenho e segurança.


Regras de Negócio

São decisões da empresa.

Exemplo:

"O cliente somente poderá solicitar empréstimo se possuir renda mínima."

Outro exemplo:

"O limite do PIX noturno será diferente do diurno."

Essas regras normalmente são implementadas em programas COBOL.


Requisitos Técnicos

Definem aspectos da implementação.

Exemplo:

  • utilizar Db2;

  • utilizar CICS;

  • criar nova API REST;

  • atualizar MQ;

  • criar nova tabela;

  • alterar Copybook.


Exemplo prático

Imagine uma nova funcionalidade para cartão.

Os requisitos podem ser:

Cliente poderá bloquear o cartão pelo aplicativo.

↓

Alterar programa COBOL.

↓

Criar API REST.

↓

Atualizar Db2.

↓

Registrar auditoria.

↓

Enviar mensagem MQ.

Somente depois disso começa o desenvolvimento.


Documentação de requisitos

Normalmente contém:

  • objetivo;

  • descrição funcional;

  • regras de negócio;

  • telas;

  • mensagens;

  • validações;

  • campos;

  • arquivos;

  • tabelas;

  • APIs;

  • impactos.


Tecnologias envolvidas

Dependendo da demanda podem aparecer:

  • COBOL;

  • CICS;

  • JCL;

  • Db2;

  • VSAM;

  • MQ;

  • z/OS Connect;

  • APIs REST;

  • Git;

  • DevOps.


Benefícios

Requisitos bem definidos permitem:

  • reduzir erros;

  • evitar retrabalho;

  • facilitar testes;

  • melhorar documentação;

  • acelerar desenvolvimento;

  • reduzir custos.


Exemplo completo

Imagine que um banco queira implantar um novo PIX internacional.

Os requisitos podem determinar:

Novo serviço

↓

Nova API

↓

Alteração COBOL

↓

Nova tabela Db2

↓

Integração MQ

↓

Testes

↓

Produção

Cada etapa depende dos requisitos definidos inicialmente.


Curiosidades

1. A maioria dos erros nasce antes da programação

Diversos estudos de engenharia de software mostram que muitos defeitos têm origem em requisitos incompletos, incorretos ou ambíguos.


2. O COBOL apenas implementa os requisitos

O programa não decide sozinho as regras do negócio.

Ele executa exatamente o que foi especificado.


3. Um pequeno requisito pode impactar dezenas de programas

Alterar uma única regra bancária pode exigir mudanças em programas COBOL, tabelas Db2, transações CICS, APIs, mensagens MQ e processos batch.


4. Requisitos mudam durante o projeto

É comum que novas leis, mudanças de mercado ou decisões do negócio levem à revisão dos requisitos antes da entrega final.


Erros comuns de iniciantes

"Requisito é o programa COBOL"

Não.

O requisito existe antes do código e orienta sua implementação.


"Somente o Analista conhece os requisitos"

Não.

Desenvolvedores, testadores, arquitetos e usuários também precisam entendê-los.


"Depois de aprovado o requisito nunca muda"

Na prática, mudanças de prioridade, legislação ou estratégia podem exigir ajustes ao longo do projeto.


Quando estudar requisitos?

Logo no início da carreira.

Mesmo um programador COBOL júnior deve aprender a interpretar documentos de requisitos, pois é a partir deles que o código será desenvolvido.

Esse conhecimento também facilita a comunicação com analistas, usuários e equipes de testes.


Conclusão

Os requisitos no Mainframe representam a base de qualquer projeto de software. Eles definem as funcionalidades, regras de negócio, restrições técnicas e critérios de qualidade que orientam o desenvolvimento de aplicações em IBM Z.

Dominar a leitura, interpretação e análise de requisitos é uma habilidade essencial para programadores COBOL, analistas de sistemas, arquitetos e líderes técnicos. Quanto mais claros e completos forem os requisitos, maior será a qualidade do sistema entregue e menor será o risco de retrabalho, falhas e custos adicionais durante o ciclo de vida da aplicação.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...