Transition to a Legacy- and Reuse-Based Software Life Cycle

Augmenting domain engineering with legacy software reengineering can help an organization move into the software reuse mode. We present a generalized model of the software life-cycle that explicitly recognizes the critical contribution of legacy software to the attainment of software production from reusable software components. The model defines information products of the software life-cycle, denoted as states, leaving the choice of processes for moving between states open to various methodologies. Then we describe alternative methodologies for transitioning from current practices to the new software life-cycle. This includes evaluation criteria for enabling an informed decision concerning the selection of a transition methodology. Finally, the key to making the alternative transition methodologies feasible is the supporting automated environments. Our experience at integrating automated environments helps us to illustrate the transitions to, and operation within, the proposed software life-cycle. >