【Java基础知识 - 07】开发过程概述
- 传统开发过程 - 瀑布模型
- 统一软件开发过程(USDP)
传统开发过程(瀑布模型)
OOAD的开发过程
- 大项目分解为一些子项目
- 使用UML工具
- 统一软件开发过程是一个迭代、递增的开发过程
迭代、递增的项目生命周期
- 项目是迭代、递增的
- 迭代指声明周期中的一个步骤
- 迭代导致“递增”或者是整个项目的增长
- 大项目分解为子项目
- 在每一个迭代的阶段,应该做以下工作
- —— 选择并分析相关用例
- —— 根据所选架构进行设计
- —— 在组建层次实现设计
- —— 验证组件满足用例的需要
- 当一次迭代满足目标后,开发进入下一个迭代周期
迭代、递增声明周期的主要阶段
- Inception —— start up
- Elaboration —— refine
- Construction —— implement
- Transition —— promotion
每一个周期包含一个或多次迭代
一个阶段结束称之为“里程碑”(milestone)
过程图
初始化阶段
该阶段的增量集中于:
—— 项目启动
—— 建立业务模型
—— 定义业务问题域
—— 找出主要的风险因素
—— 定义项目需求的外延
—— 创建业务问题域的相关说明文档
细化阶段
本阶段的增量集中于:
—— 高层的分析与设计
—— 建立项目的基础框架
—— 监督主要的风险因素
—— 制定达成项目目标的创建计划
构建阶段
本阶段的增量集中于:
—— 代码及功能的实现
移交阶段
本阶段的增量集中于:
—— 向用户发布产品
—— beta测试
—— 执行性能调优,用户培训和接收测试
每一个阶段所含工作流
—— 需求与初始分析
—— 分析
—— 设计
—— 实现
—— 测试
—— 每一次迭代执行工作流的深度不同
—— 早期的迭代在深度上覆盖初始工作流,后期迭代在深度上覆盖后期工作流
—— 80/20原则
迭代工作流
迭代、递增生命周期的优势
- 降低成本
- 便于更好地维护项目进度
- 便于团队的协作开发
- 便于适应用户需求的动态变化