Reinginerie software

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 25 septembrie 2015; verificările necesită 5 modificări .

Reingineria software este procesul de creare a unor noi funcționalități sau de remediere a erorilor prin efectuarea unei schimbări revoluționare, dar folosind software-ul care  este deja în uz . Procesul de reinginerie este descris de Chikowski și Cross în lucrarea lor din 1990, [1] ca „Examinarea și modificarea unui sistem pentru a-l reconstitui într-o formă nouă”. În termeni mai puțin formali, reingineria este modificarea unui sistem software după ce a fost proiectat invers .

Complexitatea reingineriei

De regulă, se afirmă că „este mai ușor să dezvoltați un nou produs software”. Acest lucru se datorează următoarelor probleme:

  1. reinginerirea, de cele mai multe ori, este mai costisitoare decât dezvoltarea de software nou , deoarece este necesară eliminarea limitărilor versiunilor anterioare, menținând în același timp compatibilitatea cu acestea ;
  2. reinginerirea nu poate fi făcută de un programator cu calificări scăzute și medii - chiar și profesioniștii de multe ori nu o pot implementa într-o manieră de calitate, prin urmare, este necesară munca programatorilor cu experiență vastă în programe de reelaborare și cunoaștere a diferitelor tehnologii .[ specifica ] ;
  3. poate fi dificil pentru un dezvoltator să înțeleagă codul sursă al altcuiva  - acest lucru îl obligă să se adapteze la percepția unui stil de programare necunoscut , petrece timp cu o analiză cuprinzătoare și stăpânește conceptele implementate în proiect, bibliotecile terțe utilizate în acesta , necesită explorarea scrupuloasă a principiului de funcționare a tuturor secțiunilor de cod prost documentate - și toate acestea nu fac decât să complice procesul de tranziție a produsului către noi soluții arhitecturale ;
  4. în plus, însăși natura activității necesită o motivație suplimentară : în comparație cu crearea de noi produse, prelucrarea celor existente nu aduce întotdeauna aceleași rezultate vizuale și impresionante, deseori îngreunează povara datoriei tehnice și lasă puțin loc pentru auto-exprimare profesională.

În același timp, dacă programul a avut inițial o arhitectură strictă și clară, atunci reinginerirea va fi un ordin de mărime mai ușoară. Prin urmare, la proiectare, de regulă, se analizează ce va fi mai profitabil - să începeți prelucrarea materialelor proiectului anterior sau să dezvoltați un produs software similar de la zero.

Vezi și

Note

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

Link -uri