Omarbetning av programvara

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 25 september 2015; kontroller kräver 5 redigeringar .

Omarbetning av programvara är processen att skapa ny funktionalitet eller åtgärda buggar genom att göra en revolutionerande förändring, men genom att använda programvara som  redan används . Rekonstruktionsprocessen beskrivs av Chikowski och Cross i deras 1990-dokument, [1] som "Undersökningen och ändringen av ett system för att återskapa det i en ny form". I mindre formella termer är reengineering modifiering av ett mjukvarusystem efter att det har omvänt konstruerats .

Komplexiteten i omstrukturering

Som regel står det att "det är lättare att utveckla en ny mjukvaruprodukt". Detta beror på följande problem:

  1. omkonstruktion är oftast dyrare än att utveckla ny programvara , eftersom det krävs för att ta bort begränsningarna för tidigare versioner, samtidigt som kompatibiliteten med dem bibehålls ;
  2. omarbetning kan inte utföras av en programmerare med låga och medelhöga kvalifikationer - även proffs kan ofta inte implementera det på ett kvalitetsmässigt sätt, därför krävs det arbete av programmerare med lång erfarenhet av omarbetning av program och kunskap om olika teknologier[ specificera ] ;
  3. det kan vara svårt för en utvecklare att förstå någon annans källkod  - detta tvingar dem att anpassa sig till uppfattningen av en obekant programmeringsstil , spenderar tid på en omfattande analys och behärskar koncepten som implementeras i projektet, tredjepartsbibliotek som används i det , kräver noggrant utforskande av funktionsprincipen för alla dåligt dokumenterade kodsektioner - och allt detta komplicerar bara processen för produktövergång till nya arkitektoniska lösningar ;
  4. dessutom kräver själva verksamheten ytterligare motivation : i jämförelse med skapandet av nya produkter ger bearbetningen av befintliga inte alltid samma visuella och imponerande resultat, väger ofta ner bördan av tekniska skulder och lämnar lite utrymme för professionellt självuttryck.

Samtidigt, om programmet från början hade en strikt och tydlig arkitektur, kommer omstrukturering att vara en storleksordning lättare. Därför, när man designar, analyseras som regel vad som kommer att vara mer lönsamt - att börja bearbeta materialet från det tidigare projektet eller att utveckla en liknande mjukvaruprodukt från grunden.

Se även

Anteckningar

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

Länkar