软件设计的目标和任务:根 据 用 信 息 域 表 示 的 软 件 需 求 , 以 及 功 能 和 性 能 需 求 , 进 行:数 据 设 计;系 统 结 构 设 计;过 程 设 计
软件设计任务:从工程管理的角度来看,软件设计分为两步完成:概要设计;详细设计
软件 设 计 过 程 :1.制 定 规 范 2. 软 件 系 统 结 构 的 总 体 设 计 3.处 理 方 式 设 计 4.数 据 结 构 设 计 5. 可 靠 性 设计6. 编 写 概 要 设 计 阶 段 的文 档 7.概 要 设 计 评 审
软件设计基础:自顶向下,逐步细化:将 软 件 的 体 系 结 构 按 自 顶 向 下 方 式 , 对 各 个 层 次 的 过 程 细 节 和 数据 细 节 逐 层 细 化 。
软件结构: 包 括 两 部 分 。 程 序 的 模 块 结 构 和 数 据 的 结 构
结构图: 反 映 程 序 中 模 块 之 间 的 层 次 调 用 关 系 和 联 系 .
模块化:能 够 把 一 个 大 而 复 杂 的 软 件 系 统 划 分 成 易 于 理 解 的 比 较 单 纯 的 模 块 结 构 。
抽象化:软 件 系 统 进 行 模 块 设 计 时 , 可 有 不 同 的 抽 象 层 次 。
数据抽象:在 不 同 层 次 上 描 述 数 据 对 象 的 细 节 , 定 义 与 该 数 据 对 象 相 关 的 操 作 。
模 块 :“ 模 块 ” 一 般 具 有 如 下 三 个 基 本 属 性:功 能 : 描 述 该 模 块 实 现 什 么 功 能
逻 辑 : 描 述 模 块 内 部 怎 么 做
状 态 : 该 模 块 使 用 时 的 环 境 和 条件
数 据 耦 合 :如 果 一 个 模 块 访 问 另 一 个 模 块 时 , 彼 此 之 间 是 通 过 简 单 数 据参 数 ( 不 是 控制 参 数 、 公 共 数 据 结 构 或 外 部 变 量 ) 来 交 换 输 入 、 输 出 信 息的 , 则 称 这 种 耦 合 为 数 据 耦 合
标 记 耦 合 :如 果 一 组 模 块 通 过 参 数 表 传 递 记 录 信息, 就 是 标 记耦合 。
控 制 耦 合:如 果 一 个 模 块 通 过 传 送 开 关 、 标 志 、 名 字 等 控 制 信 息 , 明 显 地 控 制 选 择 另 一 模 块 的 功 能 , 就是 控 制 耦 合
外 部 耦 合 :一 组 模 块 都 访 问 同一 全 局 简 单 变 量 而 不 是 同 一 全 局 数 据 结 构 , 而 且 不 是 通 过 参 数 表 传 递 该 全 局 变 量 的 信 息, 则 称 之 为 外 部 耦 合 。
公 共 耦 合:若 一 组 模 块 都 访 问同 一 个 公 共 数 据 环 境 , 则 它 们 之 间 的 耦 合 就 称 为 公 共 耦 合。公共耦合有两种情况,松散公共耦合和紧密公共耦合。
功 能 内 聚 :一 个 模 块 中 各 个 部分 都 是 完 成 某 一 具 体 功 能 必 不 可 少 的 组 成 部 分 , 是 不 可 分 割 的 。
信 息 内 聚 :这 种 模 块 完 成 多 个功 能 , 各 个 功 能 都 在 同 一 数 据 结 构 上 操 作 , 每 一 项 功 能 有 一 个 唯 一 的 入 口 点 。
通 信 内 聚 :如 果 一 个 模 块 内 各 功 能 部 分 都 使 用 了 相 同 的 输 入 数 据 , 或产 生 了 相 同 的 输 出 数 据 , 则 称 之 为 通 信 内 聚 模 块 。
过 程 内 聚 :使 用 流 程 图 做 为 工 具 设 计 程 序 时 , 把 流 程 图 中 的 某 一 部 分划 出 组 成 模 块 , 就 得 到 过 程 内 聚 模 块 。
时 间 内聚:时 间 内 聚 模 块 的 各个 功 能 的 执 行 与 时 间 有 关 , 通 常 要 求 所 有 功 能 必 须 在 同 一 时 间 段 内 执行
结构化设计方法:首 先 研 究 、 分 析 和 审 查 数 据 流 图 。然 后 根 据 数据 流 图 决 定 问 题 的 类 型 。
数 据 处 理 问 题 典 型 的 类 型 有 两 种 :变 换 型 和 事 务 型针 对 两 种 不 同 的 类 型 分 别 进 行 分 析 处 理 。
系 统 结 构 图 中 的 模 块 :传 入 模 块;传 出 模 块; 变 换 模 块;协 调 蟆 块
事 务 型 系 统 结 构 图: 它 接 受 一 项 事 务 , 根 据 事 务 处理 的 特 点 和 性 质 , 选 择 分 派 一个 适 当 的 处 理 单 元 , 然 后 给 出 结 果 。
变 换 分 析 :变 换 分 析 方 法 由 以 下四 步 组 成 :重 画 数 据 流 图 ;区 分 有 效 ( 逻辑 ) 输 入 、 有 效( 逻 辑 ) 输 出 和 中 心 变 换 部 分 ;进 行 一 级 分 解, 设 计 上 层 模 块 ;进 行 二 级 分 解 , 设 计 输 入 、 输 出 和 中 心 变 换 部 分 的 中 、 下 层 模 块
1.在 选 择 模 块 设 计 的 次序 时 , 必 须 对 一 个 模 块 的 全 部 直 接 下 属 模 块 都 设 计 完 成
2.在 设 计 下 层 模 块 时 , 应 考 虑 模 块 的 耦 合 和 内 聚 问 题 。
3.使 用 “ 黑 箱 " 技 术: 在 设 计 当 前 模 块 时,先把这个模块的所有下层模块定义为黑箱。
4.在 模 块 划 分 时 , 一 个 模 块 的 直 接 下 属 模 块 一 般 在 5 个 左 右
5.如 果 出 现 了 以 下 情 况 , 就 停 止 模 块 的 功 能 分 解 :
当 模 块 不 能 再 细 分 为 明 显 的 子 任 务 ;当 分 解 成 用 户 提 供 的 模 块 或 程 序 库
的 子 程 序 时 ; 当 模 块 的 界 面 是 输 入 / 输 出 设 备 传 送 的 信 息 时 ; 当 模 块 不 宜 再 分 解 得 过 小 时
事务分析:与 变 换 分 析 一 样 , 事 务 分 析 也 是 从 分 析 数 据 流 图 开 始 ,自 顶 向 下 , 逐 步 分 解 , 建 立 系 统 到 结 构 图 。
事务分析过程:1.识别事务源2.规定适当的事务型结构3.识别各种事务和它们定义的操作4.注意利用公用模块5.对每一事物,或对联系密切的一组事务,建立一个事务处理模块6.对事务处理模块规定它们全部的下层操作模块7.对操作模块规定它们的全部细节模块。
软 件 模 块 结 构 的 改 进:模 块 功 能 的 完 善 化 :一 个 完 整 的 模 块 应 当 有以 下 几 部 分 : 执 行 规 定 的 功 能 的 部 分 ; 出 错 处 理 的 部 分 。给 它 的 调 用 者 返 回 一 个 结 束 状 态 标 志 。
消 除 重 复 功 能 , 改善 软 件 结 构 :完 全 相 似 ;局 部 相 似 。
模 块 的 作 用 范 围 应在 控 制 范 围 之 内 :模 块 的 控 制 范 围 包 括 它 本 身 及 其 所 有 的 从 属 模 块 。
模 块 的 作 用 范 围 是 指 模 块 内 一 个 判 定 的 作 用 范 围 , 凡 是 受 这 个 判 定 影 响 的 所 有 模 块 都 属 于 这 个 判 定 的 作 用 范 围 。
避 免 或 减 少 使 用 病态 联 接 :应 限 制 使 用 如 下 三 种 病 态 联 接 : 直接 病 态 联 接 ;公 共 数 据 域 病 态 联 接 ;通 信 模 块 联 接
模 块 的 大 小 要 适 中 :通 常 规 定 其 语 句 行 数 在 50 、 100 左 右 , 保 持 在 一 页 纸 之 内 , 最 多 不 超 过 500 行 。
设 计 功 能 可 预 测 的 模 块 , 但 要 避 免 过 分 受 限 制 的 模 块
软 件 包 应 满 足 设 计 约 束 和 可 移 植 性。
设 计 的 后 处 理 :为 每 一 个 模 块 写 一份 处 理 说 明 。 为 每 一 个 模 块 提 供 一 份 接 口 说 明 ;确 定 全 局 数 据 结 构和 局 部 数 据 结 构 。 指 出 所 有 的 设 计 约 束 和 限 制 。 进 行 概 要 设 计 的 评 审
数据设计及文件设计
数据设计的原则:1 . 用 于 软 件 的 系 统 化 方 法 也 适 用 于 数 据 。 2 . 确 定 所 有 的数 据 结 构 和 在 每 种 数 据 结 构 上 施 加 的 操 作 。 3.应当建立一个数据词典并用它来定义数据和软件的设计。4.底层数据设计的决策应推迟到设计过程的后期进行。5.数据结构的表示只限于那些必须直接使用该数据结构内数据的模块才能知道。6.应当建立一个存放有效数据结构及相关操作的库。7.软件设计和程序设计语言应当支持抽象数据类型的定义和实现。以上原则适用于定义和开发阶段。
文件 设 计 :文 件 设 计 的 过 程 ,主 要 分 两 个 阶 段 。 第 一 个 阶 段 是 文 件 的 逻 辑 设 计 , 主 要 在 概 要 设 计 阶 段 实 施 。
(1)整理必须的数据元素(2) 分 析 数 据 间 的 关 系 : ( 3 ) 确 定 文 件 的 逻 辑 设 计 : ( 4 ) 理 解 文 件 的 特 性
( 5 )确定文件的组织方式: 顺 序 文件; 直 接 存 取 文 件 ( 6 ) 确 定 文 件 的 存 储 介 质 ( 7 ) 确 定 文 件 的 记 录 格 式 (8)估算存取时间和存储容量
索 引 顺 序 文 件 : 其 基本 数 据 记 录 按 顺 序 文 件 组 织 , 记 录 排 列 顺 序 必 须 按 关 键 字 值 升 序 或 降 序 安 排, 且 具 有 索 引 部 分 , 也 按 同 一 关 键 字 进 行 索 引 。 这 类 文 件 主 要 用 于 存 放 程 序 。
分区文件:这类文件主要用于存放程序。
虚拟存储文件:这是基于操作系统的请求式存储管理功能而建立的索引顺序文件。
倒排文件:按候选属性建立索引表
过程设计: 从 软 件 发 的 工 程 化 观 点 来 看 , 在 使 用 程 序 设 计 语 言 编制 程 序 以 前 , 需 要 对 所 采 用 算 法 的 逻 辑 关 系 进 行 分 析 , 设 计 出 全 部 必 要 的 过 程细节 , 并 给 予 清 晰 的 表 达 。 这 就 是 过 程 设 计 的 任 务 。
在 过 程 设 计 阶 段 , 要 决 定 各 个 模 块 的 实 现 算 法 , 并 精 确地 表 达 这 些 算 法 表 达 过 程 规 格 说 明 的 工
具 叫 做 详 细设 计 工 具 , 它 可 以 分 为 以 下 三 类 :图 形 工 具 ,表 格 工 具,语言工具