Group Members
 Ali Raza Saleem
 Haf iz Abdul Rehman
 Mobeen-ur-Rehman
 Asad Mirza
Source code translation
Reverse Engineering
Software Re-
engineering
Software re-engineering
 Reor ganising and modif ying
exist ing sof t war e syst ems t o
make t hem more maint ainable
Topics covered
 Source code t ranslat ion
 Reverse engineering
System re-engineering
 Re-st ruct ur ing or r e-writ ing par t or
all of a
legacy syst em wit hout changing it s
f unct ionalit y
 Applicable wher e some but not all
sub-syst ems
of a lar ger syst em r equire f r equent
maint enance
 Re-engineering involves adding ef f ort
t o make
t hem easier t o maint ain. The syst em
When to re-engineer
 When syst em changes are most ly
rest r ict ed t o
par t of t he syst em t hen r e-engineer
t hat par t
 When har dware or sof t war e suppor t
becomes
out -dat ed
Re-engineering advantages
 Reduced risk
 There is a high r isk in new sof t ware
development . Ther e may be
development problems, st af f ing
pr oblems and specif icat ion problems
 Reduced cost
 The cost of re-engineering is of t en
Business process re-
engineering
 Concerned wit h r e-designing business
pr ocesses t o make t hem mor e responsive
and mor e ef f icient
 Of t en r eliant on t he int roduct ion of new
comput er syst ems t o suppor t t he
revised pr ocesses
 May f or ce sof t war e r e-engineering as
Forward engineering and re-
engineering
The re-engineering process
Re-engineering cost factors
 The qualit y of t he sof t war e t o be r e-
engineer ed
 The t ool support available f or r e-
engineer ing
 The ext ent of t he dat a conver sion
which is r equir ed
Re-engineering approaches
Source code translation
 I nvolves conver t ing t he code f r om one
language (or language version) t o
anot her e.g. FORTRAN t o C
 May be necessary because of :
 Hardware plat f orm updat e
 St af f skill short ages
 Organisat ional policy changes
The program translation
process
Reverse engineering
 Analysing sof t war e wit h a view t o
under st anding it s design and
specif icat ion
 May be part of a re-engineer ing process
but may also be used t o re-specif y a
syst em f or re-implement at ion
 Pr ogr am under st anding t ools (browsers,
The reverse engineering
process
Reverse engineering
 Rever se engineer ing of t en pr ecedes re-
engineer ing but is somet imes wort hwhile
in it s own right
 The design and specif icat ion of a syst em
may be reverse engineered so t hat t hey can
be an input t o t he requirement s
specif icat ion process f or t he syst em’s
replacement
Key points
 The obj ect ive of re-engineering is t o improve t he
syst em st ruct ure t o make it easier t o underst and and
maint ain
 The re-engineering process involves source code
t ranslat ion, reverse engineering, program st ruct ure
improvement , program modularisat ion and dat a re-
engineering
 Source code t ranslat ion is t he aut omat ic conversion of
of program in one language t o anot her
Key points
 Reverse engineering is t he process of deriving t he
syst em design and specif icat ion f rom it s source code
 Program st ruct ure improvement replaces unst ruct ured
cont rol const ruct s wit h while loops and simple
condit ionals
 Program modularisat ion involves reorganisat ion t o group
relat ed it ems
 Dat a re-engineering may be necessary because of
inconsist ent dat a management
Software Re-engineering Forward & Reverse Engineering

Software Re-engineering Forward & Reverse Engineering

  • 2.
    Group Members  AliRaza Saleem  Haf iz Abdul Rehman  Mobeen-ur-Rehman  Asad Mirza
  • 3.
    Source code translation ReverseEngineering Software Re- engineering
  • 4.
    Software re-engineering  Reorganising and modif ying exist ing sof t war e syst ems t o make t hem more maint ainable
  • 5.
    Topics covered  Sourcecode t ranslat ion  Reverse engineering
  • 6.
    System re-engineering  Re-struct ur ing or r e-writ ing par t or all of a legacy syst em wit hout changing it s f unct ionalit y  Applicable wher e some but not all sub-syst ems of a lar ger syst em r equire f r equent maint enance  Re-engineering involves adding ef f ort t o make t hem easier t o maint ain. The syst em
  • 7.
    When to re-engineer When syst em changes are most ly rest r ict ed t o par t of t he syst em t hen r e-engineer t hat par t  When har dware or sof t war e suppor t becomes out -dat ed
  • 8.
    Re-engineering advantages  Reducedrisk  There is a high r isk in new sof t ware development . Ther e may be development problems, st af f ing pr oblems and specif icat ion problems  Reduced cost  The cost of re-engineering is of t en
  • 9.
    Business process re- engineering Concerned wit h r e-designing business pr ocesses t o make t hem mor e responsive and mor e ef f icient  Of t en r eliant on t he int roduct ion of new comput er syst ems t o suppor t t he revised pr ocesses  May f or ce sof t war e r e-engineering as
  • 10.
    Forward engineering andre- engineering
  • 11.
  • 12.
    Re-engineering cost factors The qualit y of t he sof t war e t o be r e- engineer ed  The t ool support available f or r e- engineer ing  The ext ent of t he dat a conver sion which is r equir ed
  • 13.
  • 14.
    Source code translation I nvolves conver t ing t he code f r om one language (or language version) t o anot her e.g. FORTRAN t o C  May be necessary because of :  Hardware plat f orm updat e  St af f skill short ages  Organisat ional policy changes
  • 15.
  • 16.
    Reverse engineering  Analysingsof t war e wit h a view t o under st anding it s design and specif icat ion  May be part of a re-engineer ing process but may also be used t o re-specif y a syst em f or re-implement at ion  Pr ogr am under st anding t ools (browsers,
  • 17.
  • 18.
    Reverse engineering  Reverse engineer ing of t en pr ecedes re- engineer ing but is somet imes wort hwhile in it s own right  The design and specif icat ion of a syst em may be reverse engineered so t hat t hey can be an input t o t he requirement s specif icat ion process f or t he syst em’s replacement
  • 19.
    Key points  Theobj ect ive of re-engineering is t o improve t he syst em st ruct ure t o make it easier t o underst and and maint ain  The re-engineering process involves source code t ranslat ion, reverse engineering, program st ruct ure improvement , program modularisat ion and dat a re- engineering  Source code t ranslat ion is t he aut omat ic conversion of of program in one language t o anot her
  • 20.
    Key points  Reverseengineering is t he process of deriving t he syst em design and specif icat ion f rom it s source code  Program st ruct ure improvement replaces unst ruct ured cont rol const ruct s wit h while loops and simple condit ionals  Program modularisat ion involves reorganisat ion t o group relat ed it ems  Dat a re-engineering may be necessary because of inconsist ent dat a management