Page 302 -
P. 302

10.5   System operation  285




                               Legacy systems

                        Legacy systems are sociotechnical computer-based systems that have been developed in the past, often using
                        older or obsolete technology. These systems include not only hardware and software but also legacy processes
                        and procedures—old ways of doing things that are difficult to change because they rely on legacy software.
                        Changes to one part of the system inevitably involve changes to other components. Legacy systems are often
                        business-critical systems. They are maintained because it is too risky to replace them.
                                            http://www.SoftwareEngineering-9.com/LegacySys/




                                         System evolution, like software evolution (discussed in Chapter 9), is inherently
                                       costly for several reasons:


                                       1.  Proposed changes have to be analyzed very carefully from a business and a tech-
                                          nical perspective. Changes have to contribute to the goals of the system and
                                          should not simply be technically motivated.
                                       2.  Because subsystems are never completely independent, changes to one subsys-
                                          tem may adversely affect the performance or behavior of other subsystems.
                                          Consequent changes to these subsystems may therefore be needed.

                                       3.  The reasons for original design decisions are often unrecorded. Those responsi-
                                          ble for the system evolution have to work out why particular design decisions
                                          were made.
                                       4.  As systems age, their structure typically becomes corrupted by change so the
                                          costs of making further changes increases.

                                       Systems that have evolved over time are often reliant on obsolete hardware and soft-
                                       ware technology. If they have a critical role in an organization, they are known as
                                       ‘legacy systems’. These are usually systems that the organization would like to
                                       replace but don’t do so as the risks or costs of replacement cannot be justified.
                                         From a dependability and security perspective, changes to a system are often a
                                       source of problems and vulnerabilities. If the people implementing the change are dif-
                                       ferent from those who developed the system, they may be unaware that a design deci-
                                       sion was made for dependability and security reasons. Therefore, they may change the
                                       system and lose some safeguards that were deliberately implemented when the system
                                       was built. Furthermore, as testing is so expensive, complete retesting may be impossi-
                                       ble after every system change. Adverse side effects of changes that introduce or
                                       expose faults in other system components may not then be discovered.
   297   298   299   300   301   302   303   304   305   306   307