What are issues in software reuse?

Code reuse

This article presents a bibliographic review, whose objective is to present some important considerations about the maintenance process, which must be taken into account when specifying the maintainability attribute, so that, later on, it can be validated that the product is indeed maintainable. For this purpose, some challenges of the maintenance process, metrics associated to the maintainability of the products and some recommendations to achieve its correct specification are presented.

The main conclusion obtained is that organizations should collect over time, historical data related to the adjustments and changes made to the product, which allow to evaluate in the future the convenience of continuing to maintain the product, or simply replace it with a new one. In addition, given the relevance of the maintainability attribute, functional and process aspects should be included in the requirements specification to allow an objective validation of whether a product is maintainable or not.

Reutilización de código ejemplos

En este trabajo de investigación se estudia y construye un repositorio de activos de software para el desarrollo ágil de la aplicación de un método de reutilización que permite gestionar, manipular, crear, almacenar, recuperar y reutilizar diversas fuentes de códigos y aplicaciones activas de software expuestas para agilizar los procesos sistemáticos con el fin de crear bases en los procesos industriales que requieren la intervención directa de un software. Este software ha sido desarrollado tras una amplia investigación y recopilación de antecedentes, una amplia arquitectura de reglas de gestión, enfoque en la minería de datos y propósitos de promoción de la reutilización de activos de software como una metodología importante en la ingeniería, y con esa aplicación de esta herramienta busca explorar, ayudar, informar y apoyar en las primeras etapas de la formación de un software, donde el campo de interés se encuentra en las pequeñas y medianas empresas de software que necesitan una metodología y una herramienta elástica para la mejora de procesos en sus instalaciones sin escatimar la calidad que el producto final es el último intangible “software”.

Reusability in programming

The following recommendations, tips and resources were obtained from the digital development community and are intended to provide you with options for applying this Principle during each stage of the project lifecycle. This guide is not intended to be exhaustive; rather, it should serve as suggested steps you can take to apply this Principle in your work. If you have other tips, resources or comments to add, please share them with the community in the Digital Principles Forum.

To be innovative, you don’t have to develop something new. Innovation can also mean repurposing existing tools in a new way or by adding additional functionality or features. Organizations that reuse and improve rethink how they think about innovation. When planning an initiative, first conduct a landscape analysis to see what (local) tools exist that could meet the needs of your users within your ecosystem.

Software reusability examples

Solis, A., and J. Hurtado. “Software reusability in industrial robotics: a systematic mapping”. Revista Iberoamericana de Automática e Informática industrial 17, no. 4 (setembro de 2020): 354. http://dx.doi.org/10.4995/riai.2020.13335.

<p>There is a tendency to use software reuse approaches in the domain of industrial robotic systems in order to accelerate their development. Although some studies show the benefits of developing using different reuse approaches, these practices have not been massively incorporated in the industry, mainly, due to the development of proprietary software by manufacturers and the diversity of the underlying hardware. However, these studies have been of great value in advancing their adoption. Through a systematic mapping of the literature, the adoption of different reuse approaches is shown, among which the most widely used are analyzed, such as Model-Driven Engineering (MDE), Component-based Software Engineering (CBSE) and Service-Oriented Architecture (SOA). On the other hand, frameworks are analyzed as the most widely used solutions and in terms of tools, emphasis is placed on ROS (Robot Operating System) as a reference platform for rapid application development. The main challenge identified in this area of study is to define combined and practical strategies of MDE, CBSE and SOA reuse approaches, in order to take advantage of the different reuse benefits that each one offers.