22-09-2012, 12:59 PM
A Critical Survey of Reusability Aspects for Component-Based Systems
1A Critical Survey.pdf (Size: 1.34 MB / Downloads: 21)
Abstract
The last decade has shown that object-oriented
concept by itself is not that powerful to cope with the rapidly
changing requirements of ongoing applications. Component-based
systems achieve flexibility by clearly separating the stable parts of
systems (i.e. the components) from the specification of their
composition. In order to realize the reuse of components effectively
in CBSD, it is required to measure the reusability of components.
However, due to the black-box nature of components where the
source code of these components are not available, it is difficult to
use conventional metrics in Component-based Development as these
metrics require analysis of source codes. In this paper, we survey
few existing component-based reusability metrics. These metrics
give a border view of component’s understandability, adaptability,
and portability. It also describes the analysis, in terms of quality
factors related to reusability, contained in an approach that aids
significantly in assessing existing components for reusability.
INTRODUCTION
THE last decade has shown that object-oriented technology
alone is not enough to cope with the rapidly changing
requirements of present-day applications. One of the reasons
is that, although object-oriented methods encourage one to
develop rich models that reflect the objects of the problem
domain, this does not necessarily yield software architectures
that can be easily adapted to changing requirements.
Moreover, today’s applications are large, complex and are not
integrated. Although they come packaged with a wide range
of features but most features can neither be removed,
upgraded independently or replaced nor can be used in other
applications. In particular, object-oriented methods do not
typically lead to designs that make a clear separation between
computational and compositional aspects [1].
COMPONENT BASED SOFTWARE DEVELOPMENT (CBSD)
CBSE is a paradigm that aims at constructing and designing
systems using a pre-defined set of software components
explicitly created for reuse. According to Clements [2], CBSE
embodies the “the ‘buy, don’t build’ philosophy”. He also
says about CBSE that “in the same way that early subroutines
liberated the programmer from thinking about details, CBSE
shifts the emphasis from programming to composing software
systems”. In Object-Oriented Programming (OOP) code is
reused in the form of objects, and several mechanisms such as
inheritance and polymorphism let the developer reuse these
objects in several ways. The principle is the same with CBSE,
but the focus is on reusing whole software components, not
objects.
REUSABILITY
Software programming is a hard design task, mainly due to
the complexity involved in the process. Nowadays this
complexity is increasing to levels in which reuse of previous
software designs are very useful to short cut the development
time. The main idea of software reuse is to use previous
software components to create new software programs. Thus
software reuse is software design, where previous components
are the building blocks for the generation of new systems. In
case of Component-based Development, software reuse refers
to the utilization of a software component C within a product
P, where the original motivation for constructing C was other
than for use in P. In other words, reuse is the process of
adapting a generalized component to various contexts of use.
The idea of reusing software embodies several advantages. It
improves productivity, maintainability, portability and quality
of software systems. A reusable component can be seen as a
box, which contains the code and the documentation [11].
CONCLUSION
In this paper we survey different aspects of reusability for
component-based systems. The paper gives an insight view of
various reusability metrics for component-based systems. The
work proposed here can be used by researchers for further
study and empirical validation of these existing metrics for
CBS. Also, some new enhanced metrics can be proposed and
empirically validated on the basis of the work already done by
researchers in this area.