International Journal of Recent Technology and Engineering (IJRTE)
ISSN: 2277-3878, Volume-8 Issue-6, March 2020
1600
Retrieval Number: F7811038620/2020©BEIESP
DOI:10.35940/ijrte.F7811.038620
Published By:
Blue Eyes Intelligence Engineering
& Sciences Publication
Abstract: Reuse is the elementary and essential attribute of the
component-based software engineering. Reusability focuses on
building huge and complex software through assembling
pre-fabricated software constructs. In this paper, our emphasis is
on to analyze and quantify the two core notions of
component-based software, that is, reusability and interaction
behavior of the components with the goal of minimum complexity
generation. We analyse prominent works available in the
literature in the area of reuse and interaction complexities. We
Analyze and Estimate reusability complexities of components in
Component-Based Software Engineering and we propose efficient
and useful metrics to compute the reusability of components.
Reusability metrics are defined for individual components as well
as overall system level. Different types of components are defined
on the basis of their reusability, that is, components that can be
reused as it as, and tailored components. To define the metrics we
have used lines-of-code as the basic parameter due to its simplicity
and countability. We proposed a matrics which select the best
component on the basis LOC based complexity.We compare
IRMCcTotal-i matrics with SCCp metrics and SCCr metrics and
analyses that negative relationship between SCCp and
IRMCcTotal-i shows low portability and positive relationship
between SCCr and IRMCcTotal-i shows high portability.
Keywords: CBSE, Reusability, Interaction, Complexity metrics.
I. INTRODUCTION
As a process software engineering includes documentation,
design, program, test, and maintenance which can be
measured statistically. The prime requirement of this process
is to efficiently monitor the quality of software .Early
prediction of software cost and quality is important for better
software planning and controlling. In early development
phases, design complexity metrics are considered as useful
indicators of a software testing effort and some quality
attributes. Due to the appearance of certain factors that affect
the quality of software, many practitioners believe that there is
a direct relationship between internal attributes such as cost,
effort, LOC, speed or memory and external software product
attributes such as functionality, quality, complexity,
efficiency, reliability or maintainability [1]. For example, a
higher number of lines of code or code lines will lead to
greater software complexity and so on.
Revised Manuscript Received on February 24, 2020.
* Correspondence Author
Nidhi Mehra School of Computing Graphic Era Hill University,
Dehradun, India. E-mail: nidhigehu@gmail.com,
*Divya Kapil, School of Computing Graphic Era Hill University,
Dehradun, India. E-mail: divya.k.rksh@gmail.com
With the ever-increasing complexity of software applications
and reducing development time, the software quality and
trustworthiness have become an essential concern of the
software business. To deal with the software quality, its
development time and cost, a Component-Based Software
Development (CBSD) is the best approach to be adopted.
Component-Based Software Engineering (CBSE) is best
practice to reduce the complication of the process. The
primarily concerned behind the software development from
pre-developed modules is to implement the concept of
reusability in appropriate interacted manner. Its major
objective is to reduce the software development cost and time
by reusing available components, including third-party and
internal developed components. CBSD demands high quality
components to achieve its goals achieve its goals, which
requires effective reusability and interaction metrics.
Reusability
Implementing the concept of reusability means developing
software systems (or components) by assembling
prefabricated components. In order to identify prefabricated
components efficiently, a reusable quality base with results
from previous software development activities is needed.
The intention behind the concept of Component-Based
Software Development (CBSD) is to increase the basic
characteristic of software i.e reusability. CBSD is a software
engineering methodology that aims to design and develop
software systems using reusable components [ 2, 3, 4, 5, 6,
7,8]. Components are used as the basic building blocks in
CBSD. Rather than developing new code, in this paradigm,
we reuse and integrate existing components. Integration of
these components is based on defined specifications and
design architectures using predefined interfaces [1, 9, 10, 11,
12,13]. Interaction among the components in
Component-Based Software Development Integration and
Interaction among the components according to the user’s
specification of requirements are very difficult to implement
because software components are usually designed and
developed in an isolated environment. When these
components deploy later in another software system, software
components may need to be configured or customized in a
different environment. Therefore, when analyzing the
interaction among the components, we can expect to
encounter more uncertainties than with traditional software
systems.
We classify software metrics on the basis of their inception in
software life cycle. The arrangement of 8 popular metrics sets,
which are listed in the [14] is
shown in Table 1.
Analysis and Estimation of Interaction and
Reusability Complexities of Components in
Component-Based Software Engineering
Nidhi Mehra, Divya Kapil