第八章软件工沈程维护.pptVIP

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

重庆工学院计算机科学与工程学院 李梁 软件工程 第八章 维护 在各类维护中的侧重点 软件开发期间各个检查点的检查重点 小结 软件维护的定义:在软件运行/维护阶段对软件产品进行的修改就是所谓的维护。 改正性维护:在软件交付使用后,为了识别和纠正由于软件开发时隐藏的错误、改正软件性能上的缺陷,软件进行的诊断和改正错误的过程就。 适应性维护 : 在使用过程中,外部环境(新的硬、软件配置)和数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)发生变化。为使软件适应这种变化,而去修改软件的过程。 完善性维护:软件的使用过程中,对用户对软件提出新的功能与性能要求。进而以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性的维护活动 预防性维护:为了提高软件的可维护性、可靠性等,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。    某软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。请判断哪些措施是正确的,哪些措施不正确。 (1)在分析用户需求时同时考虑维护问题。 (2)测试完程序后,删去程序中的注解以缩短源程序长度。 (3)在软件开发过程中尽量保证各阶段文档的正确性。 (4)编码时尽量多用全局变量。 (5)选用时间效率和空间效率尽可能高的算法。 (6)尽可能利用硬件特点以提高程序效率。 (7)尽可能使用高级语言编写程序。 (8)进行总体设计时加强模块间的联系。 (9)尽量减少程序模块的规模。 (10)用数据库系统代替文件系统来存储需要长期保存的信息    (11)用CASE环境或程序自动生成工具来自动生成一部分程序。 (12)尽量用可重用的软件构件来组装程序。 (13)使用先进的软件开发技术。 (14)采用防错程序设计技术,在程序中引入自检能力。 (15)把与硬件及操作系统有关的代码放到某些特定的程序模块中。    1.某些软件工程师不同意“目前国外许多软件开发组织把60%以上的人力用于维护已有的软件”的说法,他们争论说:“我并没有花费我的60%的时间去改正我所开发的程序中的错误”。 请问,你对上述争论有何看法? 2.为什么大型软件的维护成本高达开发成本的4倍左右? 3.假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解)。 你将选取哪两份文档?为什么这样选取? 4.当一个十几年前开发出的程序还在为其用户完成关键的业务工作时,是否有必要对它进行再工程?如果对它进行再工程,经济上是否划算? 5.代码重构与正向工程有何相同之处?有何不同之处? 用于可使用性度量的检查项目如下: 程序是否具有自描述性? 程序是否能始终如一地按照用户的要求运行? 程序是否让用户对数据处理有一个满意的和适当的控制? 程序是否容易学会使用? 程序是否使用数据管理系统来自动地处理事务性工作和管理格式化、地址分配及存储器组织。 程序是否具有容错性? 程序是否灵活? 8.4 软件可维护性 2.8 其它间接定量度量可维护性的方法 问题识别的时间; 因管理活动拖延的时间; 收集维护工具的时间; 分析、诊断问题的时间; 修改规格说明的时间; 具体的改错或修改的时间; 局部测试的时间; 集成或回归测试的时间; 维护的评审时间; 这些数据反映了维护全过程中检错-纠错-验证的周期,即从检测出软件存在的问题开始至修正它们并经回归测试验证这段时间。 可以粗略地认为,这个周期越短,维护越容易。 8.4 软件可维护性 建立明确的软件质量目标和优先级 使用提高软件质量的技术和工具 进行明确的质量保证审查 选择可维护的程序设计语言 改进程序的文档 8.5 提高可维护性的方法 1、建立明确的软件质量目标和优先级 一个可维护的程序应是可理解的、可靠的、可测试的、可修改的、可移植的、效率高的、可使用的。 要实现这所有的目标,需要付出很大的代价,而且也不一定行得通。 某些质量特性是相互促进的,例如可理解性和可测试性、可理解性和可修改性。 另一些质量特性是相互抵触的,如效率和可移植性、效率和可修改性等。 每一种质量特性的相对重要性应随程序的用途及计算环境的不同而不同。例如,对编译程序来说,可能强调效率;但对管理信息系统来说,则可能强调可使用性和可修改性。 应当对程序的质量特性,在提出目标的同时还必须规定它们的优先级。 8.5 提高可维护性的方法 2、使用提高软件质量的技术和工具 模块化 如果需要改变某个模块的功能,则只要改变这个模块,对其它模块影响很小; 如果需要增加程序的某些功能,则仅需增加完成这些功能的新的模块或模块层; 程序的测试与重复测试比较容易

文档评论(0)

186****0772 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档