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

news/2024/10/4 1:40:48 标签: 架构

 

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.niftyadmin.cn/n/5689268.html

相关文章

项目管理系统如何实现项目申报流程自动化?

传统的项目申报流程往往繁琐复杂,涉及众多环节和部门间的协作,不仅耗时费力,还容易因人为疏忽而导致错误或延误。随着信息技术的飞速发展,项目管理系统的出现为项目申报流程的自动化提供了可能,极大地提升了申报效率和…

Ray_Tracing_In_One_Weekend下

1Lambertian漫反射材质 一个物体的材质,可以分成两部分来看,因为物体没有绝对光滑和绝对粗糙 漫反射:由于物体粗糙,那么对于微小平面,光线会向四周反射,光源的一部分光线传回人眼 镜面反射:假…

【西门子V20变频器】如何设置面板控制

设定参数表 首先要P0003设置为“3”;用户权限设置为 专家级 设置P0700为“1”;设置命令源为 操作面板 设置P1000为“1”;设置频率由 面板控制

【递归】11. leetcode 129 求根节点到叶节点数字之和

1 题目描述 题目链接: 求根节点到叶节点数字之和 2 解答思路 第一步:挖掘出相同的子问题 (关系到具体函数头的设计) 第二步:只关心具体子问题做了什么 (关系到具体函数体怎么写,是一个宏观…

计算机视觉与深度学习 | 从激光雷达数据中提取地面点和非地面点(附matlab代码)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 激光雷达数据 使用velodyneFileReader函数从P

(功能测试)熟悉web项目及环境 测试流程

1.环境?有没有考虑过什么是环境? web网站为什么能打开? (是因为他的服务器已经在运行了,网站服务器相关环境已部署及运行) 所以什么是环境? 环境:就是项目运行所需要的软件及硬件组合…

防止老年痴呆的一题

如何只移动三个圆使下图变为正三角? 真相如此简单:

【大数据】Doris 数据库与表操作语法实战详解

目录 一、前言 二、数据库基本操作 2.1 修改账户密码 2.2 创建新用户 2.3 创建数据库与账户授权 2.3.1 数据库创建补充说明 2.3.2 数据库账户赋权 三、数据表基本操作 3.1 Doris 数据表介绍与使用 3.1.1 建表结构说明 3.1.2 建表语法与操作 3.1.3 建表示例 - 单分区…