首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 375 毫秒
1.
对不同软件进行演化相似性度量和比较能帮助软件维护人员理解软件演化及预测其演化趋势。然而,传统的研究大多度量单一软件演化属性的变化,虽然有些也涉及到多维演化属性,但并没有与软件的演化相似性相联系;同时亦缺乏在较高抽象层次度量软件演化相似性的有效途径。为此,以构件为基本单位,提出了一种基于多维演化属性的构件化软件演化相似性度量模型。即通过在原子构件层和系统(复合构件)层定义演化属性,进而度量原子构件之间以及系统(复合构件)之间的演化相似性。初步的实验表明,在原型工具的支持下该方法能辅助软件维护人员进行软件演化相似性的判断。  相似文献   

2.
一个面向服务的支持动态演化的软件模型   总被引:12,自引:0,他引:12  
李长云  李莹  吴健  吴朝晖 《计算机学报》2006,29(7):1020-1028
为了使面向服务的架构更适应动态演化的需求,提出了基于体系结构空间、支持动态演化的软件模型SASM.SASM是使用反射技术,通过具有因果相联的基层和元层来构造.基层由可运行的服务形成,元层是一个具备树形层次、层间存在求精关系的体系结构空间.该空间反映了需求的层次性,提供给用户不同抽象级别的视图和管理手段.通过对体系结构空间的观察,可获知系统的结构和行为信息.通过对体系结构空间的在线调整可实现对基层的修改进而实现系统的非预设动态演化,而空间中不同层次之间的求精关系保证了应用的完整性和演化的一致性.  相似文献   

3.
为了体现在不同需求活动中需求的抽象层次,建立了一种支持用例分析技术的两层需求元模型.其中,用户层需求元模型定义需求获取活动输出的需求模型;软件层需求元模型定义需求分析活动输出的需求模型.同时,为表现不同层次需求模型之间的关系,建立了两层需求元模型之间的追踪和精化关系,提出并使用谓词逻辑描述了追踪和精化关系应满足的规则和...  相似文献   

4.
于涵  王海  彭鑫  赵文耘 《计算机科学》2015,42(12):36-39
可视化是软件维护和演化研究的一个重要组成部分。一个交互式的3D可视化方案能够将软件演化过程更形象地展示给用户。将软件的演化历史比拟成一座城市的发展过程,用户可以自由地在城市中移动,在把握系统宏观变化趋势的同时,很好地掌控其细节的发展情况。在已有相关工作的基础上,利用unity3D实现了一个原型工具,基本实现了预期目标,能为软件管理者提供方便的可视化信息。  相似文献   

5.
当前软件开发、测试、维护过程会产生大量数据信息,而这些信息是进行软件维护所必需的基础信息,如何高效地利用这些信息是能否成功进行软件维护的关键,数据挖掘技术为这些海量数据处理提供了一个可行的方法.本文研究了基于数据挖掘的软件维护,建立了基于数据挖掘的软件维护系统体系结构,研究了软件数据仓库建立和数据挖掘技术等关键技术,并对存在的问题及发展进行了讨论.  相似文献   

6.
一个远程软件维护系统   总被引:2,自引:0,他引:2  
高质量的软件是软件工程所要达到的目标,软件维护在其中发挥着重要的作用。但是,软件维护过程中,维护人员与用户交流困难,难以确定维护需求,从而造成维护的效率低、成本高。本文论述了一种新的软件维护的方法,即远程软件维护(RemoteSoftware Maintenance)。该方法充分利用了Internet和操作系统的功能,它可以帮助用户收集各种软件的维护信息,并通过Internet发送给软件维护人员,为维护人员提供支持。本文还给出了一个基于该方法的远程维护软件SIRMS(Software product Information collec-tion for Remote Maintenance Support)的设计及实现。SIRMS是基于Client/Server结构远程维护软件的客户端,实现了软件维护信息的自动搜集,并通过Internet发送至维护支持中心OSC(Open Support Center),是远程软件维护的有效支持工具。远程软件维护有效克服了软件维护过程的缺点,帮助维护人员确定维护需求,减轻了用户的负担,降低了软件维护的费用。  相似文献   

7.
程序理解是从软件程序中获得抽象在程序中的功能和知识的过程,对软件维护有着重要的意义。研究表明,软件维护消耗了软件预算的50%到80%,而其中大概47%到62%的维护时间用于对软件系统的理解上。提出了一种面向Java程序的包概要方法,尝试从软件的语义层次出发,利用信息索引领域的潜在语义分析和数据挖掘领域的聚类算法对软件程序中的语义信息进行提取分析。对相似词汇的代码文件进行聚类,并从中提取话题对Java程序中的包进行刻画;对这些话题进行语义恢复,并利用MiniPar,一个英文词法分析器,来辅助生成程序中包的概要信息。实验结果表明该方法能够改进程序理解的效率。  相似文献   

8.
张宇霞 《计算机科学》2017,44(4):21-23, 55
软件可追踪性为软件工程的很多活动提供了非常重要的支持,如变更影响分析、回归测试、版本控制以及一致性检验等。在开源软件项目中,缺陷数据和版本数据之间的缺陷修复关联是一种重要的软件追踪关系。研究开源软件项目缺陷和版本两种制品间的缺陷修复关联,选取大型开源项目Mozilla作为研究对象,在深入了解所获得数据的整体分布情况后,针对Mozilla项目的产品Firefox浏览器,利用Fellegi-Sunter模型挖掘缺陷数据与commit数据之间的缺陷修复关联并建立二者之间的追踪关系,最后对挖掘出的缺陷修复追踪关系进行结果分析。该项工作为开源项目制品间追踪关系的研究提供了经验参考。  相似文献   

9.
面向对象程序整体结构及其特性的逆向分析和可视化在软件维护、软件重用等过程中起着重要作用。现有的逆向工程工具尽管可以通过对程序代码的静态分析自动获取类模型,但是在自动布图方面仍存在一些明显的问题,特别是难以直观展现类之间的耦合性、聚集效应等程序整体结构的重要特性,从而影响其实际应用。Force-Directed Layout算法能够自然展现复杂结构的耦合关系和聚集现象,因此,将其应用于类图的逆向生成,使其在充分展示程序整体结构的同时,清晰展现类之间的耦合性和聚集效应等结构特征,为软件结构演化分析、缺陷分布分析等提供辅助支持。据此,开发了软件分析与测试工具系列QESat的子工具——基于拉力算法的类图可视化工具QESat/FCD(QualityEasy-Software Analysis and Testing Tools:Force-Directed Class Diagram),通过实例展示了其在大型类图结构特性方面的展现效果。  相似文献   

10.
王映辉 《计算机学报》2007,30(11):2025-2032
软件变化控制是软件开发者历来追求的目标,也是研究软件演化的基础.基于功能需求变化,描述了变化用况和变化对象的标识,阐明了变化构件的界定策略,给出了SA(Software Architecture)中变化信息的追踪方法;同时分析了软件变化转播在软件生命周期中的一些重要性质;最后描绘了本文研究的整体框架和一个应用实例.对软件演化与维护具有一定的借鉴意义.  相似文献   

11.
Design-code traceability recovery: selecting the basic linkage properties   总被引:1,自引:0,他引:1  
Traceability ensures that software artifacts of subsequent phases of the development cycle are consistent. Few works have so far addressed the problem of automatically recovering traceability links between object-oriented (OO) design and code entities. Such a recovery process is required whenever there is no explicit support of traceability from the development process. The recovered information can drive the evolution of the available design so that it corresponds to the code, thus providing a still useful and updated high-level view of the system.

Automatic recovery of traceability links can be achieved by determining the similarity of paired elements from design and code. The choice of the properties involved in the similarity computation is crucial for the success of the recovery process. In fact, design and code objects are complex artifacts with several properties attached. The basic anchors of the recovered traceability links should be chosen as those properties (or property combinations) which are expected to be maintained during the transformation of design into code. This may depend on specific practices and/or the development environment, which should therefore be properly accounted for.

In this paper different categories of basic properties of design and code entities will be analyzed with respect to the contribution they give to traceability recovery. Several industrial software components will be employed as a benchmark on which the performances of the alternatives are measured.  相似文献   


12.
软件体系结构中的横切关注点增加了软件体系结构的复杂性,从而加剧了体系结构演化与维护的困难.这种设计问题可以通过体系结构层面的重构来进行改善.在已有的横切特征分析方法基础上,提出了一种面向横切特征分析的体系结构自动重构方法.该方法首先基于特征与构件之间的追踪关系分析横切特征,然后将与横切特征有直接追踪关系的构件从初始体系结构中提取出来,实现方面构件,完成体系结构重构.在面向方面体系结构描述语言AO-ADL基础上开发了相应的体系结构重构工具,并针对一个业务系统进行了体系结构重构实验.实验结果表明,该方法能有效地实现体系结构横切特征的自动化重构.  相似文献   

13.
Traceability is a key issue to ensure consistency among software artifacts of subsequent phases of the development cycle. However, few works have so far addressed the theme of tracing object oriented (OO) design into its implementation and evolving it. This paper presents an approach to checking the compliance of OO design with respect to source code and support its evolution. The process works on design artifacts expressed in the OMT (Object Modeling Technique) notation and accepts C++ source code. It recovers an “as is” design from the code, compares the recovered design with the actual design and helps the user to deal with inconsistencies. The recovery process exploits the edit distance computation and the maximum match algorithm to determine traceability links between design and code. The output is a similarity measure associated to design‐code class pairs, which can be classified as matched and unmatched by means of a maximum likelihood threshold. A graphic display of the design with different green levels associated to different levels of match and red for the unmatched classes is provided as a support to update the design and improve its traceability to the code.  相似文献   

14.
    
Traceability is a key issue to ensure consistency among software artifacts of subsequent phases of the development cycle. However, few works have so far addressed the theme of tracing object oriented (OO) design into its implementation and evolving it. This paper presents an approach to checking the compliance of OO design with respect to source code and support its evolution. The process works on design artifacts expressed in the OMT (Object Modeling Technique) notation and accepts C++ source code. It recovers an “as is” design from the code, compares the recovered design with the actual design and helps the user to deal with inconsistencies. The recovery process exploits the edit distance computation and the maximum match algorithm to determine traceability links between design and code. The output is a similarity measure associated to design‐code class pairs, which can be classified as matched and unmatched by means of a maximum likelihood threshold. A graphic display of the design with different green levels associated to different levels of match and red for the unmatched classes is provided as a support to update the design and improve its traceability to the code. This revised version was published online in June 2006 with corrections to the Cover Date.  相似文献   

15.
ABC/ADL:一种基于XML的软件体系结构描述语言   总被引:19,自引:1,他引:18  
作为基于构件的软件开发过程的系统蓝图,软件体系结构(SA)扮演了非常重要的角色,其研究受到越来越多的关注.而软件体系结构描述语言(ADL)是研究和应用SA的基础.提出了一种基于XML的体系结构描述语言——ABC/ADL.ABC/ADL具备大多数ADL描述软件系统高层结构的能力,还支持系统的逐步精化与演化,并支持系统的自动化组装和验证.采用数据互操作标准XML作为元语言,不仅使ABC/ADL具有与其他ADL的互操作性,还有助于实现设计阶段的制品与其他软件生命周期阶段制品之间的可追踪性.  相似文献   

16.
Requirements traceability offers many benefits to software projects, and it has been identified as critical for successful development. However, numerous challenges exist in the implementation of traceability in the software engineering industry. Some of these challenges can be overcome through organizational policy and procedure changes, but the lack of cost-effective traceability models and tools remains an open problem. A novel, cost-effective solution for the traceability tool problem is proposed, prototyped, and tested in a case study using an actual software project. Metrics from the case study are presented to demonstrate the viability of the proposed solution for the traceability tool problem. The results show that the proposed method offers significant advantages over implementing traceability manually or using existing commercial traceability approaches.  相似文献   

17.
Traceability is the ability to describe and follow the life of a software artifact and a means for modeling the relations between software artifacts in an explicit way. Traceability has been successfully applied in many software engineering communities and has recently been adopted to document the transition among requirements, architecture and implementation. We present an approach to customize traceability to the situation at hand. Instead of automating tracing, or representing all possible traces, we scope the traces to be maintained to the activities stakeholders must carry out. We define core traceability paths, consisting of essential traceability links required to support the activities. We illustrate the approach through two examples: product derivation in software product lines, and release planning in software process management. By using a running software product line example, we explain why the core traceability paths identified are needed when navigating from feature to structural models and from family to product level and backward between models used in software product derivation. A feasibility study in release planning carried out in an industrial setting further illustrates the use of core traceability paths during production and measures the increase in performance of the development processes supported by our approach. These examples show that our approach can be successfully used to support both product and process traceability in a pragmatic yet efficient way.  相似文献   

18.
正确建立软件文档与代码间的可追踪关系对程序理解、软件维护等非常重要。近年来,软件文档与代码间的可追踪性研究大多基于文本词汇相似度,没有充分利用软件文档和代码所蕴含的结构信息,针对这一问题提出了将软件结构信息与信息检索模型相结合进行文档与代码间可追踪性分析的方法。通过对文档和代码结构信息的分析,改善预处理效果,优化相似度计算过程,进而提高整体方法的有效性。实验结果表明,该方法比单纯基于信息检索的方法在查全率和查准率上都有所提高,而且能提取到更多的可追踪性链。  相似文献   

19.
ContextThe adoption of Service-oriented Architecture (SOA) and Business Process Management (BPM) is fairly recent. The major concern is now shifting towards the maintenance and evolution of service-based business information systems. Moreover, these systems are highly dynamic and frequent changes are anticipated across multiple levels of abstraction. Impact analysis and change propagation are identified as potential research areas in this regard.ObjectiveThe aim of this study is to systematically review extant research on impact analysis and propagation in the BPM and SOA domains. Identifying, categorizing and synthesizing relevant solutions are the main study objectives.MethodThrough careful review and screening, we identified 60 studies relevant to 4 research questions. Two classification schemes served to comprehend and analyze the anatomy of existing solutions. BPM is considered at the business level for business operations and processes, while SOA is considered at the service level as deployment architecture. We focused on both horizontal and vertical impacts of changes across multiple abstraction layers.ResultsImpact analysis solutions were mainly divided into dependency analysis, traceability analysis and history mining. Dependency analysis is the most frequently adopted technique followed by traceability analysis. Further categorization of dependency analysis indicates that graph-based techniques are extensively used, followed by formal dependency modeling. While considering hierarchical coverage, inter-process and inter-service change analyses have received considerable attention from the research community, whereas bottom-up analysis has been the most neglected research area. The majority of change propagation solutions are top-down and semi-automated.ConclusionsThis study concludes with new insight suggestions for future research. Although, the evolution of service-based systems is becoming of grave concern, existing solutions in this field are less mature. Studies on hierarchical change impact are scarce. Complex relationships of services with business processes and semantic dependencies are poorly understood and require more attention from the research community.  相似文献   

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

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

京公网安备 11010802026262号