基于反馈软件演化过程模型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于反馈软件演化过程模型

基于反馈软件演化过程模型   摘 要:对软件演化及过程的特征进行了描述,提出软件演化过程的具体活动;分析了软件演化过程中的反馈机制,提出了基于扩展双变迁Petri网和反馈循环的软件演化过程模型。??   关键词:软件演化;软件过程;反馈;Petri网??   中图分类号:TP311.5文献标志码:A   文章编号:1001-3695(2007)06-0015-03   随着计算机应用的深入和软件工程的发展,软件系统已成为现代社会最重要的资产之一。越来越多的公司和社会机构依赖于其内部的软件系统来提高竞争力和减少成本。现在,软件系统的规模变得越来越大,结构也越来越复杂。其多年的运行使软件系统包含了企业的众多知识。但软件系统与其他系统一样,随着技术的进步和环境的不断变化,其自身也会逐渐老化,不再适应用户和环境的需要而变成遗产系统。为了充分有效地利用这些有用资源,对遗产系统进行持续改造使之能满足客户的需要变得十分重要。??   起初,人们对软件进行维护使之便于适应环境的变化,后来人们又提出了软件重用的思想和相应的方法。但这些方法均是以一种被动、消极的方式来改变软件系统,使之适应已更改的环境。由于越来越快的社会环境变化和技术的提高,决定了原有的方式不能解决软件日益老化的问题。从系统工程的角度对软件系统进行演化成为一种值得探索的方法。??      1 软件演化及过程??   1.1 软件演化??   按系统论的观点,演化是事物从一种多样性统一形式转变成另一种多样性统一形式的具体过程。演化主要包括两方面内容:①新增层次的产生,即结构演化;②跨越层次的相互关系或新层次结构关系的形成,即功能演化。首先,明确了事物的演化是事物处在原有的多样性统一的基础上的演化;其次,演化不是原有多样性成分的重组,而是新的多样性的统一。它是事物内部结构和外部环境共同作用,不断运动更新的结果。??   现代社会,人们越来越多地依靠软件系统。随着环境和技术的变化,软件系统必须不断地被修改、调整和扩展,即必须不断地演化,才能满足用户的需求。由于用户变得更加复杂并更多地依靠软件系统,对软件系统的快速、可靠、低成本、高效率的演化十分重要。许多因素促使软件系统通过改变、升级或者替换来进行不断的演化。软件演化已获得普遍的共识。??   由于外部环境和用户需求的不断变化及软件开发技术的不断发展,注定了软件系统只有不断的演化才能适应用户的新需求。??   Lehman等人[1]把软件演化定义为软件程序系统在其生命周期中不断维护、不断完善的系统动力学行为。如果系统的一个或多个部件随时间经历不断改进,则称之为演化。演化的目的是为了适应变化环境的需要而保持或提高用户的满意度。系统的功能和行为必须与变化的环境保持同步,缺陷被修正、参数被调整、功能被改善和扩展、操作被改进。它是软件系统不断逆向工程和正向工程的统一,即不断的再工程[2]。??   1.2 软件演化过程特征??   软件演化过程是软件演化和软件过程的统一。按ISO/IEC12207标准,软件过程是指软件生命期中若干活动的集合。活动又称为工作流程,又可细分为子活动或任务。Lehman等人[3]认为软件演化过程是一个多层次、多循环、多用户的反馈系统。   软件演化过程包括以下特征[2]:??   (1)迭代性。在软件演化过程中,由于软件系统必须不断地进行变革,许多活动要以比传统开发过程更高频率进行重复执行。??   (2)并行性。为了提高软件演化过程的效率,必须对软件演化过程进行并行性处理。??   (3)反馈性。用户的需求和软件系统所处的环境是在不断变化的。当环境变化后就必须作出反馈,以便软件演化过程的执行。??   (4)多层次性。软件演化过程是一项多层次的工作。它是多方面共同作用的结果。??   (5)交错性。软件演化过程是连续性与间断性的统一;它们是交错着进行的。??   1.3 软件演化过程的活动??   软件演化过程是对遗产软件系统进行演化的若干活动的集合,可由一系列的步骤组成。它是对软件系统进行不断逆向工程和正向工程的统一,是一个不断循环的过程。因此一次循环可以包括以下活动:??   (1)演化计划。对遗产软件进行可行性研究,掌握工作范围及所花代价,进行成本预算和软件演化计划。??   (2)软件理解。对遗产软件的内部结构进行分析;用来识别系统组件及其相互关系,产生系统的另一种表示形式或更高层的抽象。??   (3)需求变更分析。遗产系统的产生往往是由于用户需求改变所致。必须对用户的前后需求进行对比分析,找出其中的差异。??   (4)程序重构。对原系统的程序进行重构以使之能适应用户的当前需要。??   (5)系统测试。对改造后的部件和整个系统进行测试,以便检

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档