- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可信属性 ? 可靠性( Reliability ):在规定的环境下和规定的时间 内,软件无失效运行的概率; ? 可靠安全性( Safety ):软件运行不引起危险、灾难的能 力; ? 保密安全性( Security ):软件系统对数据和信息提供保 密性、完整性、可用性、真实性保障的能力; ? 可生存性( Survivability ):软件在受到攻击或失效出 现时连续提供服务并在规定时间内恢复所有服务的能力; ? 实时性( Real Time ):软件在指定的时间内完成反应或 提交输出的能力。 成本-可信曲线 可信性 成 本 低 中 高 很高 极高 由于需要附加的设计、实现和验证开销, 提高可信行性将极大的增加开发成本 指数曲线 ( 2 )容错设计 ? 为了保证高可信系统即使在极端条件下也能按其 规格说明执行,对硬件和软件同时采用容错计算 非常重要。 ? 硬件容错对所有关键硬件部件进行备份。 ? 为了保护软件免受软件故障的影响,软件逻辑和 数据也必须被备份。 ? 软件容错设计是使得软件能发现失效危险并从临 失效状态恢复的软件设计技术,有两种主要的软 件容错设计方法: ? 恢复块( Recovery Blocks ) ? N- 版本( N-version )编程 1 )恢复块技术 版本 1 版本 2 版本 n 接收 测试 接收 测试 接收 测试 输 出 报错 接收 接收 接收 检测到错误后将执 行软件模块的另一 个不同版本。在执 行模块的一个版本 前,首先要创建检 查点,这有助于在 该版本执行失败后 恢复状态,并为检 测到错误后执行下 一个版本提供有效 的起始点。 2 ) N- 版本编程 版本 1 版本 2 版本 n 表 决 器 报警 输出 多数 少数 N — 版本编程是一 种多版本技术,关 键模块的不同版本 被设计成满足同样 的基本需求,每个 版本完成同样的任 务,但却使用不同 的方式。这些版本 同时执行,它们的 输出结果提交给一 个表决系统以决定 正确的结果,对输 出正确性的判断基 于对所有输出的比 较,出现不一致的 情况时利用多数表 决决定最优先的结 果。 设计多样性 ? 恢复块技术和 N- 版本编程都是基于设计多样性 ? 当不同的开发者采用不同方法实现相同的需求时, 一个合理的假设是不同版本的软件不大可能包含相 同的缺陷,因此,也就不会产生相同的失效。 ? 设计多样性可以通过以下多种方式达到: ? 使用不同的设计方法来实现需求。 ? 使用不同的程序设计语言来完成实现。 ? 使用不同的开发工具,且在不同的开发环境中 完成。 ? 明确要求在实现某些关键过程时使用不同的算 法。 使用 UML 的模块过程设计 6 )数据模型设计 ? 我们把数据结构设计、数据库设计、甚至数据文 件设计等统一称为数据模型设计。 ? 在数据模型设计中有一个重要概念:持久数据操 作,它包括写入、查询、更新和删除四类基本操 作以及由它们复合而成的业务数据操作。 ? 在很多软件系统中,数据是其核心,因此,对数 据元素的格式、结构、访存、表示等机制进行良 好建模和优化,是提高软件设计质量和系统性能 的基础,对软件系统的应用具有重要意义。 内容 3.1 软件设计的基本概念 3.2 软件设计过程 3.3 软件设计的质量 3.4 软件体系结构设计 3.5 高可信软件设计 3.6 软件设计规格说明 3.7 软件设计评审 软件设计质量的重要性 ? 软件设计是软件开发过程中的核心活动,软件设计 的质量不但对最终软件产品的质量起着决定性作用 ,还对软件开发过程以及软件以后在使用过程中维 护的难易程度有着重要的影响。 ? 高质量的软件设计,能够有效缩短软件开发时间, 减少开发成本,提高最终软件产品质量。 软件设计的质量要素 ? 评价软件设计的质量 ? 结构良好 ? 充分性 ? 可行性 ? 简单性 ? 实用性 ? 灵活性 ? 健壮性 ? 可移植性 ? 可复用性 ? 标准化 软件设计的质量 ? 软件设计对最终软件产品质量产生的影响包括: ? 正确性 ? 可靠性 ? 运行效率 ? 可移植性 ? 可维护性 ? 可复用性 软件设计的质量 ? 软件设计对软件开发过程可能产生的影响包括: ? 开发效率 ? 交付时间 ? 风险管理 ? 资源使用 ? 成本 ? 人员培训 ? 合法性 内容 3.1 软件设计的基本概念 3.2 软件设计过程 3.3 软件
您可能关注的文档
- 精编年会晚会聚餐策划方案32精选.ppt
- 精美的目录模版课件.ppt
- 精读2第二版课后翻译整理试题知识点.doc
- 精选 MATLAB上机考试题一.doc
- 精选 九年级语文下册名校课堂训练题.doc
- 精选 低碳钢铸铁的扭转破坏实验报告.doc
- 精选 关于春节燃放烟花爆竹的调查报告.doc
- 精选 动力分散与动力集中特点比较1119.doc
- 精选 国际货物运输与保险试题库.doc
- 精选 大学英语六级作文常见词汇.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)