0% found this document useful (0 votes)
3 views12 pages

Chapter 6

The document discusses software reengineering, focusing on automatic program restructuring and data re-engineering. It highlights challenges such as loss of comments, documentation, and issues with modularization, while outlining approaches to data re-engineering including data cleanup, extension, and migration. Additionally, it addresses common data problems like naming inconsistencies, field length issues, and data conversion complexities.

Uploaded by

hijaabsikander
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views12 pages

Chapter 6

The document discusses software reengineering, focusing on automatic program restructuring and data re-engineering. It highlights challenges such as loss of comments, documentation, and issues with modularization, while outlining approaches to data re-engineering including data cleanup, extension, and migration. Additionally, it addresses common data problems like naming inconsistencies, field length issues, and data conversion complexities.

Uploaded by

hijaabsikander
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 12

Software Reengineering

Automatic program
restructuring
Program to be Restructured
restructured program

Analyser and Program


graph builder generator

Graph
representation
Restructuring problems
• Problems with re-structuring are:
• Loss of comments
• Loss of documentation
• Heavy computational demands
• Restructuring doesn’t help with poor
modularisation where related components
are dispersed throughout the code
• The understandability of data-driven
programs may not be improved by re-
structuring
Program modularisation

• The process of re-organising a program


so that related program parts are
collected together in a single module
• Usually a manual process that is carried
out by program inspection and re-
organisation
Data re-engineering

• Involves analysing and reorganising


the data structures (and sometimes
the data values) in a program
• May be part of the process of
migrating from a file-based system
to a DBMS-based system or
changing from one DBMS to
another
• Objective is to create a managed
data environment
Approaches to data re-
engineering
Approach Description
Data cleanup The data records and values are analysed to improve their quality.
Duplicates are removed, redundant information is deleted and a consistent
format applied to all records. This should not normally require any
associated program changes.
Data extension In this case, the data and associated programs are re-engineered to remove
limits on the data processing. This may require changes to programs to
increase field lengths, modify upper limits on the tables, etc. The data itself
may then have to be rewritten and cleaned up to reflect the program
changes.
Data migration In this case, data is moved into the control of a modern database
management system. The data may be stored in separate files or may be
managed by an older type of DBMS.
Data problems

• End-users want data on their desktop


machines rather than in a file system. They
need to be able to download this data from
a DBMS
• Systems may have to process much more
data than was originally intended by their
designers
• Redundant data may be stored in different
formats in different places in the system
Program 1 Program 2 Program 3

File 1 File 2 File 3 File 4 File 5 File 6

Program 4 Program 5 Program 6 Program 7

Becomes

Program 3 Program 4 Program 5 Program 6

Program 7
Program 2

Database
Data
describes Logical and
Program 1
management
physical migration
system
data models
Data problems

• Data naming problems


• Names may be hard to understand. The same data may
have different names in different programs
• Field length problems
• The same item may be assigned different lengths in
different programs
• Record organisation problems
• Records representing the same entity may be organised
differently in different programs
• Hard-coded literals
• No data dictionary
Data value
inconsistencies
Data inconsistency Description
Inconsistent default Different programs assign different default values to the same logical data
values items. This causes problems for programs other than those that created the
data. The problem is compounded when missing values are assigned a
default value that is valid. The missing data cannot then be discovered.
Inconsistent units The same information is represented in different units in different
programs. For example, in the US or the UK, weight data may be
represented in pounds in older programs but in kilograms in more recent
systems. A m ajor problem of this type has arisen in Europe with the
introduction of a single European currency. Legacy systems have been
written to deal with national currency units and data has to be converted to
euros.
Inconsistent validation Different programs apply different data validation rules. Data written by
rules one program may be rejected by another. This is a particular problem for
archival data which may not have been updated in line with changes to
data validation rules.
Inconsistent Programs assume some meaning in the way items are represented. For
representation example, some programs may assume that upper-case text means an
semantics address. Programs may use different conventions and may therefore reject
data which is semantically valid.
Inconsistent handling Some programs reject negative values for entities which must always be
of negative values positive. Others, however, may accept these as negative values or fail to
recognise them as negative and convert them to a positive value.
Data conversion

• Data re-engineering may involve


changing the data structure
organisation without changing the data
values
• Data value conversion is very expensive.
Special-purpose programs have to be
written to carry out the conversion
The data re-engineering
process
Program to be re-engineered Data
analysis

Entity name Data


modification re-formatting
Data Literal Default value Data
analysis replacement conversion conversion
Data definition Validation rule
re-ordering modification

Stage 1 Stage 2 Stage 3

Change summary tables Modified


data

You might also like