Szoftver újratervezés

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2015. szeptember 25-én felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

A szoftver újratervezése új funkciók létrehozásának vagy hibák kijavításának folyamata egy forradalmi változtatással, de a  már használatban lévő szoftverek használatával . Az újratervezési folyamatot Chikowski és Cross 1990-es cikkében [1] írja le: "Egy rendszer vizsgálata és megváltoztatása annak új formába való visszaállítására". Kevésbé formálisan fogalmazva, az újratervezés egy szoftverrendszer módosítása annak visszafejtése után .

Az újratervezés összetettsége

Általános szabályként az szerepel, hogy "egyszerűbb új szoftverterméket fejleszteni". Ennek oka a következő problémák:

  1. az újratervezés leggyakrabban drágább, mint az új szoftverek fejlesztése , mivel el kell távolítani a korábbi verziók korlátait, miközben meg kell őrizni a kompatibilitást azokkal ;
  2. az újratervezést alacsony és közepes képzettségű programozó nem tudja elvégezni - gyakran még a szakemberek sem tudják minőségileg megvalósítani, ezért a programok átdolgozásában nagy tapasztalattal és a különböző technológiák ismereteivel rendelkező programozók munkája szükséges[ meghatározza ] ;
  3. a fejlesztő számára nehéz lehet megérteni valaki más forráskódját  - ez arra kényszeríti őket, hogy alkalmazkodjanak egy ismeretlen programozási stílus észleléséhez , időt töltenek a projektben megvalósított koncepciók átfogó elemzésére és elsajátítására, a projektben használt harmadik féltől származó könyvtárakra . , megköveteli az összes rosszul dokumentált kódrészlet működési elvének alapos feltárását - és mindez csak bonyolítja az új építészeti megoldásokra való átállás folyamatát ;
  4. ráadásul a tevékenység jellege további motivációt igényel : az új termékek létrehozásához képest a meglévők feldolgozása nem mindig hoz ugyanolyan vizuális és lenyűgöző eredményeket, gyakran leterheli a technikai adósság terhét és kevés teret hagy. szakmai önkifejezésre.

Ugyanakkor, ha a program kezdetben szigorú és világos architektúrával rendelkezett, akkor az újratervezés egy nagyságrenddel könnyebb lesz. Ezért a tervezés során általában elemzik, hogy mi lesz a jövedelmezőbb - az előző projekt anyagainak feldolgozásának megkezdése vagy egy hasonló szoftvertermék kifejlesztése a semmiből.

Lásd még

Jegyzetek

  1. Chikofsky, E. and Cross, J. 7(1) // = Reverse Engineering and Design Recovery: A Taxonomy. - IEEE Software, 1990. - P. 13-18.

Linkek