首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
We present in this paper a new set of metrics that measure the quality of modularization of a non-object-oriented software system. We have proposed a set of design principles to capture the notion of modularity and defined metrics centered around these principles. These metrics characterize the software from a variety of perspectives: structural, architectural, and notions such as the similarity of purpose and commonality of goals. (By structural, we are referring to intermodule coupling-based notions, and by architectural, we mean the horizontal layering of modules in large software systems.) We employ the notion of API (application programming interface) as the basis for our structural metrics. The rest of the metrics we present are in support of those that are based on API. Some of the important support metrics include those that characterize each module on the basis of the similarity of purpose of the services offered by the module. These metrics are based on information-theoretic principles. We tested our metrics on some popular open-source systems and some large legacy-code business applications. To validate the metrics, we compared the results obtained on human-modularized versions of the software (as created by the developers of the software) with those obtained on randomized versions of the code. For randomized versions, the assignment of the individual functions to modules was randomized  相似文献   

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

3.
基于构件库管理系统的构件复用度度量模型   总被引:5,自引:0,他引:5  
构件概念及其理论的发展始终以软件复用为切入点,只有被最大可能地复用,构件才有其存在的意义和经济价值。如何用一种较为精确的、基于实践应用的方法来评价构件的复用度,关系到构件质量的提高和构件库的有效性。该文介绍了构件复用的概念,并结合构件库管理系统,提供了一个对构件复用度的度量模型,分析了度量结果对构件库的反馈作用,能够对构件库管理系统的设计与实现提供参考。  相似文献   

4.
Software Structure Metrics Based on Information Flow   总被引:2,自引:0,他引:2  
Structured design methodologies provide a disciplined and organized guide to the construction of software systems. However, while the methodology structures and documents the points at which design decisions are made, it does not provide a specific, quantitative basis for making these decisions. Typically, the designers' only guidelines are qualitative, perhaps even vague, principles such as "functionality," "data transparency," or "clarity." This paper, like several recent publications, defines and validates a set of software metrics which are appropriate for evaluating the structure of large-scale systems. These metrics are based on the measurement of information flow between system components. Specific metrics are defined for procedure complexity, module complexity, and module coupling. The validation, using the source code for the UNIX operating system, shows that the complexity measures are strongly correlated with the occurrence of changes. Further, the metrics for procedures and modules can be interpreted to reveal various types of structural flaws in the design and implementation.  相似文献   

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

6.
青鸟构件库的构件度量   总被引:21,自引:0,他引:21  
梅宏  谢涛  袁望洪  杨芙清 《软件学报》2000,11(5):634-641
对软件产业发展所需要的软件生产率和软件质量的重视引起了对软件复用技术的研究,同时,有关复用度量的研究和应用也引起了广泛的重视.青鸟构件库系统可以对可复用构件进行描述、管理、存储和检索,用以满足基于“构件-构架”复用的软件开发过程的需要.该文介绍了青鸟构件库中的构件度量模型,并阐述了利用青鸟程序分析系统中的面向对象度量工具和青鸟构件库后期度量系统(包括反馈信息的收集、处理和分析工具)来实现模型的方法.  相似文献   

7.
Software architecture specifications are of growing importance for coping with the complexity of large-scale systems. They provide an abstract view on the high-level structural system entities together with their explicit dependencies and build the basis for ensuring behavioral conformance of component implementations and interactions, e.g., using model-based integration testing. The increasing inherent diversity of such large-scale variant-rich systems further complicates quality assurance. In this article, we present a combination of architecture-driven model-based testing principles and regression-inspired testing strategies for efficient, yet comprehensive variability-aware conformance testing of variant-rich systems. We propose an integrated delta-oriented architectural test modeling and testing approach for component as well as integration testing that allows the generation and reuse of test artifacts among different system variants. Furthermore, an automated derivation of retesting obligations based on accurate delta-oriented architectural change impact analysis is provided. Based on a formal conceptual framework that guarantees stable test coverage for every system variant, we present a sample implementation of our approach and an evaluation of the validity and efficiency by means of a case study from the automotive domain.  相似文献   

8.
针对目前基于复用的软件可靠性测试缺少对测试用例复用度量的现实问题,在构建测试用例复用模型的基础上,首先应用特征分析法求解测试用例各复用资源的权重,然后再分别计算它们在测试中的复用度,最后求解得到测试用例的平均复用度。从定量的角度解决了测试用例的复用度量问题。  相似文献   

9.
柯昌博  黄志球  肖甫 《计算机科学》2017,44(12):144-149
随着软件重用与产品线技术的日趋成熟,基于产品线采用构件快速地开发出软件产品成为了研究的热点,而高效的构件检索方法是此技术能否实施的关键。因此,使用本体Web语言(OWL)描述构件,并将其转化为本体树进行模糊匹配,然后对失配的构件进行重组,并使用KMP算法对查询本体树的相似概念进行修改,从而检索到更 精确且满足用户需求的构件。最后,给出了构件查询算法,并在此基础上开发了构件库查询系统原型,并与采用刻面和特征的查询方法进行了比较实验,结果证明了此方法的可行性与有效性。  相似文献   

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

11.
将切片技术应用于软件体系结构中,根据程序依赖图和系统依赖图的构建思想,提出了体系结构元素依赖图(SADG)的概念,并给出了构建方法以及基于依赖图的切片算法。利用此切片技术从已有的软件体系结构的Wright描述中,提取使用者感兴趣的软件元素(例如,构件和连接体),从而从体系结构的角度,更好的支持了软件理解、软件维护、软件再工程以及软件复用。  相似文献   

12.
软件生产线是一种全新的软件开发方式,生产线的管理作为三大基本活动之一直接影响生产线实践。从软件度量角度出发,根据GQ(I) M模型,提出了基于度量的软件生产线管理框架,并定义了管理活动中需要跟踪的度量元,这对生产线管理活动的有效实施有积极的指导意义。  相似文献   

13.
Measurement of software development productivity is needed in order to control software costs, but it is discouragingly labor-intensive and expensive. Computer-aided software engineering (CASE) technologies-especially repository-based, integrated CASE-have the potential to support the automation of this measurement. We discuss the conceptual basis for the development of automated analyzers for function point and software reuse measurement for object-based CASE. Both analyzers take advantage of the existence of a representation of the application system that is stored within an object repository, and that contains the necessary information about the application system. We also discuss metrics for software reuse measurement, including reuse leverage, reuse value, and reuse classification that are motivated by managerial requirements and the efforts, within industry and the IEEE, to standardize measurement. The functionality and the analytical capabilities of state-of-the-art automated software metrics analyzers are illustrated in the context of an investment banking industry application that is similar to systems deployed at the New York City-based investment bank where these tools were developed and tested  相似文献   

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

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

17.
基于软件体系结构的构件组装工具ABC-Tool   总被引:22,自引:1,他引:22  
软件朝着越来越复杂和庞大的趋势发展,因此对更有效的软件开发技术的需求十分迫切,近年来,软件体系结构、构件技术和软件复用技术等开始在软件开发中发挥重要作用,成为软件工程领域研究的热点,在基于构件复用的开发方法中,构件组装技术是关键,而且一直以来也是难点所在,ABC(architecture-based component composition)是一种基于软件体系结构、面向构件的软件开发方法,介绍了为ABC方法提供有效支持的工具ABC-Tool,ABC-Tool以软件体系结构为设计蓝图,以构件为基本开发单元,在不修改构件源代码的前提下,通过可视化的图形建模方式,从体系结构的高层设计逐层映射到底层实现,将可运行或可部署的构件组装为最终的可正确运行的系统。  相似文献   

18.
李明奇  施国琛  黄德胜  邓有光 《软件学报》2001,12(10):1447-1463
无适当使用软件测量将可能引起软件低品质且高成本的窘态.凝聚力是软件品质重要因子之一如同维护度,可靠度和再利用度.软件模组品质的优劣必影响整体系统之品质的优劣.为了设计和维护高品质软件,软件专案经理人和软件工程师无可避免需引用软件凝聚力测量以衡量和产生高品质软件.提出以活路跃变量及视觉化变量纵距为分析基础之功能导向凝聚力测量方法.进而,以一系列实际案例来作实验验证,并以一组性质来作理论辩证所提的测量方法.因此一经完善定义,完善实验和完善辩证之凝聚力测量方法被提出用于当软件凝聚力强度的指标和因此增进软件品质.这凝聚力测量方法能容易嵌入CASE以帮助软件工程师确保软件品质.  相似文献   

19.
Information systems development is typically acknowledged as an expensive and lengthy process, often producing code that is of uneven quality and difficult to maintain. Software reuse has been advocated as a means of revolutionizing this process. The claimed benefits from software reuse are reduction in development cost and time, improvement in software quality, increase in programmer productivity, and improvement in maintainability. Software reuse entails undeniable costs of creating, populating, and maintaining a library of reusable components. There is anecdotal evidence to suggest that some organizations benefit from reuse. However, many software developers practicing reuse claim these benefits without formal demonstration thereof. There is little research to suggest when the benefits are expected and to what extent they will be realized. For example, does a larger library of reusable components lead to increased savings? What is the impact of component size on the effectiveness of reuse? This research seeks to address some of these questions. It represents the first step in a series wherein the effects of software reuse on overall development effort and costs are modeled with a view to understanding when it is most effective.  相似文献   

20.
High development and maintenance costs and a high error rate are the major problems in the development of automation systems, which are mainly caused by bad communication and inefficient reuse methods. To overcome these problems, we propose a more systematic reuse approach. Though systematic reuse approaches such as software product lines are appealing, they tend to involve rather burdensome development and management processes. This paper focuses on small enterprises. Since such companies are often unable to perform a “big bang” adoption of the software product line, we suggest an incremental, more lightweight process to transition from single-system development to software product line development. Besides the components of the transition process, this paper discusses tool selection, DSL technology, stakeholder communication support, and business considerations. Although based on problems from the automation system domain, we believe the approach may be general enough to be applicable in other domains as well. The approach has proven successful in two case studies. First, we applied it to a research project for the automation of a logistics lab model, and in the second case (a real-life industry case), we investigated the approaches suitability for fish farm automation systems. Several metrics were collected throughout the evolution of each case, and this paper presents the data for single system development, clone&own and software product line development. The results and observable effects are compared, discussed, and finally summarized in a list of lessons learned.  相似文献   

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

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