© 2015, IJARCSMS All Rights Reserved 128 | P a g e
ISSN: 232 7782 (Online) 1
Computer Science and Management Studies
International Journal of Advance Research in
Volume 3, Issue 11, November 2015
Research Article / Survey Paper / Case Study
Available online at: www.ijarcsms.com
Reusability Estimation of Object Oriented Software: A
Systematic Review
Namrata Chopra
1
Research Scholar
Department of Computer Science
Goel Institute of Technology & Management
Lucknow (U.P.) – India
Namrata Dhanda
2
Associate Professor and head of CS/IT
Department of Computer Science
Goel Institute of Technology & Management
Lucknow (U.P.) – India
Abstract: One of the promises which object oriented programming holds is that it increases software reusability. In fact,
software components designed in object oriented concept is easier to be reused than those designed in conventional
programming language. But the state of the art software reusability in most Object oriented environments is still very limited.
In object oriented programming, estimating reusability plays a key role in reducing cost and improving the software quality.
Object oriented system helps in achieving the concept of reusability through different types of inheritance programs, which
further facilitate in developing reusable software components. Object oriented metrics recognize the effectiveness of each
reuse policy. Software reusability has significant impact on overall software quality. Quality of software increases as reuse of
software modules increases. Although, software quality improvement cannot be understood unless it is calculated. This
paper examines how object oriented system increases software reusability, what are the limitations of software reuse in
current state, and how to improve object oriented software reusability.
Keywords: Software reusability; Systematic software reuse; software development; Reusability Estimation
I. INTRODUCTION
Software reusability is considered as a significant technique of avoiding re-coding of work and improving the quality of the
software development process [6]. The object-oriented principles have provided estimation tools and basic ideas, which can be
recognized and applied in the software development. Reuse of existing software components increase the overall quality and
efficiency of software development life cycle and maintenance process [12, 14]. Software reusability reduces the amount of
efforts that need to be delivered from scratch and hence less testing time for new software. Industrial observers suggest that a
reuse strategy could save up to 20% of development costs [9]. C++ templates are used to support the concept of reusability in
object oriented programming. Object oriented software is a group of classes which are abstract data types, and templates are a
way of making classes more abstract without actually knowing what data type will be controlled by the functions of the class
[16, 19]. This raises questions about how general programming included in the structure of templates in the code can be
measured to identify effectiveness of this reuse strategy. The measurement of reuse would assist software developers to examine
current levels of reuse and provide insight in developing quality software that is easily reused.
II. SOFTWARE REUSABILITY
The IEEE defines software reusability as ‘The ability of a software system or component to perform its desired function
under its stated condition to evaluate the quality of software [4, 23].’ Reusability is one of the most important attribute of
software quality for delivering high quality software. It is also an important factor to quality estimation of object oriented
software at an early phase of software development life cycle [1- 3]. Developing software system from existing classes i.e.
Reuse offers many advantages: