Skip to content

软件过程模型

瀑布模型

  • 严格区分阶段,没个阶段因果关系紧密相连,前一阶段产出作为下一阶段输入。
  • 只适合需求明确的项目

原型模式

  • 一般用在需求阶段--适合需求不明确的项目
  • 分为抛弃型原型和烟花行原型

V模型

  • 测试贯穿始终,测试分阶段,测试计划提前 391

螺旋模型(原型+瀑布)

  • 以快速原型(抛弃型)为基础+瀑布模型,考虑了风险问题。
  • 把整个软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成。

构建组装模型

快速应用开发(RAD)(瀑布+构建)

统一过程/统一过程开发方法(UP/RUP)

596

统一过程的9个核心工作流分为6个核心过程工作流和3个核心支持工作流,具体包括: 1. 初始阶段(Inception) - 核心目标:确定项目愿景和业务用例,明确项目范围。 - 关键产出:可行性分析、初步风险列表、项目计划概要和用例模型草稿。该阶段通过则意味着项目值得继续投入。 2. 细化阶段(Elaboration) - 核心目标建立系统架构基线,分析问题领域,消除最高风险。 - 关键产出:可执行的架构原型、详细的迭代计划、精化的用例模型。该阶段结束时,架构已趋于稳定,项目进入大规模开发准备就绪状态。 3. 构建阶段(Construction) - 核心目标:完成所有剩余的系统组件开发和功能测试,将设计转化为可交付的产品。 - 关键产出:经过充分测试的软件产品、用户手册等文档。该阶段结束时,产品功能基本完整,进入Beta测试准备。 4. 移交阶段(Transition) - 核心目标:将软件产品正式交付给最终用户,确保用户能正常使用。 - 关键产出:正式发布的软件版本、培训材料、现场支持与缺陷修复。该阶段结束时,产品进入生产环境,并开启下一轮迭代周期。

类型 工作流
核心过程工作流 业务建模、需求、分析与设计、实现、测试、部署
核心支持工作流 配置与变更管理、项目管理、环境

“成本”管理虽重要,但被涵盖在项目管理工作流中,并非独立的9个核心工作流之一。

二维模型:

敏捷开发--小步快跑

  • 敏捷方法的思想适应性而不是预设性
  • 以原型思想为基础,采用迭代增量开发
  • 适合需求变化大以及前期需求不明确
  • 瀑布模型是典型的传统开发

敏捷方法(SCRUM)

各种敏捷开发方法特点

逆向工程

PS:注意区分设计恢复和逆向工程、正向工程和再工程/重构工程
- 设计恢复强调的是从已有程序中抽象,逆向工程讲的整体性,一系列设计恢复连起来就逆向工程

净室软件工程