1.前言

本文主要对迭代开发的一种方法 统一过程(UP),进行概要说明,以作为《UML和模式应用》这本书的补充.

2. 统一过程概述

  • 统一过程

统一过程(RUP/UP,Rational Unified Process)是一种以用例驱动、以体系结构为核心、迭代及增量的软件过程模型,由UML方法和工具支持,广泛应用于各类面向对象项目。

  • RUP

. RUP 是 Rational 公司开发的一套软件过程框架

. RUP 本身支持可裁减性,可以应付各种领域软件和不同的项目规模

. RUP蕴含了大量优秀的实践方法,如:迭代式软件开发、需求管理、基于构件的构架应用、建立可视化的软件模型、软件质量验证、软件变更控制等

. RUP 把整个软件开发生命周期分为多个循环,每个循环由四个阶段组成,每个阶段完成确定的任务,结束前有一个里程碑评估本阶段的工作

3. 统一过程模型

图 RUP 统一过程模型

  • RUP的二维结构

. 横轴按时间组织,显示RUP的动态特征,通过迭代式软件开发的周期、阶段、迭代和里程碑等动态信息表示;

. 纵轴按内容组织,显示RUP的静态特征,通过过程的构建、活动、工作流、产品和角色等静态概念来描述系统

注:其中每个工作流的高度体现随时间变化工作量的变化,早期的迭代趋向于更多的需求和设计,后期则减少这方面的工作

  • RUP的静态结构

. 6个核心工作流:业务建模、需求、分析设计、实现、测试、部署

. 3个核心支持工作流:配置与变更管理、项目管理和环境

  • RUP的工作流
工作流 制品 工作内容
业务建模

商业逻辑建模(USE CASE)(ROSE)

业务需求说明书(MS WORD)

专业词汇表(英汉对照)(MS WORD)

风险说明(MS WORD)

复审说明书

 
需求 用例图

了解目标组织的结构及机制

明确目标组织中当前存在的问题并确定改进的可能性

确保客户、最终用户、开发人员就目标组织达成一致

导出支持目标组织所需的系统需求

分析设计  

将系统需求转化为未来系统的设计

逐步开放强壮的系统架构,使设计适合于实施环境,为提高性能而进行设计

实施   定义代码结构,以构件的方式实施类和对象,对已开发的构件按类和单元来测试,并且将结果集成到可执行的系统中
测试  

测试仅限于对各个类进行单元测试,测试工作流包括:

  核实对象之间的交互

  核实软件的所有构件是否正确集成

  核实所有需求是否已经正确实施

  确定缺陷,确保在部署软件之前将风险降到最低

表 RUP的工作流

注:其中业务建模、需求、设计、实施是《UML与模式应用》中重点关注的科目

  • RUP的四个阶段
RUP阶段 工作内容
初始阶段 大体上的构想,业务案例,范围,和模糊评估。定义系统的业务模型,确定系统的范围。完成后建立目标里程碑
细化阶段 已精化的构想、核心架构的迭代实现、高风险的解决、确定大多数需求和范围以及进行更为实际的评估。完成系统的体系结构设计,完成系统开发计划。建立结构里程碑
构建阶段 对遗留下的风险较低和比较简单的元素进行迭代实现,准备部署。构造产品,并继续演进需求、体系结构和计划,直到产品完成
移交阶段 进行系统部署,系统测试,最终移交给用户。最后建立发布里程碑

表 RUP的四个阶段

每个阶段都由一个或多个迭代组成。每个迭代都要针对不同的业务用例或系统用例进行细化和实现

4. 参考文档

[1] 论UP(统一过程方法)的应用

[2] 统一过程模型(RUP/UP)

最新文章

  1. SPSS数据分析—对应分析
  2. 【转】el表达式的判断符
  3. Learing WCF Chapter1 Fundamental WCF Concepts
  4. JDK6 下载地址
  5. ISO7816通讯协议在工控主板EM9160中的实现方案
  6. URL锚点定位
  7. overflow:hidden与position:absolute
  8. UML 之 序列图和协作图
  9. 对低、高频系数直接重构upcoef2
  10. strlcpy() 函数
  11. 【leetcode】123. Best Time to Buy and Sell Stock III
  12. SharePoint 添加BCD菜单
  13. 人生苦短,我用 Python
  14. 了解git的命令行使用
  15. vscode 开发 Java web 急速教程
  16. skynet 报错 skynet 服务缺陷 Lua死循环
  17. linux常用命令:cp 命令
  18. vue todolist 封装localstorage
  19. caffe编译问题-src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory compilation terminated.
  20. BZOJ.2339.[HNOI2011]卡农(思路 DP 组合 容斥)

热门文章

  1. LCT模板(指针版)
  2. 洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX 解题报告
  3. bzoj1691/luogu2869 [USACO07DEC]挑剔的美食家 (STL::set)
  4. 【模板】堆优化Dijkstra
  5. 关于scrollintoview()真的是有意思极了,结合普通tab切换一起看看
  6. 解决invalid record found in VCF4 file (at least 8 tab-delimited fields expected)问题,批量修改空格改为制表格格式
  7. go 数组与切片
  8. How the Bitcoin protocol actually works
  9. 函数和常用模块【day04】:递归(五)
  10. Bandicam录制视频