Afkykontwerp[1] (ook truwaartse ontwerp of terugingenieuring) is dié proses waartydens 'n produk ondersoek word om te sien wat dit doen en die interne werking daarvan te bepaal. Die kuberwoordeboek verklaar die term soos volg: reverse engineer [v] terugingenieur, teruggenieur, demonteer en rekonstrueer, ontrafel; reverse engineering [n] truwaartse ontwerp, terugingenieuring, teruggenieuring, omgekeerde ontwikkelingwerk, ontrafeling; dekompilering (bv. van programmatuur). Volgens Pharos se English-Afrikaans Woordeboek: "reverse engineering 1. omgekeerde ontwikkelingswerk, demontering en rekonstruering; 2. (in rekenaarwese) ontmanteling (van programkodes). Die proses behels meestal dat die produk uitmekaargehaal (gedemonteer) word om die komponente te bepaal en die werking daarvan te ontleed. Dit word soms gedoen om 'n mededingende produk te skep (rekonstruering).
'n Bekende voorbeeld is Compaq se eerste persoonlike rekenaar. Hulle kon nie IBM se BIOS-vlokkie kopieer sonder om hulself aan kopiereg-wetgewing skuldig te maak nie. Deur truwaartse ontwerp op 'n IBM-PC se BIOS-vlokkie toe te pas, kon hulle daarin slaag om 'n Compaq-rekenaar te bou wat soos 'n IBM-PC funksioneer. As gevolg hiervan kon dieselfde sagteware op die Compaq-PC loop. Die prys van die rekenaar was egter laer as dié van IBM PC. Hierdie metode is deur talle ander maatskappye toegepas, soveel so dat die meeste rekenaars deesdae gekloonde IBM-rekenaars is.
Afkykontwerp is 'n wettige manier van ontwikkeling, maar moet (dikwels) onder streng wetlike voorwaardes plaasvind. As voorbeeld, 'n ingenieur wat geen kennis van die oorspronklike produk het nie moet, aan die hand van die instruksies wat deur die party wat die truwaartse ontwerp toegepas het, die produk weer inmekaar sit.
Die lisensievoorwaardes van kommersiële sagteware verbied meestal die dekompilering, uitmekaarhaal of terugingenieuring daarvan.[2]