A Refactoring 2011 Fejlesztő, Innovációs és Szolgáltató Kft. GOP-1.2.1-11-2011-0002 jelű „Küzdelem a szoftvererózió ellen: folyamatos minőségmérésen alapuló, valós idejű szoftver-refaktoring keretrendszer fejlesztése és validálása ipari környezetben” című projektjének ünnepélyes projektátadó rendezvényét tartották 2014. március 14-én a Szegedi Tudományegyetem József Attila Tanulmányi és Információs Központban.
A Refactoring 2011 Fejlesztő, Innovációs és Szolgáltató Kft.-t a Szoftveripari Innovációs Pólus Klaszter hat tagvállalata alapította azzal a céllal, hogy közös fejlesztési elképzeléseiket a GOP-1.2.1-2011-es pályázati konstrukció keretein belül európai uniós támogatás felhasználásával valósítsák meg.
Megakadályozni a szoftverek minőségromlását
Az idő múlásával minden szoftvertermék karbantartása és fejlesztése egyre nehezebb. Egyre nagyobb igény jelentkezik olyan termékekre, amelyek segítenek a fejlesztőknek abban, hogy megakadályozzák a szoftvertermék minőségének romlását – szemléletesebb néven a szoftvereróziót – és megoldásokat adnak a fellépő karbantarthatósági problémákra. A termék minőségének romlását statikus elemző eszközökkel (a program forráskódját elemezve, annak futtatása nélkül) igyekeznek mérni, folyamatosan figyelni a kódban található legveszélyesebb problémákat. A problémák kijavítását pedig a kód átstrukturálásával, refaktoring műveletek végrehajtásával oldják meg. Számos, a piacon elérhető eszköz vagy igénybe vehető szolgáltatás igazolja a szoftvererózió megakadályozásának fontosságát és a statikus elemző eszközök hatékonyságát.
A fejlesztő cégek keresik azokat a technológiákat, amelyekkel a szoftver folyamatos karbantartásának és manuális refaktoringjának költségeit mérésekkel alátámasztva csökkenteni tudják. Jelenleg nincs a piacon olyan termék, ami ezt a két folyamatot összefogná, azaz arra adna megoldást, hogy az észlelt problémás kódrészletek javítását automatikus vagy félautomatikus refaktoring technikákkal, a fejlesztő komolyabb beavatkozása nélkül megoldaná, ami mérhetően javítaná a szoftver minőségét. Egy ilyen eszközzel nemcsak komoly ráfordításokat takaríthatnak meg, de a fejlesztett szoftver minősége is javul, ami hosszú távon előnyökhöz juttatja mind a fejlesztő-, mind pedig a szoftvert felhasználó vállalatot.
A projekt célja olyan programátstrukturálást, refaktoringot támogató keretrendszer, módszertan és szoftvereszközök kifejlesztése, amelyek segítségével megvalósítható az úgynevezett „continuous reengineering” elv. Ezek elősegítik egy adott rendszerben lévő kritikus pontok folyamatos azonosítását és átstrukturálását a karbantarthatóság növelése céljából. A projekt folyamán a fejlesztendő eszköz funkcionalitását a résztvevő cégek saját forráskód bázisukon tesztelik, éles körülmények között szerezve visszajelzést ezzel az eszköz működéséről. A projektnek az is célja, hogy az eszköz képes legyen a különböző programozási kultúrákban és különböző fejlesztési környezetekben korábban létrejött forráskód „induló” refaktoringjára, olyan állapot előállítására, ahonnan a „continuous reengineering” folytatható. A projekt során az a célunk, hogy a résztvevő cégek egy-egy szoftvertermékének forráskódján demonstráljuk a fejlesztendő eszköz ezen képességét és az automatizált eszközrendszer segítségével javítsuk a meglévő kódot és ellenőrizzük annak funkcionális változatlanságát.
Sikeres klaszteregyüttműködés
A kft. „Küzdelem a szoftvererózió ellen: folyamatos minőségmérésen alapuló, valós idejű szoftver-refaktoring keretrendszer fejlesztése és validálása ipari környezetben” című, GOP-1.2.1-11-2011-0002 kódszámú projektje több mint 501 millió 617 ezer 250 forint uniós támogatást kapott a fejlesztési tervében meghatározott feladatok megvalósítására. A projekt teljes költségvetése 836 millió 29 ezer 250 forint. A projekt megvalósításának ideje 24 hónap, mely 2012. április 1-jén kezdődött, és a tervek szerint 2014. március 31-ig fog tartani.
A projektátadó rendezvényt Gyenizse Pál, a Szoftveripari Innovációs Pólus Klaszter elnöke nyitotta meg. Arról beszélt, hogy ez egy sikeres, klaszter-együttműködésen alapuló projekt volt, amelynek a szoftverminőség állt a középpontjában. Ez a klaszter jól megválasztott fókuszterülete. A klaszter az intelligencia-kutatás területén szeretne a jövőben továbblépni, ebben a témában beadott pályázatuk elbírálás alatt van. Az elnök beszámolt arról is, hogy technológiai oktatási központot indítottak, amelybe oktatót és oktatottak jelentkezését egyaránt várják.
Kidolgozták a refaktoring módszertanát
Ferenc Rudolf, az SZTE TTIK Informatikai Tanszékcsoport Szoftverfejlesztés Tanszékének adjunktusa elmondta, hogy elsőként a klasztertagok körében végeztek K+F igényfelmérést, ezt követően állították össze a pályázatot. A szoftverek is elhasználódnak, elkopnak, romlik a minőségük, hiba nélküli szoftver nincs, ráadásul az ügyfelek részéről felmerülő folyamatos változtatási igényekhez is hozzá kell igazítani a szoftvereket. A sok javítás pedig növeli a hibák számát. A projekt során kidolgozták a refaktoring módszertanát, a keretrendszereket. Nagy Csaba, a Refactoring 2011 Kft. szakmai vezetője hozzátette: elsőként azt kellett meghatározniuk, hogyan szeretnének refaktorálni. Módszertani leírásokat készítettek, kidolgoztak egy automatizált keretrendszert, a cél minél több és hatékonyabb algoritmus fejlesztése volt. A szakember rámutatott arra: a kódminőség új fejlődik, ha közben a funkcionalitás nem változik. Ferenc Rudolf beszámolt arról is, hogy a refaktoringról publikáltak egy cikket, amely nagy szakmai visszhangot váltott ki, a februárban tartott antwerpeni konferencián – amely az ilyen jellegű, szoftverkarbantartással foglalkozó szakmai konferenciák között a legelső helyen van – cikküket oklevéllel ismerték el. Ez olyan gyakorlati eredmény volt, amely kiemelkedőnek számított a rendezvényen.
Ezt követően a kft. alapítói mutatkoztak be, és számoltak be a cégük által írt forráskódok refaktorálásáról. Prezentációt tartott Gémes Gábor, az R&R Software Zrt. képviseletében az ipari ERP, a CRM, a Business Intelligence, a Customer Care rendszerek refaktoringja, valamint az Eclipse ID támogatások megvalósítása témakörében. Kelemen Balázs, a P92 IT Solutions Kft. képviseletében a webalapú és vékonykliensekről, egyedi üzleti és komplex mobilalkalmazásokról, portál rendszerek refaktoringjáról, IntelliJ IDEA IDE támogatás megvalósításáról beszélt. Deák Krisztián, az IKRON Zrt. vezető fejlesztője a web felületű ERP rendszerek valamint a NetBeans IDE támogatás megvalósításáról számolt be. A cégnél az IKRON vállalatirányítási rendszerét vezette végig a folyamaton. Azért a PEAS-t választották, met 500 sor JAVA kódot tartalmaz, és a fejlesztések során egyre több hiba került a kódba. Berger Ágoston, a Monguz Kft.-től pedig a közgyűjtemény-informatikai és felsőoktatási integrált rendszerek refaktoringját mutatta be az érdeklődőknek. A konferencia végén Nagy Csaba szakmai vezető az általános keretrendszerekről és az IDE pluginokról tartott rövid bemutatót.
SZTEinfo
Fotó: Iványi Aurél