Software
Reuse Strategies and Components Markets Critique
by
T. Ravichandran and Marcus A. Rothenberger
Submitted by Bhavani Prasad Sangannagari
Student ID : 990 02 0777
The
article discusses about software reuse strategies and various advantages and
risk involved using them. It highlights the importance of knowing the tradeoff
involved in using the various reuse strategies. It introduces a software based
paradigm about component-based development, focuses discussion over white-box
reuse, black-box reuse with in-house component level development and also with
components procured from the market, customization cost and acquisition cost,
decision tree model and about component markets. A component is a software
element, which is usable by developers who are not personally known to the
components author. Software modules that can be reused through code modification
is considered as white box reuse strategy. Software modules, which can be reused
as is or by modification of its interface parameters can be considered as black
box reuse. These modules used can be bought from in-house repository or from the
component markets. Customization cost represents the extent of notional distance
required to transform an artifact to meet the specific requirements at hand.
Acquisition cost estimates the effort required for the retrieval of required
artifacts. Choosing a particular strategy depend on cost estimates based on
minimum Euclidian distances obtained in n-dimensional space, which describe
project characteristics.
White box reuse strategy gives a lot of flexibility and allows high customization of code. Probability of reuse rate in short tem is higher due to capability of modifying existing components to suit new requirements. Customizing code can produce components with high quality. Black box reuse strategy saves a lot of development cost by making the component readily available. The repository for maintaining these components increases linearly and hence easy to maintain. The cost involved is low for customizing and searching since there are not many versions existing and involves with only modification of interface parameters. Black box components are easy to use and can easily be shared across many organizations. Acceptance of black box reuse strategy gains its importance with the growth of component markets. The contextual and domain distances defined for estimating customization cost along with search cost and component price under acquisition cost offer great help in choosing the required strategy.
White box reuse strategy requires high degree of familiarity with the code that can only be achieved by either availability of personnel familiar with the code or when the code is accompanied with excellent documentation. Component code modifications produce newer versions thereby increasing search cost and become difficult to maintain. There is an exponential growth in the repository. Black box reuse strategy lowers the chances of reuse because of the necessity to exactly match components to needs. Initial component development cost is higher because of the development of its generalized interfaces for reuse. Components quality would be unknown if bought from the market. Immature development of proper software component markets increases in the acquisition cost. Calculation of customization cost and acquisition cost is time consuming and not straight forward since determination of parameters for calculation of Euclidian distance depends upon the requirements.
Before the evolution of the paradigm, component based development white box reuse strategy was more common instead of black box reuse. CBD usage is encouraging the development of many commercial software component markets. Black box reuse strategy can be used to greatly decrease the duration of software development lifecycle. Availability of readymade software components can someway encourage interoperability between different platforms. With the rapid advancements in the technology and inconsistency generated due to evolution of new platforms, will it be possible for the component markets to survive? In that case will the components markets ever mature? Marketing of components involves several difficulties like product licensing, multiple uses of component by buyer, etc. Black Box reuse can only be considered as a silver bullet solution if components can be reused i.e. if the industry can effectively market components.