第六章_软件演化技术解析:.pptVIP

  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文档。上传文档
查看更多
第六章 软件演化技术 本章内容 6.1 软件演化概述 6.2 软件需求演化 6.3 软件演化的分类 6.3.1 基于过程和函数的软件演化 6.3.2 面向对象的软件演化 6.3.3 基于构件的软件演化 6.3.4 基于体系结构的软件演化 6.4 软件静态演化技术 本章内容 6.5 软件动态演化技术 6.5.1 动态软件体系结构 6.5.1.1 动态软件体系结构的概念 6.5.1.2 动态更新的原则 6.5.1.3 基于构件的动态体系结构模型 6.5.2 动态软件体系结构的意义 6.5.3 动态体系结构描述语言 6.5.4 动态演化工具 6.6 可演化软件的设计 6.1 软件演化概述 软件的开发、发布和维护是一个渐进变化并要达到预期目标的过程,是一种演化过程 在软件系统开发完毕正式投入使用之后,用户需求发生了改变,或者要将该系统移植到另一个运行环境中,或者在新环境中需求发生变化,都需要对软件系统进行修改和完善 软件系统进行渐进完善并达到所希望的目标的过程就是软件演化(Software Evolution) 6.1 软件演化概述 软件演化过程是由一系列复杂的变化活动组成的,控制系统按照预期目标进行变化是开发者所追求的目标 6.1 软件演化概述 软件演化是指在软件生命周期内进行系统维护和系统更新的动态行为 软件演化的核心问题是:如何使软件系统适应外界的改变,软件演化过程是软件演化和软件过程的统一 软件演化过程应该具有以下几个特征: 迭代性:在软件演化过程中,必须不断地对系统进行变更,许多活动要比在传统模式中具有更高的重复执行频率 6.1 软件演化概述 并行性:为了提高软件演化的效率,必须对软件演化过程进行并行处理 反馈性:用户需求和软件系统所处的工作环境总是在不断地发生该变,一旦环境发生变化后,就必须作出反馈,启动软件演化过程 多层次性:软件演化是一项多层次的工作,它是多方面因素共同作用的结果 交错性:软件演化既具有连续性有具有间断性,二者是交错进行的 6.2 软件需求演化 软件演化是不断调节应用系统以满足用户需求的过程,是对已有系统不断进行修改、补充和完善,以适应外界环境变化的过程 随着新需求和新技术的不断涌现,几乎所有的系统都要不断地进行升级和更新,这种变化的起因更多地归结为软件需求的演化 在软件生命周期的各个阶段,软件需求都可能发生改变 6.2 软件需求演化 系统需求主要包括非功能性需求和功能需求两部分,非功能性需求往往具有全局性,在框架结构级别上,比较容易体现出来 软件体系结构、非功能性需求和功能需求之间的关系 6.2 软件需求演化 首先,必须在功能需求中体现非功能性需求,在软件体系结构中体现功能需求和非功能性需求 其次,非功能性需求对软件体系结构和功能需求具有约束 此外,软件体系结构也进一步约束了功能需求 需求分析往往具有无法避免的不彻底性和不完备性,一些无法预料的外部条件变化也总是在所难免的 软件需求演化主要分为以下三类: 6.2 软件需求演化 需求增加:软件工程师检查用户提出的新需求是否与原有功能冲突,如果产生冲突则向开发小组报告,否则将新需求加入到系统需求规格说明中,启动软件演化过程 需求删除:在开发和运行阶段,系统往往存在着某些不必要的或重复功能,必须删除这些功能所对应的需求描述 需求改写:经过与客户的商讨之后,软件工程师对功能定义、数据定义和实现方法进行修改,然后通知相关人员按照新需求重新启动软件演化过程 6.2 软件需求演化 在软件需求演化过程中,应该注意以下几个问题: 如何预先推导变更的结果和影响的范围 在更替软件元素时,需要保证替换前后元素的外部行为是一致的 在软件需求演化过程中,应该具备控制变更过程的手段,以保持其完整性 6.3 软件演化的分类 软件演化指的是系统进行变化并达到预期目标的过程,可以分为静态演化和动态演化两种类型 静态演化是指系统在停机状态下所进行的修改 动态演化则是指软件在运行期间所进行的更新 在静态演化中,先对需求变化进行分析,锁定软件更新的范围,然后实施系统升级 在停机状态下,系统的维护和二次开发就是一种典型的软件静态演化 6.3 软件演化的分类 对于执行关键任务的一些软件系统而言,通过停止、更新和重启来实现维护演化任务将会导致不可接受的延迟、代价和危险 例如:当对航班调度系统和某些实时监控系统进行演化时,不能进行停机更新,而必须切换到备用系统上,以确保相关服务仍旧可用 条件发生改变时,移动计算系统需要调整对应的计算构件,以适应外界环境的变化 6.3 软件演化的分类 诸如:交通控制软件、电信交换软件、Internet服务应用软件以及高可用性的公共信息软件 软件动态演化可以分为两种类型:预设的和非预设的 动态变化的因素是软件设计者能够预先设想到的,可实现为系统的固有功能,这就是预设的软件

文档评论(0)

南非的朋友 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档