软件工程中的RUP

简介:

RUP(Rational Unified Process,统一软件开发过程统一软件过程)是一个面向对象且基于网络的程序开发方法论。

RUP总结了6条软件开发经验,这些经验又被称为“最佳实践”。

(1)迭代式开发

通常,采用线性顺序的开发不能够解决客户的需求。实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。迭代式开发允许在每次迭代过程中需求都可以有变化,通过一系列细化来加深对问题的理解。

(2)管理需求

开发系统之前,开发人员不可能完全详细的说明一个系统的真正需求,确定系统的需求是一个连续的过程。RUP描述了如何提取、组织系统的功能和约束条件并将其文档化,用例和脚本的使用已被证明是捕获功能性需求的有效方法。

(3)体系结构

构件使软件重用成为可能,RUP描述了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结构

(4)可视化建模

RUP与UML联系在一起,在开发过程建立起软件系统的可视化模型,可以帮助人们提高管理软件复杂性的能力。

(5)验证软件质量

在RUP中软件质量评估不再是事后进行或单独小组进行的分离活动,而是内建于过程中的所有活动,这样可以及早发现软件中的缺陷。

(6)控制软件的变更

RUP描述了如何控制,跟踪和监控修改,才能确保迭代开发的成功。

RUP软件开发生命周期是一个二维的生命周期模型                                                                                                      

RUP有9个核心工作流 ,6个为核心工程流程。3个为核心支持工作流程。其基本任务是业务建模,需求,分析与设计,实现,测试,部署,配置,项目管理,环境。

在工作阶段,又分为初始阶段,精化阶段,构建阶段,移交阶段。

RUP迭代式开发


RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。传统上的项目组织是顺序通过每个工作流,每个工作流只有一次,也就是我们熟悉的瀑布生命周期(见图2)。这样做的结果是到实现末期产品完成并开始测试,在分析、设计和实现阶段所遗留的隐藏问题会大量出现,项目可能要停止并开始一个漫长的错误修正周期。

一种更灵活,风险更小的方法是多次通过不同的开发工作流,这样可以更好的理解需求,构造一个健壮的体系结构,并最终交付一系列逐步完成的版本。这叫做一个迭代生命周期。在工作流中的每一次顺序的通过称为一次迭代。软件生命周期是迭代的连续,通过它,软件是增量的开发。一次迭代包括了生成一个可执行版本的开发活动,还有使用这个版本所必需的其他辅助成分,如版本描述、用户文档等。因此一个开发迭代在某种意义上是在所有工作流中的一次完整的经过,这些工作流至少包括:需求工作流、分析和设计工作流、实现工作流、测试工作流。其本身就像一个小型的瀑布项目。

                                                                                                          


本文转自 寂岚峰 51CTO博客,原文链接:http://blog.51cto.com/13271983/1964576,如需转载请自行联系原作者

相关文章
|
人工智能 算法 自动驾驶
人工智能伦理:当技术超越道德边界
【8月更文挑战第17天】随着人工智能技术的飞速发展,其应用范围已深入人类社会的方方面面。然而,AI的快速发展亦带来了诸多伦理问题,如隐私侵犯、偏见增强及失业风险等。本文将探讨AI技术在伦理方面面临的挑战,并提出相应的解决策略,旨在引导AI技术健康发展,同时保障社会公正与个人权益。
|
SQL 关系型数据库 MySQL
GORM V2 安装和连接 MySQL
GORM V2 安装和连接 MySQL
1100 0
|
安全 Unix 网络安全
Metasploit
Metasploit
310 10
|
JavaScript 算法 前端开发
彩某社js逆向
该内容是一个关于逆向工程的案例分析,讲述了如何破解财联社登录接口的加密参数`sign`。作者发现`sign`是通过`sha1`和`md5`混合加密的。经过调试,找到了加密算法的过程,并用JavaScript模拟了这个过程,最终成功生成了与接口相同的加密字符串。附有JS代码示例。
397 0
|
自然语言处理 C语言 数据格式
转义字符(Escape character)
转义字符(Escape character)
1777 0
|
弹性计算 大数据 测试技术
阿里云4核8g服务器价格以及收费标准_2024年新版报价
阿里云服务器4核8g配置多少钱一年?1个月费用多少?云服务器u1实例3折优惠价955.58元一年,计算型c7云服务器4核8G价格2944.79元一年。4核8G服务器按月购买比较贵,经济型e实例4核8G配置1个月216元,通用算力型u1服务器336.96元一个月
|
域名解析 负载均衡 网络协议
Nginx技术专题(1)基于Nginx负载均衡机制实现负载均衡介绍和配置
Nginx技术专题(1)基于Nginx负载均衡机制实现负载均衡介绍和配置
829 0
Nginx技术专题(1)基于Nginx负载均衡机制实现负载均衡介绍和配置
|
算法
Brute-Force模式匹配算法
Brute-Force匹配算法,翻译过来可以叫暴力匹配算法,典型应用场景就是字符串的匹配问题,比如寻找一个子串在主串中第一次出现的下标。这种匹配算法的逻辑是这样的:选取主串中指定位置作为匹配的起点(这篇文章使用的是首位作为起点),将子串起点与该起点对比,比对成功后起点后移一位,子串的起点同样后移一位继续比较,直到将子串与主串中全部匹配;若是中途出现比对失败的情况,则将主串从原起点的下一位开始继续这种比较。下面就根据BF算法使用while循环和for循环来分别实现字符串的匹配问题。
543 0
Brute-Force模式匹配算法
|
Swift iOS开发
SwiftUI极简教程01:搭建一个新项目&Text文字的使用
SwiftUI极简教程01:搭建一个新项目&Text文字的使用
808 1
SwiftUI极简教程01:搭建一个新项目&Text文字的使用
|
JSON API 数据库
Python利用Django 构建Rest Api: 快速入门教程
Python利用Django 构建Rest Api: 快速入门教程
1338 1
Python利用Django 构建Rest Api: 快速入门教程