首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 468 毫秒
1.
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.  相似文献   

2.
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.  相似文献   

3.
基于体系结构的应用系统族开发方法的研究   总被引:2,自引:0,他引:2  
对于建筑领域管理系统这样具有共同特性的一组应用系统的开发,如果没有系统性重用的方法,不仅会造成软件资产的大量浪费,而且也使系统的成本和开发周期大大增加。为解决上述问题,该文提出了一套以体系结构为中心的工程化软件开发方法,该方法利用软件产品线开发的思想,将软件产品线工程和应用工程两种开发活动集成到一起,通过族体系结构的重用实现系统性重用。  相似文献   

4.
Software variants emerge from ad-hoc copying in-the-large with adaptations to a specific context. As the number of variants increases, maintaining such software variants becomes more and more difficult and expensive. In contrast to such ad-hoc reuse, software product lines offer organized ways of reuse, taking advantage of similarities of different products. To re-gain control, software variants may be consolidated as organized software product lines. In this paper, we describe a method and supporting tools to compare software variants at the architectural level extending the reflexion method to software variants. Murphy’s reflexion method allows one to reconstruct the module view, a static architectural view describing the static components, their interfaces and dependencies and their grouping as layers and subsystems. The method consists of the specification of the module view and the mapping of implementation components onto the module view. An automatic analysis determines differences between the module view and its implementation. We extend the reflexion method from single systems to software variants. Because software variants share a very large amount of code, we can expect components of one variant to re-occur in the other variant either identically or at least similarly. We use similarity metrics to determine this type of correspondence among implementation components between two variants. Because the similarity metrics are expensive to compute, we use clone detection techniques to reduce the number of candidate pairs of implementation components for which the similarity is computed. The correspondence is then used to transfer as much as possible of the mapping for the analyzed variants to the next variant to be analyzed. Furthermore, we describe how to unify the individual product architectures into a software product line architecture.  相似文献   

5.
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.  相似文献   

6.
Models for projecting software defects from analyses of Ada designs are described. The research is motivated by the need for technology to analyze designs for their likely effect on software quality. The models predict defect density based on product and process characteristics. Product characteristics are extracted from a static analysis of Ada subsystems, focusing on context coupling, visibility, and the import-export of declarations. Process characteristics provide for effects of reuse level and extent of changes. Multivariate regression analyses were conducted with empirical data from industry/government-developed projects: 16 Ada subsystems totaling 149000 source lines of code. The resulting models explain 63-74% of the variation in defect density of the subsystems. Context coupling emerged as a consistently significant variable in the models  相似文献   

7.
8.
软件复用度量是软件复用技术中不可分割的一部分,在软件复用开发中占据重要地位。软件复用开发与传统的软件开发方式不同,从而影响到软件度量,因此需要新的软件复用度量方法,软件复用度量的研究已经引起学术界的广泛重视。本文是一篇软件复用度量综述,阐述了软件复用对度量的影响以及有关软件复用的度量。  相似文献   

9.
软件产品线度量及应用研究   总被引:1,自引:0,他引:1  
软件复用是提高软件生产力、软件质量的最有潜力的领域,软件产品线实质上是最高级别的软件复用.软件产品线对当前的软件密集性项目的管理提出了新的挑战,它需要管理者有超越单一产品的战略考虑,需要有组织性的预见、调查、规划和指导.一直以来软件过程管理和改进的重要思路是:在软件产品开发管理实践中应用软件度量技术,即通过分析软件过程和产品的相关属性,从而为管理决策实践提供客观的数据支持.针对软件产品线管理的一些关键目标,提出了一些重要的度量技术思路,分析了相应的度量指标,满足了软件产品线各层次管理角色的不同的信息需求.  相似文献   

10.
复杂软件系统常常由若干子系统或组件通过组装而成,子系统或组件之间的有效协调是系统开发的一个关键问题.特别是在开放、分布和移动的企业计算环境下,软件系统包含大量异构实体,对协调的可重用性、动态性和适应性提出了更高的要求,以应对业务环境和用户需求的持续变化.对软件系统协调技术的研究现状进行了综述,从协调体系结构、协调设计与实现方法学、协调活动的表示等视角对目前的协调技术进行了总结,探讨了复杂软件系统的协调策略,最后指出了目前协调技术存在的问题和面临的挑战.  相似文献   

11.
Computer-based Systems are used in a wide range of complex systems like automobile assembly lines, power plants, etc. These systems consist of heterogeneous subsystems having a multitude of interactions with other subsystems and environments. Designing software for such systems is a difficult task due to the inherent complexity both at conceptual and implementation levels. When developing a large system, the constituent subsystems may be developed separately. Those subsystems may work well on their own, but may fail to work together with other subsystems and fail to respond to interfacing events. This paper presents OBJ-NET, an object oriented system design tool, which provides a suitable framework for the specification and simulation of complex dynamic systems. The theoretical basis of OBJ-NET is from Category Theory and Petri Nets. OBJ-NET helps users to integrate complex systems by modeling a system as a hierarchy of components. It accepts the flow of control from one set of objects to another and simulates the flow of control among the various components of the system. This will allow a user to validate the correctedness of design and interactively change the design to refine the working of the system. This paper describes the various components of OBJ-NET in detail and illustrates the application of OBJ-NET using, as a working example, the specification and simulation of an Automotive Dashboard System.  相似文献   

12.
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.  相似文献   

13.
基于UML用例图的软件产品线需求建模方法   总被引:7,自引:0,他引:7  
软件产品线方法是一种面向特定领域的、大规模、大粒度的软件复用技术。明确建模和描述软件产品线需求是软件产品线开发的关键问题之一。而传统的UML用例图等方法不足以完整描述产品线需求,特别是其变化性。通过分析软件产品线开发过程和软件产品线需求建模的特殊性,采用扩展UML用例图标签的方法,实现对软件产品线需求的明确描述。以网络图书销售软件产品线为例,进行具体说明。  相似文献   

14.
ContextIn industrial settings products are developed by more than one organization. Software vendors and suppliers commonly typically maintain their own product lines, which contribute to a larger (multi) product line or software ecosystem. It is unrealistic to assume that the participating organizations will agree on using a specific variability modeling technique—they will rather use different approaches and tools to manage the variability of their systems.ObjectiveWe aim to support product configuration in software ecosystems based on several variability models with different semantics that have been created using different notations.MethodWe present an integrative approach that provides a unified perspective to users configuring products in multi product line environments, regardless of the different modeling methods and tools used internally. We also present a technical infrastructure and a prototype implementation based on web services.ResultsWe show the feasibility of the approach and its implementation by using it with the three most widespread types of variability modeling approaches in the product line community, i.e., feature-based, OVM-style, and decision-oriented modeling. To demonstrate the feasibility and flexibility of our approach, we present an example derived from industrial experience in enterprise resource planning. We further applied the approach to support the configuration of privacy settings in the Android ecosystem based on multiple variability models. We also evaluated the performance of different model enactment strategies used in our approach.ConclusionsTools and techniques allowing stakeholders to handle variability in a uniform manner can considerably foster the initiation and growth of software ecosystems from the perspective of software reuse and configuration.  相似文献   

15.
A study of software reuse in NASA legacy systems   总被引:1,自引:0,他引:1  
Software reuse is regarded as a highly important factor in reducing development overheads for new software projects; however, much of the literature is concerned with cost and labor savings that reuse brings to industrial software development and little is known about the inherent risks associated with reuse, particularly in the case of mission and safety-critical software systems. We present the preliminary findings of a research project geared toward assessing the impact of risk in National Aeronautics and Space Administration (NASA) legacy software in flight control systems. We introduce the concept of context variables and the impact they have on reuse within these legacy systems as well as the genealogy classification models, which provide a simple, concise method of mapping reuse between families of software projects. This research was conducted at Global Science and Technology, Inc. under NASA grant number NCC0NNG06GI57G.  相似文献   

16.
软件复用是软件开发中避免重复劳动的一种行之有效的解决方案,好的复用技术可以节约开发成本,缩短开发时间,带来高可靠、高性能、高质量和高效率的软件新系统。面向对象技术是一个非常实用且强有力的软件开发方法,并阐述了软件复用在面向对象方法中的应用。  相似文献   

17.
软件重用研究与应用   总被引:12,自引:0,他引:12  
一、技术问题研究 九十年代,软件重用的潜力日益为人们所接受。软件重用的研究方向发生了根本性变化,人们不仅研究技术问题,而且开始研究非技术问题,如管理问题,资金问等等。 软件重用的研究状况如图1所示。 技术问题是软件重用研究的基础和核心,它涉及域分析和领域工程,软部件工程以及软部件可重用性等方面的研究。 1.领域分析和领域工(DA&DE) 领域分析(DA)是在软件开发过程中对应用领域信息进行收集、抽象和组织,识别和造出各种可重  相似文献   

18.
基于UML的软件产品线建模方法研究   总被引:3,自引:0,他引:3  
软件产品线方法是一种面向特定领域的、大规模、大粒度的软件复用技术。文章简要介绍了基于UML的软件产品线建模方法。由于软件产品线对于产品线成员公共性和变化性的特殊关注,其用例模型、交互模型、状态模型、静态模型、特征模型和单一软件系统相比都有所区别。文章对各种模型进行描述的同时,以报业排版软件产品线样张打印功能为例,进行具体说明。  相似文献   

19.
面向领域的软件开发的研究   总被引:1,自引:0,他引:1  
传统的面向应用的软件开发模式不能迅速响应用户的需求,提出了一种大规模生产软件产品的构架,通过开发面向特定领域的软件产品族,复用产品族中的公共资产库,采用定制机制的方法开发面向用户的应用程序。并结合一个具体的例子详细说明如何使用此方法开发电信领域的网管系统构架及具体应用系统。  相似文献   

20.
面向对象与软件复用技术研究   总被引:11,自引:0,他引:11  
软件复用是软件开发中避免重复劳动的一种行之有效的解决方案 ,好的复用技术可以节约开发成本 ,缩短开发时间 ,带来高可靠、高性能、高质量和高效率的软件新系统。面向对象技术是一个非常实用且强有力的软件开发方法 ,可为软件复用提供基本的技术支持。介绍了软件复用的基本概念和关键技术 ,并阐述了软件复用在面向对象方法中的应用。  相似文献   

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

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