论文部分内容阅读
大力发展证券投资基金是中国发展证券市场必然的选择,因为它发挥着化解金融体系的风险和配置资本市场的资源的重要功能。我国要求开放式基金每天计算和公告基金净值和基金单位净值,所以,基金估值系统对基金管理公司和基金托管公司的正常运转担负着重要的责任。由于我国基金业的迅猛发展——从1998年起步时的2只基金发展到截至2003年6月的90只基金(而每一只基金的推出均代表着一种金融创新),各软件公司为了提高各自基金估值系统的服务质量和市场占有率,必须做到对市场变化的快速响应,这样对基金估值系统的灵活性,可重用性和可维护性就提出了很高的要求。笔者在东软实习期间参与了光大银行和融华基金管理公司基金估值系统的升级和维护工作。由于现行估值系统采用的是过程化设计方案,所以面对用户需求的不断变化和客户数目的激增,使得该系统的开发维护工作变得日愈困难。本文目的是寻找一个能够应对基金估值行业快速变化的,具有较高灵活性,可重用性和可维护性的系统设计构架,以应对基金估值系统所面临的2个挑战:(1)提供快速的响应市场的变化并且稳定运行的版本,以响应基金品种的不断创新和基金估值原则的不断修正; <WP=71>(2)根据基金估值这个特定领域,构建出一个易维护、可重用的框架。 本文以近期软件工程领域较有震撼力的开发方法论——敏捷软件开发作为指导,使用极限编程所提倡的开发方法,遵循面向对象的设计原则,对一个具体的基金估值系统案例进行了迭代的分析设计和部分编程实现。本文首先给出了一个初始的设计框架模型,然后运用测试驱动的方法引发出对设计模型的思考和评估,并运用合适的设计模式解决问题,经过UML图,测试代码和产品代码的不断的同步迭代,逐步地改良基金估值系统的设计模型。使用抽象可以获得对变化的封闭。正确的抽象是系统响应变化的关键。通过对该案例的分析,本文获得了对具体业务的很多抽象,并发现较好的抽象方案往往是随着整个迭代过程的不断演化而获得的。其中测试代码和产品代码的启发和指导会对系统的整体设计产生影响,对一个设计经验不足的开发人员来说,尤其明显。结果证明,通过这种方法得到的最终系统构架会比最初设计有明显改善。本文从面向对象设计的角度,针对现行基金估值系统中的一个功能模块进行了详细的分析和设计。由于整体框架是需要通过自底向上的完整开发才能获得,所以本文提出的设计构架方案只能作为一个参考,以供进一步分析和设计使用。另外,一个较好的领域框架的形成是需<WP=72>要用多个项目对其进行检验的,所以想要提出一个高质量的基于基金估值领域的软件框架还有很长的实践之路要走。本文组织如下: 第一章阐述了基金估值系统的应用背景和应用价值,第二章介绍了基金领域必要的基础知识,第三章对敏捷开发和极限编程开发方法的最新发展进行了概述,第四章给出一个基金估值系统构架迭代的设计和评价过程。