RUP软件开发生命周期是一个二维的软件开发模型(如图3-1所示)。横轴通过时间组织,体现开发过程的动态结构,用来描述它的术语主要包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone);纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow)。
RUP(统一软件开发过程)模型的主要内容有哪些?
RUP软件开发生命周期是一个二维的软件开发模型(如图3-1所示)。横轴通过时间组织,体现开发过程的动态结构,用来描述它的术语主要包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone);纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow)。
二维开发模型看上图
RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。尽管6个核心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的阶段是完全不同的,这些工作流在整个生命周期中一次又一次被访问。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。
(1)业务建模(Business Modeling)
业务建模工作流主要描述了如何为新的项目目标开发一个构想,并基于这个构想在业务用例模型和业务对象模型中定义组织的过程、角色和责任。
(2)需求(Requirements)
需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到这个目标,要对需求的功能和约束项进行提取、组织、文档化,最重要的是理解系统所要解决问题的定义和范围。
(3)分析设计(Analysis & Design)
分析设计工作流将需求转化成未来系统的设计方案,为系统开发一个健壮的架构并调整设计方案使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作实现用例的功能。设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。
(4)实施(Implementation)
实施工作流的目的包括:以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试并集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。
(5)测试(Test)
测试工作流验证对象间的交互作用情况,验证软件中所有组件是否正确集成,检验所有的需求是否已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。RUP提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发现缺陷,从根本上降低了修改缺陷的成本。测试类似于三维模型,分别从可靠性、功能性和系统性能三个方面来进行。
(6)部署(Deployment)
部署工作流的目的是成功地生成正式版本软件并将此软件分发给最终用户。部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供培训、售后服务等。在有些情况下,还可能包括计划和进行beta测试版、移植现有的软件系统和数据以及正式验收。
(7)配置和变更管理(Configuration & Change Management)
配置和变更管理工作流描绘了在多个成员组成的项目中如何控制和管理开发过程中的各项活动,记录给定时间内某个对象的状态信息、详细设计对象的组成、指定对象存在的环境以及归档对象的任何变更,目的是确保交付高质量的预期产品。也就是说,配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。该工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程,同时也阐述了对产品修改原因、时间、人员保持审计记录。
(8)项目管理(Project Management)
软件项目管理平衡各种可能产生冲突的目标(成本、质量和进度)、管理风险、克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。
(9)环境(Environment)
环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。
京ICP备06004481号 Copyright 2002 - 2006 ITGov.org.cn, All Rights Reserved