ITLine

Régi rendszer visszafejtése forráskódból és refaktorálása

Van egy régi rendszerünk, és már senki nem érti egészen

Az ITLine meglévő üzleti rendszereket térképez fel a forráskódból és a futó rendszerből, AI-jal: mit csinál, milyen szabályok szerint, melyik képernyőn, milyen adaton. Minden megállapítás a kódbeli helyre mutat, a bizonytalanok jelölve vannak. Javítás, refaktorálás vagy átírás csak erre a térképre épül.

A kiinduló állapot

A rendszer régóta fut, és működik. Aki írta, már nincs a cégnél, a dokumentáció régi vagy nincs. Minden javítás kockázat, mert senki nem tudja biztosan, mi függ attól, amihez hozzányúl. Az átírás pedig azért nem indul el, mert senki nem tudja megmondani, pontosan mit kellene átírni.

Ahogy dolgozunk

Anyagátadás. Forráskód, adatbázis-séma, a meglévő dokumentáció, és ha van, tesztkörnyezet. Az éles rendszerhez nem nyúlunk.

Leltár. Hány modul, képernyő, tábla és tárolt eljárás van, milyen nyelven és milyen verzióval. A verziót gépi ujjlenyomatból állapítjuk meg.

Szerkezetkinyerés. Osztályok, rutinok, függőségek, és a képernyőleírókból az, hogy melyik gomb melyik kódot hívja. Ez a huzalozás a forrásfájlokban nem látszik.

Futtatás és megfigyelés. A rendszert elválasztott környezetben futtatjuk, és képernyőműveletenként rögzítjük, mi változik az adatbázisban.

Ellenőrzés. Minden megállapítás kódhivatkozást és bizonyossági jelölést kap. Amit két független forrás (kód, felület, adat, napló) nem erősít meg, az nyitott kérdésként marad.

Heti átadás. Az első héten egy kiválasztott funkciócsoport készül el teljes mélységben. Ez a minta, amelyen eldöntöd, hogy az irány és a mélység jó-e.

Javítás csak ezután. Refaktorálás, hibajavítás vagy átírás arra a térképre épül, amit addigra közösen ellenőriztünk.

Amit átadunk, a tiéd: specifikációk, szabályjegyzék, adattérkép, tesztforgatókönyvek, kereshető formában.

Amit előre megmértünk

Mielőtt ilyen munkát vállalunk, megmértük, mennyire tudja az AI feltérképezni a régi Delphi-kódot. 2026. szeptember 23-án két nyílt forrású Delphi-kódbázison (egy 2000-es évekbeli és egy mai, összesen 15 522 sor) a gépi ellenőrzés 1160 szimbólumot számolt. A modell egyet sem hagyott ki, és egyet sem talált ki. Ugyanezen a kódon a saját ellenőrző szkriptünkben öt hiba derült ki.

A képernyőleírók feldolgozására saját dekódert írtunk. A régi könyvtár mind az 1342 képernyőleíróját feldolgozta leállás nélkül, és 1331 fájlból 1255-ön (94%) egyezett egy független ellenőrzéssel. A maradék 6% még hátravan, és ezt nem hallgatjuk el.

Amit a kód nem mond meg

A kód megmutatja, mi van benne. Azt nem, mit akartak vele, és azt sem, hogyan használják ma. Ezért a visszafejtéshez valódi adat, napló és levelezés is kell, és a kollégák ideje, akik a rendszert naponta használják.

A mérés nem fedi le a futás közben összerakott SQL-lekérdezéseket, az adatbázisban tárolt eljárásokat, a halott kódot (ezt csak futási napló választja el az élőtől), és a forrás nélküli külső komponenseket. Ezeket a leltár után, a te rendszereden mérjük meg.

Ami nincs benne

Fix összeg a leltár előtt. Hogy egy régóta fejlesztett rendszer melyik része mekkora munka, az a leltárból derül ki, és addig nem mondunk rá számot.

Módosítás az éles rendszeren a te írásos jóváhagyásod és mentés nélkül.

Teljességi garancia. Ami nem vezethető vissza a kódra, az nyitott kérdésként szerepel, és nem állításként.

Gyakori kérdések

Csináltatok már ilyet?

Ügyfélnek leszállított visszafejtési projektünk még nincs. Ezért mértük meg előre a módszert nyílt forrású kódon, és ezért kezdünk egy kiválasztott funkciócsoporttal: az első héten látszik, hogy jó-e az irány és a mélység.

Milyen nyelvű rendszerrel tudtok dolgozni?

Delphin mértünk, mert a régi vállalati rendszerek között gyakori, és a modernizációs eszközök jellemzően nem fedik le. A módszer más nyelvre is átvihető; a C# és a Java a modelleknek könnyebb terep. Más nyelvnél a leltár után először azt mérjük meg.

Utána át kell írni az egészet?

Nem feltétlenül. A térkép után dönthetsz: javítás, részenkénti kiváltás vagy átírás. Ami jól működik, marad.

Mit kell adnunk hozzá?

A forráskódot, az adatbázis-sémát, a meglévő dokumentációt, ha lehet, tesztkörnyezetet, és hetente egy órát valakitől, aki a rendszert használja.

Szabadulnál az Exceltől?Nézd meg, mit javaslunk