Lecture 02- Strategies to modernize legacy systems.pdf

AleenaJamil4 6 views 19 slides Oct 29, 2025
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

Strategies to modernize legacy systems


Slide Content

RE-ENGINEERING TECHNIQUESTOMODERNIZE
LEGACYSYSTEMS

WHAT IS LEGACY SYSTEM?
Alegacysystemisanyoutdatedcomputingsystem,hardwareorsoftwarethatisstillinuse.
Legacysystemsincludecomputerhardware,softwareapplications,fileformats
andprogramminglanguages.However,notalllegacysystemsareobsoletetechnologies.
Mostlegacysystemsworkeveniftheyareoutdated,andenterpriseswilloftencontinueusing
legacysystemsthatarecriticaltotheirdailyfunctionsandbusinessneeds.

TECHNOLOGIES BECOMELEGACYFORTHE
FOLLOWINGREASONS:
•Theynolongerreceiveupdates,supportormaintenancefromtheirsoftwaredevelopersor
creators.
•Theyarenolonger availablefor purchaseordependonobsoletetechnologytorunand
maintain.
•Inthecaseofhardwaresuchasmainframes,theyarenolongerabletosupportan
organization'ssoftware.
•Repairstaketoolongcomparedwithnewsystems.
•Maintenancecostsbecometooexcessivetocontinue.

WHATISLEGACYAPPLICATION?
Alegacyapplication,orlegacyapp,isasoftwareprogramthatisoutdatedor
obsolete.Althoughalegacyappstillworks,itmightbeunstablebecauseof
compatibilityissueswithcurrentoperatingsystems(OSes),browsersandIT
infrastructures.

TYPESOFLEGACYSYSTEMS
Thefollowingarefourcommontypesoflegacy systems:
•Endoflife(EOL).EOLlegacysystemsareonesthatavendorordeveloperhasstopped
supportingorofferingupdatesfor,orthatarenolongerpurchasable.
•Inabilitytoscale.Theselegacysystems nolongerhavethescalabilitytosupporta
business'sgrowingdata,performanceorsecurityneeds.
•Heavilypatchedsoftware.Alotoflegacysoftwareisoutdatedsoftwarethathasbeen
extensivelypatchedinthepasttokeepituptodate.Extensivepatching--andespecially
incompletepatching--canmakesoftwaremorevulnerabletosecuritybreachesthan
modernapplicationsandleadtoitsdiscontinuation.
•Nooneknowshowtomaintainit.Alotoflegacysystems requireoutdatedknowledgeto
maintain.This makesitdifficultandcostlytofindanITexpertwhoknows howtomaintainit.

WHYARE LEGACYSYSTEMS AND APPLICATIONS
STILLUSED?
Organizationscontinue touselegacysystemsandapplicationsforthefollowingreasons:
•Theystillwork.Manylegacysystemsandapplicationsworkandareimportanttoa
business'sdailyfunctions.Replacingsystemsandtechnologiesthatstillworksimply
becausetheyareoutdatedisnotalwaysnecessary.
•Costs.Thecostofreplacingalegacysystemorapplicationcanbehigh.Whilemaintaining
legacysystemscancostenterprisesmoremoneylong-term,someorganizationsdonot
havetheimmediateresourcestomodernizetheirsystems.Upgradingcanalsorequirelong
periodsoftime,retrainingstafforhiringstafftolearnandintegratethenewtechnologies.
Someorganizationsalsokeepoutdatedsystemsbecausetheyhavenotyetrecoveredthe
investmentforthem.
•Complexitiesandchallenges.Modernizinglegacysystemscanbecomplexundertakings.
Someorganizationsdon'thavetheskillsettomodernizetheirsystemsandtohandlethe
challengesthatcancomewithdoingso.Servicedelays,datalossandpooruser
experiencecanalsoresultfrommigrations.

RISKSOFKEEPINGLEGACYSYSTEMSAND
APPLICATIONS
•Thereareseveralrisksassociatedwithkeepinglegacysystemsandapplications,including
thefollowing:
•Maintenanceandoperatingcosts.Manyorganizationskeeplegacysystems
andapplicationsbecauseofthehighcostsofreplacingthem.However,
maintaininglegacytechnologiesoverthelongtermcanbeexpensive.Legacysystems
won'tbeupdatedbytheirdevelopers.Asaresult,theyrequireongoingmaintenance
fromITteams.Overtime,thesecostscanoutweighthebenefitsofmaintainingthe
statusquo.

RISKSOFKEEPINGLEGACYSYSTEMSAND
APPLICATIONS
•Performance. When a vendor's software development team no longer supports an application,
it can be difficult for an operations team to keep the software running. As legacy systems age,
continuing to use them can result in slower performance, higher resource consumption, and
more frequent failures and crashes. Maintaining old technologies also prevents organizations
from taking advantage of new technologies and can weaken their competitive
advantage compared with more modernized competitors. Many legacy systems also cannot
integrate with newer systems, which can decrease functionality for organizations that have a
mix of old and new technologies.
•Data silos. A datasilo is a repository of data that cannot be integrated or shared with the
different branches of a business. Many legacy software systems cannot integrate with new
software, meaning that data stored on an older system within a business cannot be shared
with other departments using newer technology.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
•Legacy systems are old but critical software that organizations still rely on. To extend
their useful life or integrate with modern platforms, software re-engineering
techniques are applied.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
1. Source Code Analysis (First Step)
Definition: Examining the existing legacy code to understand structure, dependencies,
logic, and hidden issues.
Purpose:
•Identify redundant, dead, or duplicated code.
•Detect performance bottlenecks.
•Locate areas for refactoring.
•Understand undocumented parts of the system.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
2. Reverse Engineering
Definition: Process of analyzing the legacy system to extract design, architecture, and
business rules.
•Converts low-level code → high-level representation (e.g., UML diagrams).
•Helps developers understand "what" the system does before modernization.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
3. Restructuring
Definition: Improving the internal structure of code without changing external behavior.
Techniques:
•Refactoring (improve readability & maintainability).
•Modularization (breaking a monolithic system into modules).
•Code normalization (consistent naming, formatting).
Benefit:
•Makes legacy system easier to maintain and extend.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
4. Refactoring
•Small, incremental code improvements for readability, performance, and scalability.
Examples:
•Replacing nested loops with efficient algorithms.
•Eliminating duplicate functions.
•Improving variable/method naming.
•Often combined with automated testing to ensure no new bugs are introduced.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
5. Data Re-engineering
•Modernizing databases used by legacy systems.
Steps:
•Schema restructuring (optimize tables, relationships).
•Data migration (move from outdated DBMS to modern DBMS).
•Cleansing inconsistent or redundant data.
Example:
•Moving from Oracle Forms DB to MySQL/PostgreSQL or NoSQL (MongoDB).

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
6. Forward Engineering (Re-implementation)
•After reverse engineering, → system can be rebuilt in modern technologies.
Example:
•Re-implementing COBOL legacy code in Java, Python, or .NET.
•This can also involve moving from a monolithic → microservices architecture.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
7. Wrapping / Encapsulation
•Instead of rewriting the whole system, put a wrapper (API) around legacy code.
•Allows old system to communicate with modern apps (mobile, web, cloud).
Example:
Wrapping a COBOL payroll system with REST APIs so it works with HR software.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
8. Migration to Cloud / Microservices
•Breaking down monolithic legacy applications into independent microservices.
•Deploying parts of the system on cloud platforms (AWS, Azure, GCP).
•Improves scalability, performance, and maintenance.

BASIC TECHNIQUES TO MODERNIZE LEGACY
SYSTEMS
9. Automated Code Transformation
•Tools convert old code (e.g., COBOL, FORTRAN, VB6) into modern languages (e.g., Java,
C#, Python).
•Often used when manual rewriting is too costly.
Tags