第2章 软件工程概述 计算机软件技术 知识基础教程 .pptVIP

第2章 软件工程概述 计算机软件技术 知识基础教程 .ppt

  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文档。上传文档
查看更多
第2章 软件工程概述 计算机软件技术 知识基础教程 .ppt

第2章 软件工程概述 ;第2章 软件工程概述;(1) 如何开发软件? (2) 怎样做才能满足对软件不断增长的需求? (3) 如何维护现有的、容量又在不断增加的软件? 软件危机以许多问题为表征,例如: (1) 对软件成本、开发成本和开发进度的估计常常不很准确; (2) 用户对“已完成的”软件系统不满意的现象经常发生; (3) 软件产品的质量往往不可靠; (4) 软件常常是不可维护的;; (5) 软件通常没有适当的文档资料; (6) 软件成本在计算机系统总成本中所占的比例连年上升; (7) 软件开发生产率的提高速度远远跟不上计算机应用的普及和发展的趋势。 但是,对于负责软件开发的管理人员来说,他们往往将注意力集中于进度和成本上,这就更易使软件出现“缺陷”,使软件危机进一步加深。 2.解决软件危机的途径 解决软件危机必须具有以下两方面的支持: (1) 技术支持,包括:; ① 有关的软件工程技术、程序设计方法、程序设计技术等; ② 计算机硬件知识、相关应用领域的知识、有关软件开发历史的知识等。 (2) 管理支持,即在开发软件过程中如何组织和管理众多的各类人员协同作业。 但是,仅靠这些还不能解决软件危机的根本问题。于是人们又提出了基于知识的软件工程方法,力求将软件工程与知识工程、人工智能技术结合起来,以构造基于知识的软件开发环境。这不是本书讨论的重点;表2.1 结构分析设计过程小结;2.3 技术审查和管理复审;图2.1 软件错误的积累和放大效应 ; 3.进行复审的必要性 复审的目的是为了尽早发现错误并改正错误。因为软件错误有以下两个特征: (1) 积累和放大效应。图2.1显示了软件错误的积累和放大效应。由此可见,我们应尽早发现错误并加以改正。 (2) 不同时期改正错误的代价不同。图2.2和图2.3说明了在软件开发的不同时期改正同样的错误所付出的代价是不同的。由此可见,越早发现错误并加以改正,所付出的代价就越小。;图2.2 引入同一变动付出的代价随时间变化的趋势 ;图2.3 改正一问题需要付出的代价;2.4 软件质量的评价; 软件在运行阶段尚需不断“完???”,因为系统经过一个时期的使用后,用户必然会逐步提出一些更改或扩充要求,软件就需要相应地不断进行修改。 软件在运行阶段往往还需进行“适应性”修改,因为近年来计算机业发展迅速,一般在1~3年内,硬件或系统软件就会出现更新换代的新产品,于是应用软件系统也就需要作相应的调整或移植。 在运行期中,对软件所作的上述修改,总称为“维护”,它涉及再分析、再设计、再编程、再测试等活动。考虑到大型软件系统的运行期可达10年以上,所以维护的工作量是非常大的。; 另外,维护工作也是相当困难的。由于软件逻辑上的复杂性,修改往往会带来新的错误,因此软件维护是很困难的,也是很冒风险的。 “可维护性”通常包括了“可读性”(Readability)、“可修改性”(Modifiability)、“可测试性”(Testability))等含义。为了使软件具有较好的可维护性,在开发期的各个阶段就应采取一系列技术措施。 2.可靠性(Reliability) 可靠性通常包括正确性(Correctness)和健壮性(Robustness)这两个相互补充的方面。 正确性是指软件系统本身没有错误,所以在预期的环境条件下能够正确地完成期望的功能。毋庸置疑,正确性对系统正常发挥作用是完全必要的。; 对于一个小型程序,我们可以希望它是完全正确的,但对长达几万行甚至几十万行的大型软件,我们一般不能奢望它是“完全”正确的,而且这一点也是无法证实的。 有的系统虽然是正确的,但是它非常“脆弱”,一旦发生“异常”情况,就可能遭到意想不到的破坏。这就产生了一个新的概念——“健壮性”,其含义是指:当系统遇到意外时(具体是什么意外,事先是很难预料的),能按某种预定的方式作出适当的处理,能保护好重要的信息,隔离故障区,以防止事故蔓延等,事后从故障状态恢复到正常状态就比较容易。所以健壮的系统应该能避免出现灾难性的后果。 总的来说,可靠的软件系统在正常情况下能够顺利工作,在意外情况下,亦能适当地作出处理因而不会造成严重的损失。; 3.可理解性(Understandability) 在相当长一段时间中,人们一直认为程序只是提供

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档