Nagyjából jól látod. Mivel az FD alapja a szimulátornak, bazi nehéz kiváltani. Valahogy úgy kell elképzelni, hogy csinálunk egy komplett vállalatirányítási szoftvert, aminek az alapja természetesen az adatkezelő modul (az msfs-ben ez az fd). Ha kész a csomag és akkor derül ki, hogy annyira használhatatlan az adatkezelés és ki kell cserélni, akkor bizony kva nagy baj van (úgy kell lecserélni a pincét, hogy felette ott a ház). Tökmindegy, hogy mondjuk az objektumorientáltság tökéletesen van megvalósítva (még csak nem is hallottam ilyenről:)), vagy statikusan van megvalósítva. Ilyenkor úgy megreccsen a projekt, hogy el kell gondolkodni inkább egy újon. Az egy dolog, hogy átírják mindenütt jól a kódokat (már maga ez is egy embertelen feladat, ill. lehetetlen küldetés), de pl. időközben bekerültek különféle fixálások a forrásokba. Ezeket egyesével ki kell elemezni, hogy marad vagy sem. És ha kész a kód, akkor szintén embertelen munkaóra kell a teszteléshez. Pályafutásom során elég sok ilyen feladatot kellett megoldanom, és általában a végén mindig kiderült, hogy lehet jobban jártunk volna új projekttel. Kivétel ha azért kell kicserélni a pincét mert olyan technológiai változás történt. De ezek az események kb. 10-15 évente következnek be, addigra már úgyis lesz annyi változás máshol is, hogy projektújítás legyen a vége.
Nem tudom (még nem néztem utána) milyen fordítóval csinálták az msfs-t, de vagy C# vagy C++ Visual Studio-al. Ha C# akkor elkerülhetetlen az objektumorientáltság, de a "pókháló" akkor is megmarad. Tökmindegy, hogy property-n keresztül vagy fizikai változón keresztül fűzünk össze. Csak tervezés szempontjából jobb zárt objektumokat használni, a programozók majd úgyis megsértik és írnak hozzájuk access és wrapper osztályokat. Amikkel még jobban megnehezítik az utólagos átírást.
Amivel eddig találkoztam ilyen szintű átírás, az mind veszteséges volt. A kedvencem talán, Németországban egy cég teljesen elkefélte az alapokat a fejlesztésükben. Amikor odamentünk segíteni felmértük, hogy hogyan tudjuk kijavítani azt a "pici bibit". Megbeszélésen kb. 1,5 óra alatt felvázoltuk a megoldást. Mire az ügyvezető (aki amúgy értelmes szakember volt, tehát értette) közölte, hogy akkor hétvégére berendelik az összes programozót és átírják a rendszert. Hétfőre már kész is a javított termék, mehet tesztelésre. Kollégámnak mondtam, hogy "na innen szép nyerni". Azután kb. olyan 2 év múlva amikor már majdnem készen voltunk, közölte a fickó, hogy mégegyszer nem fognának bele. De heppi lett a vége, mert megoldottuk, jól működik azóta is. Ők is megtanulták hogyan működik a programtervezés, és most már nem kerülik ki a problémát tervezés/fejlesztés közben azzal, hogy "majd később megoldjuk".