首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Communicating the variability of a software-product family to customers   总被引:3,自引:0,他引:3  
Variability is a central concept in software product family development. Variability empowers constructive reuse and facilitates the derivation of different, customer specific products from the product family. If many customer specific requirements can be realised by exploiting the product family variability, the reuse achieved is obviously high. If not, the reuse is low. It is thus important that the variability of the product family is adequately considered when eliciting requirements from the customer. In this paper we sketch the challenges for requirements engineering for product family applications. More precisely we elaborate on the need to communicate the variability of the product family to the customer. We differentiate between variability aspects which are essential for the customer and aspects which are more related to the technical realisation and need thus not be communicated to the customer. Motivated by the successful usage of use cases in single product development we propose use cases as communication medium for the product family variability. We discuss and illustrate which customer relevant variability aspects can be represented with use cases, and for which aspects use cases are not suitable. Moreover we propose extensions to use case diagrams to support an intuitive representation of customer relevant variability aspects. Received: 14 October 2002 / Accepted: 8 January 2003 Published online: 27 February 2003 This work was partially funded by the CAFé project “From Concept to Application in System Family Engineering”; Eureka Σ! 2023 Programme, ITEA Project ip00004 (BMBF, F?rderkennzeichen 01 IS 002 C) and the state Nord-Rhein-Westfalia. This paper is a significant extension of the paper “Modellierung der Variabilit?t einer Produktfamilie”, [15].  相似文献   

2.
软件产品线可变性建模技术系统综述   总被引:3,自引:1,他引:3  
聂坤明  张莉  樊志强 《软件学报》2013,24(9):2001-2019
软件产品线是实现大规模的软件复用、保证高质量的新产品开发的最佳实践.软件产品线的关键问题是如何进行可变性管理,并基于可变性管理实现软件核心资产的复用.软件产品线可变性建模是可变性管理的关键技术,实现产品家族成员的共性和可变性的描述.可变性建模涉及软件开发的全生命周期,在领域工程和应用工程中,尤其是在产品构建过程中,起到重要的作用.从众多的建模技术中选择合适的建模技术是十分困难的,在软件产品线领域中开展了可变性建模技术的系统综述,按照系统综述的方法对可变性建模技术进行了系统总结,根据系统综述规则,选取了从1990 年~2011 年发表的论文进行综述.讨论了系统综述的研究成果,从可变性建模方法分类、重要可变性建模技术对比等方面进行深入的探讨,为建模人员和研究人员对可变性建模技术的选择和研究提供支持.最后分析了可变性建模技术的研究趋势,并对可变性建模技术有待深入的研究难点和发展趋势进行了展望.  相似文献   

3.
Variability is the ability of a system to be efficiently extended, changed, customised or configured for use in a particular context. There is an ever-growing demand for variability of software. Software product families are an important means for implementing software variability. We present a domain ontology called Kumbang for modelling the variability in software product families. Kumbang synthesises previous approaches to modelling variability in software product families. In addition, it incorporates modelling constructs developed in the product configuration domain for modelling the variability in non-software products. The modelling concepts include components and features with compositional structure and attributes, the interfaces of components and connections between them, and constraints. The semantics of Kumbang is rigorously described using natural language and a UML profile. We provide preliminary proof of concept for Kumbang: the domain ontology has been provided with a formal semantics by implementing a translation into a general-purpose knowledge representation language with formal semantics and inference support. A prototype tool for resolving variability has been implemented.  相似文献   

4.
软件复用技术在软件工程领域具有重要作用并且被广泛应用,尤其是在软件产品线工程领域,系统化的软件复用技术为软件产品线的设计和实现提供了基础。论文首先详细阐述了具有代表性的系统化软件复用支撑技术,随后在一个通用的软件产品线参考架构的基础上,探讨了复用技术在软件产品线工程领域的主要应用形式,最后针对可变性定义及其管理问题,引人并着重探讨了三种可变性管理模型及技术。  相似文献   

5.
Variability modeling is important for managing variability in software product families, especially during product derivation. In the past few years, several variability modeling techniques have been developed, each using its own concepts to model the variability provided by a product family. The publications regarding these techniques were written from different viewpoints, use different examples, and rely on a different technical background. This paper sheds light on the similarities and differences between six variability modeling techniques, by exemplifying the techniques with one running example, and classifying them using a framework of key characteristics for variability modeling. It furthermore discusses the relation between differences among those techniques, and the scope, size, and application domain of product families.  相似文献   

6.
组件容器为组件提供部署和运行环境,是基于组件的分布式应用开发的核心。近年来,开发网构软件的需求驱动着组件技术持续改进,新型组件不断涌现,这对组件容器的开发效率提出更高的要求。因此,在组件容器开发过程中大规模复用已有的软件资产变得非常重要。在许多情况下,产品线工程已被证实是有效的系统化复用的工程方法。首先探讨将产品线工程应用于组件容器开发所面临的主要困难,并提出相应的解决方案;然后给出了一个组件容器的产品线——PLACE的设计,解释了其两个主要部分:产品线体系结构和产品派生流程;最后,通过一个实际案例,展示利用PLACE设计开发组件容器的完整过程,结果证实体系结构和源代码的复用性都有一定程度的提高。  相似文献   

7.
李婷  杨根兴  饶若楠 《计算机工程》2007,33(17):63-65,6
从基于构件的软件开发中所关注的应用领域和体系结构这两大软件特征出发,构造一种基于构件开发的软件产品结构成分表(BOSC),提出面向特征BOSC的生成算法,为基于构件的软件开发提供软件构件复用管理方法。在整个软件生命周期中,BOSC完整地反映了软件产品组成成分的情况,支持软件产品维护和升级。实践表明BOSC能够有效提高开发效率和管理水平。  相似文献   

8.
在针对特定领域的软件复用中,产品导出是主要活动之一.产品导出指的是,开发人员基于领域中可复用的软件制品开发出所需的软件产品.在产品导出过程中,产品导出效率决定了软件复用的收益.在诸多影响产品导出效率的因素中,手工进行产品导出是拉低产品导出效率的主要因素之一,其最终会导致软件复用收益降低.为了提高产品的导出效率,相关研究提出了一些自动导出软件产品的方法.在这些方法中,一种普遍采用的指导思想是基于特征模型自动导出软件产品.在诸多使用该思想进行产品导出的方法中,各方法所使用的实现方式差异很大.为了给基于特征模型自动导出软件产品提供更好的支持,基于现有研究,提出了一个分类框架,并使用该框架对现有基于特征模型自动导出软件产品的方法进行了分类和比较.另外,还进一步指出了现有研究中的不足,并提出解决这些不足的设想.  相似文献   

9.
Agent-oriented software engineering and software product lines are two promising software engineering techniques. Recent research work has been exploring their integration, namely multi-agent systems product lines (MAS-PLs), to promote reuse and variability management in the context of complex software systems. However, current product derivation approaches do not provide specific mechanisms to deal with MAS-PLs. This is essential because they typically encompass several concerns (e.g., trust, coordination, transaction, state persistence) that are constructed on the basis of heterogeneous technologies (e.g., object-oriented frameworks and platforms). In this paper, we propose the use of multi-level models to support the configuration knowledge specification and automatic product derivation of MAS-PLs. Our approach provides an agent-specific architecture model that uses abstractions and instantiation rules that are relevant to this application domain. In order to evaluate the feasibility and effectiveness of the proposed approach, we have implemented it as an extension of an existing product derivation tool, called GenArch. The approach has also been evaluated through the automatic instantiation of two MAS-PLs, demonstrating its potential and benefits to product derivation and configuration knowledge specification.  相似文献   

10.
Many product families are modest in the sense that they consist of a sequence of incremental products with, at any point in time, only a few distinct products available and minimal variations among the products. Such product families, nevertheless, are often large, complex systems, widely deployed, and possessing stringent safety and performance requirements. This paper describes a case study that tends to confirm the value of using a product‐line approach for the architectural design of a modest product family. The paper describes the process, design alternatives, and lessons learned, both positive and negative, from the architectural design of one such family of medical image analysis products. Realized benefits included identifying previously unrecognized common behavior and sets of features that were likely to change together, aligning the architecture with specific market needs and with the organization, and reducing unplanned dependencies. Most interesting were the unanticipated benefits, including decoupling the product‐family architecture from the order of implementation of features, and using the product‐family architecture as a ‘guiding star’ with subsequent releases moving toward, rather than away from, the planned architecture. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

11.
产品线工程(Product Line Engineering)是运用软件重用思想的一种软件开发方法,它属于一种大粒度的软件复用方式,用于开发相同领域的类似产品过程。由于PLE强调针对特定产品集合的领域开发和面向重用技术,所以能有效地提高软件产品的开发效率和质量,降低软件开发成本。文中介绍了PLE理论,着重研究产品线模型、开发模式、生命周期和体系结构,介绍领域工程和应用工程在生命周期内部的交互作用。通过产品线开发周期分析和比较出PLE在系统开发过程中的特点,最后介绍PLE在HIS系统中的开发应用。  相似文献   

12.
Feature modeling has become a popular technique for domain analysis and variability management. However, it is still a considerable challenge to apply this technique to product families and organizational contexts of high complexity like the product range of a global automotive corporation. Managing everything as a single product family with a global feature tree is virtually impossible owing to the enormous complexity, but if the product range is split up into several smaller, independent product lines with separate feature models, systematic reuse and strategic variability management across these portions is lost. In this article, we present multi-level feature trees, which offer a compromise between a single global and several smaller, independent feature trees. Other development artifacts may also be arranged in this way if the multi-level concept is adapted to them. This is shown exemplarily for requirements artifacts in Telelogic Doors. Finally, we describe scenarios showing how this concept can be put into practice. Work presented here was performed at TU-Berlin.  相似文献   

13.
Traceability is the ability to describe and follow the life of a software artifact and a means for modeling the relations between software artifacts in an explicit way. Traceability has been successfully applied in many software engineering communities and has recently been adopted to document the transition among requirements, architecture and implementation. We present an approach to customize traceability to the situation at hand. Instead of automating tracing, or representing all possible traces, we scope the traces to be maintained to the activities stakeholders must carry out. We define core traceability paths, consisting of essential traceability links required to support the activities. We illustrate the approach through two examples: product derivation in software product lines, and release planning in software process management. By using a running software product line example, we explain why the core traceability paths identified are needed when navigating from feature to structural models and from family to product level and backward between models used in software product derivation. A feasibility study in release planning carried out in an industrial setting further illustrates the use of core traceability paths during production and measures the increase in performance of the development processes supported by our approach. These examples show that our approach can be successfully used to support both product and process traceability in a pragmatic yet efficient way.  相似文献   

14.
Software product line development has emerged as a leading approach for software reuse. This paper describes an approach to manage natural-language requirements specifications in a software product line context. Variability in such product line specifications is modeled and managed using a feature model. The proposed approach has been introduced in the Swedish defense industry. We present a multiple-case study covering two different product lines with in total eight product instances. These were compared to experiences from previous projects in the organization employing clone-and-own reuse. We conclude that the proposed product line approach performs better than clone-and-own reuse of requirements specifications in this particular industrial context.  相似文献   

15.
In product lifecycle management, the efficiency of information reuse relies on the definition and management of equivalence information between various product data and structure representations. Equivalence information ensures the consistency and traceability of product information throughout the product lifecycle. The sales-delivery process of engineer-to-order (ETO) products presents a great potential for design reuse, i.e. the reuse of previously validated design solutions in the design of new product variants according to customer-specific requirements. A product family data model that focuses on the interdependencies of viewpoints on information will therefore improve the setup of design reuse mechanisms such as modularity. This paper describes the Adaptive Generic Product Structure (AGPS), a dynamic structure-based product family modelling approach that enables the systematic aggregation of product variants and their distinctive components. The purpose of the approach is to capitalize on the expanding component variety developed within previous product variants as early as the sales lead phase of the sales-delivery process, in order to reduce customer-driven design costs and shorten lead-times. An illustrative example based on the aerospace industry is presented.  相似文献   

16.
Applying software engineering concepts can improve the quality of any software development, and this is even more dramatic for complex, large and sophisticated software, such as meshing tools. Software product families are series of related products that make intensive reuse of already developed components. Object-oriented design promotes reusability, so it is specially suited for designing the structure of product families. In this paper we present an object-oriented design of a product family of meshing tools, where all family members share the software structure. By instantiating the structure with particular algorithms and parameters, we can easily produce different tools of the family. A good family design allows us not only to combine existing algorithms but also to easily incorporate new ones, improving software family evolution. We show how the family design is used for the generation of finite element and finite volume meshing tools, as well as a new tool for image processing.  相似文献   

17.
ContextService-Orientation (SO) is a rapidly emerging paradigm for the design and development of adaptive and dynamic software systems. Software Product Line Engineering (SPLE) has also gained attention as a promising and successful software reuse development paradigm over the last decade and proven to provide effective solutions to deal with managing the growing complexity of software systems.ObjectiveThis study aims at characterizing and identifying the existing research on employing and leveraging SO and SPLE.MethodWe conducted a systematic mapping study to identify and analyze related literature. We identified 81 primary studies, dated from 2000–2011 and classified them with respect to research focus, types of research and contribution.ResultThe mapping synthesizes the available evidence about combining the synergy points and integration of SO and SPLE. The analysis shows that the majority of studies focus on service variability modeling and adaptive systems by employing SPLE principles and approaches.In particular, SPLE approaches, especially feature-oriented approaches for variability modeling, have been applied to the design and development of service-oriented systems. While SO is employed in software product line contexts for the realization of product lines to reconcile the flexibility, scalability and dynamism in product derivations thereby creating dynamic software product lines.ConclusionOur study summarizes and characterizes the SO and SPLE topics researchers have investigated over the past decade and identifies promising research directions as due to the synergy generated by integrating methods and techniques from these two areas.  相似文献   

18.
Over the last two decades, software product lines have been used successfully in industry for building families of systems of related products, maximizing reuse, and exploiting their variable and configurable options. In a changing world, modern software demands more and more adaptive features, many of them performed dynamically, and the requirements on the software architecture to support adaptation capabilities of systems are increasing in importance. Today, many embedded system families and application domains such as ecosystems, service-based applications, and self-adaptive systems demand runtime capabilities for flexible adaptation, reconfiguration, and post-deployment activities. However, as traditional software product line architectures fail to provide mechanisms for runtime adaptation and behavior of products, there is a shift toward designing more dynamic software architectures and building more adaptable software able to handle autonomous decision-making, according to varying conditions. Recent development approaches such as Dynamic Software Product Lines (DSPLs) attempt to face the challenges of the dynamic conditions of such systems but the state of these solution architectures is still immature. In order to provide a more comprehensive treatment of DSPL models and their solution architectures, in this research work we provide an overview of the state of the art and current techniques that, partially, attempt to face the many challenges of runtime variability mechanisms in the context of Dynamic Software Product Lines. We also provide an integrated view of the challenges and solutions that are necessary to support runtime variability mechanisms in DSPL models and software architectures.  相似文献   

19.
More and more organizations adopt software product lines to leverage extensive reuse and deliver a multitude of benefits such as increased quality and productivity and a decrease in cost and time-to-market of their software development. When compared to the vast amount of research on developing product lines, relatively little work has been dedicated to the actual use of product lines to derive individual products, i.e., the process of product derivation. Existing approaches to product derivation have been developed independently for different aims and purposes. While the definition of a general approach applicable to every domain may not be possible, it would be interesting for researchers and practitioners to know which activities are common in existing approaches, i.e., what are the key activities in product derivation. In this paper we report on how we compared two product derivation approaches developed by the authors in two different, independent research projects. Both approaches independently sought to identify product derivation activities, one through a process reference model and the other through a tool-supported derivation approach. Both approaches have been developed and validated in research industry collaborations with different companies. Through the comparison of the approaches we identify key product derivation activities. We illustrate the activities’ importance with examples from industry collaborations. To further validate the activities, we analyze three existing product derivation approaches for their support for these activities. The validation provides evidence that the identified activities are relevant to product derivation and we thus conclude that they should be considered (e.g., as a checklist) when developing or evaluating a product derivation approach.  相似文献   

20.
面向软件产品家族的变化性建模方法   总被引:11,自引:0,他引:11       下载免费PDF全文
用户需求和运行环境的变化增加了软件产品开发、维护和演化的难度.另一方面,如果能对同类软件(比如软件产品家族)的变化性实施有效的控制,则可以极大地促进软件复用,提高软件生产效率和质量.对变化性建模是控制变化性的有效手段,既有助于变化性的识别和规约,又能够提供足够的机制支持变化性的演化.提出了一种面向产品家族的变化性建模方法,以变化性的管理策略为指导,从扩展的用况(use case)模型入手捕获系统行为的变化性,以特征模型来组织功能性需求和质量属性并识别其变化性,两种模型对变化性的建模采用相同的机制.还结合一个实例讨论了产品家族变化性建模的全过程.该研究对产品家族变化性的分析与建模具有一定的参考作用.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号