首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 156 毫秒
1.
软件非功能特性的处理一直以来都是困扰着研究人员和开发人员的难题.将面向方面的编程思想运用于软件非功能性的研究打破了传统的软件设计过程,这种研究方法在软件需求分析的初期分离出系统的非功能特性并将这些非功能特性做一个整体的处理,加快了软件开发的进度,提高了生产效率.文中基于面向方面思想,利用著名的非功能特性描述框架NFR对软件非功能特性进行描述,解决了软件关注点组合时产生的冲突问题,为软件非功能特性的处理提供了很好的解决办法.  相似文献   

2.
面向方面的程序设计综述   总被引:1,自引:0,他引:1  
现在大多数的软件项目都选择OOP,但OOP技术也有其局限性,它对某些需求并不能很好地进行描述。本文介绍了一种全新的程序设计方法一面向方面的程序设计方法,这种程序设计方法可以有效地描述OOP方法不能描述的横切关注点;介绍了面向方面程序设计的基本思想以及面向方面程序设计语言AspectJ的基本概念及面向方面软件开发方法。  相似文献   

3.
为了将软件产品线的横切关注点在开发的早期阶段分离出来,完成系统分析向设计阶段的顺利过渡,提出了一种面向方面的软件产品线需求分析模型,并给出该模型需求分析的基本步骤.通过冷库管理系统的实例,给出了识别和描述功能需求、非功能需求和横切关注点的方法,利用UML类图完成方面和功能整合,在此基础上介绍了用关系矩阵和合并非功能需求集合的方法来描述非功能需求.实验结果表明,该方法能够有效简化软件产品线需求建模的复杂性.  相似文献   

4.
基于UML模型的面向方面建模   总被引:1,自引:0,他引:1  
面向方面建模的目标是将面向方面的思想应用到设计阶段。目前面向方面建模的相关研究仍处于起步阶段。本文采用基于UML模型的方法,分别从动态横切和静态横切的角度,根据连接点、切入点、通知、类型间声明的语义,结合AspectJ对横切关注点进行建模。文章所描述的面向方面建模方法考虑了连接点所在的业务环境,用顺序图和活动图描述连接点,用交互概览图描述切入点,用活动图描述通知,用类图描述类型间声明,使得编写方面的编码人员能够更好地理解业务需求。  相似文献   

5.
如何准确简洁地描述软件构件模型是面向构件的软件开发的一个重要问题。提出一种非功能特性权值描述的构件模型,强化了构件模型非功能特性方面的描述。首先给出了构件模型的定义;然后分析了其性质和优点,并指出了该模型在构件查找匹配中的应用价值;最后指出了下一步的研究方向。  相似文献   

6.
传统的基于组件的软件开发方法大部分都集中在功能分解上,其并没有考虑到横切关注点对组件的影响。而面向方面技术就是以解决大规模系统中的横切问题为目的的,其主要是先分离出方面模块,然后再织入核心类中。文中提出了采用面向方面的编程思想,将其应用到软件组件的开发中。  相似文献   

7.
面向方面编程作为一种基于关注分离的软件开发思想,抽取出软件的功能性和非功能性属性,并引入实现横切关注点的方面,以织入的方式完成系统集成.然而面向方面编程方法只体现在软件生命周期的编码阶段,而缺少在设计阶段的支持.通过分析面向方面编程的概念及其特点,利用UML的扩展机制将方面加入状态图中,给出基于AspectJ语法语义扩展UML的状态模型,实现状态图方面与核心组件之间的织入关系,最终实现代码自动生成.  相似文献   

8.
将面向方面编程技术融入传统的基于构件开发方法,提出了一种基于方面的构件模型.同时探讨了基于方面构件的组装策略以及利用XML语言描述组装、编织方面化构件的处理逻辑.新的构件模型采用更加模块化的构件实现方式,从传统构件模型中提取出方面元素,很好地解决了传统的基于构件开发方法中构件间关注点横切所导致系统混乱的问题,提高了构件的可复用性以及软件的开发效率.  相似文献   

9.
软件系统通常有许多横切整个系统的非功能需求,仅采用面向对象的方法不能很好的处理这些横切关注点.软件开发中使用面向方面MDA的方法,在设计阶段将系统的非功能需求从功能需求中分离出来,通过扩展UML建立面向方面PIM元模型和基于AspcctJ的PSM元模型,横切关注点和核心业务逻辑就可以根据这些元模型分别建模,从而形成面向方面PIM和PSM,然后将系统PSM转换成系统代码.这种方法降低了软件开发的复杂性,提高了系统的可重用性、可维护性和横切关注点的模块化程度,最后给出了应用实例.  相似文献   

10.
面向对象的编程OOP(Object Oriented Programming)能够有效地解决面向过程语言的缺陷,现有的软件项目大都采用面向对象的编程范型。但是OOP不能解决由于横切属性带来的代码混乱和代码分散等诸多问题,导致系统的可读性和复用性差,因此引入了面向方面的编程AOP(Aspect—Oriented Programming)思想。该编程思想可使开发者有效地将业务关注点与横切关注点分离,解决OOP的难题。介绍了AOP技术中较成熟的语言——AspectJ及其相关概念,通过一个信息管理系统,展示AOP技术在处理横切关注点时发挥的优势。  相似文献   

11.
ContextA software product line is a family of software systems that share some common features but also have significant variabilities. A feature model is a variability modeling artifact, which represents differences among software products with respect to the variability relationships among their features. Having a feature model along with a reference model developed in the domain engineering lifecycle, a concrete product of the family is derived by binding the variation points in the feature model (called configuration process) and by instantiating the reference model.ObjectiveIn this work we address the feature model configuration problem and propose a framework to automatically select suitable features that satisfy both the functional and non-functional preferences and constraints of stakeholders. Additionally, interdependencies between various non-functional properties are taken into account in the framework.MethodThe proposed framework combines Analytical Hierarchy Process (AHP) and Fuzzy Cognitive Maps (FCM) to compute the non-functional properties weights based on stakeholders’ preferences and interdependencies between non-functional properties. Afterwards, Hierarchical Task Network (HTN) planning is applied to find the optimal feature model configuration.ResultOur approach improves state-of-art of feature model configuration by considering positive or negative impacts of the features on non-functional properties, the stakeholders’ preferences, and non-functional interdependencies. The approach presented in this paper extends earlier work presented in [1] from several distinct perspectives including mechanisms handling interdependencies between non-functional properties, proposing a novel tooling architecture, and offering visualization and interaction techniques for representing functional and non-functional aspects of feature models.Conclusionour experiments show the scalability of our configuration approach when considering both functional and non-functional requirements of stakeholders.  相似文献   

12.
Evaluating quality attributes of a design model in the early stages of development can significantly reduce the cost and risks of developing a low quality product. To make this possible, software designers should be able to predict quality attributes by reasoning on a model of the system under development. Although there exists a variety of quality-driven analysis techniques for software systems, only a few work address software product lines. This paper describes how probabilistic model checking techniques and tools can be used to verify non-functional properties of different configurations of a software product line. We propose a model-based approach that enables software engineers to assess their design solutions for software product lines in the early stages of development. Furthermore, we discuss how the analysis time can be surprisingly reduced by applying parametric model checking instead of classic model checking. The results show that the parametric approach is able to substantially alleviate the verification time and effort required to analyze non-functional properties of software product lines.  相似文献   

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

14.
贾一荻  刘璘 《软件学报》2019,30(10):3115-3126
非功能需求描述系统质量相关的属性,是软件设计决策的重要依据和评估标准.与功能需求的描述相比,非功能需求描述通常比较分散,且往往是隐含的.当采集到的需求原始描述内容较多时,逐一进行人工判别和整理需要耗费大量的时间和精力.针对中文自然语言描述的需求文本,提出了自动化的非功能需求识别和分类方法.其中,识别过程旨在从文本中提取出可能包含非功能需求的语句,尽可能地缩小人工检查的范围.分类过程则进一步将包含非功能需求的语句划分到性能、可靠性、可用性、安全性、可维护性这五大类非功能需求类型之中.分类训练和实验测试基于课题组工作项目整理的实验数据集进行,最终,基于一个工业界的实际应用案例数据,验证了方法的有效性.  相似文献   

15.
One of the biggest obstacles to software reuse is the cost involved in evaluating the suitability of possible reusable components. In recent years, code search engines have made significant progress in establishing the semantic suitability of components for new usage scenarios, but the problem of ranking components according to their non-functional suitability has largely been neglected. The main difficulty is that a component’s non-functional suitability for a specific reuse scenario is usually influenced by multiple, “soft” criteria, but the relative weighting of metrics for these criteria is rarely known quantitatively. What is required, therefore, is an effective and reliable strategy for ranking software components based on their non-functional properties without requiring users to provide quantitative weighting information. In this paper we present a novel approach for achieving this based on the non-dominated sorting of components driven by a specification of the relative importance of non-functional properties as a partial ordering. After describing the ranking algorithm and its implementation in a component search engine, we provide an explorative study of its properties on a sample set of components harvested from Maven Central.  相似文献   

16.
张璇  王旭  李彤  白川  康燕妮 《软件学报》2017,28(5):1247-1270
软件非功能需求的实现涉及软件质量这一重要问题,非功能需求的满足程度,直接影响软件质量的满足程度.针对一直以来对软件质量的一贯重视以及软件非功能需求权衡的重要性,借鉴微观经济学领域的生产理论、替代弹性原理和线性规划方法,提出了软件非功能需求权衡代价分析方法并开发了辅助工具.首先,对项目组前期完成的可信软件非功能需求可满足性分析方法进行改进,提出了利益相关者通过协商获取非功能需求评估数据的方法,建立了非功能需求本体概念并构建本体知识库;针对实现非功能需求的策略,使用前期已完成的策略推理方法,对推理产生矛盾的策略提出权衡代价分析方法;通过分析策略实施代价,为软件开发及演化提供具有实际可操作的权衡决策依据,从更加符合产业化需要的角度解决软件非功能需求权衡问题;最后,基于可信第三方认证中心软件案例的维护及演化需要,对推理出矛盾的策略进行权衡代价分析,并给予决策建议,说明所提出方法的可行性.  相似文献   

17.
UML类图中面向非功能属性的描述和检验   总被引:5,自引:0,他引:5  
张岩  梅宏 《软件学报》2009,20(6):1457-1469
为系统构建模型是软件开发中的一项关键活动.一个高质量的模型不仅要包含系统的功能属性,即系统能够做什么,同时还应包含系统的非功能属性,即系统的质量如何.目前,通用的建模方法和工具对功能属性建模支持良好,而对如何为非功能属性建模关注得不多,特别是如何将二者统一起来并对描述的非功能属性的有关性质进行检验.通过在UML类图中增加非功能属性标注和约束关系表等建模元素来扩展UML类图,使其能够描述非功能属性.在此基础上,又提供了对扩展UML类图中非功能属性的一致性和可满足性进行检验的方法.通过实例对上述的面向非功能属  相似文献   

18.
一种建模软件体系结构非功能属性的方法   总被引:1,自引:0,他引:1  
非功能属性的处理一直是困扰着研究人员和实践者的难题.针对体系结构设计阶段早期,提出一种建模非功能属性的方法.该方法利用面向方面软件开发中的关注点多维分离原理,提出建模软件体系结构的"1+X"模型,并在此基础上进一步划分体系结构非功能属性的维度,归纳各个维度上的关注点,利用XML对维度和关注点进行规约.该模型为后续设计面向方面的软件体系结构奠定了基础,为体系结构设计人员提供了方法支持,而且该成果可以直接用于不同领域内的软件体系结构设计.  相似文献   

19.
Component-based software engineering (CBSE) is viewed as an opportunity to deal with the increasing complexity of modern-day software. Along with CBSE comes the notion of component markets, where more or less generic pieces of software are traded, to be combined into applications by third-party application developers. For such a component market to work successfully, all relevant properties of components must be precisely and formally described. This is especially true for non-functional properties, such as performance, memory foot print, or security. While the specification of functional properties is well understood, non-functional properties are only beginning to become a research focus. This paper discusses semantic concepts for the specification of non-functional properties, taking into account the specific needs of a component market. Based on these semantic concepts, we present a new specification language QML/CS that can be used to model non-functional product properties of components and component-based software systems.  相似文献   

20.
Building distributed systems from scratch is known as one of the most difficult and time consuming process in software engineering. A great deal of progress has been made in the development of middleware and techniques to facilitate the process of distributed systems through integrating reusable components and customizing middleware. However, most of these solutions tend to focus on the functional aspects of the components and how to adapt their behavior according to their needs. Although the non-functional properties of the services are equally important, because of the difficulties in representing and controlling them, they are usually neglected. This paper investigates the problem of distributed systems' non-functional properties and describes a framework that presents a solution to the problem. The framework is based on the idea of defining the non-functional properties of the services at the early stages of the design and incorporating such properties within the architecture to ease the process of managing the system at run time.  相似文献   

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

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