6. 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
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
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
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
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
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
16. 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,
18. 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
19. 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
20. 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