当前位置: 首页 > article >正文

RUP:用例驱动、以架构为中心的迭代增量开发模式

 

1 RUP特点

Rational Unified Process(RUP),即Rational统一过程,二维的开发模型,涉及九大工作流,是一种为了满足这些需求而生的开发模式。RUP是一个用例驱动、以架构为中心的迭代增量开发模式,可以帮助我们更好地进行软件开发

用例驱动

在RUP中,用例是驱动软件开发的主要力量。用例是一种以用户的视角描述系统功能的方法,通常以一组交互的形式表达,定义了系统如何响应外部事件。通过对用例的描述和分析,开发者可以明确系统必须提供的功能,并通过这些用例来驱动设计、实现和测试。

以架构为中心

架构是系统的基础。一个好的架构可以为系统提供稳定、可扩展、可维护的基础。RUP强调以架构为中心进行开发,这意味着在开发过程的早期阶段,就需要定义并达成一致的系统架构,之后的开发工作都围绕这个架构展开。

迭代增量开发

在RUP中,软件开发被划分为多个小的、可管理的部分,这些部分被称为迭代。每个迭代都包含了需求分析、设计、实现、测试等所有的开发步骤。通过这种方式,开发团队可以逐步增加功能,不断修正和改进系统,而不是一次性完成所有开发工作。

2.RUP的生命周期

RUP软件开发生命周期是一个二维的软件开发模型,RUP中有9个核心工作流, 这9个核心工作流如下。'

(1)业务建模(business modeling):理解待开发系统所在的机构及其商业运作,确保 所有参与人员对待开发系统所在的机构有共同的认识,评估待开发系统对所在机 构的影响。

(2)需求(requirements):定义系统功能及用户界面,使客户知道系统的功能,使开 发人员理解系统的需求,为项目预算及计划提供基础。

(3)分析与设计(analysis & design):把需求分析的结果转化为分析与设计模型。

(4)实现(implementation):把设计模型转换为实现结果,对开发的代码做单元测试, 将不同实现人员开发的模块集成为可执行系统。

(5)测试(test):检查各子系统的交互与集成,验证所有需求是否均被正确实现,对 发现的软件质量上的缺陷进行归档,对软件质量提出改进建议。

(6)部署(deployment):打包、分发、安装软件,升级旧系统;培训用户及销售人员, 并提供技术支持。

(7)配置与变更管理(configuration & change Management):跟踪并维护系统开发过 程中产生的所有制品的完整性和一致性。

(8)项目管理(project management):为软件开发项目提供计划、人员分配、执行、 监控等方面的指导,为风险管理提供框架。

(9)环境(environment):为软件开发机构提供软件开发环境,即提供过程管理和工 具的支持。

需要说明的是表示核心工作流的术语discipline,在RUP 2000以前用的是core workflow这个术语,但在最新的版本中已改为用discipline.discipline的中文意义较多, 根据RUP的定义,discipline是相关活动的集合,这些活动都和项目的某一个方面有关, 如这些活动都是和业务建模相关的,或者都是和需求相关的,或者都是和分析设计相关 的等等。

RUP把软件开发生命周期划分为多个循环(cycle),每个cycle生成产品的一个新 的版本,每个cycle依次由4个连续的阶段(phase)组成,每个阶段完成确定的任务。 这4个阶段如下。

初始(inception)阶段:定义最终产品视图和业务模型,并确定系统范围。

细化(elaboration)阶段:设计及确定系统的体系结构,制定工作计划及资源 要求。

构造(construction)阶段:构造产品并继续演进需求、体系结构、计划直至产品 提交。

移交(transiticm)阶段:把产品提交给用户使用。

每一个阶段都由一个或多个连续的迭代(iteration)组成。迭代并不是重复地做相同 的事,而是针对不同用例的细化和实现。每一个迭代都是一个完整的开发过程,它需要 项目经理根据当前迭代所处的阶段以及上次迭代的结果,适当地对核心工作流中的行为 进行裁剪。

在每个阶段结束前有一个里程碑(milestone)评估该阶段的工作。如果未能通过该 里程碑的评估,则决策者应该做出决定,是取消该项目还是继续做该阶段的工作。

3.RUP中的核心概念

RUP中定义了如下一些核心概念,理解这些概念对于理解RUP很有帮助。

角色(Role)~who的问题:角色描述某个人或一个小组的行为与职责。RUP预 先定义了很多角色,例如体系结构师(architect)、设计人员(designer)、实现人 员(implementer)、测试员(tester)和配置管理人员(configuration manager)等, 并对每一个角色的工作和职责都做了详尽的说明。

活动(activity) how的问题:活动是一个有明确目的的独立工作单元。

制品(artifact) what的问题:制品是活动生成、创建或修改的一段信息。也

有些书把artifact翻译为产品、工件等,和制品的意思差不多。

工作流(workflow) when的问题:工作流描述了一个有意义的连续的活动

序列,每个工作流产生一些有价值的产品,并显示了角色之间的关系。

RUP 2003对这些概念有比较详细的解释,并用类图描述了这些概念之间的关系,除 了 role、activity、artifact和workflow这4个核心概念外,还有其他一些基本概念,如工 具教程(tool mentor)、检查点(checkpoints)、模板(template)和报告(report)等。


http://www.kler.cn/news/328814.html

相关文章:

  • 松山湖全球首秀:传祺华为概念车发布
  • 【场景题】秒杀系统设计以及解决方案
  • 如何理解线性回归中的w和b
  • Tableau数据可视化入门
  • Windows暂停更新
  • 【PostgreSQL】入门篇——SELECT、INSERT、UPDATE 和 DELETE 语句,SQL 中最常用的四种操作用法
  • uni-app - - - - -vue3使用i18n配置国际化语言
  • GB28181信令交互流程及Android端设备对接探讨
  • 利用低代码快速搭建电商小程序之商品列表页
  • IPv4与TCP数据包结构解析
  • 使用iTextPDF库设置文字为英文样式
  • CentOS 替换 yum源 经验分享
  • Scala 字符串
  • 【源码部署】springboot部署服务器之宝塔安装数据库远程无法链接问题
  • uni-app在线预览pdf
  • C++ 语言特性07 - 静态成员的初始化
  • 用示波器测动态滞回线
  • 使用SVD(Stable Video Diffusion)执行视频插帧任务
  • 代码随想录打卡Day48
  • 厦门网站设计的用户体验优化策略
  • docker零基础入门教程
  • 面试-2024年6月19号
  • Hadoop三大组件之HDFS(二)
  • jenkinsfile实现镜像构建、发布
  • Vue2 + ElementUI + axios + VueRouter入门
  • springboot+vue+elementui大文件分片上传
  • Java类设计模式
  • Unity3D 客户端多开
  • LeetCode[中等] 55.跳跃游戏
  • Android 13.0 系统wifi列表显示已连接但无法访问网络问题解决