传统的软件开发方法解析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六、软件维护 一个软件产品投入使用后,通常由于各种理由需要对它作适当的变更,完全不变的情况是很少见的。把软件交付使用后的变更称为维护。 维护是软件生存周期最后一个阶段,由于维护工作的重要性往往被人们忽视,这更增加了维护工作的困难。平均而言,大型软件的维护成本是开发成本的4倍左右。国外许多软件开发组织把60%以上的人力用于维护已投入运行的软件。这个比例随着软件数量增多和使用寿命延长,还在继续上升。学习软件工程学的主要目的之一就是研究如何减少花费在软件维护上的工作量,降低维护成本。 维护活动的类型 (1)校正性维护。把诊断、校正软件错误的过程称之为校正性维护。这部分维护工作约占全部维护活动的17%~21%。 (2)适应性维护。由于计算机技术的飞速发展,外部设备和其他系统元素经常改进和变化,为适应变化的环境而修改软件的活动称之为适应性维护。它占总维护活动的18%~25%。 (3)完善性维护。指在使用软件系统的过程中为满足用户提出的新功能和性能要求而进行的维护活动。它约占总维护活动的50%~60%。 (4)预防性维护。为进一步改进可维护性、可靠性而进行的维护活动,约占4%。 维护的代价 70年代用于维护软件的费用只占软件总预算的35%~40%,80年代上升为40%~60%,到了90年代则上升为70%~80%。 软件维护的代价包括有形和无形两个部分:有形代价就是上面所提到的那些统计数字;无形代价包括: 当看起来合理的有关变更要求不能及时满足时,将引起用户的不满; 由于维护时的改动,在软件中引入潜在的故障,从而降低了软件的质量; 当必须把软件开发工程师调去从事维护工作时,对开发过程造成的影响。 维护问题 (1)理解别人写的程序通常非常困难,而且困难程度随着软件配置成分的减少而迅速增加。如果仅有源程序代码而没有说明文档,问题会更加严重。 (2)严格按规范化方法开发的软件系统一般不需要大的维护活动,而需要维护的软件系统却往往因为没有必需的文档或文档残缺不全,使得维护活动进展非常艰难。 (3)当需要对软件进行维护时,很难指望熟悉软件系统的原开发人员能全力以赴地亲临现场参与维护活动。 (4)绝大多数软件在设计时没有考虑将来的修改。 (5)软件维护不是一项吸引人的工作。最出色的、成功的维护也只不过是保证他人开发的系统的正常运行,而且维护别人开发的软件经常受挫,使得维护人员无成就感。 软件的可维护性 软件可维护性定义为: 维护人员理解、修改该软件的难易程度。软件生存周期每个阶段的工作都和软件的可维护性有密切的关系,实际上,软件的可维护性是软件开发各个阶段的关键目标。 软件的可维护性: 可维护性因素 提高可维护性方法 文档 1.可维护性因素 (1)可理解性。表明维护人员通过阅读源代码程序和有关文档,了解程序功能、内部逻辑结构、数据结构,以及模块间接口等的难易程度。按SA、SD和SP技术开发的软件,具有模块化、详细的设计文档等结构化特征,从而使软件具有较好的可理解性。 (2)可测试性。是诊断和测试的难易程度的度量。软件结构设计合理,模块具有高内聚性和低耦合性,模块内部算法简单,就可以提高软件的可测试性。 (3)可修改性。表明软件容易修改的程度。一个可修改的软件应当是可理解的、通用的、简单的软件。耦合性、内聚性等都影响软件的可修改性。 (4)可靠性。表明在规定条件、时间内,软件不引起系统失效的概率。软件可靠性的度量标准主要有:平均失效间隔时间、平均修复时间和有效性。 (5)可使用性。从用户观点出发,度量软件使用方便与否的难易程度。一个可使用的程序应该是容易操作、用户按操作手册指导应能排除因操作失误造成后果的程序。 2.提高可维护性的方法 软件生存周期每个阶段的工作都和软件可维护性有密切的关系。提高软件的可维护性必须从软件生存周期各个阶段的工作入手。 (1)问题定义阶段 为得到可维护的系统模型,就要使开发人员、用户和使用单位管理人员对问题的性质、工程的目标和规模取得完全一致的看法。考虑到开始时,双方对要求解的问题相互不太了解,这就要求系统必须是易于扩充、完善的系统。 (2)可性行研究阶段 可行性研究实质上是在高层以抽象方式进行的系统分析和设计的过程。该过程必然会对未来系统的可维护性产生巨大影响。这是因为: ① 被推荐的系统是已经实现的、经过实用检验的系统,具有较好的可维护性; ② 选用的技术是成熟的技术,同时要求这些技术要有较强的维护手段。 (3)需求分析阶段 该阶段的任务是准确地描述系统“做什么”。同时,还要确定系统的运行环境,要考虑系统将来可能的变化,对系统的可扩充性和可修改性预先做好准备,从而提高系统的可维护性。 (4)概要设计阶段 该阶段的目的是用比较抽象概括的方式描述系统“怎样做”,确定系统的物理配置以及系统的软件结构和模块结构。在制定方

文档评论(0)

创业文库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档