首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 234 毫秒
1.
基于组件模型分析的组件容器产品线体系结构   总被引:3,自引:0,他引:3  
组件容器为组件提供部署和运行环境,是基于组件分布式应用开发的核心.近年来分布式组件的多样化和快速演化对组件容器的开发方法提出了挑战.产品线工程是基于公共的核心资产开发特定领域内软件产品系列的软件工程方法,产品线体系结构是其中最重要的部分.进行组件容器产品线体系结构的研究能够提高组件容器的结构复用性,获得更高的生产效率和质量.由于组件模型是组件容器设计的基础,在领域分析阶段引入组件模型分析,提出了组件模型分析框架,通过组件模型元素到领域需求元素的映射,建立组件容器领域模型.提出了组件容器设计的基本原则,并根据变化性封装原则,提出了组件容器产品线体系结构PLACE,通过引入可选属性、模块层次结构和决策模型,实现组件容器的领域需求.PLACE产品线体系结构已在网驰平台的多个组件容器设计中得到应用.  相似文献   

2.
基于特征模型和构件语义的概念体系结构设计   总被引:9,自引:0,他引:9  
彭鑫  赵文耘  刘奕明 《软件学报》2006,17(6):1307-1317
特定领域软件体系结构(domain-specific software architecture,简称DSSA)是特定领域开发中的重要资产,而基于特征的领域模型使得从领域需求到DSSA的映射成为可能.引入本体作为特征模型的描述基础,通过该方法得到的领域特征本体将同时作为领域内业务构件的语义描述基础存在.在此基础上,提出了基于特征模型和构件语义的概念体系结构设计方法.该方法综合考虑了特征模型中的共性、可变性、绑定时间以及结构关系、依赖关系等对DSSA设计的影响,同时以构件语义作为特征到概念构件设计的过渡.相关方法已经实现为基于本体的特征建模工具和基于特征模型的体系结构设计工具,为特征驱动的领域开发提供了有力的支持.  相似文献   

3.
产品线体系结构定义了产品线中所有产品的公共结构及其特性,是软件产品线最重要的核心资源之一。为了满足其多个成员的特殊需求变更,产品线体系结构需要并发演化,而并发演化冲突则成为产品线体系结构演化的核心问题。应用复用契约技术检测产品线体系结构的并发演化冲突,给出产品线体系的vADL模型的类型标签图映射及约束,定义产品线体系结构的编辑命令、应用性冲突和演化性冲突,并且对该方法进行实例说明。  相似文献   

4.
在当前面向特征的软件产品线开发方法中,需求级的可变性分析、可变点表示以及面向应用的定制已经得到了较好的支持。但是,从需求级的定制和裁剪( 特征模型) 到实现级( 体系结构和构件) 的映射仍然存在许多困难。针对这一问题,文章提出了一种基于适应性构件模型的软件产品线开发方法。这种适应性构件模型引入基于特征的领域模型作为构件端口( 包括内部端口和外部端口) 的语义基础。另一方面, 适应性构件模型所具有的微体系结构使得面向特定应用的构件行为定制成为可能。为了实现构件级面向特征的定制, 构件内部负责内部和外部协作的控制中心与构件的计算逻辑被分离开来执行经定制后的构件行为协议和端口语义。构件协作和计算功能的分离使针对构件行为的面向应用的定制更加便利。这样,产品线应用开发中需求级的特征定制就可以映射为体系结构和构件级的结构和行为调整。  相似文献   

5.
研究了基于特征的领域体系结构分析和设计过程,定义了各阶段的活动和产品,包括在分析阶段建立用例模型、特征模型和分析级对象模型,在设计阶段建立分层领域体系结构.探讨了特征模型在领域体系设计中的地位和作用,详细介绍了特征模型的分类和基本结构.将该方法应用在集团化企业物流领域中采购计划子系统的领域体系结构构建中,提出了以领域体系结构层次为基础,从特征模型和分析级对象模型中获取领域构件的映射规则,以更好地获取领域构件.  相似文献   

6.
软件产品线是一组具有可管理的公共特性的产品集合。选取网络办公自动化(OA)系统作为特定的研究领域,在分析此领域中产品的共性后,给出了OA系统软件产品线的实现方法。具体描述了OA系统产品线的需求工程,OA系统产品线核心资产的提取,并以科技项目管理系统为例说明了如何将核心资产应用到具体的产品开发中。  相似文献   

7.
连小利  张莉 《软件学报》2017,28(10):2548-2563
软件产品线中产品定制的核心是选择合适的特征集.由于多个非功能需求间往往相互制约甚至冲突,特征选择的本质是多目标优化过程.优化过程的搜索空间被特征间错综复杂的依赖和约束关系以及明确的功能需求大大限制.另外,有些非功能需求有明确的数值约束,而有些则仅要求尽可能得到优化.多样的非功能需求约束类型也给优化选择过程带来极大挑战.本文提出一种含修正算子的多目标优化算法MOOFs.文中首先设计特征间依赖和约束关系描述语言DCF-DL来统一规范特征选择过程中必须遵守的规则.所有的非功能需求都转化为优化目标,相关的数值约束则作为优化过程中特征选择方案的过滤器.另外,设计了修正算子用于保证选择出的特征配置方案必满足产品线的特征规则约束.通过与四个常用的多目标优化算法在四个不同规模的特征模型上的运行结果做对比,证明本文的方法能够更快地产生满足约束的优化解,且优化解具备更好的收敛性与多样性.  相似文献   

8.
软件产品线的特征之间存在依赖关系,因此在面向特征编程(FOP)中,特征模块之间在代码结构上存在密切关联.另一方面,具有可变性的特征在应用产品中的绑定与否会对依赖关系的实现造成破坏性的影响,导致FOP在实施过程中可能出现特征组合失效问题.对该问题的产生进行分析,总结出3种主要的依赖场景.另外,提出一种特征模块垂直分解方法,其核心机制在于将可变性引入特征模块内部,根据需求组装实现代码,从而可避免出现组合失效问题.最后,通过一个出版社利润考核系统产品线实例验证了方法的有效性.  相似文献   

9.
可变性建模是软件产品线领域研究热点,现阶段的研究局限在需求阶段,缺乏完整的理论体系,从领域工程到应用工程缺乏详细的指导。针对这些问题,本文改进特征模型构建方法和流程,使其支持软件全生命周期,加强各模型的映射关系,增强流程可操作性,保障模型间的一致性。最后,得到需求阶段和设计阶段的可变性模型,并成功应用到教学服务管理系统二次开发中。通过构件开发和效率比较,验证本文改进方法作为软件复用分支理论是实际可行的,并且能够提高开发效率。  相似文献   

10.
基于任务的访问控制模型能较好地适应分布式应用系统的访问控制需求,但其存在难以映射到具体的信息系统和缺乏安全规则的问题.采用面向对象思想建模,形式化描述了应用对象的内部特征及外部依赖关系,完成了任务实例到应用对象的映射,通过定义角色安全向量和客体安全向量实现了客体到应用对象的关联,通过客体保护态对逆向信息流进行限制,提高了模型的可用性和安全性.  相似文献   

11.
Requirements engineering (RE) offers the means to discover, model, and manage the requirements of the products that comprise a product line, while software product line engineering (SPLE) offers the means of realizing the products’ requirements from a common base of software assets. In practice, however, RE and SPLE have proven to be less complementary than they should. While some RE techniques, particularly goal modeling, support the exploration of alternative solutions, the appropriate solution is typically conditional on context and a large product line may have many product-defining contexts. Thus, scalability and traceability through into product line features are key challenges for RE. Feature modeling, by contrast, has been widely accepted as a way of modeling commonality and variability of products of a product line that may be very complex. In this paper, we propose a goal-driven feature modeling approach that separates a feature space in terms of problem space and solution space features, and establish explicit mappings between them. This approach contributes to reducing the inherent complexity of a mixed-view feature model, deriving key engineering drivers for developing core assets of a product line, and facilitating the quality-based product configuration.  相似文献   

12.
One of the benefits of software product line approach is to improve time-to-market. The changes in market needs cause software requirements to be flexible in product lines. Whenever software requirements are changed, software architecture should be evolved to correspond with them. Therefore, domain architecture should be designed based on domain requirements. It is essential that there is traceability between requirements and architecture, and that the structure of architecture is derived from quality requirements. The purpose of this paper is to provide a framework for modeling domain architecture based on domain requirements within product lines. In particular, we focus on the traceable relationship between requirements and architectural structures. Our framework consists of processes, methods, and a supporting tool. It uses four basic concepts, namely, goal based domain requirements analysis, Analytical Hierarchy Process, Matrix technique, and architecture styles. Our approach is illustrated using HIS (Home Integration System) product line. Finally, industrial examples are used to validate DRAMA.  相似文献   

13.
Feature models are frequently used to capture the knowledge about configurable software systems and product lines. However, feature modeling of large-scale systems is challenging as models are needed for diverse purposes. For instance, feature models can be used to reflect the perspectives of product management, technical solution architecture, or product configuration. Furthermore, models are required at different levels of granularity. Although numerous approaches and tools are available, it remains hard to define the purpose, scope, and granularity of feature models. This paper first reports results and experiences of an exploratory case study on developing feature models for two large-scale industrial automation software systems. We report results on the characteristics and modularity of the feature models, including metrics about model dependencies. Based on the findings from the study, we developed FORCE, a modeling language, and tool environment that extends an existing feature modeling approach to support models for different purposes and at multiple levels, including mappings to the code base. We demonstrate the expressiveness and extensibility of our approach by applying it to the well-known Pick and Place Unit example and an injection molding subsystem of an industrial product line. We further show how our approach supports consistency between different feature models. Our results and experiences show that considering the purpose and level of features is useful for modeling large-scale systems and that modeling dependencies between feature models is essential for developing a system-wide perspective.  相似文献   

14.
Fast-changing hardware and software technologies in addition to larger and more specialized customer bases demand software tailored to meet very diverse requirements. Software development approaches that aim at capturing this diversity on a single consolidated platform often require large upfront investments, e.g., time or budget. Alternatively, companies resort to developing one variant of a software product at a time by reusing as much as possible from already-existing product variants. However, identifying and extracting the parts to reuse is an error-prone and inefficient task compounded by the typically large number of product variants. Hence, more disciplined and systematic approaches are needed to cope with the complexity of developing and maintaining sets of product variants. Such approaches require detailed information about the product variants, the features they provide and their relations. In this paper, we present an approach to extract such variability information from product variants. It identifies traces from features and feature interactions to their implementation artifacts, and computes their dependencies. This work can be useful in many scenarios ranging from ad hoc development approaches such as clone-and-own to systematic reuse approaches such as software product lines. We applied our variability extraction approach to six case studies and provide a detailed evaluation. The results show that the extracted variability information is consistent with the variability in our six case study systems given by their variability models and available product variants.  相似文献   

15.
ContextA software product line is a family of related software products, typically created from a set of common assets. Users select features to derive a product that fulfills their needs. Users often expect a product to have specific non-functional properties, such as a small footprint or a bounded response time. Because a product line may have an exponential number of products with respect to its features, it is usually not feasible to generate and measure non-functional properties for each possible product.ObjectiveOur overall goal is to derive optimal products with respect to non-functional requirements by showing customers which features must be selected.MethodWe propose an approach to predict a product’s non-functional properties based on the product’s feature selection. We aggregate the influence of each selected feature on a non-functional property to predict a product’s properties. We generate and measure a small set of products and, by comparing measurements, we approximate each feature’s influence on the non-functional property in question. As a research method, we conducted controlled experiments and evaluated prediction accuracy for the non-functional properties footprint and main-memory consumption. But, in principle, our approach is applicable for all quantifiable non-functional properties.ResultsWith nine software product lines, we demonstrate that our approach predicts the footprint with an average accuracy of 94%, and an accuracy of over 99% on average if feature interactions are known. In a further series of experiments, we predicted main memory consumption of six customizable programs and achieved an accuracy of 89% on average.ConclusionOur experiments suggest that, with only few measurements, it is possible to accurately predict non-functional properties of products of a product line. Furthermore, we show how already little domain knowledge can improve predictions and discuss trade-offs between accuracy and required number of measurements. With this technique, we provide a basis for many reasoning and product-derivation approaches.  相似文献   

16.
Software product line engineering is a paradigm that advocates the reusability of software engineering assets and the rapid development of new applications for a target domain. These objectives are achieved by capturing the commonalities and variabilities between the applications of the target domain and through the development of comprehensive and variability-covering feature models. The feature models developed within the software product line development process need to cover the relevant features and aspects of the target domain. In other words, the feature models should be elaborate representations of the feature space of that domain. Given that feature models, i.e., software product line feature models, are developed mostly by domain analysts by sifting through domain documentation, corporate records and transcribed interviews, the process is a cumbersome and error-prone one. In this paper, we propose a decision support platform that assists domain analysts throughout the domain engineering lifecycle by: (1) automatically performing natural language processing tasks over domain documents and identifying important information for the domain analysts such as the features and integrity constraints that exist in the domain documents; (2) providing a collaboration platform around the domain documents such that multiple domain analysts can collaborate with each other during the process using a Wiki; (3) formulating semantic links between domain terminology with external widely used ontologies such as WordNet in order to disambiguate the terms used in domain documents; and (4) developing traceability links between the unstructured information available in the domain documents and their formal counterparts within the formal feature model representations. Results obtained from our controlled experimentations show that the decision support platform is effective in increasing the performance of the domain analysts during the domain engineering lifecycle in terms of both the coverage and accuracy measures.  相似文献   

17.
Software product line engineering practices offer desirable characteristics such as rapid product development, reduced time-to-market, and more affordable development costs as a result of systematic representation of the variabilities of a domain of discourse that leads to methodical reuse of software assets. The development lifecycle of a product line consists of two main phases: domain engineering, which deals with the understanding and formally modeling of the target domain, and application engineering that is concerned with the configuration of a product line into one concrete product based on the preferences and requirements of the stakeholders. The work presented in this paper focuses on the application engineering phase and builds both the theoretical and technological tools to assist the stakeholders in (a) understanding the complex interactions of the features of a product line; (b) eliciting the utility of each feature for the stakeholders and hence exposing the stakeholders’ otherwise implicit preferences in a way that they can more easily make decisions; and (c) dynamically building a decision model through interaction with the stakeholders and by considering the structural characteristics of software product line feature models, which will guide the stakeholders through the product configuration process. Initial exploratory empirical experiments that we have performed show that our proposed approach for helping stakeholders understand their feature preferences and its associated staged feature model configuration process is able to positively impact the quality of the end results of the application engineering process within the context of the limited number of participants. In addition, it has been observed that the offered tooling support is able to ease the staged feature model configuration process.  相似文献   

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

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