Translate

Mostrar mensagens com a etiqueta UML. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta UML. Mostrar todas as mensagens

quarta-feira, 20 de maio de 2026

🔥☕ Do COBOL ao Arquiteto Enterprise Por Que Engenharia de Software Virou a Skill Mais Importante Para o Programador Mainframe Moderno

 

Bellacosa Mainframe e topicos de engenharia de software para mainframers


🔥☕ Do COBOL ao Arquiteto Enterprise

Por Que Engenharia de Software Virou a Skill Mais Importante Para o Programador Mainframe Moderno

Existe uma frase silenciosa que ecoa dentro dos grandes bancos, seguradoras e sistemas financeiros do planeta:

“O sistema pode até mudar de interface… mas o COBOL continua sustentando o mundo.”

E isso não é exagero.

Enquanto muita gente acredita que o universo enterprise vive apenas de microservices coloridos, containers e frameworks JavaScript da moda… milhões de transações financeiras continuam atravessando silenciosamente ambientes IBM Z, CICS, DB2 e aplicações COBOL gigantescas que nunca podem parar.

Mas algo mudou.

Muito.

O mercado não procura mais apenas:

  • “quem sabe COBOL”

Hoje o mercado procura:

  • engenheiros de software enterprise.

E existe uma diferença brutal entre essas duas coisas.


☕ O Antigo Programador COBOL

Durante décadas, muitos profissionais cresceram no modelo clássico:

  • alterar rotina

  • corrigir bug

  • compilar

  • subir pacote

  • fechar chamado

O foco era:

  • implementação

  • manutenção

  • operação

E isso funcionou por muito tempo.

Mas o mundo enterprise moderno virou um ecossistema absurdamente mais complexo.

Hoje um simples sistema bancário pode envolver:

  • APIs REST

  • aplicações mobile

  • cloud híbrida

  • microsserviços

  • observabilidade

  • CI/CD

  • autenticação distribuída

  • mensageria

  • integração em tempo real

  • analytics

  • IA

E no meio disso tudo…

o COBOL continua lá.

Silencioso.

Processando.

Confiável.


🏗️ O Que é Engenharia de Software de Verdade?

Muita gente acha que engenharia de software é:

  • aprender framework

  • decorar design pattern

  • usar UML

Mas engenharia de software é algo muito maior.

Ela existe para resolver um problema fundamental:

Como construir sistemas gigantes sem criar caos?

Porque sistemas enterprise crescem.

E crescem rápido.

Sem arquitetura:

  • o sistema vira espaguete

  • manutenção explode

  • bugs aumentam

  • deploys quebram produção

  • integração vira pesadelo

A engenharia surge para controlar complexidade.


🧱 Arquitetura Não É Luxo. É Sobrevivência.

O programador júnior normalmente olha para:

  • programas

  • copybooks

  • tabelas

  • jobs

O arquiteto olha para:

  • ecossistemas

  • fluxos

  • dependências

  • escalabilidade

  • disponibilidade

  • integração

Essa mudança de mentalidade é gigantesca.

Um banco não sobrevive décadas apenas porque tem “código”.

Ele sobrevive porque existe:

  • arquitetura

  • organização

  • separação de responsabilidades

  • governança

E curiosamente…

o mundo mainframe sempre fez isso muito antes da cloud existir.


☕ O Mainframe Já Pensava Como Cloud Décadas Atrás

Esse talvez seja um dos maiores segredos da computação enterprise.

Muitos conceitos vendidos hoje como “modernos” já existiam no ecossistema IBM há décadas.

Veja isso:

Mundo ModernoMainframe Enterprise
Alta disponibilidadeSysplex
Load BalancingCICSPlex
APIsz/OS Connect
TransactionsCICS
ObservabilidadeOMEGAMON
Segurança centralizadaRACF
MensageriaMQ

Ou seja…

o IBM Z nunca ficou ultrapassado.

O que aconteceu foi:

  • a interface mudou

  • o marketing mudou

  • o nome mudou

Mas os fundamentos de engenharia continuaram fortíssimos.


⚔️ O Problema do “Só Saber Programar”

Existe um erro muito comum entre iniciantes.

Acreditar que carreira se resume a:

  • linguagem

  • sintaxe

  • framework

Mas linguagens mudam.

Frameworks morrem.

Hypes desaparecem.

O que permanece é:

  • arquitetura

  • modelagem

  • design

  • integração

  • capacidade analítica

É exatamente por isso que engenheiros experientes continuam relevantes por décadas.

Eles entendem sistemas.

Não apenas ferramentas.


🧩 Design Patterns: O Conhecimento Condensado dos Veteranos

Quando um júnior vê:

  • Factory

  • Singleton

  • Observer

  • Strategy

ele normalmente pensa:

“isso parece complicado”

Mas design patterns são apenas soluções repetidas para problemas repetidos.

Eles nasceram porque grandes sistemas começaram a enfrentar:

  • acoplamento

  • manutenção impossível

  • crescimento descontrolado

  • dependências caóticas

Então engenheiros começaram a criar padrões reutilizáveis.

E isso mudou a indústria.

No fundo:

  • design patterns

  • clean code

  • arquitetura em camadas

  • UML

são tentativas humanas de controlar complexidade.


🧠 Clean Code Não É Frescura

Muitos sistemas COBOL antigos sofrem não por causa da idade.

Mas por causa da falta de engenharia.

Código ruim custa:

  • dinheiro

  • tempo

  • performance

  • estabilidade

  • saúde mental

E isso vale para qualquer linguagem.

Um programa COBOL bem escrito pode durar décadas.

Um programa moderno mal escrito pode virar lixo em seis meses.

A diferença está na engenharia.


🌐 O Novo COBOL Está Conectado

Hoje o programador mainframe moderno precisa entender:

  • APIs REST

  • JSON

  • integração

  • cloud híbrida

  • DevOps

  • pipelines

  • observabilidade

Porque o COBOL moderno não vive mais isolado.

Agora ele conversa com:

  • mobile

  • fintechs

  • microsserviços

  • IA

  • analytics

  • cloud pública

O COBOL deixou de ser “backoffice”.

Ele virou parte do ecossistema digital global.


🚀 DevOps Chegou ao IBM Z

Durante muito tempo existiu um mito:

“Mainframe não acompanha DevOps.”

Hoje isso caiu completamente.

O ecossistema IBM já possui:

  • Git

  • CI/CD

  • automação

  • pipelines

  • testes automatizados

  • observabilidade moderna

  • integração cloud-native

Ferramentas como:

  • Zowe

  • Jenkins

  • UrbanCode

  • GitHub

  • OpenShift

aproximaram ainda mais o IBM Z do universo moderno.


☕ O Que o Mercado Espera Agora?

O mercado não procura mais apenas:

  • operador

  • codificador

  • executor de tarefas

Ele procura:

  • solucionadores de problemas

O profissional valioso hoje entende:

  • negócio

  • arquitetura

  • integração

  • confiabilidade

  • escalabilidade

  • comunicação

E aqui existe uma vantagem absurda para quem vem do mainframe.

Porque poucos ambientes ensinam:

  • sistemas críticos

  • alta disponibilidade

  • milhões de transações reais

  • tolerância zero para falhas

O programador COBOL enterprise já nasce perto de problemas gigantes.


🧭 O Roadmap do Programador COBOL Moderno

A evolução natural hoje passa por:

Base

  • COBOL

  • JCL

  • VSAM

  • SDSF

Intermediário

  • DB2

  • CICS

  • SQL

  • MQ

Modernização

  • APIs

  • JSON

  • REST

  • Git

  • DevOps

Engenharia

  • Arquitetura

  • Design Patterns

  • UML

  • Observabilidade

  • Segurança

Próximo nível

  • Cloud híbrida

  • SRE

  • Performance

  • Integração distribuída

  • Engenharia enterprise


🔥 O Grande Erro do Mercado

Enquanto muitos perseguem apenas:

  • hype

  • frameworks

  • modinhas

o mundo enterprise continua valorizando:

  • confiabilidade

  • estabilidade

  • engenharia sólida

E é exatamente aí que o profissional IBM Z moderno pode se tornar raro.

Porque ele entende:

  • legado

  • missão crítica

  • integração

  • arquitetura real


☕ O Futuro Não Está Escolhendo Entre COBOL ou Cloud

O futuro está integrando os dois.

Os sistemas modernos não vão substituir completamente o mainframe.

Eles vão conversar com ele.

Porque no final:

  • o aplicativo pode mudar

  • a interface pode mudar

  • a cloud pode mudar

Mas alguém ainda precisa garantir:

  • consistência

  • transação

  • segurança

  • disponibilidade

E silenciosamente…

o IBM Z continua fazendo isso melhor do que quase qualquer outra plataforma do planeta.


🔥☕ Conclusão Bellacosa Mainframe

O programador COBOL que entender engenharia de software deixará de ser apenas:

  • “o cara do legado”

e começará a se tornar:

  • arquiteto

  • integrador

  • especialista enterprise

  • engenheiro de sistemas críticos

Porque no final…

o verdadeiro diferencial nunca foi apenas a linguagem.

Sempre foi:

entender como sistemas gigantes funcionam.

 

segunda-feira, 28 de abril de 2025

CASE Tools Das CASE Tools à Inteligência Artificial – Parte IV

 

Bellacosa Mainframe apresenta o case tools parte iv

☕ Um Café no Bellacosa Mainframe

CASE Tools – Parte 4

Das CASE Tools à Inteligência Artificial

Como Low-Code, No-Code, Model Driven Engineering e IA São Apenas a Próxima Evolução da Mesma Ideia

"Toda geração acredita ter inventado uma nova forma de desenvolver software. A história mostra algo diferente: as ferramentas mudam, mas a engenharia continua sendo o verdadeiro diferencial."


Introdução

Chegamos ao último capítulo desta série sobre CASE Tools.

Ao longo dos artigos anteriores vimos como nasceu a Engenharia de Software moderna, conhecemos Upper CASE, Lower CASE e Integrated CASE e entendemos por que bancos, seguradoras e governos adotaram essas ferramentas para construir alguns dos sistemas mais confiáveis do mundo.

Mas uma pergunta permanece.

Se as CASE Tools eram tão revolucionárias, por que praticamente ninguém fala delas hoje?

A resposta é simples.

Elas nunca desapareceram.

Apenas mudaram de nome.

As ideias que surgiram nos anos 80 continuam presentes em praticamente todas as tecnologias modernas de desenvolvimento de software.

Quando alguém utiliza uma plataforma Low-Code, desenha um diagrama UML, cria um pipeline DevOps, gera uma API automaticamente ou pede para uma Inteligência Artificial escrever código, está utilizando conceitos que nasceram com as CASE Tools.

A tecnologia mudou.

Os princípios continuam exatamente os mesmos.


O fim das CASE Tools?

Durante a década de 1990 muitas empresas começaram a afirmar que as CASE Tools haviam fracassado.

Em parte isso era verdade.

Diversos produtos desapareceram.

Outros foram comprados.

Alguns mudaram completamente de estratégia.

Mas o motivo não foi a inutilidade da tecnologia.

Foi sua complexidade.


Imagine uma ferramenta que exigia:

  • meses de treinamento;

  • especialistas dedicados;

  • servidores caros;

  • processos extremamente rígidos;

  • equipes enormes de analistas.

Esse modelo funcionava muito bem para um banco com cinco mil desenvolvedores.

Mas não para uma empresa com vinte programadores.

Enquanto isso, o mercado começava a exigir velocidade.

Nasciam a Internet comercial, o desenvolvimento Web e novos modelos de negócio.

O software precisava evoluir em semanas, não em anos.


A chegada da Orientação a Objetos

Na mesma época surgia outro movimento importante.

A Orientação a Objetos.

Ferramentas como:

  • Rational Rose

  • Together

  • Select Enterprise

  • Enterprise Architect

passaram a utilizar UML.

Os enormes diagramas estruturados das CASE Tools começaram a dar lugar aos diagramas orientados a objetos.

Mas observe.

Ainda eram modelos.

Ainda existia documentação.

Ainda existia engenharia.

Mudou apenas a linguagem utilizada para representar os sistemas.


UML: uma CASE Tool disfarçada

Muita gente acredita que UML substituiu CASE.

Na realidade, UML tornou-se uma evolução natural.

Observe.

Antes.

DFD

↓

Modelo

↓

Código

Depois.

UML

↓

Modelo

↓

Código

O conceito permaneceu.

Modelar primeiro.

Implementar depois.


Model Driven Development (MDD)

No final dos anos 90 surgiu um conceito extremamente interessante.

Model Driven Development.

Ou simplesmente

MDD.

A ideia era simples.

O modelo deixa de ser apenas documentação.

Ele passa a ser o elemento principal do projeto.

O código torna-se um produto derivado.

Veja.

Modelo

↓

Transformação

↓

Código

↓

Sistema

Não parece familiar?

É exatamente a filosofia das CASE Tools.


Model Driven Engineering (MDE)

Depois surgiu um conceito ainda mais amplo.

Model Driven Engineering.

Agora não apenas o software.

Toda a engenharia passa a girar em torno dos modelos.

Os modelos passam a representar:

  • processos;

  • infraestrutura;

  • segurança;

  • bancos de dados;

  • APIs;

  • microsserviços;

  • eventos;

  • integrações.

Hoje diversas empresas trabalham exatamente assim.


Domain Driven Design (DDD)

Outro conceito importante.

Eric Evans publicou em 2003 o livro Domain-Driven Design.

Muitos acreditam que ele não possui relação com CASE.

Na realidade possui várias.

O DDD afirma que o mais importante não é o código.

É compreender profundamente o negócio.

Era exatamente isso que os analistas das CASE Tools já defendiam décadas antes.


Low-Code

Agora chegamos a uma tecnologia bastante conhecida.

Low-Code.

O nome sugere:

Pouco código.

Mas não significa ausência de programação.

Significa automatizar tarefas repetitivas.

Imagine construir um cadastro.

Em vez de escrever centenas de linhas.

Você desenha.

A ferramenta gera:

  • telas;

  • banco;

  • APIs;

  • validações;

  • documentação.

Parece familiar?

Sim.

É exatamente o que uma CASE Tool fazia.


No-Code

O No-Code leva essa ideia ainda mais longe.

O usuário de negócio pode criar aplicações utilizando componentes visuais.

Fluxos.

Formulários.

Integrações.

Regras.

Tudo configurado visualmente.

O código existe.

Mas fica escondido.

Mais uma vez.

A filosofia continua a mesma.


BPM

Outra evolução importante.

Business Process Management.

Ferramentas como:

  • IBM BPM

  • Camunda

  • Bizagi

  • Appian

permitem desenhar processos.

Depois executá-los automaticamente.

Observe.

Primeiro o modelo.

Depois a execução.

Mais uma herança das CASE Tools.


APIs e OpenAPI

Hoje criamos APIs utilizando especificações.

Por exemplo.

Cliente

↓

GET

↓

POST

↓

PUT

A partir dessa especificação diversas ferramentas geram:

  • documentação;

  • SDKs;

  • código;

  • testes.

É exatamente o conceito de geração automática.


DevOps

Existe uma dúvida muito comum.

DevOps substituiu CASE?

Não.

CASE responde:

Como construir?

DevOps responde:

Como entregar?

Observe.

CASE

↓

Código

↓

Git

↓

Pipeline

↓

Deploy

↓

Produção

São tecnologias complementares.


Infrastructure as Code

Outro exemplo.

Hoje descrevemos servidores usando arquivos.

Terraform.

Ansible.

CloudFormation.

Depois.

Tudo é criado automaticamente.

Em vez de desenhar programas.

Agora modelamos infraestrutura.

É engenharia dirigida por modelos novamente.


Kubernetes

Mesmo Kubernetes utiliza essa filosofia.

Descrevemos um ambiente.

O orquestrador cria tudo.

Deployment

↓

Pods

↓

Services

↓

Volumes

Primeiro descrevemos.

Depois a plataforma constrói.


GitHub Copilot

Agora chegamos ao assunto do momento.

A Inteligência Artificial.

Quando você escreve:

"Crie um programa COBOL para consultar saldo."

O Copilot gera código.

Mas observe.

Ele não conhece toda a empresa.

Não conhece todas as regras.

Não conhece todas as integrações.

Ele apenas produz uma sugestão.


ChatGPT

O mesmo ocorre aqui.

Uma IA pode ajudar a criar:

  • programas;

  • documentação;

  • testes;

  • SQL;

  • JCL;

  • APIs.

Mas ainda depende do engenheiro para validar:

  • arquitetura;

  • desempenho;

  • segurança;

  • conformidade;

  • regras de negócio.

A IA acelera.

O engenheiro decide.


IA + CASE

Agora imagine unir os dois mundos.

Uma CASE Tool conhece:

  • arquitetura;

  • banco;

  • programas;

  • dependências;

  • documentação.

A IA conhece:

  • linguagem natural;

  • geração de código;

  • testes;

  • documentação.

Resultado.

Uma combinação extremamente poderosa.


Imagine um banco.

O analista escreve.

Adicionar PIX Internacional.

A plataforma consulta o repositório CASE.

Descobre:

  • programas afetados;

  • tabelas;

  • APIs;

  • batchs;

  • CICS;

  • MQ.

Depois.

A IA sugere:

  • alterações COBOL;

  • SQL;

  • documentação;

  • testes.

Esse provavelmente será o futuro da Engenharia de Software.


O impacto no IBM Mainframe

O Mainframe talvez seja a plataforma que mais ganhará com essa evolução.

Por quê?

Porque seus sistemas possuem enorme conhecimento acumulado.

Décadas de regras de negócio.

Milhões de linhas COBOL.

Milhares de programas.

Sem documentação adequada.

A IA trabalha melhor quando possui contexto.

As antigas CASE Tools fornecem exatamente esse contexto.


IBM Application Discovery

Ferramentas como IBM ADDI caminham exatamente nessa direção.

Primeiro.

Entender o sistema.

Depois.

Permitir modernização.

Isso reduz riscos enormes.


IBM watsonx Code Assistant

Outro exemplo.

O IBM watsonx Code Assistant for Z utiliza IA para auxiliar na modernização de aplicações COBOL.

Mas ele não trabalha isoladamente.

Quanto maior o conhecimento sobre o sistema — dependências, modelos, documentação e arquitetura — melhores tendem a ser as recomendações produzidas.

Mais uma vez, percebemos a importância dos princípios introduzidos pelas CASE Tools.


O papel do programador COBOL

Existe uma preocupação comum.

"A IA vai substituir o programador?"

A história das CASE Tools responde essa pergunta.

Durante quarenta anos ouvimos:

  • geradores de código acabarão com os programadores;

  • 4GL eliminarão COBOL;

  • RAD substituirá desenvolvimento tradicional;

  • CASE automatizará tudo;

  • Low-Code eliminará engenheiros.

Nada disso aconteceu.

O que mudou foi o perfil do profissional.

Hoje vale mais quem entende:

  • negócio;

  • arquitetura;

  • integração;

  • segurança;

  • desempenho;

  • governança.

O código tornou-se apenas uma parte da engenharia.


As habilidades do futuro

O desenvolvedor COBOL moderno precisa ampliar seu conjunto de competências.

Além da linguagem, é importante dominar:

  • Modelagem de sistemas;

  • UML e BPMN;

  • APIs REST;

  • JSON e XML;

  • SQL e modelagem de dados;

  • Engenharia reversa;

  • Análise de impacto;

  • Git e DevOps;

  • Cloud híbrida;

  • Inteligência Artificial aplicada ao desenvolvimento;

  • Automação de testes;

  • Documentação viva.

Essas habilidades não substituem o COBOL.

Elas potencializam seu valor.


O futuro não será escrito apenas em código

Estamos entrando em uma era em que o software será construído a partir de vários elementos.

Diagramas.

Modelos.

Prompts.

Documentação.

Metadados.

IA.

Código.

Todos convivendo.

Quem compreender somente programação verá apenas uma parte do processo.

Quem compreender Engenharia de Software enxergará o sistema completo.


O maior legado das CASE Tools

Talvez o maior ensinamento das CASE Tools não tenha sido gerar código.

Foi mostrar que software é conhecimento organizado.

Programas mudam.

Linguagens mudam.

Frameworks desaparecem.

Mas o conhecimento do negócio permanece.

É justamente esse conhecimento que bancos conseguem preservar durante quarenta ou cinquenta anos.

Não por acaso, muitas regras escritas em COBOL nos anos 80 continuam processando bilhões de transações diariamente.

O segredo nunca foi apenas a linguagem.

Foi a engenharia que permitiu manter esses sistemas compreensíveis e evolutivos.


Conclusão

Ao longo desta série vimos que as CASE Tools não pertencem apenas à história da computação. Elas continuam presentes, ainda que sob novos nomes e novas interfaces.

Upper CASE transformou a análise de requisitos em uma disciplina estruturada.

Lower CASE automatizou a implementação e reduziu tarefas repetitivas.

Integrated CASE mostrou que todo o ciclo de vida do software poderia compartilhar um único repositório de conhecimento.

Depois vieram UML, MDD, MDE, DDD, Low-Code, No-Code, DevOps, Infrastructure as Code e, finalmente, a Inteligência Artificial. Todas essas abordagens carregam, em maior ou menor grau, a mesma ideia fundamental: o conhecimento deve ser capturado, organizado, reutilizado e automatizado sempre que possível.

Para quem trabalha com IBM Mainframe e COBOL, essa conclusão é especialmente importante. Os sistemas que sustentam bancos, seguradoras e governos não sobreviveram por décadas apenas porque foram escritos em uma linguagem robusta. Eles sobreviveram porque foram construídos com disciplina, arquitetura e engenharia.

A Inteligência Artificial certamente mudará a forma como produzimos software. Mas ela não elimina a necessidade de compreender processos, regras de negócio, impactos e dependências. Pelo contrário: quanto melhor estruturado estiver esse conhecimento, melhores serão os resultados obtidos com a IA.

As CASE Tools nos ensinaram que a verdadeira riqueza de um sistema não está em suas linhas de código, mas no conhecimento que elas representam. Essa lição continua tão atual hoje quanto era há quarenta anos.

"A Inteligência Artificial pode escrever milhares de linhas de código em poucos segundos. Mas somente a Engenharia de Software transforma esse código em sistemas capazes de durar décadas. Essa sempre foi a missão das CASE Tools. Continua sendo a missão dos engenheiros de software."

 

sábado, 22 de fevereiro de 2025

CASE Tools : Upper CASE, Lower CASE, I-CASE e Como Essas Ferramentas Mudaram a Engenharia de Software – Parte II

 

Bellacosa Mainframe apresenta case tools parte II

☕ Um Café no Bellacosa Mainframe

CASE Tools – Parte II

Upper CASE, Lower CASE, I-CASE e Como Essas Ferramentas Mudaram a Engenharia de Software

"A maioria dos programadores acredita que escrever código é desenvolver software. Os engenheiros que criaram as CASE Tools descobriram que programar era apenas uma pequena parte do trabalho."


Introdução

No primeiro artigo desta série vimos como nasceu a ideia das CASE Tools.

Conhecemos a crise do software dos anos 70, a origem da Engenharia de Software e a proposta revolucionária de construir sistemas a partir de modelos, em vez de começar diretamente pelo código.

Agora vamos mergulhar no funcionamento dessas ferramentas.

Você descobrirá que praticamente tudo o que fazemos hoje em ferramentas modernas — UML, Enterprise Architect, Visual Studio, Eclipse, IntelliJ, PowerDesigner, IBM Rational, DevOps, Low-Code e até Inteligência Artificial — possui raízes nas CASE Tools.

Se você programa COBOL no IBM Z, prepare-se para uma surpresa.

Grande parte das boas práticas utilizadas atualmente em grandes bancos nasceu justamente nessa época.


O ciclo de vida do software

Para entender as CASE Tools precisamos primeiro entender uma ideia simples.

Um sistema não nasce quando alguém escreve um programa COBOL.

Ele nasce muito antes.

Imagine que um banco deseja lançar um novo sistema de financiamento imobiliário.

Antes do primeiro programa existir, diversas atividades já aconteceram.

Primeiro alguém identifica uma necessidade.

Depois surgem reuniões.

Em seguida aparecem regras de negócio.

São feitas entrevistas.

Modelam-se processos.

Projetam-se bancos de dados.

Criam-se protótipos.

Somente depois disso alguém começa a escrever código.

As CASE Tools perceberam que cada uma dessas etapas poderia ser apoiada por software.


O ciclo clássico

O ciclo de desenvolvimento normalmente segue esta sequência:

Necessidade

↓

Análise

↓

Projeto

↓

Implementação

↓

Testes

↓

Implantação

↓

Manutenção

Cada fase possui ferramentas diferentes.

Foi justamente daí que nasceu a divisão mais famosa das CASE Tools.


Upper CASE

Upper CASE significa:

Ferramentas para as fases iniciais do desenvolvimento.

Seu foco não era programação.

Era engenharia.

Essas ferramentas ajudavam analistas e arquitetos.

Seu objetivo era responder perguntas como:

  • O que o sistema fará?

  • Quem utilizará?

  • Quais dados existirão?

  • Como os processos funcionam?

  • Como os departamentos se relacionam?

Em outras palavras,

Upper CASE modelava o negócio.


Ferramentas típicas do Upper CASE

Entre suas funções estavam:

  • levantamento de requisitos;

  • entrevistas estruturadas;

  • diagramas de fluxo de dados (DFD);

  • diagramas entidade-relacionamento (ER);

  • modelagem de processos;

  • regras de negócio;

  • dicionário de dados;

  • documentação funcional;

  • análise de impacto.

Observe que ainda não existe código.

Existe conhecimento.


Exemplo

Imagine um banco.

Antes de escrever qualquer programa COBOL, alguém desenharia:

Cliente

↓

Abre Conta

↓

Conta Corrente

↓

Movimentações

↓

Saldo

↓

Extrato

Esse fluxo serviria como base para toda a equipe.


Lower CASE

Depois da análise vem a implementação.

É aqui que entra o Lower CASE.

Enquanto o Upper CASE dizia o que fazer,

o Lower CASE ajudava a construir.

Suas funções incluíam:

  • geração de código;

  • compilação;

  • gerenciamento de versões;

  • testes;

  • documentação técnica;

  • engenharia reversa;

  • manutenção;

  • integração entre módulos.

Aqui começam a aparecer programas COBOL.


Exemplo

Imagine o modelo abaixo.

Cliente

Nome

CPF

Endereço

Telefone

Uma CASE Tool poderia gerar automaticamente:

  • tabela DB2;

  • programa COBOL;

  • tela CICS;

  • programa de cadastro;

  • documentação;

  • layout de arquivos VSAM.

O programador não começava do zero.

Começava com uma estrutura pronta.


Integrated CASE (I-CASE)

O sonho da indústria era unir tudo.

Assim nasceu o Integrated CASE.

Ou simplesmente

I-CASE.

Ele integrava todas as fases.

Requisitos

↓

Modelagem

↓

Projeto

↓

Banco de Dados

↓

Código

↓

Testes

↓

Documentação

↓

Produção

Uma alteração no modelo propagava mudanças automaticamente.

Essa era uma ideia extremamente avançada para os anos 80.

Hoje chamamos isso de rastreabilidade.


Forward Engineering

Outro conceito importante.

Imagine que você desenhou um sistema.

A CASE Tool poderia transformar o desenho em código.

Esse processo chama-se

Forward Engineering.

Modelo

↓

Código COBOL

↓

Compilação

↓

Sistema

Hoje praticamente toda ferramenta RAD faz isso.


Reverse Engineering

Mas existia outro problema.

Imagine um sistema COBOL com 15 milhões de linhas.

Sem documentação.

Como descobrir sua arquitetura?

As CASE Tools criaram uma solução.

Ler o código.

Gerar os diagramas automaticamente.

Esse processo ficou conhecido como

Reverse Engineering.

Código COBOL

↓

Parser

↓

Modelo

↓

Diagramas

Hoje ferramentas modernas fazem exatamente isso.


Round Trip Engineering

Depois surgiu uma terceira evolução.

Imagine:

Você altera o modelo.

O código muda.

Depois altera o código.

O modelo também muda.

Esse sincronismo recebeu o nome

Round Trip Engineering.

Hoje é comum.

Na década de 90 era quase magia.


O Repositório Central

Uma das maiores inovações das CASE Tools era o Repository.

Pense nele como um enorme banco de conhecimento.

Ali não eram armazenados apenas arquivos.

Mas informações.

Por exemplo:

Cliente.

Conta.

Agência.

Produto.

Funcionário.

Transação.

Tudo era conhecido pela ferramenta.

Assim qualquer mudança propagava automaticamente.


O Dicionário de Dados

Imagine o campo:

CLI_NUM

Sem documentação ninguém sabe o significado.

Agora veja um Data Dictionary.

Nome:

CLI_NUM

Descrição:

Número único do cliente

Formato:

PIC 9(09)

Origem:

Cadastro

Responsável:

Área Comercial

Usado por:

132 programas COBOL

Agora imagine um analista alterando o tamanho do campo.

A CASE Tool imediatamente informaria:

Esta mudança afeta 132 programas.

Isso economizava semanas de trabalho.


Análise de Impacto

Talvez esta tenha sido uma das funções mais valiosas.

Imagine alterar:

CPF

9 posições

↓

11 posições

Sem CASE?

Era preciso procurar manualmente.

Com CASE?

A ferramenta mostrava:

  • programas COBOL

  • JCL

  • CICS

  • telas

  • DB2

  • relatórios

  • APIs

  • batchs

Tudo em poucos segundos.

Hoje ferramentas como IBM Application Discovery seguem exatamente esse princípio.


Geração Automática de Código

Uma das funcionalidades mais famosas.

A ferramenta criava automaticamente:

IDENTIFICATION DIVISION

↓

ENVIRONMENT DIVISION

↓

DATA DIVISION

↓

WORKING-STORAGE

↓

PROCEDURE DIVISION

Também podia gerar:

  • SQL

  • CICS

  • BMS Maps

  • JCL

  • DDL

  • documentação

Naturalmente, o desenvolvedor refinava esse código conforme as regras de negócio.


Padronização

Imagine cem programadores COBOL.

Sem padrões.

Cada um cria:

  • nomes diferentes;

  • estruturas diferentes;

  • comentários diferentes;

  • organização diferente.

Agora imagine uma CASE Tool gerando todos os programas.

Subitamente todos seguem o mesmo padrão.

Isso reduz manutenção.

Reduz erros.

Melhora treinamento.


Reutilização

Outro conceito revolucionário.

Antes.

Cada cadastro era feito novamente.

Depois.

Criava-se um modelo reutilizável.

Por exemplo.

Cadastro de Cliente.

Era utilizado por:

  • conta corrente;

  • cartão;

  • empréstimo;

  • seguros;

  • investimentos.

Uma alteração refletia em todos.


As metodologias que impulsionaram as CASE Tools

As CASE Tools não surgiram sozinhas.

Elas acompanharam metodologias importantes da Engenharia de Software.

Entre as principais estavam:

Structured Analysis (Yourdon/DeMarco)

Baseada em processos.

Utilizava:

  • DFD

  • Data Dictionary

  • Processos

  • Fluxos

Foi extremamente utilizada em Mainframe.


Information Engineering (James Martin)

Talvez a metodologia mais famosa dos anos 80.

Seu foco era:

  • informação;

  • entidades;

  • relacionamentos;

  • planejamento corporativo.

Influenciou diretamente ferramentas como IEW e IEF.


MERISE

Muito utilizada na Europa, especialmente na França.

Separava claramente:

  • modelo conceitual;

  • modelo lógico;

  • modelo físico.

Essa separação ainda existe em muitos projetos de banco de dados.


SSADM

Criada pelo governo britânico.

Foi amplamente utilizada em órgãos públicos e grandes empresas.

Destacava:

  • documentação detalhada;

  • rastreabilidade;

  • controle de mudanças;

  • validação formal.


UML

Na década de 90 a UML substituiu boa parte dos diagramas proprietários.

Embora normalmente não seja chamada de CASE Tool, sua utilização em ferramentas como Rational Rose, Enterprise Architect e Visual Paradigm mantém viva a filosofia CASE.


Principais CASE Tools da história

Algumas ferramentas marcaram época.

IBM AD/Cycle

Um dos maiores projetos da IBM.

Tentava integrar desenvolvimento corporativo completo.

Muito utilizado em grandes ambientes Mainframe.


Texas Instruments IEF

Posteriormente conhecido como

CA Gen.

Foi um dos maiores geradores de aplicações corporativas do mundo.

Muitos bancos ainda possuem sistemas produzidos por ele.


KnowledgeWare IEW

Baseado na metodologia Information Engineering.

Extremamente popular entre grandes empresas.


Oracle Designer

Dominou muitos ambientes Oracle durante os anos 90.

Gerava:

  • banco de dados;

  • formulários;

  • relatórios;

  • documentação.


System Architect

Muito utilizado em arquitetura corporativa.

Ainda influencia ferramentas modernas.


Onde as CASE Tools falharam?

Apesar do sucesso, havia limitações.

Muitas ferramentas:

  • eram caras;

  • exigiam hardware robusto;

  • precisavam de treinamento intensivo;

  • geravam código excessivamente padronizado;

  • criavam dependência do fornecedor;

  • dificultavam migrações.

Além disso, alguns projetos tentavam modelar absolutamente tudo antes de começar a implementar.

O resultado eram meses de documentação e pouca entrega de valor, o que abriu espaço para métodos mais iterativos e, posteriormente, para as metodologias ágeis.


O legado das CASE Tools

Mesmo que o nome tenha desaparecido, seus princípios permanecem vivos.

Quando você usa:

  • UML;

  • Enterprise Architect;

  • IBM Rational;

  • IBM Engineering Lifecycle Management;

  • IBM Application Discovery;

  • Visual Paradigm;

  • PowerDesigner;

  • ferramentas Low-Code;

  • plataformas No-Code;

  • GitHub Copilot;

  • ChatGPT para gerar código;

está, de alguma forma, utilizando ideias herdadas das CASE Tools.

A diferença é que, hoje, a inteligência artificial acelera a criação dos modelos e do código, enquanto no passado quase todo o trabalho dependia da interação direta entre analistas e ferramentas.


O que isso significa para um programador COBOL?

Muitos desenvolvedores COBOL acreditam que CASE Tools pertencem apenas à história.

Na realidade, elas continuam extremamente relevantes.

Quando um banco decide modernizar uma aplicação de milhões de linhas, a primeira pergunta raramente é "como reescrever o código?". A pergunta correta é "como entender o sistema?".

É justamente aí que entram conceitos como engenharia reversa, análise de impacto, repositórios de metadados e documentação automática — todos herdados do universo CASE.

Dominar esses conceitos torna o programador COBOL muito mais valioso. Em vez de apenas implementar programas, ele passa a compreender a arquitetura completa, identificar dependências, avaliar riscos de mudanças e apoiar iniciativas de modernização para APIs, microsserviços e aplicações híbridas.


Conclusão

As CASE Tools representaram uma mudança profunda na forma de desenvolver software. Elas mostraram que escrever código é apenas uma etapa de um processo muito maior, que envolve análise, modelagem, documentação, padronização, rastreabilidade e reutilização.

Os conceitos de Upper CASE, Lower CASE e Integrated CASE continuam presentes em praticamente todas as ferramentas modernas de engenharia de software. A tecnologia mudou, as interfaces ficaram mais amigáveis e a Inteligência Artificial passou a participar da construção do código, mas a ideia central permanece a mesma: modelar primeiro, automatizar o que for repetitivo e permitir que os engenheiros concentrem seu tempo nas decisões de negócio.

No próximo artigo, veremos como essas ideias chegaram ao IBM Mainframe, conheceremos as principais ferramentas CASE utilizadas em ambientes COBOL, CICS, DB2 e IMS e entenderemos por que bancos, seguradoras e governos continuam utilizando seus princípios para manter alguns dos sistemas mais críticos do planeta.

"O melhor programador não é aquele que escreve mais linhas de código. É aquele que constrói sistemas que continuam compreensíveis, seguros e evolutivos décadas depois. Essa sempre foi a verdadeira missão das CASE Tools."

quinta-feira, 23 de janeiro de 2025

CASE Tools A Tecnologia que Tentou Automatizar a Engenharia de Software Muito Antes da Inteligência Artificial - Parte I

 

Bellacosa Mainframe e as case tools parte I

☕ Um Café no Bellacosa Mainframe

CASE Tools

A Tecnologia que Tentou Automatizar a Engenharia de Software Muito Antes da Inteligência Artificial

"Todo desenvolvedor acredita que a IA começou a automatizar software em 2022. Quem viveu a Engenharia de Software dos anos 80 sabe que essa história começou quase quarenta anos antes."


Introdução

Existe uma curiosidade interessante na história da computação.

Sempre que surge uma nova tecnologia capaz de produzir software mais rapidamente, aparecem manchetes dizendo que "os programadores serão substituídos".

Foi assim com as linguagens de quarta geração (4GL).

Foi assim com os geradores de código.

Foi assim com RAD (Rapid Application Development).

Foi assim com Low-Code.

Foi assim com No-Code.

E agora acontece novamente com a Inteligência Artificial.

Mas poucos profissionais conhecem o verdadeiro ancestral de todas essas tecnologias.

Seu nome era CASE Tools.

Para quem trabalha hoje com COBOL, CICS, DB2, IMS ou aplicações IBM Z, entender CASE significa compreender a origem de praticamente todas as ferramentas modernas de desenvolvimento.

Muito antes do GitHub Copilot, do ChatGPT ou dos assistentes inteligentes, já existiam ferramentas capazes de desenhar sistemas inteiros e gerar milhares de linhas de código automaticamente.

E, curiosamente, o ambiente Mainframe foi um dos maiores beneficiados dessa revolução.


O que significa CASE?

CASE significa

Computer-Aided Software Engineering

ou

Engenharia de Software Assistida por Computador.

Observe um detalhe importante.

Não significa programação automática.

Não significa inteligência artificial.

Não significa geração mágica de sistemas.

CASE nasceu com outro objetivo:

Ajudar engenheiros de software a construir sistemas melhores.

A palavra-chave é "assistida".

Da mesma forma que existe CAD (Computer-Aided Design) para engenharia mecânica e arquitetura, surgiu a ideia de criar um "CAD para software".

Em vez de desenhar prédios...

Desenharíamos sistemas.

Em vez de plantas arquitetônicas...

Teríamos modelos de software.

Em vez de construir diretamente...

Primeiro projetaríamos.

Hoje isso parece óbvio.

Na década de 1970 era revolucionário.


O problema da Programação Tradicional

Imagine um banco em 1978.

Ele precisava desenvolver:

  • Cadastro de clientes

  • Conta corrente

  • Empréstimos

  • Cobrança

  • Cartões

  • Tesouraria

  • Auditoria

  • Contabilidade

Tudo isso era escrito praticamente à mão.

Cada programa COBOL era desenvolvido individualmente.

Cada programador tinha seu próprio estilo.

Cada documentação era diferente.

Frequentemente a documentação sequer existia.

O resultado era previsível.

Após cinco anos...

Ninguém mais entendia completamente o sistema.


A Crise do Software

Entre o final dos anos 60 e toda a década de 70 surgiu um problema conhecido mundialmente como

Software Crisis.

Não faltavam computadores.

Não faltavam programadores.

Faltava capacidade de construir software grande.

Os sintomas eram conhecidos.

Projetos atrasavam.

Custos explodiam.

Erros apareciam constantemente.

Documentação desaparecia.

Manutenção tornava-se impossível.

Cada nova funcionalidade criava novos defeitos.

Essa crise levou pesquisadores a uma pergunta simples:

Como outras engenharias conseguem construir obras gigantescas com organização?

Um prédio de cinquenta andares não começa com pedreiros.

Começa com arquitetos.

Começa com plantas.

Começa com cálculos.

Começa com modelos.

Por que software era diferente?


O nascimento da Engenharia de Software

Em 1968 ocorreu um evento histórico patrocinado pela OTAN.

Foi a NATO Software Engineering Conference.

Foi ali que o termo

Software Engineering

ganhou força.

A ideia era tratar software como engenharia.

Isso significava:

  • planejamento

  • documentação

  • metodologia

  • padronização

  • revisão

  • qualidade

Essa conferência mudou completamente a indústria.

Ela também abriu caminho para o nascimento das CASE Tools.


A ideia revolucionária

Imagine um arquiteto.

Ele desenha uma planta.

Depois o engenheiro estrutural utiliza essa planta.

Depois o eletricista.

Depois o hidráulico.

Depois a construtora.

Todos trabalham sobre o mesmo projeto.

Agora imagine um sistema bancário.

Em vez de começar programando COBOL...

Primeiro seria criado um modelo.

Desse modelo nasceriam:

  • banco de dados

  • telas

  • relatórios

  • documentação

  • diagramas

  • código COBOL

  • programas CICS

  • scripts SQL

  • especificações técnicas

Tudo derivado do mesmo modelo.

Essa era a visão das CASE Tools.


Antes do Código vem o Modelo

Essa talvez seja a principal mudança de mentalidade.

O programador deixa de pensar:

Vou escrever um programa.

E passa a pensar:

Vou modelar uma solução.

O código passa a ser consequência.

Não o início.

Hoje chamamos isso de

Model Driven Development.

Na década de 80 isso já existia.


Os primeiros CASE Tools

As primeiras ferramentas começaram a aparecer no final dos anos 70.

Mas foi durante os anos 80 que elas explodiram.

Entre as pioneiras estavam soluções como:

  • Excelerator

  • IEW

  • Texas Instruments IEF

  • KnowledgeWare IEW

  • Bachman

  • ADW

  • System Architect

  • Oracle Designer

  • IBM AD/Cycle

Cada fabricante possuía sua própria visão.

Mas todas compartilhavam uma ideia comum.

Modelar primeiro.

Programar depois.


O conceito de Repositório

Talvez a inovação mais importante das CASE Tools tenha sido o conceito de

Repository.

Hoje usamos Git.

Na época usava-se um repositório de conhecimento.

Ali ficavam armazenados:

  • entidades

  • processos

  • atributos

  • regras

  • telas

  • menus

  • relacionamentos

  • fluxos

  • documentação

Não era apenas um repositório de arquivos.

Era um banco de conhecimento.

Hoje chamaríamos isso de um metamodelo.


A documentação deixou de ser um problema

Antes das CASE Tools a documentação era feita depois do sistema.

Quando sobrava tempo.

Normalmente não sobrava.

Resultado:

O documento dizia uma coisa.

O programa fazia outra.

CASE resolveu isso de maneira elegante.

A documentação era produzida automaticamente.

Mudou o modelo?

A documentação era atualizada.

Mudou o banco?

O diagrama era atualizado.

Mudou uma entidade?

Tudo era sincronizado.

Hoje isso parece comum.

Na época era extraordinário.


O poder dos Diagramas

As CASE Tools popularizaram diversos diagramas.

Entre eles:

  • Fluxogramas

  • Diagramas Entidade-Relacionamento

  • Diagramas de Dados

  • Diagramas de Processos

  • Diagramas de Estrutura

  • Diagramas Hierárquicos

  • Diagramas de Fluxo de Dados (DFD)

Por exemplo:

Cliente
   │
   ├──── Possui
   │
Conta Corrente
   │
   ├──── Gera
   │
Lançamentos

Hoje isso parece simples.

Na época substituía centenas de páginas de documentação textual.


A Revolução dos Dicionários de Dados

Outra inovação marcante foi o Data Dictionary.

Antes, o campo:

CODCLI

Poderia significar qualquer coisa.

Código do cliente?

Código do fornecedor?

Código do funcionário?

Ninguém sabia.

Com CASE surgiram descrições padronizadas.

CODCLI

Tipo:
Cliente

Formato:
PIC 9(09)

Descrição:
Identificador único do cliente.

Essa simples ideia economizou milhares de horas de manutenção.


A Engenharia Reutilizável

Outro conceito introduzido foi o de reutilização.

Em vez de criar tudo novamente...

Criavam-se componentes.

Por exemplo:

Cadastro de Cliente.

Em vez de existir em vinte programas diferentes...

Passava a existir apenas um modelo reutilizável.

Hoje chamamos isso de reutilização de componentes.

Nos anos 80 isso já fazia parte das CASE Tools.


O impacto nos bancos

Bancos rapidamente perceberam o potencial.

Imagine manter:

  • milhões de contas

  • milhares de agências

  • dezenas de milhões de clientes

Manual?

Impossível.

Modelando primeiro...

Era possível garantir consistência.

Essa foi uma das razões pelas quais instituições financeiras investiram fortemente em CASE.


O Mainframe tornou-se um ambiente ideal

O Mainframe possui uma característica importante.

Sistemas vivem décadas.

Enquanto aplicações web frequentemente são substituídas após poucos anos, sistemas COBOL podem permanecer ativos por 30, 40 ou até 50 anos.

Isso torna documentação, padronização e rastreabilidade ainda mais importantes.

CASE atendia exatamente essas necessidades.

Não era apenas uma ferramenta de produtividade.

Era uma ferramenta de governança.


O sonho da geração automática

Talvez o aspecto mais conhecido das CASE Tools fosse a geração automática de código.

O fluxo era parecido com este:

Modelo

↓

Entidades

↓

Processos

↓

Banco de Dados

↓

Programas

↓

Documentação

Em muitos ambientes era possível gerar:

  • COBOL

  • C

  • PL/I

  • SQL

  • JCL

  • CICS

  • telas

  • relatórios

  • menus

Naturalmente, o código gerado ainda exigia revisão e customização, mas representava um enorme ganho de produtividade em tarefas repetitivas.


CASE não eliminava programadores

Este é um mito que acompanha a tecnologia desde sua criação.

Alguns acreditavam que bastaria desenhar diagramas e a ferramenta faria todo o restante.

Na prática, isso nunca aconteceu.

O que ocorreu foi uma mudança de foco.

Os profissionais passaram a gastar menos tempo escrevendo estruturas repetitivas e mais tempo analisando regras de negócio, arquitetura e qualidade.

A engenharia ganhou espaço sobre a simples codificação.

Curiosamente, esse mesmo debate reaparece hoje com a Inteligência Artificial.


Por que muitas CASE Tools desapareceram?

Apesar do enorme entusiasmo, muitas ferramentas perderam espaço durante os anos 1990.

Os principais motivos foram:

  • custo elevado de aquisição e manutenção;

  • necessidade de treinamento especializado;

  • dificuldade de adaptação a mudanças rápidas nos negócios;

  • geração de código excessivamente dependente do fornecedor (vendor lock-in);

  • modelos complexos para projetos pequenos;

  • ascensão da orientação a objetos e de novas metodologias de desenvolvimento.

Ainda assim, suas ideias não desapareceram. Elas foram incorporadas a UML, IDEs modernas, geradores de código, ferramentas de DevOps, plataformas Low-Code e, mais recentemente, aos assistentes baseados em IA.


Muito além de uma tecnologia antiga

É comum ouvir que CASE é uma tecnologia "do passado". Na realidade, o nome caiu em desuso, mas seus princípios continuam presentes.

Quando um desenvolvedor cria um modelo UML que gera classes Java, está aplicando conceitos de CASE.

Quando uma ferramenta cria APIs a partir de um contrato OpenAPI, há geração baseada em modelos.

Quando um pipeline de DevOps produz documentação automaticamente a partir do código, há automação da engenharia.

E quando uma IA sugere código a partir de uma descrição funcional, ela está ampliando uma ideia que começou décadas antes: reduzir o esforço repetitivo para que o engenheiro concentre sua atenção na solução do problema.


Conclusão

As CASE Tools nasceram para resolver um desafio que permanece atual: como desenvolver software cada vez mais complexo sem perder qualidade, organização e capacidade de manutenção.

Elas introduziram conceitos que hoje parecem naturais: modelagem antes da implementação, repositórios de conhecimento, documentação automática, dicionários de dados, reutilização de componentes e geração de código.

Para quem trabalha com COBOL e IBM Z, compreender essa história é entender por que tantos ambientes corporativos ainda valorizam modelagem, rastreabilidade e padronização. O Mainframe não ficou preso ao passado; ele foi um dos grandes laboratórios onde essas ideias amadureceram e provaram seu valor em sistemas que processam bilhões de transações com confiabilidade excepcional.

No próximo artigo, veremos como as CASE Tools evoluíram em categorias como Upper CASE, Lower CASE e Integrated CASE (I-CASE), conheceremos suas principais metodologias, analisaremos exemplos práticos de uso e entenderemos por que elas influenciam diretamente as plataformas Low-Code, No-Code e até mesmo a Inteligência Artificial aplicada ao desenvolvimento de software.

"Toda geração acredita ter inventado uma nova forma de desenvolver software. A história mostra que quase todas elas começam pela mesma ideia: pensar antes de programar. As CASE Tools foram uma das primeiras grandes tentativas de transformar essa ideia em engenharia."

 

quinta-feira, 29 de julho de 2021

☕💥 Por que os Fluxogramas Caíram em Desuso?

 

Bellacosa Mainframe e um teoria sobre o desuso dos fluxogramas

☕💥 Por que os Fluxogramas Caíram em Desuso?

Ou como um Padawan COBOL descobriu que o vilão não era o losango, mas a pressa do mercado

A resposta curta é:

Fluxogramas não morreram.
Eles foram substituídos, fragmentados, escondidos dentro de outras ferramentas e vítimas da pressão por velocidade de entrega.

E isso aconteceu por vários motivos.


1. O software ficou monstruosamente grande

Na década de 70, um programa COBOL típico poderia ter:

2.000 linhas
5 arquivos
20 IFs

Um fluxograma cabia em duas folhas.

Já um sistema bancário atual pode possuir:

35.000 linhas COBOL

120 tabelas DB2

50 programas chamados

MQ

CICS

Webservices

Kafka

APIs

z/OS Connect

Imagine desenhar isso.

Seriam dezenas de páginas.

Exemplo:

Login

↓

Menu

↓

Consulta

↓

CICS

↓

COBOL

↓

DB2

↓

MQ

↓

API PIX

↓

Anti-fraude

↓

Core Banking

Vira praticamente uma planta industrial.


2. O Waterfall perdeu força

Antigamente.

Projeto:

Meses de análise

Meses de desenho

Meses documentação

Meses codificação


Hoje:

Sprint

5 dias

10 dias

Deploy

Produção


No Agile.

Muitos pensam:

"Melhor codar do que desenhar."

E aí morre o fluxograma.


3. UML roubou espaço

Anos 90.

Chega UML.

E aparece:

Use Case

Sequence Diagram

Activity Diagram

Class Diagram

State Diagram


Activity Diagram praticamente é.

Fluxograma Premium™.

Exemplo.

Login

Validar

[Conta válida]

Consultar


Mesmo conceito.

Outra roupa.


4. Ferramentas BPM surgiram

Hoje temos:

Camunda

IBM BPM

ServiceNow

Power Automate

Bizagi


Você não desenha.

Você modela.


Exemplo.

Fluxograma clássico.

Solicitar Crédito

↓

Análise

↓

Gerente

↓

Compliance

Camunda.

Já executa.

Workflow vivo.


5. Código passou a ser documentação

Essa é a maior mudança cultural.

Dev moderno diz:

O código é a documentação.

Exemplo.

EVALUATE STATUS

WHEN 1
   PERFORM INSERIR

WHEN 2
   PERFORM ALTERAR

WHEN 3
   PERFORM EXCLUIR

WHEN OTHER
   CONTINUE

END-EVALUATE

Ele acredita que isso basta.


Analista antigo pensa:

"Sim."

"Mas eu levei 15 segundos olhando um desenho."

"Você levou 20 minutos lendo o programa."

😂


6. CASE Tools fracassaram

Anos 80.

Grande promessa.

Desenhar.

Gerar COBOL.


Ferramentas.

IEF

CoolGen

Pacbase

Excelerator

ADW


Promessa:

Desenhe.

Clique.

Compile.


Realidade.

Sistema gerado.

Gigantesco.

Difícil manutenção.


Mercado perdeu confiança.


7. Diagramas ficaram desatualizados

Problema clássico.

Fluxograma.

Lindo.

Aprovado.


Programador faz:

Mais 10 IFs.

Mais 5 EVALUATE.

Mais 2 SELECT.


Ninguém atualiza.

Diagrama.

Versão 2017.

Código.

Versão 2026.


Caos.


8. O Git substituiu parte da documentação

Hoje.

Git.

Pull Request.

Merge.

Comentários.

Exemplo.

PR-4523


Adicionada regra PIX noturno

Muitos usam isso.

Como histórico.


9. A geração atual prefere ferramentas visuais modernas

Antigamente.

Visio

PowerPoint

Papel

Caneta


Hoje.

Miro

Draw.io

LucidChart

Figma


Mesmo conceito.

Nova embalagem.


Mas Mainframe ainda ama fluxogramas

Aqui está a grande ironia.

No mundo Mainframe.

Fluxogramas nunca morreram.

Estão escondidos.


CICS

Mapas BMS

Fluxo PF3

PF5

ENTER


Batch

Arquivos

Balance Line

Merge


DB2

Cursores

Commit

Rollback


VSAM

READ

REWRITE

DELETE


JES2

JOB

STEP

COND

RC


Exemplo real

Imagine receber.

Programa:

FINA0321

42 mil linhas.

Criado.

Autor.

Aposentado.

Documentação.

Zero.


Você abre.

PERFORM P0010

PERFORM P0020

PERFORM P0030

PERFORM P0040

O que faz?

Ninguém sabe.


Você desenha.

START

↓

LER VSAM

↓

CLIENTE EXISTE?


◇



SIM


↓

ATUALIZA DB2


↓

GERA RELATÓRIO




NÃO


↓

INCLUI DB2




↓

END

Em 10 minutos.

Entendeu o programa.


Então por que deveríamos voltar a usar?

Porque ele resolve problemas caros.

Comunicação

Analista

Desenvolvedor

Tester

Usuário

Todos entendem.


Onboarding

Padawan COBOL chega.

Primeiro dia.

Recebe.

Fluxograma.

Aprende.

Em horas.

Sem.

Fluxograma.

Leva semanas.


Auditoria

Banco Central

SOX

PCI

LGPD

Adoram.

Fluxos.


Engenharia Reversa

Legados.

Sem documentação.

Fluxograma é ouro.


Minha visão para o Mainframe moderno

Eu diria que o fluxograma não morreu.

Ele evoluiu.

Hoje ele reaparece como:

  • Activity Diagram

  • BPMN

  • Camunda

  • Miro

  • Draw.io

  • Mermaid

  • Workflow IBM BPM

  • State Machines

  • Fluxos conversacionais

  • Orquestração de APIs

  • Pipelines DevOps

Mas para nós, habitantes do Reino IBM Z, existe uma verdade quase filosófica:

Um fluxograma bem desenhado é a forma mais rápida de transformar 30 mil linhas de COBOL em uma história compreensível.

O compilador entende COBOL. O ser humano entende narrativas. O fluxograma é a ponte entre os dois.

Bellacosa Mainframe ☕💥🚀