网站大量收购闲置独家精品文档,联系QQ:2885784924

北邮信息安全专业容错计算技术课件第6章.ppt

北邮信息安全专业容错计算技术课件第6章.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
概述 软件危机的产生 软件老化问题 软件可靠性技术的兴起 软件危机 1962年,“水手1号”因其机舱计算机导航程序差错未能到达进行,这是早期人类从软件差错中得到的重大教训 20世纪60年代后期,计算机用户首先意识到了软件危机: 软件产品迟迟不能交付、软件质量低劣、维护代价高昂;软件开发人员感到力不从心,对软件的正确性缺乏信心;高软件需求和低生产效率导致软件费用急剧上涨 1998年的软件工程NATO会议上,科学界和实业界终于一致承认了软件危机的存在 软件故障的根源 软件错误 导致产生含有缺陷的软件的人为行动(国标GB/T 11457-1995) 软件误差 存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差 人为操作失误 软件运行过程中的非法输入 软件老化(Software aging) 软件老化是指软件系统运行速度的降低,或者是由于操作系统资源的耗尽、碎片以及错误的积累导致的程序突然崩溃 主要是由于软件系统资源的损耗因其的,原因包括内存泄露、未释放的文件操作符、数字舍入错误、操作环境的数据损坏等 软件的缺陷等因素都会导致软件老化现象的产生,有效地方式是主动式容错策略,比如软件再生技术 软件再生技术:定期主动停止运行程序,清理程序的内部环境,清除积累错误,然后重新启动软件使之进入一个正常的初始状态,从而避免因软件老化引起的突发性失效,提高软件系统的可靠性和可用性 软件可靠性的兴起 管理技术 程序设计方法学 验证技术 管理技术 软件行业管理 包括有关软件的政策、法律和标准化等问题 项目管理 针对一个具体软件开发项目进行 过程包括:制定开发目标和验收标准,以及阶段目标。根据软件生存周期(要求、说明、设计、实现、验证、运行和维护),在每一阶段具有标准文件,通过对文件的管理控制项目的管理 组织管理 通过合理分配项目成员的工作,使每个成员能动性充分发挥并使乘员减达到良好的协调 组织管理 主程序员负责制 主程序员负责指挥整个项目开发组。主程序员负责设计任务和关键代码、对外交流等。 后备主程序员,负责备选方案。同时参与计划、设计、编码和测试等工作 其他成员是编程人员,负责管理程序库、文件、测试数据和测试结果 实践表明,主程序员负责制是生产高可靠软件产品的合理体制 编程秘书制 集体编程制 软件可靠性的兴起 管理技术 程序设计方法学 包括结构程序设计、程序综合、程序推导、函数程序设计、递归程序设计以及有关的形式说明和程序变换技术 这些技术是程序具有易于理解和验证的良好结构,但以运行效率为代价 为此,可以先设计一个良好结构的程序作为理解和验证的文本,然后用程序变换技术把它变换成一个高效运行的程序,最后运行 验证技术 软件可靠性的兴起 管理技术 程序设计方法学 验证技术 程序测试:以发现差错为目的的过程,通过对被测试的结构分析(静态测试)或实际运行(动态测试)来实现 程序正确性证明:在不考虑程序运行环境条件下的确认程序正确性。方法包括Floyd-Manner的不变式推理方法、MchMarchy的递归归纳法、Horare的公理化方法和Dijkstra的弱谓词变换方法 软件可靠性技术的架构 软件避错技术 形式说明 可靠性程序设计的基本技术 程序验证技术 软件避错技术-形式说明 软件开发的目标是要把问题用一种严格的、数据化或逻辑化的语言把问题描述出来,得到问题的形式说明 形式说明是程序设计和验证的基础 分类: 描述问题功能性质的说明,通常把问题描述成一个函数,问题的输入对应于函数的参数,输出则对应于函数的值 描述问题逻辑性质的说明,通常把问题描述成一个过程、流程图或方框图 功能说明 功能说明有限制输入取值范围的输入说明和规定输出结果的输出说明组成 例:求自然数的阶乘 Function f(n: Integer, n=0): Integer; f:=n!; Return; 逻辑说明 对有些问题,给出问题的逻辑描述更容易,或者给出逻辑描述后,换换成程序更容易,在此情况下需要给出问题的逻辑说明 例计算一个整数集合中大与整数a的元素个数 可靠程序设计的基本技术 程序综合技术 首先把形式说明变为解的存在性定理,容纳后寻找这个存在性定理的构造型证明,最后把证明过程转换为程序 递归程序设计技术 软件结构化设计技术 递归程序设计技术 步骤 1、定义参数上的一个良序集合,以便程序一定能中止 2、对参数进行适当的分析,其中必须包括一种易于计算的特殊情形作为结束条件(非递归分支) 3、计算出特殊情况下的函数值 4、找出一般情况下函数值与具有较小参数的函数值之间的等式关系,得到递归分支 5、把所有分支用条件表达式综合为一个程序 软件结构化设计技术 结构化设计存在于软件生存期的说明、设计和实现阶段 设计阶段的数据流设计 设计阶段的数据结构设计技术 实现阶段

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档