1、软件生命周期软件的生命周期是一个孕育、诞生、成长、成熟和衰亡的生存过程,也就是所谓的软件定义、软件开发和运行维护 3 个时期组成。而每个时期又有所要完成的不同的基本任务。软件定义时期的主要任务是解决“做什么”的问题,通俗的讲就是做此项目的主要功能及可行性报告等。比如说网上选课系统,在软件定义阶段,要确定以下几个功能模块:管理员管理课程、教师、学生的增删改查和对教师、学生的权限授予等功能,教师对自己信息的修改和对自己课程的上传、修改、删除、查询等功能,学生对课程的选择、退选及查询等功能。针对此项目,从技术、经济、法律、成本、可获得的效益、开发的进度做出一系列的估算,制定出具体的实施计划。软件开发
2、时期的主要任务是解决“如何做”的问题,也就是如何完成此项目的过程,要解决每个构建所要完成的工作以及完成此工作的顺序。选择编写源程序的开发工具,把软件设计转换成计算机可以接受的程序代码。比如说网上选课系统,在软件开发阶段,我们确定先要进行管理员的模块编写,再进行教师模块的编写,进而进行学生模块的编写,另外也要确定是运用某种软件开发工具,如 java、C 语言等进行模块的开发等。运行维护时期的主要任务是使软件持久地满足用户的需要,通常包括:改正性维护、适应性维护、完善性维护和预防性维护。在此阶段主要是把前期的各个模块组装起来进行测试,保证按需求分析的要求完成软件功能的测试并对此进行确认,交与开发方
3、运行测试。比如网上选课系统,在运行维护阶段,要对前期的管理员、教师、学生这三个模块进行组合,并按照需求分析的功能进行核对,有不符合需求规格说明书之处进行修改,直到完全符合并测试成功,交与开发方测试及运用。软件的生命周期是一个耗时长的工程。在软件工程生命周期的 3 个时期中,各个阶段又有着其不同的基本任务:一、问题定义和可行性研究此 阶 段 是 软 件 开 发 方 与 需 求 方 共 同 讨 论 , 主 要 确 定 软 件 的 开 发 目 标 及 其可 行 性 。 在 这 个 阶 段 中 我 们 需 要 从 开 发 的 技 术 、 成 本 、 效 益 等 各 个 方 面 来 衡量 这 个 项 目
4、 , 进 行 可 行 性 分 析 , 形 成 可 行 性 分 析 报 告 书 , 并 以 此 为 基 础 进行 需 求 分 析 等 后 期 的 工 作 。二、需求分析在 确 定 软 件 开 发 可 行 的 情 况 下 , 对 软 件 需 要 实 现 的 各 个 功 能 进 行 详 细 分析 , 明 确 目 标 的 功 能 需 求 和 非 功 能 需 求 , 并 建 立 分 析 模 型 , 从 功 能 、 数 据 、行 为 等 方 面 描 述 系 统 的 静 态 特 性 和 动 态 特 性 , 对 目 标 系 统 做 进 一 步 的 细 化 ,了 解 此 系 统 的 各 种 需 求 细 节 。
5、在 这 个 阶 段 实 施 时 产 生 的 需 求 分 析 说 明 书 是 今后 开 发 过 程 中 至 关 重 要 的 一 个 文 档 。 需 求 分 析 阶 段 是 一 个 很 重 要 的 阶 段 , 需求 也 是 在 整 个 软 件 开 发 过 程 中 不 断 变 化 的 , 因 此 我 们 必 须 以 不 变 应 万 变 ,以 保 护 整 个 项 目 的 顺 利 进 行 。 三、软件设计此 阶 段 是 整 个 软 件 设 计 的 技 术 核 心 部 分 , 主 要 是 根 据 需 求 分 析 的 结 果 ,对 整 个 软 件 系 统 进 行 设 计 , 如 系 统 框 架 设 计 ,
6、数 据 库 设 计 等 等 。 软 件 设 计 一般 分 为 总 体 设 计 和 详 细 设 计 。总 体 设 计 包 括 系 统 模 块 结 构 设 计 和 计 算 机 物 理 系 统 的 配 置 方 案 设 计 。 系统 模 块 结 构 设 计 的 主 要 任 务 是 划 分 子 系 统 , 确 定 子 系 统 的 模 块 结 构 并 画 出 模块 结 构 图 。 此 过 程 中 主 要 解 决 的 是 如 何 将 一 个 系 统 划 分 成 多 个 子 系 统 , 每个 子 系 统 如 何 划 分 成 多 个 模 块 , 如 何 确 定 子 系 统 之 间 、 模 块 之 间 传 送 的
7、 数 据及 其 调 用 关 系 , 如 何 评 价 并 改 进 模 块 结 构 的 质 量 等 。 计 算 机 物 理 系 统 配 置 方案 设 计 是 要 解 决 计 算 机 软 硬 件 系 统 的 配 置 、 通 信 网 络 系 统 的 配 置 、 机 房 设 备的 配 置 等 问 题 。详 细 设 计 主 要 有 处 理 过 程 设 计 以 确 定 每 个 模 块 内 部 的 详 细 执 行 过 程 , 包括 局 部 数 据 组 织 、 控 制 流 、 每 一 步 的 具 体 加 工 要 求 等 , 一 般 来 说 , 处 理 过程 模 块 详 细 设 计 的 难 度 已 不 太 大 ,
8、 关 键 是 用 一 种 合 适 的 方 式 来 描 述 每 个 模 块的 执 行 过 程 , 主 要 的 设 计 工 具 有 : 程 序 流 程 图 、 N-S 图 、 PAD 图 、 伪 代 码 等 。四、程序编码和单元测试此 阶 段 是 选 择 合 适 的 编 程 语 言 , 将 软 件 设 计 的 结 果 转 换 成 计 算 机 可 运行 的 程 序 代 码 , 并 对 程 序 结 构 中 的 各 个 模 块 进 行 单 元 测 试 , 然 后 运 用 调 试 的手 段 排 除 测 试 中 发 现 的 错 误 。 在 程 序 编 码 中 必 须 要 制 定 统 一 , 符 合 标 准
9、的 编写 规 范 。 以 保 证 程 序 的 可 读 性 , 易 维 护 性 , 提 高 程 序 的 运 行 效 率 , 且 与 设计 相 一 致 。单 元 测 试 是 在 软 件 开 发 过 程 中 要 进 行 的 最 低 级 别 的 测 试 活 动 , 在 单 元 测试 活 动 中 , 软 件 的 独 立 单 元 将 在 与 程 序 的 其 他 部 分 相 隔 离 的 情 况 下 进 行 测 试 。所 有 的 测 试 都 必 须 在 整 个 软 件 系 统 的 生 命 周 期 中 进 行 维 护 。五、集成和系统测试在 软 件 设 计 完 成 后 要 经 过 严 密 的 测 试 , 以 发
10、 现 软 件 在 整 个 设 计 过 程 中 存在 的 问 题 并 加 以 纠 正 。 整 个 测 试 过 程 分 单 元 测 试 、 组 装 测 试 以 及 系 统 测 试 三个 阶 段 进 行 。 测 试 的 方 法 主 要 有 白 盒 测 试 和 黑 盒 测 试 两 种 。 在 测 试 过 程 中要 建 立 详 细 的 测 试 计 划 并 严 格 按 照 测 试 计 划 进 行 测 试 , 要 根 据 需 求 规 格 说明 书 的 要 求 , 对 必 须 实 现 的 各 项 需 求 , 逐 步 进 行 确 认 , 判 定 已 开 发 的 软 件 是否 符 合 用 户 需 求 , 能 否
11、交 付 用 户 使 用 。集 成 测 试 , 也 叫 做 组 装 测 试 或 是 联 合 测 试 。 是 在 单 元 测 试 的 基 础 上 , 将所 有 模 块 按 照 设 计 的 要 求 组 装 成 为 子 系 统 或 是 系 统 , 进 行 集 成 测 试 。 测 试 在将 所 有 的 软 件 单 元 按 照 概 要 设 计 规 格 说 明 的 要 求 组 装 成 模 块 、 子 系 统 或 是 系统 的 过 程 中 各 个 部 分 工 作 是 否 达 到 或 实 现 相 应 技 术 指 标 及 要 求 的 活 动 。 在 顺序 上 , 集 成 测 试 在 单 元 测 试 之 后 , 集
12、 成 测 试 中 所 使 用 的 对 象 应 该 是 已 经 经 过单 元 测 试 的 软 件 单 元 。 在 集 成 测 试 中 , 必 须 考 虑 : 在 把 各 个 模 块 连 接 起 来 的时 候 , 穿 越 模 块 接 口 的 数 据 是 否 会 丢 失 ; 各 个 子 功 能 组 合 起 来 , 能 否 达 到 语气 要 求 的 父 功 能 ; 一 个 模 块 的 功 能 是 否 会 对 另 一 个 模 块 的 功 能 产 生 不 利 的 影响 ; 全 局 数 据 结 构 是 否 有 问 题 ; 单 个 模 块 的 误 差 积 累 起 来 , 是 否 会 放 大 , 从而 达 到
13、不 可 接 受 的 程 度 等 问 题 。系 统 测 试 时 将 已 经 确 认 的 软 件 、 计 算 机 硬 件 、 外 设 、 网 络 等 其 他 元 素 结合 在 一 起 , 进 行 信 息 系 统 的 各 种 组 装 测 试 和 确 认 测 试 , 气 目 的 是 通 过 与 系 统的 需 求 相 比 较 , 发 现 所 开 发 的 系 统 与 用 户 需 求 不 符 或 矛 盾 的 地 方 , 从 而 提 出更 加 完 善 的 方 案 。 在 此 测 试 中 , 要 尽 可 能 彻 底 地 检 查 出 程 序 中 的 错 误 , 提 高软 件 系 统 的 可 靠 性 。 主 要 包
14、 括 : 模 块 测 试 , 检 查 每 个 模 块 的 程 序 是 否 有 错 误 ;组 装 测 试 , 测 试 模 块 之 间 的 接 口 是 否 正 确 ; 确 认 测 试 , 测 试 整 个 软 件 系 统 是否 满 足 用 户 功 能 和 性 能 的 要 求 。 测 试 发 现 问 题 之 后 要 经 过 调 试 找 出 错 误 原 因和 位 置 , 然 后 进 行 改 正 。 系 统 测 试 时 针 对 整 个 产 品 进 行 的 测 试 , 目 的 是 验 证系 统 是 否 满 足 了 需 求 规 格 的 定 义 , 找 出 与 需 求 规 格 说 明 书 不 符 合 或 与 之
15、 矛盾 的 地 方 并 进 行 修 改 以 达 到 需 求 规 格 的 要 求 。其 中 , 白 盒 测 试 与 黑 盒 测 试 是 测 试 阶 段 最 主 要 使 用 的 俩 个 测 试 方 法 。 白盒 测 试 是 对 软 件 的 过 程 性 细 节 做 细 致 的 检 查 , 这 一 方 法 是 把 测 试 对 象 看 作一 个 打 开 的 盒 子 , 测 试 人 员 依 据 程 序 内 部 逻 辑 结 构 相 关 信 息 , 设 计 或 选 择测 试 用 例 , 对 程 序 所 有 逻 辑 路 径 进 行 测 试 , 通 过 在 不 同 点 检 查 程 序 的 状 态 ,确 定 实 际
16、 的 状 态 是 否 与 预 期 的 状 态 一 致 。而 黑 盒 测 试 是 在 已 知 软 件 产 品 所 具 有 的 功 能 基 础 上 进 行 的 。 在 程 序 接口 进 行 测 试 , 它 只 检 查 程 序 功 能 是 否 按 照 需 求 规 格 说 明 书 的 规 定 正 常 使 用 ,程 序 是 否 能 适 当 地 接 收 输 入 数 据 而 产 生 正 确 的 输 出 信 息 。 黑 盒 测 试 着 眼 于 程序 外 部 结 构 , 不 考 虑 内 部 逻 辑 结 构 , 主 要 针 对 软 件 界 面 和 软 件 功 能 进 行 测试 。六、软件运行和维护软 件 维 护
17、是 软 件 生 命 周 期 中 持 续 时 间 最 长 的 阶 段 。 在 软 件 开 发 完 成 并 投入 使 用 后 , 由 于 多 方 面 的 原 因 , 软 件 不 能 继 续 适 应 用 户 的 要 求 。 要 延 续 软 件的 使 用 寿 命 , 就 必 须 对 软 件 进 行 维 护 。 软 件 的 维 护 包 括 : 纠 错 性 维 护 , 运行 中 发 现 软 件 中 的 错 误 需 要 修 正 ; 适 应 性 维 护 : 为 了 适 应 变 化 了 的 软 件 工作 的 环 境 ; 完 善 性 维 护 , 扩 充 软 件 功 能 , 增 强 软 件 性 能 , 改 进 加 工 效 率 、提 高 软 件 的 可 维 护 性 等 需 求 而 做 的 一 系 列 的 变 更 。