统一软件过程

上传人:m**** 文档编号:511549050 上传时间:2023-08-22 格式:DOCX 页数:12 大小:116.48KB
返回 下载 相关 举报
统一软件过程_第1页
第1页 / 共12页
统一软件过程_第2页
第2页 / 共12页
统一软件过程_第3页
第3页 / 共12页
统一软件过程_第4页
第4页 / 共12页
统一软件过程_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《统一软件过程》由会员分享,可在线阅读,更多相关《统一软件过程(12页珍藏版)》请在金锄头文库上搜索。

1、RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一面向 对象且基于网络的程序开发方法论。根据Rational(Rational Rose和统一建模语 言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开 发提供指导方针,模版以及事例支持。RUP和类似的产品-例如面向对象的软件 过程(0OSP),以及OPEN Process都是理解性的软件工程工具-把开发中面向 过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型, 手册以及代码等等)整合在一个统一的框架内。一、六大经验迭代式开发。在软件开发的早期阶段就想完全、

2、准确的捕获用户的需求几乎 是不可能的。实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改 变。迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问 题的理解。迭代式开发不仅可以降低项目的风险,而且每个迭代过程以可以执行版 本结束,可以鼓舞开发人员。管理需求。确定系统的需求是一个连续的过程, 开发人员在开发系统之前不 可能完全详细的说明一个系统的真正需求。RUP描述了如何提取、组织系统的功 能和约束条件并将其文档化,用例和脚本的使用以被证明是捕获功能性需求的有 效方法。基于组件的体系结构。 组件使重用成为可能,系统可以由组件组成。基于独立 的、可替换的、模块化组件的体系

3、结构有助于管理复杂性,提高重用率。RUP描述 了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结 构。可视化建模。 RUP 往往和 UML 联系在一起, 对软件系统建立可视化模型帮 助人们提供管理软件复杂性的能力。RUP告诉我们如何可视化的对软件系统建 模, 获取有关体系结构于组件的结构和行为信息。验证软件质量。在 RUP 中软件质量评估不再是事后进行或单独小组进行的分 离活动,而是内建于过程中的所有活动, 这样可以及早发现软件中的缺陷。控制软件变更。迭代式开发中如果没有严格的控制和协调,整个软件开发过 程很快就陷入混乱之中,RUP描述了如何控制、跟踪、监控、修改以确保成

4、功的迭 代开发RUP通过软件开发过程中的制品,隔离来自其他工作空间的变更,以此为 每个开发人员建立安全的工作空间。二、统一软件开发过程RUP的二维开发模型RUP软件开发生命周期是一个二维的软件开发模型。横轴通过时间组织,是过 程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周 期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone);纵轴以内容来 组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活 动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow)。如图 1 :翊

5、躺爺曙轉心畫捋工作遵配曹輙曹国理 顶目管程W三、统一软件开发过程RUP核心概念RUP中定义了一些核心概念,如下图:工件箱闻WWw.Blu IO&OlCoki角色:描述某个人或者一个小组的行为与职责RUP预先定义了很多角色。 活动:是一个有明确目的的独立工作单元。工件:是活动生成、创建或修改的一段信息。四、统一软件开发过程RUP裁剪RUP是一个通用的过程模板,包含了很多开发指南、制品、开发过程所涉及到 的角色说明,由于它非常庞大所以对具体的开发机构和项目,用RUP时还要做裁 剪,也就是要对RUP进行配置。RUP就像一个元过程,通过对RUP进行裁剪可以 得到很多不同的开发过程,这些软件开发过程可以

6、看作RUP的具体实例。RUP裁 剪可以分为以下几步:1)确定本项目需要哪些工作流RUP的9个核心工作流并不总是需要的,可以取 舍。2)确定每个工作流需要哪些制品。3) 确定4 个阶段之间如何演进。确定阶段间演进要以风险控制为原则,决定每个 阶段要那些工作流,每个工作流执行到什么程度,制品有那些,每个制品完成到什 么程度。4) 确定每个阶段内的迭代计划。规划 RUP 的 4 个阶段中每次迭代开发的内容。5) 规划工作流内部结构。工作流涉及角色、活动及制品,他的复杂程度与项目规 模即角色多少有关。最后规划工作流的内部结构,通常用活动图的形式给出。五、开发过程中的各个阶段和里程碑RUP 中的软件生命

7、周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段 (Tra nsitio n)。每个阶段结束于一主要的里程碑(Major Milesto nes);每个阶段 本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这 个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一 个阶段。1 初始阶段初始阶段的目标是为系统建立商业案例并确定项目的边界。 为了达到该目的必 须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。本阶段具有非 常重要的意义,在这个

8、阶段中所关注的是整个项目进行中的业务和需求方面的主 要风险。 对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。 初始 阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。 生命周期目 标里程碑评价项目基本的生存能力。2 细化阶段细化阶段的目 标是分析问题领域,建立健全的体系结构基础,编制项目 计划,淘 汰项目中最高风险的元素。 为了达到该目的,必须在理解整个系统的基础上,对体 系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目建 立支持环境,包括创建开发案例,创建模板、准则并准备工具。 细化阶段结束时第 二个重要的里程碑:

9、生命周期结构(Lifecycle Architecture)里程碑。生命周期结 构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡 量。此刻,要检验详细的系统目 标和范围、 结构的选择以及主要风险的解决方案。3 构造阶段在构建阶段,所有剩余的构件和应用程序?&鼙豢 212.晌 罚 械墓& 鼙幌晗覆馐浴4幽持忠庖迳纤担菇n锥问且桓鲋圃旃蹋渲氐惴旁诠芾碜试 醇翱刂圃俗饕杂呕 杀尽13.群椭柿俊?构建阶段结束时是第三个重要的里程 碑:初始功能(I nitial Operatio nal)里程碑。初始功能里程碑决定了产品是否可以 在测试环境中进行部署。此刻,要确定软件、环境、用户是否

10、可以开始系统的运作。 此时的产品版本也常被称为“beta版。4. 交付阶段交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭 代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在生命周期的这 一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有主要的 结构问题应该已经在项目生命周期的早期阶段解决了。在交付阶段的终点是第四 个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否 应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶 段的结束重合。六、统一软件开发过程RUP的核心工作流(Core Workf

11、lows)RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和 3 个核心支持工作流(Core Supporting Workflows)。尽管 6 个 核心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中 的阶段是完全不同的,这些工作流在整个生命周期中一次又一次被访问。9个核心 工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。1. 商业建模(Business Modeling)商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想 在商业用例模型和商业对象模型中定义组织的过程,角色和责任。2. 需求(

12、Requirements)需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达 成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要 的是理解系统所解决问题的定义和范围。3. 分析和设计(Analysis & Design)分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构 并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型 和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设 计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而 描述则体现了类的对象如何协同工

13、作实现用例的功能。设计活动以体系结构设计 为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该 视图中省略了一些细节,使重要的特点体现得更加清晰。体系结构不仅仅是良好设 计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。4. 实现(Implementation)实现工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的 形式(源文件、二进制文件、可执行文件)?迪掷嗪投韵螅唤3龅淖榧 魑 疋胁馐砸约凹捎傻少隹(17)撸a蛐s椋彳慕峁蛊涑晌芍葱械南低场?5. 测试(Test)测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有 的需求已被

14、正确的实现,识别并确认缺陷在软件部署之前被提出并处理RUP 提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发现缺陷,从 根本上降低了修改缺陷的成本。测试类似于三维模型,分别从可靠性、功能性和系 统性能来进行。6. 部署(Deployment)部署工作流的目的是成功的生成版本并将软件分发给最终用户。部署工作流描 述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打包、生 成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还可能包括 计划和进行beta测试版、移植现有的软件和数据以及正式验收。7. 配置和变更管理(Configuration & Change

15、 Management)配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。 配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建 过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化创建工 程。同时也阐述了对产品修改原因、时间、人员保持审计记录。8. 项目管理(Project Management)软件项亘管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功 交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、 执行和监控项目提供实用的准则,为管理风险提供框架等。9. 环境(Environment)环境工作流的目的

16、是向软件开发组织提供软件开发坯境,包括过程和工具。环 境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动, 提供了逐步的指导手册并介绍了如何在组织中实现过程。七、RUP的迭代开发模式RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环, 产生一个可执行的产品版本,是最终产品的一个子集,它增量式地发展,从一个迭 代过程到另一个迭代过程到成为最终的系统。传统上的项目组织是顺序通过每个 工作流,每个工作流只有一次,也就是我们熟悉的瀑布生命周期(见图2)。这样做 的结果是到实现末期产品完成并开始测试,在分析、设计和实现阶段所遗留的隐藏 问题会大量出现,项目可能要停止并开始一个漫长的错误修正周期。商业逢换需或实现

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号