论文部分内容阅读
央行会计核算系统(Central Bank Account Booking System以下简写为ABS)是人民银行中心支行及其以上辖区内会计核算集中处理,并通过中国现代化支付系统连接,实现中央银行资金清算的计算机网络系统。UNIX环境下的银行客户端软件,多年来一直存在着开发工作量大,重复度高和任务繁琐的问题,需要一种直观而简介的解决方案,很多专家为之付出了艰辛的努力。本文将元数据方案和模型驱动的理论进行结合,提出了一个基于模型驱动的前台代码自动生成的方法。该方法将系统的业务设计和系统的具体实现基本分离,使两者处于松耦合关系,提高软件设计的复用性;代码自动生成工具通过在央行会计核算系统中的推广使用,取得比较好的效果,使得前台子系统的开发效率得到了数十倍的提高。
本文的代码自动生成是以模型驱动架构(Model Driven Architecture.MDA)为理论基础的。它是由OMG(Object Management Group)定义的一个软件开发框架。它可以应对于任何软件的开发,不用受到应用平台,开发语言等因素的影响。MDA将软件系统的模型分离为平台无关模型PIM和特定平台模型PSM,同时又能通过转换规则将它们统一起来。PIM模型在介于需求分析与设计之间,负责将需求转换为设计;而PSM模型则是介于设计与编码之间,它的目的是将设计转换成代码。由此看出MDA贯穿了整个软件开发始末,它在软件开发中扮演了非常重要的角色。
本文遵循MDA的开发思路,从平台无关模型出发,结合模板方法,通过映射规则,产生能够直接编译运行的源代码。本文在MDA的应用中,采取了较容易的实现MDA-light,平台相关模型这一步可以说是被跳过了,直接从高度抽象的平台无关模型生成源代码。
MDA毕竟只是OMG所定义的开发框架,虽说各大软件厂商都在着力研究基于MDA的产品,不过目前为止还没有任何一个产品真正意义上的完全支持MDA。本文所提出的代码自动生成技术是基于MDA思想,不过它是针对于特定领域、特定模型、进行研究的。模型是MDA的核心,同样是代码自动器的输入。我们采用自定义格式化文本来创建模型文档,直接易于使用。
目前,整个代码自动生成工具系统己经完成,最先使用在ABS开发之中,生成可在UNIX平台下运行的C++源代码.并且取得了不错的效果,实践表明该设计方案是可行的。不过代码自动生成技术仍不是非常完善,还需要进一步的调试与改进。