至此,框架基线版本确定,标志着核心平台二版体系整体骨架的初步确立。与之并行,业务分析组对初始阶段的USECASE用例成果进行了分析和细化,形成了系统的主要分析类,初步划分了子系统,将需求模型转化为分析模型。
此阶段的产出包括:需求分析报告、框架的基线版本、原型系统代码及测试报告、分析类图、时序图、子系统包图。
细化阶段结束是第二个重要的里程碑,即生命周期结构(Lifecycle Architecture)里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
在构造阶段所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某一种意义上说,构建阶段是一个制作的完整过程,其重点放在管理资源及控制运作上,以优化成本、进度和质量。
和大多数软件开发一样,核心平台二版的构造阶段是整个项目耗费资源最大的一个阶段,构造阶段是一个反复迭代的过程,高峰时期,参加项目组开发的人员接近60人。
在这一阶段,整个项目划分成了构架组、服务器端设计开发组和客户端组。构架组负责对总系统构架的优化工作,并保证对其他两个开发组提供稳定的框架版本,主要解决了安全、日志、交易和事务等公共的非功能性需求,并在原有基础上对框架性能进行了改进,使整个框架系统趋于完善。
服务器端设计开发组此阶段负责所有的业务组件的设计、开发和测试工作。对于核心平台这类覆盖社会保险五大险种、从申报征缴到发放的庞大业务软件,服务器端组件的开发能够说是一项“艰苦”的工作,经过一轮轮测试,服务器端组件的搭建基本完成。对于CSS三层结构来说,客户端的开发相对来说还是比较简单,但客户端研发人员相对不足的客观状况依然给我们造成了极大的风险,随着客户端开发的结束,整个构造阶段的编码工作终于顺利完成。
构造阶段的后期,公司请中国软件测评中心对核心平台从框架到业务组件进行了系统的测试,测试根据结果得出,核心平台各项指标优异,产品的质量在构造阶段得到了良好的保证。这一阶段的主要产出成果包括:框架产品、框架详细设计说明书、业务开发详细设计说明书、设计类图、服务器端组件、客户端组件、产品测试报告和数据库设计说明书。
构建阶段的结束是第三个重要的里程碑,即初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是不是可以在测试环境中进行部署,同时还要确定软件、环境、用户是不是能够开始系统的运作。此时的产品版本常被称为“beta”版。
交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量调整。在生命周期的这一点上,用户反馈大多分布在在产品调整、设置、安装和可用性问题,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了。
由于核心平台二版定位在平台软件的基础上,所以交付阶段,项目组对软件的产品化包装及对本地化实施指导进行了精心的准备。这一阶段的主要工作包括:对实现阶段的软件进行小规模的迭代和bug修改、软件产品的封版工作、软件前期产出的产品文档的整理、宣传文档的编写、对产品及项目开发过程中有一定的问题的分析和总结。另外,公司还专门抽调人力对本地化实施的培训和指南文档进行了系统的编写。
以上大量工作使核心平台的产品化功能更完善,并为合作厂商的本地化实施打下了良好的基础。这一阶段的产出包括产品文档系列、指南文档系列、宣传文档系列、培训文档系列及一批项目总结文档。
交付阶段的终点是第四个里程碑,即产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。
至此,基于RUP理论的核心平台整体开发流程基本描述完毕。作为国内为数不多的大型平台性行业软件的开发,核心平台在整个开发过程中基本遵照RUP统一过程开发思想的指导,对各阶段的产出质量严格把关,一系列的测试数据表明,RUP统一过程开发思想将在软件的后期实施过程中体现出更加卓越的价值。