Automatic Identification of Reusable Software Development Assets: Methodology and Tool

Software reuse is seen as one of the main alternatives to increase productivity in the development of new applications. The reuse of legacy assets plays a vital role anticipating the ROI (Return on Investment) on SOA (Service Oriented Architecture) and reuse enterprise programs. This paper presents a tool that implements an Automatic Identification of Software Components (AISC). AISC is an approach that brings to light what companies have already developed by applying reuse indicators with sophisticated mechanisms to identify artifacts that can be considered as reusable assets. Thus, they will have the potential of being reused in new applications, avoiding redevelopment of already existing features, enabling savings and increasing agility. Other tool features are the process of reusable assets analysis and harvesting. This is an interactive graphic visualization of the results and an export mechanism of the identified assets through a widely adopted Metadata Representation Model.

[1]  Marcilio Silva Oliveira,et al.  DigitalAssets manager,: sharing and managing software development assets , 2006, OOPSLA '06.

[2]  Jean-Francois Girard,et al.  Finding components in a hierarchy of modules: a step towards architectural understanding , 1997, 1997 Proceedings International Conference on Software Maintenance.

[3]  Ali A. Yassine,et al.  An Introduction to Modeling and Analyzing Complex Product Development Processes Using the Design Structure Matrix (DSM) Method , 2001 .

[4]  Ivica Crnkovic,et al.  Component-based software engineering: building systems from components at 9th IEEE conference and workshops on engineering of computer-based systems , 2002, SOEN.

[5]  Vineet Sinha,et al.  Using dependency models to manage complex software architecture , 2005, OOPSLA '05.

[6]  Pearl Brereton,et al.  Component-Based Systems: A Classification of Issues , 2000, Computer.

[7]  Nasib S. Gill,et al.  Importance of software component characterization for better software reusability , 2006, SOEN.

[8]  Erhard Plödereder,et al.  Bauhaus - A Tool Suite for Program Analysis and Reverse Engineering , 2006, Ada-Europe.

[9]  Alain Wegmann,et al.  A Systems Perspective on the Quality Description of Software Components , 2002 .

[10]  Barry W. Boehm,et al.  Managing Software Productivity and Reuse , 1999, Computer.

[11]  Anne Rogers,et al.  Visualizing and Analyzing Software Infrastructures , 2001, IEEE Softw..

[12]  Spiros Mancoridis,et al.  On the automatic modularization of software systems using the Bunch tool , 2006, IEEE Transactions on Software Engineering.