SWE 408 Selected Topics in SWE Lecture 2
SWE 408 Selected Topics in SWE Lecture 2
SWE 408
Lecture 2
Reference: Ian Sommerville, Software Engineering, Tenth Edition, Pearson Education Limited, England, 2016.
Legacy Systems
Legacy systems: are older systems that are still in use in business.
▪ might rely on languages and technologies that are no longer used,
▪ have been maintained much over a long period,
▪ their structure may have been degraded by the changes that have been made.
Challenges faced on Legacy systems:
• impossible to change to effective business processes: because the legacy software
cannot be modified to support new processes.
• Skill shortages for maintaining business legacy systems.
• Existence of security vulnerabilities: because legacy systems were developed
before the Internet, so no preventive programs exist
• Problems in interfacing with systems written in modern programming languages.
• Original software supplier may be out of business or may no longer maintain the
2
older software,
• The system hardware may be obsolete or expensive to maintain.
Legacy Systems
Reasons why it is expensive and risky to replace legacy systems:
• A complete specification of the legacy system might not exist, or might not be updated,
• Important business rules may be embedded in the software only and may not be
documented
• A new system may not be delivered on time and for the price expected
Most organizations have a limited budget for maintaining and upgrading legacy systems.
They have to decide how to get the best return on their investment from existing systems.
Recommendation: making a realistic assessment of legacy systems and then deciding on
the most appropriate strategy for evolution.
3
Legacy Systems Management
Four strategic options to assess legacy systems:
1. Scrap the system completely (Never use the system again and get another system):
chosen when:
- the existing system is not making an effective contribution to business processes
- business processes have changed since the system was first installed and are no
longer rely on the legacy system.
2. Leave the system unchanged and continue with regular maintenance: chosen when:
- the system is still required but is fairly stable
- the system users make relatively few change requests.
3. Reengineer the system to improve its maintainability: chosen when:
- the system quality has been degraded by change
- new change to the system is still being proposed.
• It is recommended to develop new interface components in existing systems to other 4
newer systems
Legacy Systems Management
4. Replace all or part of the system with a new system (ex.: Upgrade the system):
chosen when:
- some factors, such as new arising hardware make that the old system cannot
continue in operation,
- adopting off-the-shelf systems makes a new system to be developed at a
reasonable cost
• It is recommended that major legacy system’s components are replaced by off-the-shelf
system’s components
5
Assessing Legacy Systems
Business value of a system: is a measure of how much time and effort the system saves
compared to manual processes or the use of other systems.
Ex.: A legacy system may still be used, but there is no real point in keeping it—
the same functionality is available from external systems.
6
Assessing Legacy Systems: Business value - Quality
7
Figure 4: An example of a legacy system assessment
Assessing Legacy Systems: Business value - Quality
9
Assessing Legacy Systems: Operation environment - Application
To assess a software system from a technical perspective: consider both the application
system and the operation environment.
• Consider these factors when assessing operation environment:
10
12