水文年报统计系统的功能与设计

2011-11-20 08:19王蓓蓓
水利信息化 2011年1期
关键词:数据项树形字段

惠 昕,王蓓蓓,韩 宁

(中国软件与技术服务股份有限公司,北京 100081)

0 引言

水文情况年报统计是水文行业管理中的一项重要的基础工作,随着水文事业的发展,水文科技与现代化建设的逐年实施,每年度的水文年报客观地反映了水文工作的基本情况,为分析和指导年度水文业务和管理工作提供了重要的参考价值。全国水文情况年报系统是提供给各流域机构水文局(处)和各省、自治区、直辖市水文水资源(勘测)局(总站)填报水文情况数据,并将汇总报表展现给公众的应用系统。原水文情况年报系统已经应用多年,但随着技术的不断更新,每年业务数据的变化,原系统已经不适应新的应用环境,所以系统面临全面的技术改造和自扩展的挑战。

水文年报统计系统旨在利用模板[1]和树形结构[2]等方法改进原有系统的不易维护、不可扩展、不能自定义报表等缺点。系统采用模板的定制功能,动态增加或删除地方填写报文的信息项,提高系统的可维护性和可扩展性;采用树形结构显示不同类型的报表中的字段,方便用户根据需要选择合计的字段,自动生成报表表头,解决原系统不能自定义报表的问题。

1 系统结构与功能设计

1.1 系统结构设计

全国水文情况年报系统采用4层体系结构[3]构建应用程序,具体结构如图1所示。

图1 系统结构

1)显示交互层:封装组成系统用户界面的元素,例如,HTML 页、JSP 页、Excel 表格、Images、电子报表,由于本系统是通过 Web 方式交互,故也可称为 Web 显示交互层。

2)应用逻辑层:包括业务/域类,实现应用程序里的基本域类型。

3)应用服务层:用于提供用以支撑的服务,主要有持久性类封装对持久性存储的访问,包括关系数据库、平面文件和对象库。还包括一些对持久化类进行封装操作的对象,比如那些“池”。

4)数据资源层:业务数据资源,主要容纳全国水文年报数据库,另外包括系统配置属性资源。

2.2 系统功能设计

系统的功能包括信息填报、数据校验、数据比对、信息审核、报表发布、报表查询与浏览、填报模板定义、报表模板定义及用户管理。

1)信息填报。各流域机构水文局(处)和各省、自治区、直辖市水文水资源(勘测)局(总站)每年会在特定的时间段内对本年的水文情况信息进行集中信息填报。系统提供了需要填报的报表类型,按照填报模板中定义的信息生成填报表格供用户填写信息。

2)数据校验。对用户填报的信息,系统提供2次数据校验,一是校验各数据项的类型和长度等是否合格;二是根据数据项间的校验规则判断填报信息是否合格。

3)数据比对。数据比对功能是系统提供给用户查看当年填报的数据与过去4a 填报数据的差别,方便校核数据的准确性,对错误的数据及时修改。

4)信息审核。系统为管理员提供对填报数据审核的功能,审核状态分为通过和不通过,通过的数据上报用户不能再次修改,不通过的数据管理员需要填写原因,并打回给上报用户修改后重新审核。

5)报表发布。已审核的填报数据系统会自动发布到当年的报表中,即公众可以查看到已发布的报表数据,管理员对报表里的数据可以做数据导出,方便后期的数据整理。

6)报表查询与浏览。提供年份和报表名称即可查询到对应的统计报表和汇总报表数据,管理员还可以导出报表数据或查看匹配的复杂图表。

7)自定义报表。自定义报表是整个系统自扩展的核心功能,原系统的数据填报项是固定的,即如果填报项有变化,系统必须修改后才能支持,而新系统的填报定义提供给管理员一个工具,可以自行设计某类信息对应的数据项、展示的位置和填报时需要的数据校验。除了填报表格,系统还支持对统计和汇总表格的自定义。统计表格是在单一填报表格的字段上附加统计字段形成,汇总表格是汇总各填报表格及统计字段形成的,附加的字段和现实位置都支持自定义。

8)用户管理。系统提供给管理员对所有用户信息进行浏览、增加、修改和删除操作的权限;普通用户只能对本用户的信息进行修改和删除。

2 系统的设计与实现

2.1 总体设计思想

系统采用J2EE 架构体系[4]设计实现,保证业务系统具有良好的移植性;采用面向对象的设计方法,并确保系统具有一定的前瞻性;提供便捷的系统管理方式,简化维护工作的复杂性,使得系统管理员日后能够轻松地完成系统的日常管理维护工作;界面设计沿用用户已有的使用习惯,便于缩短系统的适应期等。

2.2 系统关键技术设计

2.2.1 数据库访问模块设计

本模块用于封装对数据库的各种操作,简化其他模块访问数据库的操作方式,便于系统改造和升级;同时采用数据库连接池的方式管理数据库连接。

3.2.2 模板设计

系统中提供的模板包括填报、统计和图形报表3种模板。

1)填报模板。提供界面用于维护填报模板。模板设计的填报字段不受深度级别限制,加强了字段与字段之间的灵活性,能够任意调整字段的位置及相关的信息。

每份填报模板可以利用树形结构定义自己的校验规则。

填报模板缺省是未发布状态,管理员可以任意修改其中的填报字段并保存,发布后的填报模板能被登录用户看见并接受数据填报;进入下一个填报周期的时候,管理员可以选择继续沿用此表格或在此表格上延伸定义新的填报表格。

系统为填报模板设计了版本管理功能,每一版发布的数据模板都可随时被管理员检索浏览。

2)统计模板。提供界面用于维护统计模板。统计模板对应于填报模板,即只有在生产填报模板的基础上才能创建统计模板。统计模板中的字段根据填报模板中存在的字段进行选择,创建统计模板需要的合计字段,创建过程利用树形结构选择对应填报模板的字段,详细设计同汇总字段的形成。

3)图形报表模板。图形报表模板维护是为了支持以图形方式表现数据而创建的模块。图形的表现方式支持柱状图、饼图和组成图,系统以 Excel 模板的方式创建及存储图形模板。如需要扩展图形模板,只需要添加对应的 Excel 模板文件即可。

2.3 树形结构设计

系统中涉及到树形结构的模块有汇总和校验规则2种模块。

2.3.1 汇总模块

支持定义一种汇总模板,汇总报表模板中的数据项来自于各个已发布的填报模板,根据如图2所示的树形结构显示选择的填报模板中的数字类型的数据项,管理员可以把各填报模板中的数据项按需根据运算公式合并为1个汇总模板中需要的数据项。

图2 树形结构

2.3.2 校验规则模块

此模块是为验证信息填报中的数据项是否合格,规则是根据实际需求而定义的,如:水文站 + 水位站 > 雨量站。从图2所示的树形结构中选择定义规则的字段,按照运算法则创建校验规则。校验规则与填报模板中的字段密切关联,若删除填报模板中的字段,则系统会删除包含该字段的所有规则。

水文情况年报统计系统的所有功能都已实现,并应用到全国水文工作的填报中。

4 结语

水文情况年报统计系统的突出特点是采用了自主开发的模板和树形结构的方法来实现数据填报、报表汇总等工作。主要有以下特点:1)软件具有较好的可移植性;2)基于数据的状态自动发布;3)自定义报表格式满足系统的可扩展需求;4)自定义校验规则自动屏蔽不合格数据,提高工作效率;5)支持数据导出,便于后期的数据汇总整编。

[1] 欧健文,董守斌,蔡斌.模板化网页主题信息的提取方法[J].清华大学学报,2005,45(9): 1743-1747.

[2] 符丁,黄汉堂.基于本体和多 Agent 的面向任务协同编程[J].计算机工程,2010,36(9): 47-49.

[3] 祝义,黄志球,曹子宁,等.一种基于形式化规约生成软件体系结构模型的方法[J].Journal of Software,2010,21(11):2738-2751.

[4] 蒋郁,刘伟平,江晓庆,等.基于 J2EE 架构的 LBS 平台的设计与实现[J].计算机工程与设计,2010(3): 651-654.

猜你喜欢
数据项树形字段
图书馆中文图书编目外包数据质量控制分析
苹果高光效树形改造综合配套技术
莱阳茌梨老龄园整形修剪存在问题及树形改造
一种多功能抽签选择器软件系统设计与实现
非完整数据库Skyline-join查询*
基于Python的Asterix Cat 021数据格式解析分析与实现
猕猴桃树形培养和修剪技术
休眠季榆叶梅自然开心树形的整形修剪
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述