首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
分析传统非功能需求定义的不足,基于需求分析阶段的系统抽象—"需求模型"重新定义非功能需求,规范并简化功能需求与非功能需求之间的关系。扩展面向特征的软件产品线建模方法,在特征模型中显式地建模功能需求、非功能需求、非功能需求类型以及它们之间的相互关系,沿用传统特征模型中固有的变化性建模机制建模并管理非功能需求的变化性,显式地复用与非功能需求相关的建模知识和资产,为进一步研究定量评估产品线变体质量的新技术奠定基础。设计了一个基于多视图的特征建模方法,指导开发者在迭代的过程中建模非功能需求和功能需求,支持关注点分离和模型的复杂性管控。实现了工具原型并进行了实例验证。  相似文献   

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

3.
4.
针对需求工程中非功能需求概念非常模糊甚至相互矛盾、非功能需求与其他非功能需求及功能需求之间的关系繁复而难以分析和建模、非功能需求与设计阶段制品之间的追踪关系模糊而不易记录和维护等问题,分析了与非功能需求相关的概念在需求分析阶段和体系结构设计阶段的表现形式,给出了一个结构化的非功能需求定义;规范了不同类型需求之间的各种复杂关系,建立了一个跨越分析和设计阶段的概念性非功能需求追踪管理框架,规范了需求分析和体系结构设计阶段与非功能需求相关的概念和制品之间的关系。提出的结构化定义以及概念性追踪管理框架明确地刻画了非功能需求概念的外延,为简化需求模型以及进一步研制系统化、实用化的非功能需求建模及追踪管理技术奠定了理论基础。  相似文献   

5.
The management of performance requirements is a major challenge for information systems as well as other software systems. This is because performance requirements can have a global impact on the target system. In addition, there are interactions and trade-offs among performance requirements, other nonfunctional requirements (NFRs), and the numerous alternatives for the target system. To provide a systematic approach to managing performance requirements, this paper presents a performance requirements framework (PeRF). It integrates and catalogues a variety of kinds of knowledge of information systems and performance. These include: performance concepts, software performance engineering principles for building performance into systems, and information systems development knowledge. In addition, layered structures organize performance knowledge and the development process. All this knowledge is represented using an existing goal-oriented approach, the “NFR framework”, which offers a developer-directed graphical treatment for stating NFRs, analyzing and interrelating them, and determining the impact of decisions upon NFRs. This approach allows customized solutions to be built, taking into account the characteristics of the particular domain. The use of PeRF in managing performance requirements is illustrated in a study of performance requirements and other NFRs for a university student record system. This paper concludes with a summary of other studies of information systems, tool support and directions for future work  相似文献   

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

7.
Dealing with change: An approach using non-functional requirements   总被引:3,自引:0,他引:3  
Non-functional requirements (or quality requirements, NFRs) such as confidentiality, performance and timeliness are often crucial to a software system. Concerns for such NFRs are often the impetus for change. To systematically support system evolution, this paper adapts the NFR Framework, which treats NFRs as goals to be achieved during development. Throughout the process, consideration of design alternatives, analysis of trade-offs and rationalisation of design decisions are all carried out in relation to the stated goals, and captured in historical records. We show how such historical records of treating NFRs as goals also system-atically support system evolution. This approach is illustrated by a study of changes in loan policies at Barclays Bank. The study considered changes in NFRs, and associated changes in priorities, workload and functionality. The study's historical records helped quickly determine the impact of changes. We also present guidelines for consistently managing historical records, and address tool support for the change process.This is an extended and revised edition of a paper [34] appearing in theProceedings of the Second International Symposium on Requirements Engineering. York, England, March 1995. A draft of that paper was prepared when all three authors were at the Department of Computer Science, University of Toronto.  相似文献   

8.
The development of complex information systems calls for conceptual models that describe aspects beyond entities and activities. In particular, recent research has pointed out that conceptual models need to model goals, in order to capture the intentions which underlie complex situations within an organisational context. This paper focuses on one class of goals, namely non-functional requirements (NFR), which need to be captured and analysed from the very early phases of the software development process. The paper presents a framework for integrating NFRs into the ER and OO models. This framework has been validated by two case studies, one of which is very large. The results of the case studies suggest that goal modelling during early phases can lead to a more productive and complete modelling activity.    相似文献   

9.
10.
产品线可变性的需求方法研究   总被引:2,自引:0,他引:2  
王孟伟  管群 《计算机工程与设计》2011,32(11):3725-3728,3893
软件产品线领域需求记录了不同软件产品的共性和可变性。在现有需求过程框架下,对产品线需求获取方法与需求分析方法进行了研究,完善了产品线需求可变性的管控机制。以原子需求为视点,提出了利用需求场景获取产品线领域需求的方法;通过原子需求构建的产品需求矩阵与用例需求矩阵,分析得出需求资源的可变性关系;通过可变性关系的形式化描述,建立产品线可变性用例模型。  相似文献   

11.
In this paper, we describe a novel unsupervised approach for detecting, classifying, and tracing non-functional software requirements (NFRs). The proposed approach exploits the textual semantics of software functional requirements (FRs) to infer potential quality constraints enforced in the system. In particular, we conduct a systematic analysis of a series of word similarity methods and clustering techniques to generate semantically cohesive clusters of FR words. These clusters are classified into various categories of NFRs based on their semantic similarity to basic NFR labels. Discovered NFRs are then traced to their implementation in the solution space based on their textual semantic similarity to source code artifacts. Three software systems are used to conduct the experimental analysis in this paper. The results show that methods that exploit massive sources of textual human knowledge are more accurate in capturing and modeling the notion of similarity between FR words in a software system. Results also show that hierarchical clustering algorithms are more capable of generating thematic word clusters than partitioning clustering techniques. In terms of performance, our analysis indicates that the proposed approach can discover, classify, and trace NFRs with accuracy levels that can be adequate for practical applications.  相似文献   

12.
A software product line (SPL) is a family of related programs of a domain. The programs of an SPL are distinguished in terms of features, which are end-user visible characteristics of programs. Based on a selection of features, stakeholders can derive tailor-made programs that satisfy functional requirements. Besides functional requirements, different application scenarios raise the need for optimizing non-functional properties of a variant. The diversity of application scenarios leads to heterogeneous optimization goals with respect to non-functional properties (e.g., performance vs. footprint vs. energy optimized variants). Hence, an SPL has to satisfy different and sometimes contradicting requirements regarding non-functional properties. Usually, the actually required non-functional properties are not known before product derivation and can vary for each application scenario and customer. Allowing stakeholders to derive optimized variants requires us to measure non-functional properties after the SPL is developed. Unfortunately, the high variability provided by SPLs complicates measurement and optimization of non-functional properties due to a large variant space. With SPL Conqueror, we provide a holistic approach to optimize non-functional properties in SPL engineering. We show how non-functional properties can be qualitatively specified and quantitatively measured in the context of SPLs. Furthermore, we discuss the variant-derivation process in SPL Conqueror that reduces the effort of computing an optimal variant. We demonstrate the applicability of our approach by means of nine case studies of a broad range of application domains (e.g., database management and operating systems). Moreover, we show that SPL Conqueror is implementation and language independent by using SPLs that are implemented with different mechanisms, such as conditional compilation and feature-oriented programming.  相似文献   

13.
ContextSoftware architectures should be evaluated during the early stages of software development in order to verify whether the non-functional requirements (NFRs) of the product can be fulfilled. This activity is even more crucial in software product line (SPL) development, since it is also necessary to identify whether the NFRs of a particular product can be achieved by exercising the variation mechanisms provided by the product line architecture or whether additional transformations are required. These issues have motivated us to propose QuaDAI, a method for the derivation, evaluation and improvement of software architectures in model-driven SPL development.ObjectiveWe present in this paper the results of a family of four experiments carried out to empirically validate the evaluation and improvement strategy of QuaDAI.MethodThe family of experiments was carried out by 92 participants: Computer Science Master’s and undergraduate students from Spain and Italy. The goal was to compare the effectiveness, efficiency, perceived ease of use, perceived usefulness and intention to use with regard to participants using the evaluation and improvement strategy of QuaDAI as opposed to the Architecture Tradeoff Analysis Method (ATAM).ResultsThe main result was that the participants produced their best results when applying QuaDAI, signifying that the participants obtained architectures with better values for the NFRs faster, and that they found the method easier to use, more useful and more likely to be used. The results of the meta-analysis carried out to aggregate the results obtained in the individual experiments also confirmed these results.ConclusionsThe results support the hypothesis that QuaDAI would achieve better results than ATAM in the experiments and that QuaDAI can be considered as a promising approach with which to perform architectural evaluations that occur after the product architecture derivation in model-driven SPL development processes when carried out by novice software evaluators.  相似文献   

14.
Testing software product lines (SPLs) is very challenging due to a high degree of variability leading to an enormous number of possible products. The vast majority of today??s testing approaches for SPLs validate products individually using different kinds of reuse techniques for testing. Because of their reusability and adaptability capabilities, model-based approaches are suitable to describe variability and are therefore frequently used for implementation and testing purposes of SPLs. Due to the enormous number of possible products, individual product testing becomes more and more infeasible. Pairwise testing offers one possibility to test a subset of all possible products. However, according to the best of our knowledge, there is no contribution discussing and rating this approach in the SPL context. In this contribution, we provide a mapping between feature models describing the common and variable parts of an SPL and a reusable test model in the form of statecharts. Thereby, we interrelate feature model-based coverage criteria and test model-based coverage criteria such as control and data flow coverage and are therefore able to discuss the potentials and limitations of pairwise testing. We pay particular attention to test requirements for feature interactions constituting a major challenge in SPL engineering. We give a concise definition of feature dependencies and feature interactions from a testing point of view, and we discuss adequacy criteria for SPL coverage under pairwise feature interaction testing and give a generalization to the T-wise case. The concept and implementation of our approach are evaluated by means of a case study from the automotive domain.  相似文献   

15.
This paper describes a technique for automating the detection and classification of non-functional requirements related to properties such as security, performance, and usability. Early detection of non-functional requirements enables them to be incorporated into the initial architectural design instead of being refactored in at a later date. The approach is used to detect and classify stakeholders’ quality concerns across requirements specifications containing scattered and non-categorized requirements, and also across freeform documents such as meeting minutes, interview notes, and memos. This paper first describes the classification algorithm and then evaluates its effectiveness through reporting a series of experiments based on 30 requirements specifications developed as term projects by MS students at DePaul University. A new and iterative approach is then introduced for training or retraining a classifier to detect and classify non-functional requirements (NFR) in datasets dissimilar to the initial training sets. This approach is evaluated against a large free-form requirements document obtained from Siemens Logistics and Automotive Organization. Although to the NFR classifier is unable to detect all of the NFRs, it is useful for supporting an analyst in the error-prone task of manually discovering NFRs, and furthermore can be used to quickly analyse large and complex documents in order to search for NFRs.  相似文献   

16.
Mobile devices are multipurpose and multi-sensor equipments supporting applications able to adapt their behavior according to changes in the user’s context (device, location, time, etc.). Meanwhile, the development of mobile and context-aware software is not a simple task, mostly due to the peculiar characteristics of these devices. Although several solutions have been proposed to facilitate their development, reuse is not systematically used throughout the software development life-cycle. In this paper, we discuss an approach for the development of mobile and context-aware software using the Software Product Line (SPL) paradigm. Furthermore, a Nested SPL for the domain of mobile and context-aware applications is presented, lessons learned in the SPL development are discussed and a product for a context-aware visit guide is shown.  相似文献   

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

18.
FeatureIDE is an open-source framework for feature-oriented software development (FOSD) based on Eclipse. FOSD is a paradigm for the construction, customization, and synthesis of software systems. Code artifacts are mapped to features, and a customized software system can be generated given a selection of features. The set of software systems that can be generated is called a software product line (SPL). FeatureIDE supports several FOSD implementation techniques such as feature-oriented programming, aspect-oriented programming, delta-oriented programming, and preprocessors. All phases of FOSD are supported in FeatureIDE, namely domain analysis, requirements analysis, domain implementation, and software generation.  相似文献   

19.
While the functional requirements of a system can be effectively modeled through the use case driven approach, there is no standard or de facto method for modeling non-functional requirements (NFR) of the system architecture. Often such requirements are dealt with in a reactive manner, rather than proactively. Yet increasingly a contributing factor in project difficulty and failure are the NFR imposed on the solution architecture. This paper outlines a control case approach to record and model NFR. This technique enables the control case to represent the NFR from different perspectives, most typically the various operating conditions. We also propose an extension to the “4 + 1” view model for depicting software architecture by adding the control case view. In addition, a detailed control case modeling example is illustrated to demonstrate how these techniques may be applied during development. Taken together, we suggest that the combination of both the use case and control case views thus reflects the complete requirements across the collective system life cycle views: design, process, implementation and deployment.  相似文献   

20.
Non-Functional Requirements (NFRs) are rarely treated as “first-class” elements in software development as Functional Requirements (FRs) are. Often NFRs are stated informally and incorporated in the final software as an after-thought. We leverage existing research work for the treatment of NFRs to propose an approach that enables to systematically analyze and design NFRs in parallel with FRs. Our approach premises on the importance of focusing on tactics (the specific mechanisms used to fulfill NFRs) as opposed to focusing on NFRs themselves. The advantages of our approach include filling the gap between NFRs elicitation and NFRs implementation, systematically treating NFRs through grouping of tactics so that tactics in the same group can be addressed uniformly, remedying some shortcomings in existing work (by prioritizing NFRs and analyzing tradeoff among NFRs), and integration of FRs and NFRs by treating them as first-class entities.  相似文献   

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

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