International Research Journal of Engineering and Technology (IRJET)
e-ISSN: 2395-0056
Volume: 10 Issue: 07 | July 2023
p-ISSN: 2395-0072
www.irjet.net
Approaches and Challenges of Software Reusability: A Review of Research Literature M.Vasuki1, R. Ramakrishnan2, V. Manju3 1 Associate professor, Department of Master Computer Application, Sri Manakula Vinayagar
Engineering College, Pondicherry-605 107.India
2 Associate professor, Department of Master Computer Application, Sri Manakula Vinayagar
Engineering College, Pondicherry-605 107.India
3 Student, Department of Master Computer Application, Sri Manakula Vinayagar
Engineering College, Pondicherry-605 107.India ------------------------------------------------------------------------***--------------------------------------------------------------------ABSTRACT: The article is discussing the practice of software reuse, which involves building new software applications and systems from pre-existing software components. This approach has become increasingly important in recent times as it can improve the quality and productivity of software development by providing support to software engineers throughout various phases of software engineering. The article outlines three main approaches to software reuse: component-based software reuse, domain engineering and software product lines, and architecture-based software reuse. Component-based software reuse involves developing software components that can be reused across different software applications or systems, Domain engineering and software product lines involve identifying and documenting the commonalities and variabilities of a set of related software systems, and using this information to develop reusable components. Architecture-based software reuse involves creating a software architecture that can be reused across multiple software applications or systems. Despite the potential benefits of software reuse, there are also challenges that can affect the development process. These challenges include issues related to finding, selecting, and adapting existing software components, as well as organizational and cultural challenges that can make it difficult to implement software reuse practices effectively.
INTRODUCTION Software reuse is the practice of creating new software systems utilising older software artefacts. Reusing software helps to cut down on the expense, effort, and time needed to construct software systems. Due to the components prior testing, validation, and performance optimization, reuse of software components can result in increased productivity, improved quality, and lower development costs. The concept of software reuse has been around since the late 1960s, but it took several decades for the practice to become widely adopted. One of the early efforts to promote software reuse was the Ada programming language, which was designed to facilitate the development of reusable software components. However, the adoption of Ada and other early approaches to software reuse was limited by the lack of standardization and the complexity of developing and managing reusable components. Today, there are many software reuse techniques and practices that have been developed and refined over the years. Some of these include domain analysis, software product lines, component-based software engineering, service-oriented architecture, and open-source software. Each of these approaches has its own strengths and weaknesses, and choosing the right approach depends on the specific needs and requirements of the software development project. Despite the potential benefits of software reuse, there are still obstacles and restrictions that prevent it from being widely used. One of the most difficult issues is finding and selecting relevant reusable artefacts, which necessitates a thorough grasp of the system requirements, available components, and project applicability. Another problem is managing the complexity of reusable software systems, which can be difficult to understand and troubleshoot due to the interplay of numerous components. Furthermore, establishing compatibility between distinct software components can be difficult since they may have different interfaces, data formats, or implementation details. In assumption, software reuse is a significant study and development subject in software engineering. While the concept of software reuse has been around for decades, much work remains to be done in order to fully realise its potential. With the development of new approaches and methods, as well as the rising availability of reusable software components, software reuse is anticipated to continue to play a major role in software development in the coming years.
© 2023, IRJET
|
Impact Factor value: 8.226
|
ISO 9001:2008 Certified Journal
|
Page 207