RUP模型与XP模型
上一篇文章中大致介绍了软件开发过程模型和一些传统的过程模型,接下来分享一下学习新型软件开发过程模型RUP的心得体会。
RUP模型
RUP(Rational Unified Process),统一软件开发过程,是一个面向对象的且基于网络的程序开发方法论。因为RUP相当于一个计划,主要是为开发提供一个步骤,所以说RUP是面向过程的。
每种软件开发过程模型都有一个软件生命周期。如瀑布模型的软件生命周期是从可行性分析、需求分析、系统设计等到最后的系统测试与部署。而RUP软件开发过程模型的软件生命周期则分为初始、细化、构造、移交四个过程,稍后会对这四个阶段进行阐述。接下来跟大家分享一下RUP的三大特征。
1.RUP特征
(1)用例驱动。即RUP 使用用例模型描述系统的功能需求, 并将用例模型作为系统的核心,。用例是用户与系统之间的交互, 我的理解就是相当于瀑布模型中进行概要设计时所画的用户用例图,主要描述相关功能是被什么角色用户使用。开发人员通过用例模型可以详细地知道每个用户角色具有哪些功能模块。因此所有的设计开发都是以用例模型为中心的。
(2)以构架为中心。以构架为核心是指在开发系统之前首先根据需求确定系统的体系结构, 也就是软件产品表现形式和构建方式,。这就相当于修一座房子,我们首先要搭一个框架,接下来所有的砖瓦水泥都围绕这个框架展开。因此,构架设计师主要关注的是系统的总体框架模型和核心功能的分析设计,后期系统所有的分析设计工作都围绕这个基本构架来扩展。
(3)迭代的、增量式开发。顾名思义,就是一个不断迭代增强的过程。可以是增加系统功能,或者修改某些功能。迭代增量式开发的特征能快速的发布产品,同时迭代可以在原来已经开发好的产品上进行增强修改,加强了与客户之间的需沟通,降低了软件开发的风险。
2.软件生命周期
RUP模型的软件生命周期中,每个阶段开始时都有一个特定的目标,结束时有里程碑。每个阶段结束前都有一个里程碑评估该阶段的工作,只有通过里程碑评估才可进入下一阶段。并且每个阶段有一个或多个迭代,而每一次迭代都包括了需求分析、设计、实现与测试,又都是一个完整的开发过程。如图所示。
RUP软件开发的生命周期是一个二维的软件开发模型。横轴为时间组织,主要体现开发过程的动态结构,可以理解为阶段或者周期。纵轴为内容组织,主要体现开发过程的静态结构,可以理解为工作流。如图所示。
RUP软件生命周期主要分为以下四个阶段:(参考:https://wenku.baidu.com/view/8021e7779b6648d7c0c74601.html)
(1)初始阶段
· 确定项目的软件范围和边界条件
· 识别系统给关键用例(是确定该项目的软件范围和边界条件的重要条件)
· 展示系统的候选架构
· 预估整个项目的费用、时间安排和风险
(2)细化阶段
· 细化初始化阶段模型
· 为项目建立支持环境(创建开发按理、创建模板、准则等)
· 建立健全的体系结构,制定详细的项目计划
· 精化风险评估
(3)构造阶段
· 资源管理、资源控制和过程优化
· 完成组件开发并进行测试
· 利用构想制定的准则对发布的产品进行评估
(4)交付阶段
交付阶段主要是确保软件对用户是可用的,可以跨越几次迭代。
· 产品测试并修复系统bug
· 制作用户手册并完善相关文档
· 培训用户和维护人员
RUP模型在开发过程中,为每个开发人员提供了必要的模板、准则和指导。所有开发人员都严格按照制定好的模板和准则进行开发,极大程度降低了软件开发过程中管理不一致的风险,提高了团队生产力。同时,其迭代和增量式开发的思想也能快速发布产品,提高了工作效率。
XP模型将在下一篇博文中介绍。