Legacy Software

 

                   Legacy Software



Hundreds of thousands of computer program fall into one of the seven broad application domains discussed in previous section in this software engineering tutorials. Some- of-the-software- just released to individuals, industry and government. But other programs are older; in some much older. These older programs- often referred to as legacy software- have been the focus of continuous attention since 1960s. Dayani-Fard and his colleagues describe legacy software in the following way:

{tocify} $title= {Table of Contents}

Legacy software systems 

Legacy software were developed decades ago and have been continually modified to meet changes in business requirements and computing platform. The proliferation of such systems in causing headaches for large organizations who find them costly to maintain and risky to evolve.

Liu and his colleagues extend this description by nothing that “many legacy systems remain supportive to core business functions and are ’indispensable’ to the business.” Hence, legacy software is characterized by longevity and business critically.

What do I do if I encounter a legacy system that exhibits poor quality?

Unfortunately, there is sometimes one additional characteristic that is present in legacy software—poor quality. Legacy systems sometimes have inextensible designs, convoluted code, poor or nonexistent documentation, test cases and results that were  never archived, a poorly managed change history—the list can be quite long. And yet, these systems support “core business functions and are indispensable to the business.” What to do?

What types of changes are made to legacy systems?

The only reasonable answer may be: Do nothing, at least until the legacy system must undergo some significant change. If the legacy software meets then needs of its users and runs reliably, it isn’t broken and does not need to be fixed. However, as time passes, legacy systems often evolve for one or more of the following reasons:

  •          The software must be adapted to meet the needs of new computing environments or technology.
  •           The software must be enhanced to implement new business requirements.
  •           The software must be extended to make it interoperable with other more modern systems or databases.
  • ·          The software must be re-architected to make it viable within a evolving computing environment.

Every software engineer must recognize that change is natural don’t try to light it

When these modes of evolution occur, a legacy system must be reengineered so that it remains viable into the future. The goal of modern software engineering is to “devise methodologies that are founded on the notion of evolution;” that is, the notion that software systems continually change, new software systems are built from the old ones, and . . . all must interoperate and cooperate with each other.”

Post a Comment (0)
Previous Post Next Post