阅读以下关于RUP的相关叙述,回答问题。
TradeManager。是一个关于金融软件研究的项目,开发基于J2EE技术的金融订单管理系统。项目由12个人的团队来进行开发。团队成员分工明确,有项目经理、架构师、测试员和SQA等等。项目采用迭代式的开发方式。在初始迭代中,项目双方对项目范围、功能需求及架构达成一致,并签字同意。整个开发分为三个迭代阶段,根据功能点来划分,每个迭代分别实现交易前、交易中和交易后的功能。每个迭代的开发时间在六个星期。
这个软件采用J2EE的架构,其中UI和Delegate层在客户端,采用Swing技术来实现,是一个典型的肥客户端。Facade、Business Logic和DAO在J2EE服务器端,采用EJB技术来实现,它与客户端的通信是典型的RMI/IIOp协议,采用的服务器是WebSphere。后台采用Oracle数据库米存放各种系统数据。同时,采用SiteMinder来实现系统的认证和授权。用log4j来实现logging/auditing功能。由于采用WebSphere集群技术,系统的可扩展性和高可用性得到了保证。
本项目采用RUP开发过程,但是对于这种中、小规模的软件项目,开发团队的规模不是很大,软件的开发周期也比较短。这种情况下,完全照搬RUP并不完全适用。因此,对RUP进行了裁剪使其适合该软件开发项目。
RUP中的软件过程在时间上分解为4个顺序阶段,分别是:初始阶段、细化阶段、构建阶段和交互阶段。基于RUP的软件过程是一个迭代过程,每经过这4个阶段就会产生一代软件。请简要回答各个阶段的主要任务和所占的工作量及进度分配。
参考答案:4个阶段的主要任务如下。
初始阶段的任务是为系统建立业务模型并确定项目的边界。
细化阶段的任务是分析问题域,建立健全的架构基础,淘汰项目中最高风险的元素。
构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本。
交互阶段的主要任务是进行β制作产品发布版本;最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈。
RUP各阶段的工作量和进度分配如表13-12所示:
初始阶段 细化阶段 构建阶段 交互阶段 工作量/% 5 20 65 10 进度/% 10 30 50 10
解析:第一个问题考查RUP生命周期分为几个阶段及其主要任务,RUP中的软件过程在时间上分为4个顺序阶段,分别是:初始阶段、细化阶段、构建阶段和交互阶段。
初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。
细化阶段的任务是分析问题域,建立健全的架构基础,淘汰项目中最高风险的元素。
构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本。
交互阶段的主要任务是进行β制作产品发布版本;最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈。
RUP各阶段的工作量和进度分配如下表所示:
初始阶段 | 细化阶段 | 构建阶段 | 交互阶段 | |
工作量/% | 5 | 20 | 65 | 10 |
进度/% | 10 | 30 | 50 | 10 |