5 research outputs found

    A Requirements-Based Taxonomy of Software Product Line Evolution

    Get PDF
    Software product lines are, by their very nature, complex software systems. Due to the interconnectedness of the various products in the product line any form of evolution becomes significantly more complex than in a single system situation. So far most work on product line evolution has focused on specific approaches to supporting special cases of the evolution problem. In this paper, we take a different approach and provide a broad taxonomy of requirements-driven evolution in software product lines. This serves as a basis for the identification of requirements on evolution support

    Strategy-focused architecture investment decisions

    Get PDF
    The thesis considers how a systematic approach for evaluating architecture investments can lead to decisions that are driven by business preferences rather than by personal incentives. A decision to invest in software-architecture requires systematic evaluation of the trade-off between strategic long-term benefits of architecture on the business and short term investment. It typically is a decision that is difficult to explain and quantify. In this sense, it is not surprising that such a decision is often driven by personal incentives or strong leadership of deciders, architects and managers, leading to suboptimal decision-making process in the organization. This PhD thesis proposes a way in which to support the decision to invest in architecture by linking the architecture improvements to the business strategy and taking into consideration the human aspects. We follow the iterative study design process including several real-life case studies, multiple interviews, and an experiment. In the first case study, we investigate how practitioners make a decision on architecture investment with a focus on how the decision process can be improved in industrial practice. To support the decision process in an objective way, we propose to use arguments based on real options theory. The evaluation by practitioners disclosed that including such economics of architecture is necessary but not sufficient for decision making. To better understand the information needs for decision making we conducted field interviews on the kinds of information that architects and managers need. In a subsequent experiment we tested whether which kind of information is actually used in decision making. As expected, the professionals tend to use just a few information types for decision making. However, our results suggest that additional quantified information was used by participants with longer development experience and under time pressure. Based upon the experimental findings we propose a concept to quantify the customer value of architecture. Despite the positive evaluation, the practitioners asked for further improvements to translate the architecture changes directly to the economic value. Ultimately, based on the findings from the preceding studies we propose a comprehensive approach to support objective architecture decision making; we label it Strategy-focused Architecture (StArch). Adopting strategic management tools, strategy map and balanced scorecards, we provide step-by-step guidance to assess the economic benefits of architecture improvements aligned with the strategic business objectives

    Elaboración de métricas basada en un framework de atributos para líneas de productos

    Get PDF
    Una línea de productos es un conjunto de productos relacionados que comparten unas características comunes, así como una variabilidad. Lo anterior facilita la producción masiva de dichos productos además de su adaptación a requisitos particulares. La ingeniería de líneas de productos es un paradigma de producción que permite la personalización masiva de productos. Esto ayuda a una mayor reutilización de componentes, a disminuir el tiempo de desarrollo y a mejorar la calidad final de los productos. Como en cualquier rama de la ingeniería, en la ingeniería de líneas de productos la medición juega un papel clave. Esto permite una mejor gestión de los procesos y los recursos requeridos por estos, así como monitorear la calidad de los productos. Este proceso se implementa mediante el uso de métricas, que permiten tener una medida cuantitativa del grado en el que un sistema, componente o proceso poseen un atributo dado (como costo, mantenibilidad o complejidad). Sin embargo; ni la comunidad académica ni la industria, cuentan con un framework para la aplicación de métricas en líneas de productos. Además, en la ingeniería en general y particularmente en la ingeniería de software, no existe un consenso en la terminología ni en una metodología de medición. Todo esto lleva a que se presenten dificultades, tanto para la definición como para la validación de métricas, en la ingeniería de software y en la ingeniería de líneas de productos. Durante el desarrollo del presente trabajo se propone un framework de medición, enfocado en los atributos, para la ingeniería de líneas de productos. También se define un conjunto de métricas con base en dicho framework. El trabajo propuesto comprende un mapeo sistemático de la literatura sobre la medición en la ingeniería de líneas de productos, un framework de medición centrado en un conjunto de atributos extraídos de la ingeniería de líneas de productos, un conjunto de métricas para líneas de productos y la correspondiente validación de dichas métricas con un análisis teórico.Abstract: A product line is a set of related products that share some common features and variable ones. It allows the massive production of those products besides their adaptation to particular requirements. Product line engineering is a production paradigm that implies mass customization of products. It helps to a greater reuse of components, to decrease the time of development and to improve the final quality of products. Like in any other engineering branch, in product line engineering measurement has a key role. It allows a better management of the processes and the resources required by them, as well as to monitor the quality of the products. This process is implemented through the use of metrics, which allow to have a quantitative measure of the degree in which a system, component or process possesses a given attribute (like cost, maintainability or complexity). However, neither the academy nor the industry have a framework for using metrics in product lines. Although, in engineering but mainly in software engineering, there is not a consensus in a measurement terminology or in a measurement methodology. All this has led to some difficulties in the definition and the validation of metrics in software engineering and in product line engineering. In this work, we propose a measurement framework for product line engineering focused on attributes. We also define a set of metrics based on this framework. The proposed work includes a systematic mapping about measurement in product line engineering, a measurement framework focused on the attributes of the product lines, a set of metrics for product lines and the validation of those metrics with a theoretical analysis.Maestrí

    Wertbasierte Portfolio-Optimierung bei Software-Produktlinien: Value-based Portfolio-Optimization of Software Product Lines: Modell, Vorgehen, Umsetzung

    Get PDF
    Das Software Product Line Engineering (SPLE) ist ein ganzheitlicher Ansatz zur Entwicklung und Vermarktung von Software-Produktlinien auf Basis von Software-Systemfamilien. Eine in frühen Phasen des SPLE durchzuführende Aktivität ist das Scoping, bei dem die zu realisierenden Produkte mit den zwischen ihnen bestehenden Wiederverwendungspotentialen identifiziert werden. Bei der Durchführung des Scopings steht der Produkt-Manager vor dem Problem einen Ausgleich zwischen den Bedürfnissen der Kunden und dem Aufwand der Entwicklung zu finden. Durch die bestehenden Wiederverwendungspotentiale bei Software-Systemfamilien wird die Entscheidung zusätzlich erschwert. Aufgrund der bestehenden Komplexität der Entscheidung, wird in Literatur und Praxis eine Unterstützung in Form einer statistisch-mathematischen Optimierung gefordert. Dieser Forderung nimmt sich die vorliegende Arbeit an. In ihr werden mit der Konstruktion eines Modells gewinnbeeinflussender Faktoren, einer Methode zur wertbasierten Portfolio-Optimierung und eines Prototyps zur Unterstützung der wertbasierten Portfolio-Optimierung und der anschließenden Evaluation dieser Artefakte zwei Fragen adressiert. Erstens wird geprüft, ob die Optimierung von Produkt-Portfolios bei Software-Produktlinien mit statistisch-mathematischen Verfahren unterstützt werden kann. Zweitens wird geprüft, ob die statistisch-mathematische Optimierung von Produkt-Portfolios eine akzeptierte Unterstützung von Software-Anbietern sein kann. Die Arbeit ordnet sich mit ihren Fragen in die Forschung zum Produkt-Management bei Software-Produktlinien ein und trägt die vorgenannten Artefakte bei.:Abbildungsverzeichnis ix Tabellenverzeichnis xi Abkürzungsverzeichnis xii Symbolverzeichnis xiv 1 Einleitung 1 1.1 Stand der Forschung 3 1.2 Forschungsbedarf 5 1.3 Forschungskonzept 7 1.4 Verwendete Methoden und Notationen 9 1.4.1 Method Engineering 10 1.4.2 Software & Systems Process Engineering Meta-Model 12 1.4.3 Merkmaldiagramme 14 1.5 Aufbau der Arbeit 16 I Modell 17 2 Software-Ökonomie 18 2.1 Unternehmen und ihre Produkte 20 2.1.1 Eigenschaften von Software-Produkten 23 2.1.2 Vom Software-System zum Geschäftsmodell 24 2.1.3 Kosten 28 2.1.4 Erlös 31 2.2 Kunden 35 2.2.1 Nutzen und Wertvorstellung 35 2.2.2 Zahlungsbereitschaft 35 2.2.3 Kundenmodell 37 2.3 Konkurrenz und Markt 38 2.3.1 Konkurrenzmodell 38 2.3.2 Ökonomische Besonderheiten von Software-Produkten 39 2.3.3 Struktur von Software-Märkten 40 2.4 Preis 41 2.4.1 Preisbeeinflussende Faktoren 42 2.4.2 Verfahren der Preisbildung 42 2.4.3 Preismodell 44 2.5 Produkt- und Preisdifferenzierung 44 2.5.1 Typen der Preisdifferenzierung 46 2.5.2 Preisdifferenzierung mit Selbstselektion 47 2.5.3 Gewinnoptimalität 48 2.6 Zusammenfassung 49 3 Software-Produktlinien 50 3.1 Prozesse des Software Product Line Engineerings 53 3.1.1 Domain Engineering 54 3.1.2 Anwendungsentwicklung 56 3.1.3 Management 57 3.1.4 Scoping 58 3.2 Methoden des Software Product Line Engineerings 60 3.3 Szenarios des Einsatzes von Software-Systemfamilien 62 3.4 Angereicherte Software-Produktlinien 64 3.5 Kostenmodell bei Software-Systemfamilien 65 3.6 Modell gewinnbeeinflussender Faktoren 68 3.6.1 Interne Einflüsse 68 3.6.2 Externe Einflüsse 70 3.7 Zusammenfassung 71 I I Vorgehen 72 4 Methode zur wertbasierten Portfolio-Optimierung 73 4.1 Die Methode im Überblick 74 4.2 Kundenanalyse 76 4.2.1 Techniken 77 4.2.2 Einsatz 83 4.2.3 Zusammenfassung 88 4.3 Kostenanalyse 89 4.3.1 Techniken 91 4.3.2 Einsatz 94 4.3.3 Zusammenfassung 97 4.4 Konkurrenzanalyse 98 4.5 Optimierung und weitere Schritte 100 4.6 Zusammenfassung 101 5 Merkmalbasierte Generierung adaptiver Conjoint-Studien 102 5.1 Meta-Modelle 103 5.1.1 Merkmalmodelle 103 5.1.2 ACA-PE-Konfigurationen 105 5.2 Abbildung von Merkmalmodellen auf ACA-PE 106 5.2.1 Erste Überlegungen 106 5.2.2 Stufen 107 5.3 Illustrierendes Beispiel 111 5.4 Zusammenfassung 113 6 Wertbasierte Portfolio-Optimierung 114 6.1 Technische Vorbemerkungen 115 6.2 Verwandte Arbeiten 117 6.2.1 Analytische Arbeiten 117 6.2.2 Praktische Arbeiten 118 6.2.3 Besondere Ansätze 121 6.2.4 Schlussfolgerung 122 6.3 Entwurfsproblem bei Software-Produkt-Portfolios 123 6.3.1 Notationsmittel 123 6.3.2 Mathematisches Programm 125 6.4 Lösungsprozedur 126 6.4.1 Finden des optimalen Software-Produkt-Portfolios 127 6.4.2 Identifikation wichtiger Systeme 129 6.5 Illustrierendes Beispiel 129 6.6 Erweiterung 132 6.7 Zusammenfassung 133 I I I Umsetzung 134 7 Software-Prototyp zur wertbasierten Portfolio-Optimierung 135 7.1 Anforderungen 136 7.1.1 Funktional 136 7.1.2 Nicht-funktional 140 7.2 Technologiestudie 140 7.3 Entwurf 143 7.4 Implementierung 146 7.4.1 Spezifikationseditor 146 7.4.2 ACA-PE-Editor 151 7.4.3 Anwendungskern 152 7.5 Test 157 7.6 Zusammenfassung 157 8 Evaluation 158 8.1 Demonstration 158 8.2 Ergebnisgüte und Skalierbarkeit 162 8.2.1 Theoretisches Testdaten-Modell 163 8.2.2 Testtreiber und Testdatengenerator 166 8.2.3 Auswertung 167 8.3 Akzeptanz 174 8.3.1 Untersuchungsdesign 174 8.3.2 Auswertung 175 8.4 Zusammenfassung 176 9 Zusammenfassung und Ausblick 177 IV Anhang 181 Glossar 182 Literaturverzeichnis 184 A Befragungen 206 A.1 Befragung zur praktischen Relevanz der Portfolio-Optimierung 206 A.2 Experteninterview zur Akzeptanz 208 B Herleitungen 214 B.1 Struktur von Software-Märkten 214 B.2 Gewinnoptimalität der Preisdifferenzierung mit Selbstselektion 219 B.3 Preis-Subproblem für den Simplex-Algorithmus 227 B.4 Beispiel analytisch bestimmter Testdaten 228 C Modelle und Ausgaben des Prototyps 229 Wissenschaftlicher und persönlicher Werdegang 232 Selbstständigkeitserklärung 23
    corecore