Brownfield (szoftverfejlesztés)

author
6 minutes, 59 seconds Read

A meglévő üzleti és informatikai környezetek modern, versenyképes, integrált architektúrákká történő megbízható átalakítása nem triviális feladat. Az üzleti és informatikai környezetek összetettsége negyven éve szinte ellenőrizetlenül halmozódik, ami egyre drágábbá teszi a változtatásokat. Ennek az az oka, hogy:

  • A környezet komplexitása gyakran örökölt kódban fejeződik ki. Az örökségi készségek hiánya növeli a karbantartási és integrációs költségeket.
  • A meglévő összetett környezeteket olyan fázisokban kell újratervezni, amelyeknek működési értelme van a hozzájuk kapcsolódó üzleti funkció szempontjából. Ezek a fázisok gyakran a rendszerek nagyszabású, kockázatos cseréjéhez vezetnek, mivel a meglévő komplexitás tudatlansága azt jelenti, hogy a lehetséges inkrementális változtatásokat túl nehéz megérteni és megtervezni.
  • A gyorsított fejlesztési módszerek miatt a vállalatok modern örökölt rendszerekkel rendelkeznek. Az összetett Java és .NET alkalmazások sokszor ugyanazokkal a problémákkal küzdenek, mint a régebbi COBOL alkalmazások.

Ennek eredményeként az új üzleti képességek fejlesztésével kapcsolatos erőfeszítések egyre nagyobb részét a meglévő összetett rendszer és üzleti környezet megértése és integrálása tölti ki, ahelyett, hogy értéket szolgáltatnának. Megfigyelték, hogy a teljes projekt erőfeszítéseinek akár 75%-át is a szoftverintegrációra és a migrációra fordítják az új funkciók helyett.

Az informatikai ipar egésze rosszul teljesíti az ilyen nagyszabású változásokat az ügyfelei számára. A Standish Group által készített CHAOS felmérés az elmúlt húsz évben az informatikai projektek sikerességének általános javulását követte nyomon, de még 2006-ban is többször fordult elő, hogy a nagy informatikai projektek sikertelenek voltak, mint sikeresnek. A mérnöki változások és az ilyen környezetek számos párhuzamot mutatnak az építőipar aggodalmaival az ipari vagy szennyezett területek újjáépítése során. Ezek tele vannak veszélyekkel, váratlan összetettséggel, és általában kockázatos és költséges az újjáépítésük. Az informatikai környezetek felhalmozott bonyolultsága “barnamezős” helyszínekké tette őket.

Nem az új funkció bonyolultsága vagy bármilyen új rendszerjellemző a nagy projektek kudarcainak gyökere – hanem az általános követelmény megértése és kommunikációja (ahogy azt A mítikus ember havában azonosítottuk). A siker érdekében a követelményeknek tartalmazniuk kell a meglévő üzleti és informatikai korlátok pontos és alapos megértését. A jelenlegi “zöldmezős” eszközök és módszerek korai, informális és gyakran pontatlan absztrakciókat használnak, amelyek lényegében figyelmen kívül hagyják ezt a komplexitást. A korai, rosszul tájékozott absztrakciók általában tévesek, és gyakran csak későn derülnek ki, ami késésekhez, költséges utómunkálatokhoz és akár sikertelen fejlesztésekhez vezet. A Brownfield-központú megközelítés elfogadja a meglévő komplexitást, és megbízhatóan felgyorsítja a teljes megoldásfejlesztési folyamatot, beleértve a szakaszos, inkrementális változtatások lehetővé tételét, ahol csak lehetséges.

A Brownfield a szabványos OMG modell/minta alapú megközelítést a feje tetejére állítja. Ahelyett, hogy a hagyományos megközelítés szerint a koncepcionális modellel kezdenénk, majd a platformspecifikus modellekig és a kódgenerálásig vezetnénk, a Brownfield a kód és más meglévő artefaktumok összegyűjtésével kezdi, és mintákat használ a formális absztrakcióhoz az architektúra és az üzleti szint felé.

A Brownfield fejlesztési folyamat vázlata

A standard Greenfield technikákat ezután kombinálva használják a preferált üzleti cél meghatározásához. Ez a “meet in the middle” technika más fejlesztési módszerekből ismerős, de a formális absztrakció kiterjedt használata és a minták használata mind a felfedezéshez, mind a generáláshoz újszerű.

A Brownfield-eszközök mögöttes koncepcionális architektúrája VITA néven ismert. A VITA a Views, Inventory, Transformation and Artifacts (nézetek, leltár, átalakítás és műtárgyak) rövidítése. A VITA architektúrában a céltér problémameghatározása különálló (bár összefüggő) natív tudás “fejtörzsekként”, úgynevezett Views-ként tartható fenn. A Nézetek alapvető előnye, hogy nagyjából bármilyen formális eszközön alapulhatnak. A Brownfield nem erőltet egyetlen eszközt vagy nyelvet a problématérre – az egyik fő alapelv az, hogy a fejállományokat továbbra is a saját natív formájukban és eszközeikben tartják fenn.

A natív Nézetek ezután össze vannak vonva és egyetlen Leltárba vannak kapcsolva. A Leltárt ezután egy sor transzformációs képességgel együtt használják fel a megoldásnak szükséges műtárgyak előállításához.

A nézetek jelenleg sokféle forrásból importálhatók, beleértve az UML-t, XML-forrásokat, DDL-t, táblázatkezelőket stb. Az IBM Analysis and Renovation Catalyst eszköze még tovább vitte ezt a képességet a formális nyelvtanok és absztrakt szintaxisfák alkalmazásával, hogy szinte bármilyen program elemezhető és tokenizálható nézetté a leltárba való felvételhez.

Az ebben a megközelítésben alkalmazott felfedezés, újratervezés, generálás és tesztelés ciklus gyors ciklikus jellege azt jelenti, hogy a megoldások logikai és fizikai definíciói iteratív módon finomíthatók, ahogy egyre több korlátozás válik ismertté és a megoldás architektúrája finomodik.

Az iteratív barnamezős fejlesztés lehetővé teheti a logikai és fizikai architektúrák fokozatos finomítását és az egész megközelítés inkrementális tesztelését, ami a fejlesztés felgyorsulását, a megoldás minőségének javulását és az olcsóbb hibaelhárítást eredményezi. A Brownfield a megoldás dokumentációjának létrehozására is használható, biztosítva, hogy az mindig naprakész és konzisztens legyen a különböző nézőpontok között.

A Brownfield feldolgozással létrehozott leltár rendkívül összetett lehet, mivel egy összekapcsolt, többdimenziós szemantikus hálózat. A Leltárban lévő tudásszint nagyon finom szemcséjű, rendkívül részletes és összefüggő lehet. Az ilyesmit azonban nehéz megérteni, és akadályokat jelenthet a kommunikációban. A Brownfield ezt a problémát a fogalmak absztrahálásával oldja meg egy kézműves legjobb sejtésén keresztül, a Leltárakban található ismert mintákat felhasználva a magasabb szintű kapcsolatok kivonására és levezetésére.

A formális absztrakciók lehetővé teszik, hogy a Leltár összetettségét egyszerűbb, de eredendően pontos reprezentációkba fordítsuk le, hogy azok számára, akiknek meg kell érteniük a problémateret, könnyebben fogyasztható legyen. Ezek az absztrahált leltármodellek felhasználhatók többrétegű építészeti reprezentációk automatikus megjelenítésére olyan eszközökben, mint például a Second Life.

Az ilyen vizualizációk lehetővé teszik, hogy az összetett információkat a világ minden tájáról több személy valós időben megossza és megtapasztalja. Ez fokozza a megértést és az egységes csapat érzését.

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.