Thursday, June 3, 2010

Software Modernization through Componentization

As David L. Parnas in his article Software Aging stated:

Programs, like people, get old. We can't prevent aging, but we can understand its causes, take steps to limit its effects, temporarily reverse some of the damage it has caused, and prepare for the day when the Software is no longer viable.

But how to cope with a legacy system? Is it even possible to renovate such a legacy system and if so, how?

Legacy System are hard to maintain because the systems structure tends to degrade over the years. Furthermore, legacy systems support functions as the structuring element. Today, systems are structured along components which contain functions.

So what's the idea behind Software Modernization through Componentization? The idea is to analyze existing functions of your legacy system and group them together to components. This task is called Componentization.

After the Componentization you need to analyze the worked out components. Are there any similarities in the component structures and the relationship between components? Any findings of this component analysis process will help you to define the formal component concept.

Once found an adequate formal component concept of your legacy system, you are able to manage your components. Doing so allows you to generate component interfaces.

These component interfaces allow you to define clear relations between components. They also make it easy to setup new functionality as managing components through a web gui (web enbaling) or providing access through services (SOA enabling).

No comments:

Post a Comment