Conference Paper

The reuse capability model: a basis for improving an organization's reuse capability

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

The author discusses a reuse capability model that is being developed by the Software Productivity Consortium to serve as a basis for understanding and improving an organization's reuse capability. Companies apply the reuse capability model in conjunction with the consortium's reuse adoption process and reuse economics model to aid the organization in making an intelligent business decision on how to practice reuse. The reuse capability model includes an assessment model for identifying an organization's strengths and improvement opportunities and an implementation model to serve as a framework for establishing goals and selecting strategies for evolving an organization's reuse practice. An initial model is described along with the rationale and steps taken in developing it

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... In the next year, Ted Davis [Davis 1993] presented the Reuse Capability Model (RCM), an evolution of the STARS' reuse maturity model. RCM aids in the evaluation and planning for improvements in the organization's reuse capability. ...
... Wartik and Davis [Wartik and Davis 1999] present a new version of the reuse adoption model of SPC [Davis 1993]. The model is based on a set of phases that help the organization to measure its progress towards the reuse adoption. ...
... The reuse community agrees [Davis 1993, Rine and Nada 2000a, SPC 1993, Wartik and Davis 1999] that characterizing reuse with maturity models and adoption processes is a clear sign of progress toward making reuse a natural part of development. As shown in this section, there are some experiences and projects involving reuse adoption models and programs. ...
Conference Paper
Full-text available
Software has been reused in applications development ever since programming started. However, the reuse practices have mostly been ad hoc, and the potential benefits of reuse have never been fully realized. Systematic reuse offers the greatest potential for significant gains in software development productivity and quality. Organizations are looking for ways to develop a software reuse program. The strategy for adopting a reuse technology should be based on a vision for improving the organization’s way of doing business. Thus, this paper presents a Reuse Maturity Model proposal, describing consistence features for the incremental reuse adoption.
... The Reuse Capability Model includes an assessment model for identifying an organization's strengths and improvement opportunities [14], and aids in the evaluation and planning for improvements in the organization's reuse capability. The model also includes an implementation model to serve as a framework for establishing goals and selecting strategies for evolving an organization's reuse practice [14]. ...
... The Reuse Capability Model includes an assessment model for identifying an organization's strengths and improvement opportunities [14], and aids in the evaluation and planning for improvements in the organization's reuse capability. The model also includes an implementation model to serve as a framework for establishing goals and selecting strategies for evolving an organization's reuse practice [14]. ...
... The Reuse Capability Model (RCM) [14] is an evolution of the STARS Reuse Maturity Model, it presented a set of critical success factors which are partitioned into a set of stages or reuse levels. Whereas in the Reuse Reference Model (RRM) [17] level of reuse determines the effectiveness of improvements in productivity, quality and time-to-market. ...
... 22 Other researchers explain reuse as the opportunity for an existing asset to satisfy an unforeseen need or that it is simply something specifically produced to be reused or derived from a legacy system. 5,7 In yet another sense of the word, the lessons learned from past failures could also be examples of reuse; the success of a project can be just as dependent on what processes or components should not be used as it is to what should be used. 6 Similarly, when a process or component is finally developed and is proved reliable, reusing that capability can increase the likelihood of success. ...
... 26 Davis states that reuse can be opportunistic (reuse strategies for individual projects), integrated (standardized process incorporated into organization), leveraged (designed to optimize reuse over a set of related products), and anticipating (creating new opportunities around reuse). 5 In general, the definitions for software reuse presented in the literature highlight the fact that reuse can be individual project orientated or strategic-focused. Poulin and Stephens both define reuse from a project perspective with the amounts of reuse varying. ...
... 8 Problems also arise when organizations approach process reuse as an independent collection of tools and technology, or when an organization focuses on technical issues of reuse without addressing the non-technical ones. 5 Recently, organizations appear to becoming less interested in improving processes and more focused on maintaining current processes. 13 Overall, the capability for reuse is a function of proficiency, efficiency, and effectiveness that can be achieved by the organization. ...
Article
Full-text available
Reuse is the idea of leveraging previously developed capabilities into a new project for the purposes of improving project characteristics (i.e. cost, schedule, risk). While reuse is a fairly well-known concept in domains such as software and product development, almost no research has been conducted on reuse in the systems engineering domain. This paper provides six general principles of reuse, identifies success factors for reuse, and summarizes some key challenges and opportunities for future research in the area of reuse in systems engineering. Copyright © 2008 by the American Institute of Aeronautics and Astronautics, Inc.
... • Based on the observations not many studies have actually presented the limitations as many had just proposed a model/method/metric without any actual validation and many authors tried to present the advantages of their model. But some authors tried to find the limitations in the previous models like for example Rine in their study work [106] reuse capability model of study [85] proved to be unstable. ...
... In those, 1 study is validated and 7 are non validated models/metrics/methods and 1 is a review paper. among those 3 studies are extensions to the previous ones, 1 study is related to the validation of one of the 9 studies and Study [84] is the extension to [83], study [85] is extension to study [84] and study [86] is the extension to study [85]. And study [106] is related to the validation of study [85]. 1 study [84] is related to STARS project and 1 study [88] is related to RiSE project. ...
... In those, 1 study is validated and 7 are non validated models/metrics/methods and 1 is a review paper. among those 3 studies are extensions to the previous ones, 1 study is related to the validation of one of the 9 studies and Study [84] is the extension to [83], study [85] is extension to study [84] and study [86] is the extension to study [85]. And study [106] is related to the validation of study [85]. 1 study [84] is related to STARS project and 1 study [88] is related to RiSE project. ...
... @BULLET Based on the observations not many studies have actually presented the limitations as many had just proposed a model/method/metric without any actual validation and many authors tried to present the advantages of their model. But some authors tried to find the limitations in the previous models like for example Rine in their study work [106] reuse capability model of study [85] proved to be unstable. @BULLET 3 studies have tried to validate the metrics/methods/models that are just proposed in the previous studies. ...
... In those, 1 study is validated and 7 are non validated models/metrics/methods and 1 is a review paper. among those 3 studies are extensions to the previous ones, 1 study is related to the validation of one of the 9 studies and Study [84] is the extension to [83], study [85] is extension to study [84] and study [86] is the extension to study [85]. And study [106] is related to the validation of study [85]. 1 study [84] is related to STARS project and 1 study [88] is related to RiSE project. ...
... In those, 1 study is validated and 7 are non validated models/metrics/methods and 1 is a review paper. among those 3 studies are extensions to the previous ones, 1 study is related to the validation of one of the 9 studies and Study [84] is the extension to [83], study [85] is extension to study [84] and study [86] is the extension to study [85]. And study [106] is related to the validation of study [85]. 1 study [84] is related to STARS project and 1 study [88] is related to RiSE project. ...
... In the next year, Ted Davis [Davis 1993] presented the Reuse Capability Model (RCM), an evolution of the STARS' reuse maturity model. RCM aids in the evaluation and planning for improvements in the organization's reuse capability. ...
... present a new version of the reuse adoption model of SPC [Davis 1993]. The model is based on a set of phases that help the organization to measure its progress towards the reuse adoption. ...
... The reuse community agrees [Davis 1993, Rine and Nada 2000a, SPC 1993, Wartik and Davis 1999] that characterizing reuse with maturity models and adoption processes is a clear sign of progress toward making reuse a natural part of development. As shown in this section, there are some experiences and projects involving reuse adoption models and programs. ...
Article
Full-text available
Software has been reused in applications development ever since pro-gramming started. However, the reuse practices have mostly been ad hoc, and the potential benefits of reuse have never been fully realized. Systematic reuse offers the greatest potential for significant gains in software development pro-ductivity and quality. Organizations are looking for ways to develop a software reuse program. The strategy for adopting a reuse technology should be based on a vision for improving the organization's way of doing business. Thus, this pa-per presents a Reuse Maturity Model proposal, describing consistence features for the incremental reuse adoption.
... Further, different technical approaches to reuse have different investment and return on investment profiles (see e.g. [42,149]). ...
... Accounting for such changes in the cost/benefit analysis would be no different from that in any business process re-engineering effort, and won't be discussed below. We organize our discussion around the steps of a reuse adoption process proposed by Davis [42]: ...
... (1) Initiate reuse program development: this step includes identifying organizational objectives (e.g., productivity and quality objectives) and reuse opportunities [42]. An organization may be active in different application domains, and the reuse potential in each of these domains must be estimated. ...
Article
Software productivity has been steadily increasing over the last 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver [22,39]; nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis [39,67]. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but sofware reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design, and building with reusable software. Software reuse includes reusing both the products of previous software projects, and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach on one hand, to the generative or reusable processor (reusing processes) on the other [68]. We discuss the implications of such appproaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to: 1) build more readily reusable software, and 2) locate, evaluate, and tailor reusable software, the latter being critical for the building blocks approach. Both sets of issues are discussed in this paper, with a focus on application generators and object-oriented development for the first, and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design) and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation.
... There are also different costs associated with software reuse, both capital setup (up-front) costs and proportional costs (costper-use). Further, different technical approaches to reuse have different investment and return on investment profiles (see, e.g., [42], [148]). Economic models and software metrics are needed that quantify the costs and benefits of reuse. ...
... Accounting for such changes in the costhenefit analysis would be no different from that in any business process re-engineering effort, and won't be discussed below. We organize our discussion around the steps of a reuse adoption process proposed by Davis [42]: ...
... This step includes identifying organizational objectives (e.g., productivity and quality objectives) and reuse opportunities [42]. An organization may be active in different application domains, and the reuse potential in each of these domains must be estimated. ...
Article
Full-text available
Software productivity has been steadily increasing over the past 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver; nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but software reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design and building with reusable software. Software reuse includes reusing both the products of previous software projects and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach, on one hand, to the generative or reusable processor (reusing processes), on the other. We discuss the implication of such approaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to: (1) build more readily reusable software and (2) locate, evaluate, and tailor reusable software, the last being critical for the building blocks approach. Both sets of issues are discussed in this paper, with a focus on application generators and OO development for the first and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design), and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation
... However, there is an additional cost when developing software with reusable components, even if this cost is negligible when reusing these components on other projects [20]. The lack of reusing components and producing reusable assets is due to the conflict with team priorities that should respect project time and budget [32]. For maintaining the catalog of reusable components, a repository with retrieval mechanisms is necessary for assisting developers on selecting the appropriate software components [20], [24], [27]. ...
... In medium teams the individuals have more freedom to take the initiative of promoting reuse. Hence personal communication is crucial in organization with the goal of clarification and sharing [32]. ...
... From the vast number of reuse maturity models proposed over the years [Koltun & Hudson, 1991] [Cusumano, 1991] [Davis, 1992] [SPC, 1992] [Davis, 1993] [ Sindre et al., 1995] [ Frakes & Terry, 1996] [Bassett, 1997] [Lim, 1998] [Putnam & Myers, 2003, some are inspired by the Capability Maturity Model (CMM) at the Software Engineering Institute (SEI) at Carnegie Melon University [CMM, 1995] and define five levels of maturity. Other models diverge from CMM by defining between four and six stages reflecting the progression of reuse activities. ...
... After this initiative, a spur of research in this topic produced many other reuse maturity models [Cusumano, 1991] [Davis, 1992] [SPC, 1992] [Davis, 1993] [Sindre et al., 1995] [Bassett, 1997] [Putnam & Myers, 2003] that had many overlapping points. Table 2.2 summarizes the main reuse maturity models. ...
... In anticipation of these bene®ts, many leading edge high-technology companies undertook initiatives beginning in the early 1990s to promote systematic reuse within their ®rms (Griss and Wosser, 1995;Isoda, 1995;Joos, 1994;Poulin et al., 1993). In addition, some comprehensive frameworks for instituting systematic reuse were developed, including the Synthesis Method (Davis, 1993;Wartik and Davis, 1999) and the STARS program (Rada and Moore, 1997). Even so, it has been suggested that systematic software reuse remains dicult to achieve in practice (Card and Comer, 1994;Kim and Stohr, 1998;Mili et al., 1995;Rine and Sonnemann, 1998). ...
... Several authors have identi®ed the main dimensions that comprise a systematic reuse program (Davis, 1993;Griss, 1993;Mili et al., 1995). In one representative framework, Kim and Stohr (1998) highlight six dimensions: organizational structural issues, software reuse process issues, issues related to reuse economics, developer behavior issues, software reuse technologies, and legal and contractual issues. ...
Article
Full-text available
Systematic software reuse has emerged as a promising route to improved software development productivity and quality. Many large corporations have initiated systematic reuse programs, and many reuse frameworks have been developed to guide organizations in these efforts. Yet, in spite of this, systematic reuse in practice has been difficult to achieve. In this paper we argue that a key inhibitor has been the incentive conflict inherent in traditional programs of reuse. We reach this conclusion based on an analysis of interview data gathered from 15 projects across eight different sites in a company once viewed as a leader in the reuse movement. We found that one key contributor to the absence of widespread systematic reuse in this firm was a perception among project teams that reuse was incompatible with prevailing project team priorities and incentives, such as to complete projects on time and within budget. Based on this finding, we undertake a survey of different approaches to establishing reuse described in the literature, and analyze them to determine whether incentive incompatibility is inherent in the nature of software reuse for larger organizations. We conclude that it is not, and provide guidance on how such organizations can design an incentive-compatible program of reuse, i.e., one that generates a climate in which developers and teams view reuse as having a more favorable “value proposition” according to the prevailing incentives operating at the team level.
... Maturity assessment models are used by organizations to assess current reuse program advancement and identify the issues most critical to improvement [4]. These models are essentially a variation of the original Capability Maturity Model developed by the Software Engineering Institute [1]. ...
... For example, Koltun and Hudson developed a model in 1991 with five maturity levels: initial, monitored, coordinated, planned, and ingrained. Then, in 1993, the Reuse Capability Model (RCM) was introduced at the Software Productivity Consortium which consists of four levels described in [4]: opportunistic, integrated, leveraged, and anticipated. Another model has been proposed by Basset in 1996 contains five similar levels: ad-hoc, latent, project, systematic and cultural [5]. ...
Conference Paper
Full-text available
It has been more than three decades since the idea of software reuse was proposed. Many success stories have been told, yet it is believed that software reuse is still in the development phase and has not reached its full potential. How far are we with software reuse research and practice? This paper is an attempt to answer this question
... A framework to evaluate the convenience of adopting a PLE approach Indeed, while some research initiatives provide self-evaluation tools (Davis 1993, Software Productivity Consortium 1993, Tüzün et al. 2015, Ahmed & Capretz 2011b, 2011a, Hohl et al. 2018, these are mostly for ongoing PLE initiatives and do not provide help for newcomers to discover whether a PLE approach could be convenient for their organization. ...
Thesis
L’ingénierie de ligne de produits (PLE en anglais) peut être une alternative attrayante pour de nombreuses organisations car ses avantages inhérents peuvent apporter des bénéfices tels que la réduction des coûts, la réduction du temps de mise sur le marché et l’amélioration de la qualité. Cependant, comme pour tout changement organisationnel, l’adoption d’une ligne de produits implique de prendre en compte les conséquences, les effets secondaires et les exigences minimales que les adoptants potentiels devraient anticiper avant de décider d’adopter ou non cette approche. L’objectif de cette recherche était de conceptualiser la manière dont les organisations pourraient évaluer systématiquement si une approche d’ingénierie de ligne de produits conviendrait à leur organisation. A cette fin, cette recherche a suivi une méthodologie de design-science pour élaborer et évaluer un cadre d’évaluation de la motivation et de la préparation des organisations à l’adoption d’une ligne de produits (ce cadre s’appelle APPLIES). Huit évaluations empiriques ont été menées pour évaluer APPLIES en termes de facilité d’utilisation, de pertinence du contenu, d’utilité perçue, d’intention d’utilisation et d’améliorations potentielles. Les évaluations ont été définies à l’aide d’une conception de multi-méthodes complémentaire qui incluait à la fois des points de vue académiques et industriels. De manière générale, même si le cadre APPLIES est loin d’être parfait, son évaluation critique donne des résultats prometteurs: les répondants estiment que APPLIES fournit des informations utiles et qu’ils le recommanderaient au public concerné: les personnes intéressées par l’évaluation de l’opportunité d’adopter le PLE. APPLIES est également jugé utile pour identifier les conditions actuelles d’une organisation en ce qui concerne l’adoption de lignes de produits: il aide à identifier les facteurs que les organisations devraient améliorer, et fournit des informations sur les éléments à prendre en compte avant d’adopter une PLE. De plus, tous les participants aux évaluations qui ont utilisé APPLIES ont été capables d’utiliser l’outil de manière autonome pour évaluer la motivation et la préparation d’une organisation à adopter une PLE. Enfin, avant de conclure, cette thèse présente des recommandations qui peuvent être utilisées pour améliorer APPLIES à l’avenir, suite à l’analyse et à la réflexion du chercheur sur les résultats de l’évaluation, ainsi qu’aux suggestions recueillies auprès des participants aux évaluations.
... The model is composed of five levels, and ten dimensions or aspects of reuse maturity were enumerated.  RCM: In 1993, Davis [30] presented the Reuse Capability Model (RCM), an evolution of the STARS' reuse maturity model. RCM aids in the evaluation and planning for improvements in the organization's reuse capability. ...
Article
Full-text available
Software reusability is an attribute in which software or its module is reused with very little or no modification. For any organization, improving the business performance means performing their software development. Software reusability offers great potential of significant gains for an organization, by reducing cost and effort, and accelerating the Time to Market of software products. This paper presents a literature review of various software reusability concepts. It presents some definitions and benefits of software reusability, approaches to be adopted to perform reusability, reusability levels in software life cycle, to reusability, maturity models and attributes affecting potentiality of software to be reused.
... For example, Bassett (1996) describes a model with five Reuse Maturity Levels (ad hoc, latent, project, systemic, and cultural). Another important model, the Reuse Capability Model developed at the Software Productivity Consortium (Davis 1993), foresees four levels: ...
Article
Full-text available
Several variants of the SEI Capability Maturity Model have been proposed in the area of software reuse, all of which share a classification scheme that leads to the association of metrics and operational economics with the lower levels of reuse maturity, whereas higher levels of reuse maturity are associated with the pursuit of corporate strategic goals. This paper makes the case that the reuse community has largely resolved the issues associated with lower reuse maturity levels should now be turning its attention to the integration of reuse and corporate strategy.
... REBOOT's reuse maturity model, discussed in section 2, is inspired by SEI's CMM [36] for the definition of the maturity levels. Other researchers have also proposed reuse maturity models, e.g., [9,10,43]. The selection of key reuse factors for REBOOT's maturity model was most inspired by [43]. ...
Article
Although some companies have been successful in software reuse, many research projects on reuse have had little industrial penetration. Often the proposed technology has been too ambitious or exotic, or did not scale up. REBOOT emphasizes industrial applicability of the proposed technology in a holistic perspective: a validated method through a Methodology Handbook, a stabilized tool set around a reuse library, a training package, and initial software repositories of reusable components extracted from company-specific projects. This article presents the REBOOT approach to software reuse, covering both organizational and technical aspects and the experiences so far from the applications.
... The Eighth International Conference on Quality Software some relevant research [4, 5, 6, 7, 9, 12] explores the theory of software reuse adoption in academic scenarios and relevant practitioner [8, 11, 15, 17, 16, 22, 23] explores in an industrial scenarios. By looking at the works cited before, which represent the main works covering the history and the current stateof-the-art in software reuse adoption, we may notice that still exist a lack of information about how to introduce reuse and evaluate the reuse capability in an organization. ...
Conference Paper
Full-text available
The growing interest of software reuse by software orga- nizations makes adoption and evaluation of reuse an essen- tial activity. Many organizations struggle in their attempts to select appropriate reuse practices (methods, techniques and tools support) in their processes. In this way, we pro- pose a reuse assessment method to evaluate the organiza- tion’s capability of software reuse in an efficient way.
... § Valoración de la madurez: valoran los programas software según el grado en el que aplican la reutilización del software. Como los trabajos de Koltun-Hudson[Kol91], y el modelo de capacidad de Davis[Dav91]. § Cantidad de reutilización: son métricas para valorar y controlar las mejoras obtenidas por la reutilización mediante porcentajes de reutilización en el tiempo en el ciclo de vida de los objetos. Se pueden mencionar el nivel de reutilización de Frakes y Terry[Fra94a], la fracción de reutilización de Agresti-Evanco [Agr92] y las métricas de orientación a objetos de Bieman-Karunanithi[Bie93]. § Análisis de los modos de fallo: identifica y clasifica los impedimentos para reutilizar en una organización determinada. ...
Article
Full-text available
En los últimos años, la creación de sistemas software basados en ontologías está aumentando considerablemente. Una ontología se define como una especificación explícita y formal de una conceptualización consensuada. Actualmente, los usuarios que buscan ontologías para incorporarlas a sus sistemas se basan únicamente en su experiencia e intuición, y esto hace difícil que puedan justificar las elecciones tomadas. Esto es debido, principalmente, a que no existe ningún método que indique al usuario qué ontologías son las más apropiadas para un nuevo sistema. Para resolver esta carencia, en este trabajo se propone el método OntoMetric, que permite a los usuarios medir la idoneidad de las ontologías existentes respecto a las necesidades de sus sistemas. Sus principales aportaciones son: § Identificación de un marco multinivel de características. El marco consiste en un conjunto de 160 características que describen el dominio de las ontologías. Se clasifican en las siguientes dimensiones: el contenido representado en la ontología, el lenguaje en el que se encuentra implementada, la metodología que se ha seguido para su construcción, los entornos software de desarrollo de ontologías, y los costes de usar las ontologías en el sistema. Este marco (a) proporciona el esquema para representar la información de ontologías existentes, (b) permite comparar las ontologías y (c) elegir las más apropiadas según las necesidades del nuevo sistema. § Construcción del modelo conceptual de una ontología en el dominio de las ontologías, Reference Ontology (RO), que está basada en el marco multinivel de características. El modelo conceptual de la RO se ha desarrollado siguiendo la metodología METHONTOLOGY y el entorno de desarrollo WebODE. La dimensión ¿contenido¿ de esta ontología se ha instanciado con información de ontologías procedentes de servidores de ontologías y disponibles en la web. Las demás dimensiones se han instanciado con información de publicaciones existentes y también analizando directamente los lenguajes, metodologías y entornos de desarrollo de ontologías. § Elaboración de un método que mide la idoneidad de un conjunto de ontologías candidatas que pueden ser incorporadas en un nuevo sistema. El método utiliza: (a) el marco multinivel de características, (b) el modelo conceptual de la RO y sus instancias, y (c) una adaptación del método de las jerarquías analíticas. Para cada una de las ontologías candidatas, el método ofrece una medida cuantitativa de su idoneidad y sirve para decidir, de forma justificada, qué ontologías son las más adecuadas para el sistema que el usuario va a desarrollar. § Construcción del soporte tecnológico que asiste al método. Las aplicaciones software construidas son: a) OntoWrappers: extraen la información de ontologías existentes en servidores de ontologías y páginas web; b) Reference Ontology Instances Selector: selecciona las ontologías que cumplen ciertos requisitos indicados por los usuarios; y c) OntoMetric Tool: calcula, usando una adaptación del método de las jerarquías analíticas, los valores de idoneidad para las ontologías candidatas.
Conference Paper
Este artigo apresenta um estudo de caso de introdução da reutilização de software numa empresa brasileira de produção de software. Inicialmente, são fornecidos detalhes sobre a empresa envolvida, sua prática de desenvolvimento de software e a estratégia estabelecida para a introdução da reutilização. Em seguida, os resultados alcançados são apresentados, incluindo uma avaliação da prática de reutilização ao final do estudo. É feita, ainda, uma análise das caracteristicas encontradas neste estudo de caso em relação a outros programas de reutilização descritos na literatura.
Thesis
Today, when a company designs, develops and manufactures goods or services, it must not only target a high level of quality for the products to satisfy customers, but also comply with many standards and regulations. This is particularly true with transportation systems where we can name few famous standards and guidelines: the ISO 26262 [1] addresses the software functional safety in automotive, the ARP4754 [2] provides guidelines for the development of civil aircrafts, and the DO-178C addresses software safety [3] in aeronautics. Furthermore, these safety guidelines impose to the company to be at the state of the art for processes and methods, when designing and developing a new vehicle.In the context of automotive systems’ development, our research aims to strengthen and unify quality definition, assessment, control, or prediction activities for automotive embedded software. Thus, to resolve this problematic, first we have to explore quality concept, qualimetry -the science of quality quantification [4]-, and the state of the art about quality modeling for embedded software. The result is not only to popularize and synthetize the knowledge behind these complex concepts but also, to confirm the choice of qualimetry as the right approach to solve our problematic, for which no proper solution exists yet.We then continue our study considering biology as key factor in our research. Therefore, we create a classified collection of clades of more than 450 quality models for software. We select the most appropriate quality model from this pool of quality models, and after introducing the concept of polymorphism in quality modeling, we demonstrate how to adapt and operationalize this model to automotive embedded software. This last achievement consequently replies to our original problematic.As a further conclusion of our research, we finally investigate whether a unique quality model for software product, as Zouheyr Tamrabet et al. [5] aim to propose, is more appropriate than a meta-model as quality model aggregator for software product, giving a first glimpse of the model result whose qualifier is the genome of software quality model.[1] “ISO 26262-6:2011 - Road vehicles - Functional safety - Part 6: Product development at the software level,” International Organization for Standardization, 2011.[2] “ARP4754A - Guidelines for Development of Civil Aircraft and Systems,” SAE International, Dec. 2010, [Online]. Available: https://www.sae.org/standards/content/arp4754a/.[3] “DO-178C - Software Considerations in Airborne Systems and Equipment Certification,” Radio Technical Commission for Aeronautics, Dec. 2011, [Online]. Available: https://my.rtca.org/NC__Product?id=a1B36000001IcmqEAC.[4] G. G. Azgaldov et al., “Qualimetry: the Science of Product Quality Assessment,” Standart y i kachest vo, no. 1, 1968.[5] Zouheyr Tamrabet, Toufik Marir, and Farid MOKHATI, “A Survey on Quality Attributes and Quality Models for Embedded Software,” International Journal of Embedded and Real-Time Communication Systems (IJERTCS), vol. 9, no. 2, pp. 1–17, 2018, doi: 10.4018/IJERTCS.2018070101.
Conference Paper
The advent of open source has changed the way developers reuse software. The availability of libraries and their corresponding source code in public software repositories enables new forms of analyzing project aspects that can provide clues on their stability and maintainability. However, the literature lacks studies aiming to identify and understand whether and which repository features may correlate with the likeliness of usage of a library. In this sense, we present a factorial experiment using three different regression models - Multiple Linear Regression, Random Forest, and Neural Networks -, aiming at analyzing whether there is a correlation between library usage and a set of features extracted from release management and version control repositories. The results allowed to map features with positive learning impact, such as the number of stars, pull requests, and number of downloads, as well as features that contributed much less to the models (e.g., the repository size). Although the impact level of each feature varied from model to model, we also noticed from the analysis of regression results that the models were capable of achieving higher accuracy when considering only a subset of features. Paper category: Experimental; Language: English
Chapter
This chapter explains the concepts of reuse including program families and domain analysis. It discusses four major factors that influence software reuse: managerial, legal, economic, and technical. An organization that attempts to implement a reuse program needs to address a broad spectrum of technical and nontechnical problems. The feature-oriented domain analysis (FODA) method developed at the Software Engineering Institute is a well-known method for domain analysis. The chapter briefly talks about nine domain engineering approaches reported in the literature: Draco, domain analysis and reuse environment (DARE), family-oriented abstraction, specification, and tTransportation (FAST), feature-oriented reuse method (FORM), ?Komponentbasierte Anwendungsentwicklung? (KobrA), product line UML-based software engineering (PLUS), product line software engineering (PuLSE), Koala, and reuse-driven software engineering business (RSEB). This is followed by a discussion on reuse maturity models (RMMs) and economic models of software reuse.
Chapter
This paper presents the first results of current product line engineering efforts at Alstom Transport. It describes the background that has led us to these efforts as well as the approach that we have adopted on Model-Based Systems Engineering (MBSE) and Product Line Engineering (PLE). We present a real-life application of MBSE and PLE that “goes beyond” SysML along with a quick overview of the first results stemming from this application to Rolling Stock systems.
Article
In companies with a large portfolio of software or software-intensive products, functional overlaps are often perceived between independent products. In such situations it is advisable to systematically analyze the potential of systematic reuse and Software Product Lines. To this end, several domain analysis approaches, e.g., SEI Technical Probe, have been proposed to decide whether a set of products with a perceived functional overlap should be integrated into a single product line. Based on the principles of those approaches we devised our own approach. One important property is the inherent flexibility of the method to be able to apply it to four different application cases in industrial software products at ABB. In this paper we present our refined approach for domain analysis. The results and lessons learned are meant to support industrial researchers and practitioners alike. Moreover, the lessons learned highlight real-world findings concerning software reuse.
Thesis
Full-text available
Beim Erstellen und Verändern von Datenbank-Schemata benötigt man Informationen über die Bedeutung der Daten in der Datenbank; Viele Anwender können diese beschreiben, jedoch meist nicht in der erforderlichen abstrakten Form angeben. In dieser Arbeit wird deshalb ein einfach verständlicher Zugang entwickelt, bei dem mögliche Integritätsbedingungen über die Gültigkeit von Beispieldatenbanken diskutiert werden. Aus diesen Beispielen werden dann formale Integritätsbedingungen abstrahiert. Die Anzahl der so zu untersuchenden Integritätsbedingungen kann sehr groß sein; durch den Einsatz von verschiedenen Heuristikregeln, die Auswertung von Metainformationen und die Wiederverwendung von Informationen aus anderen Datenbanken wird diese Menge eingeschränkt und sortiert.
Article
Corporate organizations sometimes offer similar software products in certain domains due to former company mergers or due to the complexity of the organization. The functional overlap of such products is an opportunity for future systematic reuse to reduce software development and maintenance costs. Therefore, we have tailored existing domain analysis methods to our organization to identify commonalities and variabilities among such products and to assess the potential for software product line (SPL) approaches. As an exploratory case study, we report on our experiences and lessons learned from conducting the domain analysis in four application cases with large-scale software products. We learned that the outcome of a domain analysis was often a smaller integration scenario instead of an SPL and that business case calculations were less relevant for the stakeholders and managers from the business units during this phase. We also learned that architecture reconstruction using a simple block diagram notation aids domain analysis and that large parts of our approach were reusable across application cases.
Conference Paper
During the past 20 years Maturity & Capability Models (MCMs) become a buzzword in the ICT world. Since the initial Crosby's idea in 1979, plenty of models have been created in the Software & Systems Engineering domains, addressing various perspectives. By analyzing the content of the Process Reference Models (PRM) in many of them, it can be noticed that reuse-related issues have unfortunately often little importance in the appraisals of the capabilities of software organizations while in practice they are considered as significant contributors in traditional process and organizational performance appraisals. While MCMs represent a good mean for assessing the status of a set of processes, integrating two or more models with a common area of focus can offer more information and value for an organization. The aim of this paper is to present some information about Reuse best practices and models, keep the best components from each model and - using the LEGO (Living EnGineering prOcess) approach to process improvement - merge those best practices from several types of maturity models into an organizational Business Process Model (BPM) in order to achieve in an easier and faster way higher organizational maturity and capability levels.
Conference Paper
In a large corporate organization there are sometimes similar software products in certain subdomains with a perceived functional overlap. This promises to be an opportunity for systematic reuse to reduce software development and maintenance costs. In such situations companies have used different domain analysis approaches (e.g., SEI Technical Probe) that helped to assess technical and organizational potential for a software product line approach. We applied existing domain analysis approaches for software product line engineering and tailored them to include a feature analysis as well as architecture evaluation. In this paper, we report our experiences from applying the approach in two subdomains of industrial automation.
Conference Paper
Variability modeling is a core activity of software product line engineering. Over the years, many different approaches to variability modeling have been proposed. Typically, the individual approaches have been designed with-out a detailed justification on why certain modeling concepts should be used. This yields a rather unfunded selection of modeling approaches in practice, e.g., selecting approaches that provide higher modeling concepts than actually need-ed, but less analyses capabilities than required. Thus, we propose that the focus of an analysis should not be to determine the best modeling language, but rather to provide a characterization on when to use what kind of approach. In particular, the selection of one approach for a specific situation should be driven from the required modeling concepts (expressiveness) and the required analyzability. In this paper, we propose a classification of core concepts of variability modeling based on expressiveness and analyzability. We discuss the methodology for and the classification of variability modeling concepts illustrated by a running example. The contribution of this paper is a modeling approach-independent classification of variability modeling concepts and their dependencies to provide a systematic and rationale basis to anyone designing, standardizing, implementing or selecting a specific variability modeling approach.
Article
RÉSUMÉ Les recherches actuelles dans le domaine de la réutilisation du logiciel se concentrent sur les outils et les techniques spécialisés pour les trois principales activités de la réutilisation: la création de composantes réutilisables, le processus de réutilisation et la gestion de l'environnement de réutilisation. Cet article présente les résultats d'une enquête et d'une étude de cas visant à vérifier dans quelle mesure et de quelle façon le concept de réutilisation est appliqué dans quelques entreprises canadiennes. Les résultats indiquent d'une part, une pratique répandue des concepts de réutilisation à toutes les phases du cycle de développement, et d'autre part, que ces entreprises n'ont pas eu besoin d'aucun des outils et des techniques spécialisés proposés dans la littérature. Ces études nous rélèvent également que les approches traditionnelles de gestion d'applications répondent actuellement aux besoins de gestion de la réutilisation.
Conference Paper
Much work has been done on software reuse "in the small" - objects, subroutines, and components. However, relatively little research on very large-grained reuse is available in the literature. This initial study of a large US-based banking institution indicates significant levels of innovative reuse of internally developed software, including reusing both infrastructure and applications across Internet, teller systems, and ATM systems, all with surprisingly little customization and rewriting. This study presents findings of the initial research, including the types and granularities of reused systems. A conceptual model to explain their success is proposed, addressing both organizational and technical factors, and next steps are documented
Conference Paper
Abstract In recent years, there have been much publications on reuse. In order to get an overview,of the whole,field and also a good impression of the state of the reuse art, we studied reuse literature of the last few years. As basis for comparison, we classified literature according,to four (more or less orthogonal) dimensions, based on the actions and knowledge of the reuser, i.e. the software engineer. The dimensions are: actions to be taken to get an existing reusable item; knowledge to be applied to find an existing reusable item; actions,to be taken to build the complete,system,needed; knowledge,to be applied to get the complete,system,needed. The survey,shows,that research,on reuse from the viewpoint of the needed system, receives far less attention than research from the viewpoint,of reusable artifacts. We expect reuse to live up to its promise,if this topic is addressed,as well.
Conference Paper
Despite initial technical barriers having been overcome, organizational wide component reuse has not enjoyed universal acceptance. Research has identified social and organizational factors as probable causes. This paper describes the Social Factors for Reuse Model (SFR Model), a predictive capability model based on Keidel’s triadic model of the organization. It determines an organization’s readiness for the introduction of Component Based Software Engineering (CBSE); describing the social and organizational conditions that should be met to maximize the chances of successful implementation. A sample application of the Model is described.
Conference Paper
Many organisations are currently looking towards large-scale, systematic software reuse as a means of improving the software development process, and this is reflected in the increasing number of reuse methods being proposed in the literature. One problem area that has received little attention, however, is the evaluation of reuse methods within an organisation. Reuse has long been regarded as a complex organisational as well as technical endeavour, where the management of expectations must be considered an integral part of the evaluation process. This paper proposes a generic process for evaluating reuse methods, aimed primarily at practitioners performing reuse adoption within an organisation. The process we propose is based on experiences from three industrial reuse technology transfer projects and is a cyclic process comprised of three key phases, namely planning, acting and reviewing. The paper examines the tasks within each phase and the questions that each task addresses, and gives methodological guidance on carrying out each task. We conclude that human subjectivity is unlikely to be completely removed from reuse evaluations. However, a structured evaluation process can help organisations foster an analytical and diagnostic approach to reuse evaluation
Article
In this paper we define the AMES application management model. This is followed by a description of the development of a maturity assessment matrix. Our assessment method comprises extensions to the CMM with some input from BOOTSTRAP and SPICE. In particular we have specialized the CMM assessment questionnaire to specifically address application management. The relationship between our assessment questionnaire and the CMM is shown and the extensions that we have made to the questionnaire are made explicit.
Article
Software reuse is an important emerging technology. It allows consumption of reusable information, which, in turn, can contribute to democratization of information systems automation. I introduce software reuse concepts and discuss current reuse approaches, issues of economics of reuse, and currently used metaphors as they apply to the reuse consumer. The discussion should give those who have not yet began to exploit consumption of information reuse a starting point for their considerations.
Article
Full-text available
As organizations implement systematic software reuse programs to improve productivity and quality, they must be able to measure their progress and identify the most effective reuse strategies. This is done with reuse metrics and models. In this article we survey metrics and models of software reuse and reusability, and provide a classification structure that will help users select them. Six types of metrics and models are reviewed: cost-benefit models, maturity assessment models, amount of reuse metrics, failure modes models, reusability assessment models, and reuse library metrics.
Article
Software Configuration Management and software reuse are now generally considered to be important technologies in software engineering. Both have been proposed for making a significant improvement in productivity and quality. However, these two technologies have been investigated separately. In order to make Software Configuration Management and reuse more effective, both approaches require to be introduced into a development or maintenance environment together. The authors have developed a process model for Maintenance with Reuse (MwR) to support Software Configuration Management for a reuse library within a maintenance environment. As software reuse and Software Configuration Management as well as software reuse and software maintenance have many similarities in their activities, and these areas can therefore be integrated within a software maintenance environment. An integrated approach to the common areas of these different activities will greatly contribute to the productivity and quality of software. This paper will address an integrated approach that can overcome some of the barriers that exist in software maintenance and reuse. A process model of an integrated approach has been created and validated using Process Weaver. In order for the reuse library to allow accesses from many potential reusers, the process model has been implemented on the WWW. The paper describes an integrated process model and its prototype to support change and version control for evolution of software components within both a reuse library and a legacy system.
Conference Paper
The importance of knowledge management and knowledge engineering (KMKE) is now widely recognized. This suggests that greater attention is to be given to formal planning for KMKE activities. To assist in the planning, and to help institutionalize the techniques and activities of KMKE, we introduce a capability maturity model for KMKE. The model is loosely based on the software Capability Maturity Model of the Software Engineering Institute.
Conference Paper
Properly applied principles of business reengineering (BRE) continue to be valid. Since the shift to E-commerce in an organization is a form of reengineering, BRE is relevant to E-commerce. This allows us to adapt a BRE process for the context of E-commerce. However, in order for an organization to support a process, it needs certain capabilities. We define a capability maturity model for E-commerce. Our process definitions apply to B2C and B2B, but emphasis is on consumers participating in B2B.
Conference Paper
Embedded devices like mobile phones are very limited in memory and developers always struggle to squeeze in as much information as possible. In most legacy mobile systems, the operating system is a simple scheduler with no complicated multi-tasking capabilities and programs are written in plain C language for efficiency purposes. A family of such embedded products is built to meet the needs of various market segments. End users are always looking for smaller and fancier devices with more features. But there is only a certain limit to which existing systems can be pushed, beyond which it becomes impractical to accommodate more features without using some advanced reengineering techniques. At Nokia Research Center, a task was assigned to reengineer existing systems to meet the needs of Third Generation Mobile Systems in an efficient manner so that more applications and operating modes could be supported. This paper presents the approach that was used to reengineer a legacy mobile phone system to meet the needs of future systems. The approach is very simple and systematic and at the same time very practical and effective. Although the domain under consideration is a mobile phone system, a similar approach can be successfully applied to other product families
Conference Paper
One of the concerns of knowledge management should be the management of the knowledge management process itself. Our purpose is to start discussion on this aspect by subjecting knowledge management to a preliminary ontological study. The aim is for this discussion is to initiate work on a capability maturity model for knowledge management. We consider knowledge to take the form of domain models, and the latter to be composed of data, process descriptions, rules, and capabilities. Knowledge management is seen as relating to the acquisition, representation, and use of knowledge. Throughout, we consider the uncertainties inherent in knowledge management
Conference Paper
Different software systems require different approaches to the requirements phase of the software process. We adapt a methodology that has been used effectively for the definition of generic application processes to define a generic requirements process. Tasks of this process are based on a distillation of the software engineering literature. The aim is to achieve for requirements engineering a capability level comparable to what Level 3 of the CMM is for the software process in general
Conference Paper
Component-based software engineering (CBSE) offers a new approach to the development of large software-intensive systems. To fully exploit CBSE technology, organisations will need to consider how this technology is best transferred, institutionalised and evolved within the organisation. This paper discusses the risks associated with the adoption of CBSE technology. A model of the risk analysis and management (RAM) process for CBSE technology is proposed as a means of controlling risks. Five CBSE technology risk areas are identified-domain inadequacies, shortfalls in reuse components, shortfalls in the architecture, deficiencies in the CBSE infrastructure and educational issues-and examined. A number of risk management techniques are proposed. Different kinds of risk knowledge are highlighted, and the role of the risk repository explained. The paper closes with a set of RAM guidelines for the risk manager
Conference Paper
Full-text available
Reuse level is an abstract metric that can be applied to any reusable asset. This paper presents extensions to the reuse level metric, defines the metric formally, and discusses an implementation of the abstract metric for C in an enhanced version of the reuse level program
Article
For long-term industrial reuse strategies to work, companies must realize short-term successes. In other words, from the beginning reuse must play a part in an organization's effort to improve quality and reduce cost and time-to-market. For this reason, Matra Cap Systemes, a joint venture of Matra Hatchette and Cap Gemini Sogeti that develops information, communication, and imagery systems, founded its reuse strategy on pragmatic, opportunistic reuse-based projects. An outline of the company's reuse plan is presented. This article reports the results from two large industrial projects, in which project-based and cross-organizational reuse improved time-to-market, productivity, and quality.
Article
Full-text available
Until reuse is better understood, significant reductions in the cost of building large systems will not be possible. This assertion is based primarily on the belief that the defining characteristic of good reuse is not the reuse of software per se, but the reuse of human problem solving. Analytical approaches for making good reuse investments are suggested in terms of increasing a quality-of-investment measure, Q, which is simply the ratio of reuse benefits to reuse investments. The first strategy for increasing Q is to increase the level of consumer reuse. The second technique for increasing Q is to reduce the average cost of reusing work products by making them easy and inexpensive to reuse. The third strategy is to reduce investment costs. Reuse strategies, and reuse and parameterizations, are discussed.< >
Article
Though Japan has successfully competed with US computer makers in manufacturing and marketing hardware, it has been less successful in developing software that competes with US software companies. This book analyses how a number of Japanese firms, in an effort to catch up, have created what are called `software factories ‘ in which large numbers of people are engaged in developing software in co-operative ways.
Article
Despite software reuse's promise to significantly improve software quality and productivity, its practice remains elusive. The difficult issues outside the technical realm are seldom addressed. To be practical, reuse must address not only technical but managerial, economic, performance, cultural, and technology transfer issues. A model for implementing software reuse programs is discussed and supported by successful experiences. This model is based on an incremental strategy and addresses the above issues, directly and indirectly. The approach is practical, effective, and has potential to make reuse a regular practice in the software development process. Portions of the model have been used successfully in consulting with SPC member companies.
Conference Paper
Much attention has been paid to software reuse in recent years because it is recognized as a key means for obtaining higher productivity in the development of new software systems (Gaffney and Durek 1988; Gaffney and Durek 1991; and Gaffney 1989). Also, software reuse has provided the technical benefit of reduced error content and thus higher quantity. The primary economic benefit of software reuse is cost avoidance. Reuse of an existent software object generally costs much less than creating a new software object.
A Survey of Software Reuse
  • frakes
W. Frakes, " A Survey of Software Reuse, " 1st International Workshop on Software Reusability, Dortmund, Germany, 1991.
Making Reuse Cost-Effective Usage Scenario for the Reuse Library Toolset, EX-US-l3L.T-90052, Hem-don, Virginia: Software Productivity Consortium, 1990. M. Cusumano, Japan's Software Factories: A Challenge to US
  • B Barnes
  • Bollinger
B. Barnes and T Bollinger, " Making Reuse Cost-Effective, " IEEE Software 8, 1:13-24, 1991. J. Blyskal and B. Hofkin, Usage Scenario for the Reuse Library Toolset, EX-US-l3L.T-90052, Hem-don, Virginia: Software Productivity Consortium, 1990. M. Cusumano, Japan's Software Factories: A Challenge to US. Management, New York, New York Oxford University Press, Inc., 1991.
Software Technology Transition
  • S Przybylinski
  • P Fowler
  • J Maher
Making Reuse Cost-Effective
  • B Barnes
  • T Bollinger
A Reuse Maturity Model
  • koltun
Software Technology Transition
  • przybylinski
Usage Scenario for the Reuse Library Toolset
  • J Blyskal
  • B Hofkin