N-MODEL METHODOLOGY FOR ENHANCEMENT OF OBJECT-ORIENTED SOFTWARE
Abstract
Software maintenance typically consumes an average of 60\% of software life costs, of which more than 60\% are spent on enhancements. These are a challenge for the software community, in which hundreds of millions of lines of legacy code need to be modified during enhancement maintenance. Unfortunately, our extensive literature survey and industrial experiences show that there is a lack of a systematic methodology for software reengineering and for enhancement. As a consequence, software engineers use ad hoc approaches to enhance a legacy system. This dissertation presents an agile process, called the N-model process and methodology, for enhancing object-oriented legacy systems. The process consists of a release planning phase to quickly identify release changes, followed by an iterative enhancement phase to implement the changes, and finally a formal system validation phase to ensure that the changes are properly incorporated. The methodology details the steps to perform these phases. This thesis has defined a set of three categories of ten metrics for evaluating an enhancement methodology, and applied them to evaluate our N-model methodology in comparison with ad hoc approaches for enhancing and evolving legacy systems. Although the experiment is limited in scope, it shows that the N-model methodology significantly outperforms ad hoc approaches.
Related items
Showing items related by title, author, creator and subject.
-
A Generic Stability And Control Tool For Flight Vehicle Conceptual Design: Aeromech Software Development
Coleman, Gary John (Aerospace Engineering, 2007-08-23)During the conceptual design (CD) phase, various solution concepts must, and should, be explored to select the best flight vehicle size and configuration in order to meet the mission requirements. As the aerospace industry ... -
The Advantages Of Implementing Software Engineering Process Models
Preuninger, Ricky Don (Computer Science & Engineering, 2007-08-23)The North Atlantic Treaty Organization Science Committee had discussions on the topic concerned the state of Computer Science. There were worldwide issues with the development of software, the crisis being that software ... -
Software Capacity Planning: A Methodology For A Portfolio Of High Technology Product Development Projects
Malhotra, Rajiv (Industrial & Manufacturing Engineering, 2009-09-16)High technology product development projects make extensive use of engineering software during the product development process. The suite of engineering software tools deployed during product development represents a ...