Focus: A Light-Weight, Incremental Approach to Software Architecture Recovery and Evolution

  • Authors:
  • Lei Ding;Nenad Medvidovic

  • Affiliations:
  • -;-

  • Venue:
  • WICSA '01 Proceedings of the Working IEEE/IFIP Conference on Software Architecture
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

During the past decade, object-orientation (OO) has become the dominant software development methodology, accompanied by a number of modeling notations, programming languages, and development environments. OO applications of today are increasingly complex and user-driven. They are also developed more rapidly and evolved more frequently than was the case with software systems of the past. All of these factors contribute to a plethora of potential problems when maintaining and evolving an OO application. These problems are caused by architectural erosion, where the initial architecture of an application is (arbitrarily) modified to the point where its key properties no longer hold. We propose an approach, called Focus, whose goal is to enable effective evolution of such an application with minimal effort, by recovering its architecture and using it as the basis of evolution. Focus allows engineers to direct their primary attention to the part of the system that is directly impacted by the desired change; subsequent changes will incrementally uncover additional parts of the system's architecture. We have applied Focus to four off-the-shelf applications to date. We discuss its key strengths and point out several open issues that will frame our future work.