软件可靠性设计与分析_图文-(DOC 24页)

上传人:m**** 文档编号:549173737 上传时间:2024-03-08 格式:DOC 页数:24 大小:356KB
返回 下载 相关 举报
软件可靠性设计与分析_图文-(DOC 24页)_第1页
第1页 / 共24页
软件可靠性设计与分析_图文-(DOC 24页)_第2页
第2页 / 共24页
软件可靠性设计与分析_图文-(DOC 24页)_第3页
第3页 / 共24页
软件可靠性设计与分析_图文-(DOC 24页)_第4页
第4页 / 共24页
软件可靠性设计与分析_图文-(DOC 24页)_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《软件可靠性设计与分析_图文-(DOC 24页)》由会员分享,可在线阅读,更多相关《软件可靠性设计与分析_图文-(DOC 24页)(24页珍藏版)》请在金锄头文库上搜索。

1、软件可靠性分析与设计软件可靠性分析与设计 软件可靠性分析与设计的原因 软件在使用中发生失效(不可靠会导致 任务的失败,甚至导致灾难性的后果。因 此,应在软件设计过程中,对可能发生的 失效进行分析,采取必要的措施避免将引 起失效的缺陷引入软件,为失效纠正措施 的制定提供依据,同时为避免类似问题的 发生提供借鉴。 这些工作将会大大提高使用中软件的可靠 性,减少由于软件失效带来的各种损失。Myers 设计原则Myers 专家提出 了 在可靠性设计中必 须遵循 的 两个 原则 : 控 制程 序 的 复杂 程 度 使 系统 中的各 个模块具有最 大的 独立 性 使程 序具有合理 的 层次结构 当模块或单

2、元之间 的 相互 作用 无法 避免时,务必使 其 联系尽量简单 , 以防止 在 模块和单元之间产 生 未知 的 边际 效应 是 与用 户保持紧密联系软件可靠性设计 软件可靠性设计的 实质是 在 常规 的软件设计 中,应用各种必 须 的 方法和技术 ,使程 序 设 计在 兼顾 用 户 的各种 需求 时, 全面满足 软件 的可靠性要 求 。 软件的可靠性设计应 和 软件的 常规 设计 紧密 地结合 , 贯穿 于 常规 设计过程的 始终 。 这 里所指 的设计 是 广义 的设计 , 它包括了从 需求 分析 开始 , 直 至 实现 的 全 过程。软件可靠性设计的 四 种类 型 软件避 错 设计 避 错

3、 设计 是 使软件 产品 在设计过程中,不发生 错误或 少发生 错误 的 一 种设计 方法 。的设计原则 是控 制 和 减少程 序 的 复杂 性。 体现了以 预 防 为 主 的 思想 , 软件可靠性设计的 首要方 法 各 个 阶段都 要进行避 错 从开 发 方法 、 工 具 等多处着手 避免 需求错误 深 入 研究 用 户 的 需求 (用 户 申明 的 和未 申明 的 用 户 早期介 入, 如 采用原 型技术 选择好 的 开 发 方法 结构 化 方法:包括 分析 、 设计 、 实现 面 向 对 象 的 方法:包括 分析 、 设计 、 实现 基 于 部 件的 开 发 方法 (COMPONENT

4、BASED 快速 原 型法软件避 错 设计 准 则 (1模块 化 与 模块独立 假 设 函数 C(X定 义了 问题 X 的 复杂 性, 函数 E(X定 义 了求 解 问题 X 需 要 花费 的工作 量 (按 时 间 计,对 于问题 P1和 问题 P2, 如 果 C(P1 C(P2,则 有 E(P1 E(P2。 人 类 求 解 问题的 实 践 同时 又揭示 了 另 一个有 趣 的性 质:(P1+ P2 C(P1 +C(P2 由 上 面 三 个 式子 可 得 :E(P1+ P2 E (P1 + E (P2 这 个结 论 导致 所 谓 的 “ 分 治 法 ” -将 一个复杂 问 题分 割成若干 个

5、可 管 理 的 小 问题后 更易 于 求 解 , 模块 化 正 是以 此为据。 模块 的 独立 程 序 可 以 由 两个 定性 标准 度量 ,这 两个 标准 分 别称 为 内聚 和 耦 合 。 耦 合 衡 量 不同 模块 彼 此 间互相 依 赖 的 紧密 程 度 。 内聚衡 量一 个模块 内部 各 个元 素彼 此 结合 的 紧密 程 度 。软件避 错 设计 准 则 (2抽象 和 逐步 求 精 抽象 是 抽 出 事物 的 本 质 特 性 而暂 时不 考虑 它 们 的 细节 举例 抽象 该 CAD 软件 系统 配 有 能与 绘图员 进行可 视 化 通信 的 图 形界 面 , 能用 鼠 标 代替 绘

6、图 工 具 画 各种 直 线 和 曲线; 能 完 成 所有 几何 计 算 以 及 所有 截 面 视 图 和 辅助视 图 的设计。 抽象 CAD 软件任务 ; 用 户 界 面 子 任务 ; 创建二维 图 形 子 任务 ; 管 理 图 形文 件 子 任务 ; END CAD 抽象 III 软件工程过程的 每 一 步都 是 对软件 解 法 的 抽象 层次 的 一次 精化软件避 错 设计 准 则 (3信息隐蔽 和 局 部化 信息隐藏 原 理指 出 :应 该 这 样 设计 和 确 定 模块 ,使 得 一个模块 内 包 含 的 信息 对于不 需 要这些 信息 的 模 块 来 说 , 是 不能 访 问的。

7、“ 只 有需 要 才 能 知 道 ” 如 果 绝 大 多数数 据 和 过程对于软件的 其 他 部 分 而 言 是 隐蔽 的, 那么 在 修改 期 间 由于 疏忽 而 引入的 错误 就很 少可能 传播到 软件的 其它 部 分 局 部化 是指 把 一 些 关 系密 切 的软件 元 素物 理地 放 得 彼 此靠 近 局 部 变 量启 发 规 则 改 进软件 结构 提高 模块独立 性 模块规模 应 该 适 中 深 度 、 宽 度 、 扇 出 和 扇 入 都 应 适 当 深 度 表 示 软件 结构 中 控 制的 层 数 , 它往往 能 粗略 地 标 志 一个系统 的大 小 和 复杂 程 度 。 宽 度是

8、 软件 结构 内 同 一层次 上 的 模块 总 数 的 最 大 值 。 扇 入 是指有 多 少 个 上 级 模块直 接调 用 它 , 扇 入 越 大则 共享 该 模块 的 上 级 模 块 数 目越 多 ,这 是有 好处 的。 扇 出 是一个模块直 接调 用的 模块 数 目 , 扇 出过大 意味 着 模块 过分 复杂 , 需 要 控 制 和 协调 过 多 的 下级 模块 。 其 中 E 函数 扇 入 数 为 2, 扇 出 数 为 3。 圈复杂度 115的控制流图圈复杂度 10的控制流图启 发 规 则 模块 的作用 域 应 该 在 控 制 域 之 内 力争降低 模块 接口 的 复杂 程 度 QUA

9、D-ROOT(TBL,X =QUAD-ROOT(A,B,C,ROOT1,ROOT2 设计 单 入 口 单 出 口 的 模块 模块 功 能应 该 可 以 预 测软件避 错 设计 慎重 使用 容 易 引入缺陷的 结构和技术 浮点 数 指 针 动态 内 存 分 配 并 行 递归 中 断 继承 别 名 默认输 入的 处 理GJB/Z 102-97软件可靠性 和 安 全 性设 计 准 则 序 设计软件 查 错 设计软件 查 错 设计 软件 查 错 设计 是指 在设计中 赋予 程 序 某 些 特 殊 的 功 能,使程 序 在运行中自动查找 存 在 错误 的 一 种设计 方法 。 被动 式 错误 检 测 在

10、程 序 的 若干部 位 设 置检 测点 , 等 待 错误 征 兆 的出 现 主 动 式 错误 检 测 对程 序 状态 主 动 进行 检查被动 式 错误 检 测 检 测 原则 相互怀疑原则 :在设计任 何 一个单元 、 模 块 时, 假 设 其它单元 、 模块 存 在 着 错误 ; 立即检测原则 :当错误 征兆 出 现 后,要 尽 快 查 明 , 以 限 制 错误 的损 害并 降低 排 错 的 难 度 。 负 效应 所 设 置 的 “ 接 收判 据 ” 不可能与 预期 的正 确 结 果 完 全 吻 合 ,导致 错判 或 漏判 ; 软件 增加 了 冗余 可能 降低 可靠性被动 式 错误 检 测 的

11、 实 施 方法 看门狗 定时 器 当 出 现 潜 在不 安 全 的 系统 状态 或有 可能 转移 到 这种 状态 时,将 系统 转移 到 规 定的 安 全 状态 。 循 环 等 待 次 数 控 制 配 合 硬 件进行 处 理 的设计 如 :电源 失效 、 电磁 干 扰 、 系统 不 稳 定 、 接口 故障 、干 扰 信 号 , 以 及 错误 操 作 等 。 按 照已 知 的 数 据 极限检查 数 据 ; 按 照 变 量间 恒 定 关 系 检验 ; 检查 所有 多 值 数 据的 有 效性 ; 对 冗余 的 输 入 数 据进行 一 致性 检验 ; 看门狗 的设计看门狗 技术是控 制 运 行时 间

12、的 一 种 有 效 方法 。 看门狗 实际 上 是 一 种计时 装置 , 当 计时 启 动 后 看门狗 在 累 计时 间 , 当 累 计时 间 到 了 规 定 值 时 触 发 到 时中 断 (即狗叫 , 看门狗 在不 需 要时可 以 关 闭 。 看门狗 的设计要 首先 明 确 其 目 的性。 如 :(1要 防 某 段 程 序 可能的 死 循 环 ,则在此 段 程 序 前 启 动狗 ,在 此 段 程 序 后 关 闭狗 ,在 狗叫 中 断 中进行 超 时 异 常 处 理 。(2要 防 外 来的 信息 长 时 间 不来,则在 开始 等 外 来 信息 时 启 动 狗 ,在 接 收 到 外 来 信息 时

13、 关 闭狗 ,在 狗叫 中 断 中进行 超 时 异 常 处 理 。(3要 防 计 算 超 时,则在 开始 计 算 时 启 动狗 ,在计 算完 毕 后 关 闭狗 ,在 狗叫 中 断 中进行 超 时 异 常 处 理 。显然 ,不可能要 求一个 狗 可 以 看 管好 所有 的 超 时 情况 。避免 潜 在的 死 循 环在 等 待外 部 信 号 的程 序 段 中,不 允 许 无 限 制 地 等 待 。正 确 的 做 法 应 是 , 或 采用 循 环 等 待 次 数 控 制, 或 使用定时 器 ,使 得 规 定 时 间 内 (无 论成 功 或 失败必 须保 证退 出 等 待外 部 信 号 的程 序 段

14、。不允许的设计方法 建议采用的设计方法注意通过双口 RAM 进行握手通 过 双 口 RAM 进行 信息 交换 是 设计 师经 常 采用的 一 种设计 方 案 。的 确 双 口 RAM 提供 了 信息 交换双 方 的 方 便读写 , 但仅 靠 双 口 RAM 要 做 到 读写 的时 序 要 求 就 要 格 外 小 心 。如 此的设计 是 要避免的 :通 过 双 口 RAM 交换 信息 ,在 双 口 RAM 中设 置 了 握 手 信 号 单元 。 读 方 检查 到 握 手 信 号 为 01H , 表 明 对 方 已 准 备 好数 据, 再读 数 据, 读 完 后将 握 手 信 号置 为 00H ;

15、 写 方 检查 到 握 手 信 号 为 00H , 表 明 对 方 已 取 走 数 据, 再写 数 据, 写 完 数 据后 再 将 握 手 信 号置 为 01H , 表 明 自己 已 准 备 好数 据。 这种设计不 一 定可靠,可能会出 现 写 方 要 写握 手 信 号 时, 读 方 正在 读握 手 信 号 ,则 写 方 要 写 的 值 写 不进 去 。可靠的 设计应用 硬 件 连 线 保 证握 手 , 而 不要靠 双 口 RAM 中的 握 手 信 号 。 如 果 一 定要靠 双 口 RAM 进行 握 手 ,则 写握 手 信 号 单元 数 据时 一 定 要 写 完 后 接 着 再读 出, 经 验 证 确 实 写 成 功 后 再 进行 下 面 的 操 作, 否 则 需 继 续写 。当 然 这必 须 与避免 潜 在的 死 循 环 的设计 准 则 联合 使用。 可靠的设计方法握手标志置不上的可能数 据采 集 的 多 路 冗余 设计关 键 数 据的采 集

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号