2008年3月1日至12月20日,我参加了“数据安全访问平台”项目的开发,担任系统分析员的工作。该项目是某行业用户“数据中心二期”建设的主要内容,目标是:建立数据统一访问接口及其使用标准,规范、约束和审计数据应用访问数据库的行为,对数据应用提供强制审计的技术手段。 由于系统交付后,存在较长维护期,同时系统存在升级与扩展的情况,因此本项目对系统的可维护性设计要求较高。本文结合作者实践,讨论了从软件设计上提高可维护性的方法和措施:通过模块化设计方法和提高设计文档质重,改善软件的可理解性;通过提供测试接口和采用测试框架工具,改善软件的可测试性;通过动态库加载和针对接口编程的方法,提高软件的可扩展性。最后分析了采用方法的效果。
2008年3月1日至12月20日,我参加了 “数据安全访问平台”项目的开发,担任系统分析员的工作。“数据安全访问平台”是某行业用户“数据中心二期”建设的主要内容。在一期建设中已建成数据的统一存储和统一分发框架。但主要存在以下问题:无法获得应用用户对数据库的操作日志;开发人员对数据库的使用不规范,查询的结果集过大,导致数据库的性能大幅下降;应用直接使用数据库的登录数据库,存在着一定的安全隐患。“数据安全访问平台”的目标是:建立数据统一访问接口及其使用标准,规范、约束和审计数据应用访问数据库的行为,对数据应用提供强制审计的技术手段。 该项目具有较高的业务需求风险和技术风险。由于没有成熟系统做为参照,该项目需求不是很明确,而且系统涉及甲方多个利益相关方,各方对系统的安全和审计功能、运行维护、可靠性、性能和易用性有者不同的观点,某些观点之间还存在冲突。同时系统作为“数据中心”的基础设施之一,所有的应用系统都要通过本系统完成数据库访问。系统的可靠性和性能直接影响到应用系统的正常运行。整个系统分为6个子系统,包括JDBC驱动封装子系统、ADO. Net驱动封装子系统、WebService接口子系统、管理配置网站、存储子系统(SQLServer2005 数据库,存储配置信息)和监控子系统(数据库网络协议分析与连接控制)。
在系统的维护阶段,发现了较严重缺陷2个与8个一般缺陷,同时,发现了监控子系统不能解析的5种协议包。维护阶段的开发人员与开发阶段有了较大变化。由于在系统设计上重视可维护性,软件进行模块化设计,提供了完备的设计文档,维护人员可以较快的定位与解决问题;由于考虑了系统的可测试性,提供了回归测试集,维护人员可以运行回归测试验证软件质重;由于考虑监控子系统的扩展性,维护人员可以及时増加了新的协议包解析功能。综上所述,由于在设计中考虑了软件的可理解性、可测试性与可扩展性,很大程度上提高了系统的可维护性。