首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
Rules and Tools for Software Evolution Planning and Management   总被引:5,自引:0,他引:5  
When first formulated in the early seventies, the laws of software evolution were, for a number of reasons, not widely accepted as relevant to software engineering practice. Over the years, however, they have gradually become recognised as providing useful inputs to understanding of the software process. Now eight in number, they have been supplemented by the software uncertainty principle and the FEAST (Feedback, Evolution And Software Technology) hypothesis. Based on all these and on the further results of the FEAST research projects this paper develops and presents some fifty rules for application in software system process planning and management and indicates tools available or that could usefully be developed to support their application. The listing is structured according to the laws that encapsulate the observed phenomena and that lead to the recommendations. Each sublist is preceded by a textual discussion providing at least some of the reasoning that has led to the recommended procedures. The references direct the interested reader to the literature that records observed behaviours, interpretations, models and metrics obtained from industrially evolved systems, and from which the recommendations were derived.  相似文献   

2.
基于构件运算的软件演化研究   总被引:3,自引:2,他引:1  
当前对软件构件的描述均采用图形加文本的方式或形式化描述语言,这些描述对构件的动态行为、互操作和演化特征方面的描述明显不足,无法系统科学地描述软件演化。针对该问题,文章引入用代数理论对构件的属性和行为特征进行抽象而提出的构件调用运算、协作运算和条件运算的新方法。对软件系统进行抽象化,把软件系统的演化归结为构件表达式的变化,利用代数理论对软件演化中构件的增加、删除、相互关系的修改进行系统研究,并给出将演化后的结果用图形方式表示的方法。  相似文献   

3.
对软件演化及过程的特征进行了描述,提出软件演化过程的具体活动;分析了软件演化过程中的反馈机制,提出了基于扩展双变迁Petri网和反馈循环的软件演化过程模型.  相似文献   

4.
在支持标准化的可配置、可重用且支持软件演化过程建模方法--第二代SDDM建模方法基础上,提出了软件演化过程性能分析与资源优化的方法,有效地支持了软件演化过程的改进.  相似文献   

5.
Automating Support for Software Evolution in UML   总被引:3,自引:0,他引:3  
Disciplined support for evolution of software artifacts is important in all phases of the software life-cycle. In order to achieve this support, a uniform underlying foundation for software evolution is necessary. While, in the past, reuse contracts have been proposed as such a formalism in a number of different domains, this paper generalises the formalism, and integrates it into the UML metamodel. As such, support for evolution becomes readily available for many kinds of UML models, ranging from requirements to the implementation phase.  相似文献   

6.
代飞  李彤  谢仲文  于倩  卢萍  郁涌  赵娜 《软件学报》2012,23(4):846-863
随着大量的软件演化过程模型被软件演化过程元模型建模产生,如何验证过程模型的正确性,是摆在人们面前的一个重要任务.针对软件演化过程元模型,引入进程代数ACP(algebra of communicating processes)对其扩展,提出软件演化过程元模型代数,使用进程项指定软件演化过程模型的代数语义,在进程代数的统一框架下,基于等式推理验证软件演化过程模型的行为,使行为验证方式从模型推导变为代数推导这种方法充分结合了Petri网和ACP的长处,可以有效地支持软件演化过程的形式验证.  相似文献   

7.
钟林辉  宗洪雁 《计算机科学》2015,42(1):196-200,231
软件演化信息是一种重要的、能反映软件变化历史的信息.然而,传统的软件演化信息以文件或者项目作为跟踪软件变化的基本单元,不能有效地支持构件化软件演化信息的存储和检索.提出了采用本体概念表示构件化软件演化信息的策略,并利用Jena推理机实现构件化软件演化信息的荻取.该方法不仅能检索构件化软件的基本演化信息,而且可以通过定义规则的方式检索出蕴含的演化信息.同时,文中也提出了一种构件化软件演化度量的模型,该模型通过对演化属性的计算分析来预测构件化软件的演化趋势.  相似文献   

8.
Model Driven Engineering is a promizing approach that could lead to the emergence of a new paradigm for software evolution, namely Model Driven Software Evolution. Models, Metamodels and Transformations are the cornerstones of this approach. Combining these concepts leads to very complex structures which revealed to be very difficult to understand especially when different technological spaces are considered such as XMLWare (the technology based on XML), Grammarware and BNF, Modelware and UML, Dataware and SQL, etc. The concepts of model, metamodel and transformation are usually ill-defined in industrial standards like the MDA or XML. This paper provides a conceptual framework, called a megamodel, that aims at modelling large-scale software evolution processes. Such processes are modeled as graphs of systems linked with well-defined set of relations such as RepresentationOf (μ), ConformsTo (χ) and IsTransformedIn (τ).  相似文献   

9.
为适应开放环境和用户需求的变化,软件应该具备在运行时刻自演化的能力,从而满足各种需求变化,因此深入研究动态演化技术显得尤为重要。介绍了软件动态演化的开放性、层次性和整个演化活动的具体过程,讨论了动态演化的语言、模型和乎台三者之间的关系以及当前的研究成果,并对已有成果中的实现方法、实用性和特色进行了比较,指出其不足之处。最后提出动态演化技术应重点研究的关键问题,并对其发展前景进行展望。  相似文献   

10.
惠长江  吴江 《微机发展》2007,17(4):196-200
软件进化是软件产品交付给客户之后所发生的一系列改进活动,是有目的地从早期版本来产生新版本的过程,是软件工程中的一个重要领域。对软件进化进行了综述性的介绍,讨论了其定义、发展历程及主要研究内容,介绍了指导软件进化的几种典型方法,分析了人们在软件进化过程中面临的一些挑战和问题。  相似文献   

11.
软件服务的在线演化   总被引:2,自引:0,他引:2  
软件服务的在线演化技术是当前可信软件研究的一个重要方向,对于实现快速、低成本的成长式可信演化具有重要意义.与离线的演化技术相比,在线演化强调软件系统在结构修改和功能调整期间仍能够持续提供服务.文中在给出软件服务在线演化基本定义、归纳其结构模型和一般性过程模型基础上,提出涵盖演化范畴、演化类型和演化方式等方面的分类模型,...  相似文献   

12.
章晓芳  朱灿 《软件学报》2019,30(5):1422-1437
代码坏味是指程序设计中存在的不良设计模式或设计缺陷.坏味的存在,被认为会阻碍软件的演化与维护.近年来,研究人员致力于探究坏味产生的影响以及坏味与软件演化之间的关系.已有研究表明,代码坏味会随着软件的演化而不断发生变化.通常,软件的演化将涉及源文件的增加、修改与删除这3类具体操作,了解代码坏味与软件演化中源文件操作的关系,将有助于开发者更好地计划软件开发过程和重构软件代码.因此,针对13种常见的坏味,在8个Java项目共计104个版本中进行了系统的实证研究.研究发现,随着软件版本的演化,含代码坏味的文件在整个项目中的占比在不同的项目中呈现出不同的特征.另外,包含代码坏味的文件更倾向于被修改,而坏味本身与文件的添加或者删除并没有太大的关联.更进一步地,在探究的所有坏味中,有几种特定的坏味对文件的修改产生了显著的影响,且这些坏味文件间存在着明显的重叠.这些发现有助于开发人员更好地了解代码坏味,以便于更好地对软件进行维护.  相似文献   

13.
In any manufacturing environment, the fault introduction rate might be considered one of the most meaningful criterion to evaluate the goodness of the development process. In many investigations, the estimates of such a rate are often oversimplified or misunderstood generating unrealistic expectations on the prediction power of regression models with a fault criterion. The computation of fault introduction rates in software development requires accurate and consistent measurement, which translates into demanding parallel efforts for the development organization. This paper presents the techniques and mechanisms that can be implemented in a software development organization to provide a consistent method of anticipating fault content and structural evolution across multiple projects over time. The initial estimates of fault introduction rates can serve as a baseline against which future projects can be compared to determine whether progress is being made in reducing the fault introduction rate, and to identify those development techniques that seem to provide the greatest reduction.  相似文献   

14.
赵娜  赵锦新  李彤 《计算机工程》2007,33(14):73-75,8
软件演化已成为软件生存周期中最重要的形态之一。该文对支持软件并行工程的SDDM过程模型在标准化、角色模型、资源模型、层次化4个方面进行了扩展,得到了一个支持标准化的可配置、可重用、支持软件演化过程的第2代SDDM软件过程模型。  相似文献   

15.
一种基于智能体技术的软件自适应动态演化机制   总被引:1,自引:0,他引:1  
李青山  王璐  褚华  张曼 《软件学报》2015,26(4):760-777
针对分布式软件系统在动态演化中面临的原有软件单元难以重用、忽视软件内部运行状态引发的演化需求等问题,借助智能体(agent)具有的环境适应性、变化敏感性等特征,提出了一种基于智能体技术的软件自适应动态演化机制.通过将软件单元封装为Agent,并定义单元间的演化规则,使演化机制重用原有软件单元.通过一种基于数据推送的动态环境感知方法实现Agent间协作关系调整,同时满足来自内外部环境引发的动态演化需求.通过引入信息中介服务,实现了基于改进合同网的Agent协作策略,能够自适应地更替Agent,满足用户意愿变更引发的动态演化需求.依据演化机制在支撑环境中的运行情况及相关能力指标的分析,说明所提出的演化机制适用于动态复杂的分布式软件系统,是一种有效的软件自适应动态演化机制.  相似文献   

16.
钱晔  李彤  郁涌  孙吉红  于倩  彭琳 《计算机科学》2016,43(8):154-158
全球化软件开发导致以交互方式协作开发的频率和复杂性越来越高。为了控制和规范软件演化的开发行为进而提高软件质量,文献[10]设计了软件演化过程元模型EPMM,由EPMM定义的软件演化过程模型未能形式描述其交互的特点。基于EPMM[10]定义的软件演化过程包括全局层、过程层、活动层和任务层4个抽象层的思想,设计了软件演化过程元模型CEPMM。CEPMM定义的软件演化过程模型可 形式描述同步交互的特点是在其活动层,由此提出一种基于通信系统演算(CCS)的软件演化过程活动层的建模方法,然后在Visual Studio平台下实现软件演化过程活动层可视化的建模工具CAmodel。CEPMM构建的软件演化过程活动层模型不仅可以描述并发、迭代等特点,还可以形式描述同步交互的特性,为模型进行严格的数学方法分析、推理奠定了基础。  相似文献   

17.
胡洁  王青 《软件学报》2016,27(5):1212-1229
特征模型是面向特征的软件开发过程的重要概念和制品,该模型以特征为单位,刻画了领域产品的共性和可变性.在日趋频繁的软件演化过程中,保持特征模型的一致演化,对于支持高效的复用开发和按需配置至关重要.目前,大多数的研究是在需求层面进行共性和可变性分析,对特征模型的研究则集中在对共性和可变性的建模上.但是,由于特征变更在建模过程中存在"涟漪"效应,会导致新的共性和可变性演化.现有的分析方法还无法解决这个问题,会导致丢失一些潜在的产品共性,从而影响复用的效率.提出了一种特征模型扩展和演化分析方法.通过扩展特征关联关系和模型演化元操作,实现对特征变更"涟漪"效应的分析.发现潜在的产品共性,提出重构策略和半自动化的共性提取和特征重构支持方法.该方法还针对典型的配置冲突提出了冲突消解规则和策略.最后,通过案例分析验证了该方法的可用性和有效性.  相似文献   

18.
Software systems must change to adapt to new functional requirements and nonfunctional requirements. According to Lehman''s laws of software evolution, on the one side, the size and the complexity of a software system will continually increase in its life time; on the other side, the quality of a software system will decrease unless it is rigorously maintained and adapted. Lehman''s laws of software evolution, especially of those on software size and complexity, have been widely validated. However, there are few empirical studies of Lehman''s law on software quality evolution, despite the fact that quality is one of the most important measurements of a software product. This paper defines a metric---accumulated defect density---to measure the quality of evolving software systems. We mine the bug reports and measure the size and complexity growth of four evolution lines of Apache Tomcat and Apache Ant projects. Based on these studies, Lehman''s law on software quality evolution is examined and evaluated.  相似文献   

19.
传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在多个大中型软件项目的实践基础上,提出了基于体系结构的软件开发模型(ABSD)。ABSD模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等6个子过程,讨论了各个子过程所要完成的工作,给出了ABSD模型在劳动和社会保险领域的一个应用实例。实践表明,采用ABSD模型进行软件项目开发,具有结构清晰、易于理解、可移植性强、重用粒度大等优点。  相似文献   

20.
环境和需求的改变导致软件演化发生, 并通常会使软件架构(Software architecture, SA)产生变化.现有的结构化软件可靠性模型对评价软件初始结构设计有不错的效果, 但在软件演化时的实时分析方面有局限性.从软件结构建模出发, 通过使用代数方法将软件演化描述为原子操作序列, 并跟踪分析序列中每一步操作对可靠性的影响, 从而建立基于过程的可靠性分析方法.方法可分析演化关键环节及整体趋势, 用以进一步反馈和约束演化方案设计, 最终达到提高软件产品质量的目的.通过对2个实际算例的深入分析与讨论, 方法的有效性与易用性得到验证.  相似文献   

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

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