第8章-软件工程new.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文档。上传文档
查看更多
第8章-软件工程new.ppt

* 程序设计时代(50-60年代) 软件指程序,软件开发关注程序编写,用汇编及机器语言 程序系统时代(60-70年代) 软件指程序及说明书,软件开发包括程序设计和测试,用高级语言 软件工程时代(70年代以后) 软件指程序、文档、数据,软件开发包括软件生命期,用软件语言(包括需求定义语言、软件功能语言、软件设计语言、程序设计语言等) 可适应性是评价一个软件的重要性能之一, 它指的是修改一个运行程序所需工作量的程度,或软件适应环境变化的能力。可适应性软件具有如下优点: 1) 较短的代码, 可由程序自动配置,软件抽象级别较高; 2) 有可重用软件库的支持; 3) 对象结构、 方法有修改和扩充的能力; 4) 整个应用系统的对象结构和关联清晰简洁, 可维护性好。 Demeter可适应编程方法既是一种建模思想又是一种编程技术, 松耦合、 弱结构和滞后绑定是两个非常有特色的方面[1]。 (1)可修改性(modifiablity)。容许对系统进行修改而不增加原系统的复杂性。它支持软件的调试与维护,是一个难以达到的目标。 (2)有效性(efficiency)。软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性方面会发生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性。时/空折衷是经常出现的。有经验的软件设计人员会巧妙地利用折衷概念,在具体的物理环境中实现用户的需求和自己的设计。 (3)可靠性(reliability)。能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。因为软件要实时地控制一个物理过程,如宇宙飞船的导航、核电站的运行,等等。如果可靠性得不到保证,一旦出现问题可能是灾难性的,后果将不堪设想。因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 (4)可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 (5)可维护性(maintainability)。软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。 (6)可重用性(reusebility)。概念或功能相对独立的一个或一组相关模块定义为一个软部件。软部件可以在多种场合应用的程度称为部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件工程师选用。可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用。从更广泛的意义上理解,软件工程的可重用性还应该包括:应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用,等等。一般来说,重用的层次越高,带来的效益也就越大。 (7)可适应性(adaptability)。软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。适应性强的软件较容易推广使用。 (8)可移植性(portability)。软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。对依赖于计算机系统的低级(物理)特征部分,如编译系统的目标代码生成,应相对独立、集中。这样,与处理机无关的部分就可以移植到其他系统上使用。可移植性支持软件的课重用性和课适应性。 (9)可追踪性(tracebility)。根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软件开发各个阶段文档和程序的完整性、一致性和可理解性。降低系统的复杂性会提高软件的可追踪性。软件在测试或维护过程中或程序在执行期间出现问题时,应记录程序事件或有关模块中的全部或部分指令现场,以便分析、追踪产生问题的因果关系。 (10)可互操作性(interoperability)。多个软件元素相互通信并协同完成任务的能力。为了实现可互操作性,软件开发通常要遵循某种

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档