Legacy Systems <ul><li>What is meant by a legacy system? </li></ul><ul><li>What it is / what it is not </li></ul><ul><li>W...
An actual business example <ul><li>From Fall, 1992 to Summer, 1996: Working on the TMS/AMS System for PECO Energy </li></u...
Historical Perspective (ca. 1992)   <ul><li>The only GUI environments were Windows 3.11, Macintosh OS’s, and IBM’s OS/2. <...
The “legacy” <ul><li>An IBM OS/2 platform. (still, not true GUI) </li></ul><ul><li>Used IBM’s OS/2 network solution </li><...
From Somerville p. 582: <ul><li>Replacing a legacy system is a risky strategy for a number of reasons: </li></ul><ul><li>T...
Implementation <ul><li>Different parts of the system implemented by different parts of the team (Dynamic nature permitted ...
Implementation (cont.) <ul><li>The system may have been optimized for space utilization or execution speed (as previously ...
What made up the legacy? <ul><li>As a legacy system, TMS needed to be networked, and was benchmarked at using 604K memory:...
Legacy System  Structures  (26.1) <ul><li>System hardware (Legacy systems written for hardware systems not available anymo...
Legacy System Structures (26.1) (cont.) <ul><li>Application data (The data which are processed by the application system) ...
Legacy System Design (26.2)  <ul><li>Most are non- or pre-OO Development </li></ul><ul><ul><li>(TMS  tried  to go OOP with...
Legacy System Assessment (26.3) <ul><li>Organizations, which depend on these systems, must decide (realistically) on the c...
PECO’s Solution  <ul><li>Scrap the system? </li></ul><ul><ul><li>Auditors (PECO & the subcontractors) needed the data </li...
Upcoming SlideShare
Loading in …5
×

Legacy Systems

577
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
577
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Legacy Systems

  1. 1. Legacy Systems <ul><li>What is meant by a legacy system? </li></ul><ul><li>What it is / what it is not </li></ul><ul><li>Why is it critical to business operations? </li></ul><ul><li>Function-oriented design </li></ul><ul><li>Assessing legacy systems </li></ul><ul><ul><li>discard it? </li></ul></ul><ul><ul><li>maintain it? </li></ul></ul><ul><ul><li>re-engineer it? </li></ul></ul><ul><ul><li>replace it? </li></ul></ul>
  2. 2. An actual business example <ul><li>From Fall, 1992 to Summer, 1996: Working on the TMS/AMS System for PECO Energy </li></ul><ul><li>TMS – Task Managements System </li></ul><ul><ul><li>Tracking Labor and Materials for projects </li></ul></ul><ul><li>AMS – Asset Management System </li></ul><ul><ul><li>PC Based System that was re-written from a previous legacy system </li></ul></ul><ul><ul><ul><li>Mainframe NOMAD Database </li></ul></ul></ul>
  3. 3. Historical Perspective (ca. 1992) <ul><li>The only GUI environments were Windows 3.11, Macintosh OS’s, and IBM’s OS/2. </li></ul><ul><li>The only network lion-share leaders: Novell, Banyan </li></ul><ul><li>Computers of the day: </li></ul><ul><ul><li>20MB (up to 1GB for a server) </li></ul></ul><ul><ul><li>386 or 486 processing </li></ul></ul><ul><ul><li>640K Conventional memory (RAM) </li></ul></ul>
  4. 4. The “legacy” <ul><li>An IBM OS/2 platform. (still, not true GUI) </li></ul><ul><li>Used IBM’s OS/2 network solution </li></ul><ul><li>Loaded the network software high, so 604K was available for the system “in that session” </li></ul>
  5. 5. From Somerville p. 582: <ul><li>Replacing a legacy system is a risky strategy for a number of reasons: </li></ul><ul><li>There is rarely a complete specification of the legacy system. </li></ul><ul><ul><ul><li>OJT, User testing of specific code, etc. </li></ul></ul></ul><ul><li>Business processes and legacy systems are often entwined </li></ul><ul><ul><ul><li>For PECO: It was a necessary part of operations (it tracked hours spent on a job, billing for the job, materials, miscellaneous labor, and miscellaneous overhead.) </li></ul></ul></ul><ul><li>Business rules may be embedded in the software of the legacy system </li></ul><ul><ul><ul><li>The PECO way </li></ul></ul></ul><ul><li>There may be unexpected problems with the new development of software to replace a legacy system </li></ul>
  6. 6. Implementation <ul><li>Different parts of the system implemented by different parts of the team (Dynamic nature permitted me to add new reports to the reporting library) </li></ul><ul><li>Part or all of the system may be implemented using an obsolete programming language (Clipper 5.0) </li></ul><ul><li>System documentation is often inadequate or obsolete. (or non-existent) </li></ul><ul><li>Years of maintenance may have corrupted the system structure. (ad-hoc requests were rampant) </li></ul>
  7. 7. Implementation (cont.) <ul><li>The system may have been optimized for space utilization or execution speed (as previously outlined) </li></ul><ul><li>The data processed by the system may be maintained in different files that have incompatible structures (data subsets, flat files, etc.) </li></ul><ul><li>A potential work-around as TMS/AMS got bigger: divorce the two, as two separate programs </li></ul><ul><ul><li>The thought was that this would minimize the 604K requirements; not at all! </li></ul></ul>
  8. 8. What made up the legacy? <ul><li>As a legacy system, TMS needed to be networked, and was benchmarked at using 604K memory: </li></ul><ul><li>Written in: </li></ul><ul><ul><li>Clipper 5.0 (95% Clipper, 5% C) </li></ul></ul><ul><li>Database of choice: </li></ul><ul><ul><li>dBASE </li></ul></ul><ul><li>External Reporting: </li></ul><ul><ul><li>Report Writer 5.0 </li></ul></ul>
  9. 9. Legacy System Structures (26.1) <ul><li>System hardware (Legacy systems written for hardware systems not available anymore) </li></ul><ul><ul><li>IBM PS/2 Series </li></ul></ul><ul><li>Support software (Legacy systems may rely on supporting software) </li></ul><ul><ul><li>RR and OS/2 </li></ul></ul><ul><li>Application software (The application relies on a series of interconnected programs) </li></ul><ul><ul><li>Clipper & C, RR, dBASE </li></ul></ul>
  10. 10. Legacy System Structures (26.1) (cont.) <ul><li>Application data (The data which are processed by the application system) </li></ul><ul><ul><li>Terminal data entry </li></ul></ul><ul><ul><li>Files grew quickly, and wastefully </li></ul></ul><ul><li>Business Process (The business objective) </li></ul><ul><ul><li>Tracking the labor, materials and assets </li></ul></ul><ul><li>Business policies and rules (How business was done at PECO) </li></ul><ul><ul><li>Billing codes, constraints, overrides </li></ul></ul>
  11. 11. Legacy System Design (26.2) <ul><li>Most are non- or pre-OO Development </li></ul><ul><ul><li>(TMS tried to go OOP with class(y)) </li></ul></ul><ul><li>Conforms to a function-oriented design (broken down into reusable components) </li></ul><ul><ul><li>this can cause problems: too many programmers dilute the code. Integrity is violated </li></ul></ul><ul><ul><li>it is only successful when information sharing is explicit </li></ul></ul>
  12. 12. Legacy System Assessment (26.3) <ul><li>Organizations, which depend on these systems, must decide (realistically) on the course to follow on their system </li></ul><ul><li>Assessment: </li></ul><ul><ul><li>Scrap the system completely </li></ul></ul><ul><ul><li>Continue maintaining the system </li></ul></ul><ul><ul><li>Transform the system in some way to improve its maintainability </li></ul></ul><ul><ul><li>Replace the system with a new system </li></ul></ul>
  13. 13. PECO’s Solution <ul><li>Scrap the system? </li></ul><ul><ul><li>Auditors (PECO & the subcontractors) needed the data </li></ul></ul><ul><li>Continue maintaining the system? </li></ul><ul><ul><li>The company was moving away from OS/2 </li></ul></ul><ul><li>Transform the system in some way to improve its maintainability? </li></ul><ul><ul><li>Had been tried, unsuccessfully </li></ul></ul><ul><li>Replace the system with a new system? </li></ul><ul><ul><li>Spring 1997, a new team came in to re-write TMS using VBA (Visual Basic for Applications)   </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×