Presents a plan of strategic maintenance to transform and better align software with the business goals of a companyDemonstrates how to use XML-based tools to enhance productivityExplains how to use metaprogramming techniques to improve component-based systemsExamines model-based tool design for static program analysis and business-process reengineering With software maintenance costs averaging 50% of total computing costs, it is necessary to have an effective maintenance program in place. Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reverse engineering tools, and reengineering tools in-depth and explains the best ways to deploy them. It also discusses using XML-based tools, the roles of software components, object technology, and metaprogramming in improving systems maintenance, as well as how to align software with business goals through strategic maintenance.