软件工程中的常用软件生命周期模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5 结 束语
选择 软件 生命 周 期模 型不仪 要 结合 项 日 的特点 ,还有考虑到用户 的参与程度和开发 团 队的技术水平 。 没 有 完 全 符 合 任 何 项 目的模 型 , 也 没 有 完 全 不 符 合 任 何 项 目的 模 型 。关 键 根 据 项 目特 点选 择 一个 或 结 合 多 个 模 型 制 定 出符 合 项 目开发要求 的开发流程 。
1 瀑 布 模 型
螺旋模 型 的每 一次 迭代 都包 含 了 以下六 个 步骤 : ( 1 )确定个 目标; ( 2 )备用方案和约束识别 ; ( 3 )开发风险评估方案和 备用解 决方案; ( 4)获得迭 代 的产 出物并检 验迭代 产 出 的是否正确; ( 5 )准备下次迭代 ; ( 6 )提交下次迭代 的方案 。 采用 螺旋 模型 的项 目开 发 成本 与风 险成 反 比, 也 就 是 说 成 本 投 入 越 多 , 风 险 越 小 ,这 可 以帮助开发人 员更好 地管理和跟踪项 目。在 每一次迭代完成之后 都必须对产 出物进行检验 评估 ,如果发现开发无 法继续下去时可 以及早 终止项 目,减少损失 。而每次迭代过程 中的制 定具体 目标 ,分析风 险和验证交付物并不是容 易的事情 ,需要 开发人员具备深厚 的技术功底 且尽职尽 责。
( 1 )开 发 的 各 个 阶 段 之 间 的 划 分 太 死 板 ,
每个阶段都会产生大量 的文档 ,大大增加 了工 作量 。 ( 2 )因为该模型 流程是 线性 的,用 户 只 能在开发过程 的末期才 能看 到成果,使开发风 险大大增加 。 ( 3 )如果开发早 期 出现 错误 ,很 可能要 等到开发后期 的测试 阶段才会 发现 。
2 螺 旋 模 型
首 先需 要 明 白的是螺 旋模 型遵 循和 瀑布 模 型一样 的开发流程 ,即需求 >分析 >设计 > 编码 测试的流程 。而螺旋模 型与瀑 布模 型相 比 最大 的 优 势 在 于 其 整 个 开 发 过 程 是 风 险 驱 动 和迭代 的,螺 旋模型将瀑布模型 中的多个 阶段 转化成迭代过 程,从而达到降低项 目风 险的 目
【 关键词 】软件 工程 软件 生命周期 瀑布型
的。
软 件生 命周 期模 型 的主要 作用 是 定各 个软件开 发活动实施的顺序 。软件开发前期就 应 该选择适当的软件生命周期模型 ,以达到简 化 软件开发流程 ,降低软件开发难度 的 目的。 软件 生命周期模型可 以帮助开发人 员提 高软件 开 发效率 ,提升软件质量 ,降低软件开发成本 , 更好 地监督与控制软件开发进程 ,降低风 险。 如果没有选择或者选择 了不合适 的软件生命 周 期模型将 会导致软件开发进度缓慢, 造 成人力、 物力的无谓浪费 ,甚至使软件 开发 项 目夭折, 因此,根据软件开发项 目的具体情 况选择相应 的软件生命周期模型是非常重要 的。下面笔 者 结合多年开发经验和大家探讨 一下几种常用的 软件生命周期模型的特点 ,以供参考 。
4增 量迭代模型
增量迭 代模 型是 R UP推荐 的软件 生命周 期模 型 。R UP中将 迭代 定 义为 :迭 代包 括 实 现软件 产品发布 ( 指 可 执 行 的稳 定 版 本 1的所 有开 发活 动和 使用 该发 布 必需 的一 切外 围元 素 。 因 此 , 可 以将 开 发迭 代 理 解 为 一 个 完 整 经 历所有工作流程 的过 程,这个过程包括软件 需 求 ,软 件 分 析 设计 , 软件 开 发 实 施 ,软 件 测 试 需求 。实际上它和小型 的瀑布模 型相似 。R UP 认为每 一个阶段都 能分成若干次迭代 ,每次迭 代都可 以产生 一个 能够发布的产 品,这个产 品 是 最 终 产 品 的 其 中 一 个 子集 。迭 代 模 型 与 瀑 布 模 型 最 大 的 不 同 在 于 风 险 的 暴 露 时 间 。 所 有 项 目都不 可避 免的具有一定的风险 ,但 如果能在 软件 生命周 期中及早发现 问题 ,避 免风险,就 能是软件开 发计划 更加精确 。在瀑布模 型中直 到 最 后 才 会 暴 露 出 很 多 问题 ,此 时 再去 解 决 这 些 问题 无疑有很大的风险 。而在迭 代模 型中 , 开 发 人 员 根 据 风 险 列 表 确 定 需要 在 迭代 中 开 发 哪些 新的增量 内容 ,每次迭代之 后都会产生一 个可执 行文件 ,能够及早 的发现 问题,解决 问 题 ,这样做 可 以有效降低项 目风险 。
3快速原型法模型 虽然 瀑布 模 型 己不 再 适应 当前软 件开 发
的要求 ,但是通过分 析瀑布模型的特点 ,我们 该 模型 的特 点 是利 用程序 自动生 成软件 依 然 能 得 到不 少 启 发 。 瀑 布 模 型 的 主 要 特 点 是 开 发环 境和工具,快速构建一个实 际系统的简 其严格要求软件开发按 照:需求 >分析 >设计 化 模型,以供开发人员和客户进 行沟通,从而 编 码 >测 试 的 顺 序 进 行 ,每 各 阶 段 都 有 明确 使开发人员能够更准确的理解用户需求 。 的成果和检验 标准。因此,瀑布模型 的最大优 快速 原型法 模 型首 先是 构建 一个 能够 体 参考文献 点在于 能够确 保软件产品的高质量 ,能够提前 现用户基本需求的原型 ,给用户展 示实际软件 [ 1 ]顾 明 .软 件 工 程 中 几 种 常 用 软 件 生 发 现和解 决软件产品的陷能 ,能够保证开发 人 系统的大概样子 ,以便用户 可以直观地根据实 命 周 期 模 型 的 简介 【 J ] .计 算 机 时 员 在 整 体 上 充 分 把 握 软 件 系 统 的开 发 ,使 软件 际软件产品原型提 出修 改意见,使开发人 员和 代 , 2 0 0 3 ( 0 1 ) : 2 0 - 2 1 . 系统具有很强的高扩展性和可维护性 。但 是瀑 用户进行高效地沟通 ,最 终帮助开发人员开发 [ 2 ]朱婕 .浅 谈软 件 生 命 周期 模 型及 其选 择 布 模 型 不 适 合 那 些 前 期 需求 不 确 定 , 而 且 在 短 [ J ] .电脑 迷 , 2 0 1 4( 1 7 ) . 出符合用户 需求 的软件系统。换句话说 ,这其 时间内难 以确定需求 的项 目。此外 ,在开 发中 实就是软件开发人 员向用 户提供 样品 ,然后用 小 型 软 件 项 目时 ,往 往 需 要 需求 设 计 人 员和 开 户 根 据 样 品 提 供 修 改 意 见 , 然 后 开 发 人 员 进 作者简介 发人员在项 目一开始就全部参 与到项 目中,而 步完善样 品的过程 。该模型避免 了瀑布模型 孔晓 ( 1 9 9 4 - ),男, 山 东省 曲阜 市人 。曲阜 不 能 分 阶 段 参 与 , 因此 ,采 用 瀑 布 模 型 将 出 现 中直到开发末 期才 能看见软件产 品的弊端 。快 师范大学软件学院在读本科 。软件工程 专业。 该 项 目人 力 资 源 配 置 不 合 理 , 人员闲置的情况 。 速原型法根据 软件 开发各个阶段用户提供 的意 瀑 布 模 型 侧 重 文 档 ,强 调文 档 的作 用 , 要 求 软 见 ,实现 了软件产 品快速的改造过程 ,放 弃了 作者单位 件开发的每一个阶段都要认真检验 。但 该模型 瀑布模型 的线性结 构,采 用逐步求精方法逐步 曲 阜 师 范 大 学 软 件 学 院 山 东省 曲阜 市 的 过 程 太 过 理 想 化 , 实 际开 发 中 很 难 执 行 ,因 完 善 产 品原 型 , 最 大 化 地 满 足 用 户 要 求 , 是 一 2 7 3 1 O 0 此基本被软件开 发业 界抛弃,其主要问题有 以 个不 断反馈 、持续 改进的过程。
软件开发 ・ S o f t w a r e D e v e l o p me n t
软件 工程中的常用软件生命周期模型
文/ T L 晓
F 几点:
快 速 原 型法 存 在 以下 两 个 问题 : ( 1 ) 系 统 开 发 前 期 往 往 为 了 让 系 统 尽 快 运 作起 来而考虑的不周全 ,常常采 用那 些折 中 的 方 案 , 可 能 导 致 产 品原 型 仅 仅 是 一 个 示 例 , 而 无法 成 为 实 际 软 件 产 品 的 一 部 分 ,这 样 依 然 无法满 足用户需求,因此在实 际开 发中还是有 许 多的工作要做。 ( 2 ) 原 型 法 对 开 发 工 具 和 开 发 环 境 有 较 高 的 依 赖 性 ,也 就 是 说 原 型法 需 要 大 量 先 进 而 实用的软件工具的支持 。