报表引擎的设计与应用.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《报表引擎的设计与应用.pdf》由会员分享,可在线阅读,更多相关《报表引擎的设计与应用.pdf(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中图分类号:TP3论文编号:10006GS0421243如京航左就天大孚专业硕士学位徐文报表引擎的设计与应用 学科专业 软件工程 关于学位论文的独创性声明本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的 成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外,本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得北京航空 航天大学或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志对研 究所做的任何贡献均已在论文中作出了明确的说明。若有不实之处,本人愿意承担相关法律责任。学位论文作者签名:日期:年 月 日学位论文使用授权书
2、本人完全同意北京航空航天大学有权使用本学位论文(包括但不限于其印刷版和电子版),使用 方式包括但不限于:保留学位论文,按规定向国家有关部门(机构)送交学位论文,以学术交流为 目的赠送和交换学位论文,允许学位论文被查阅、借阅和复印,将学位论文的全部或部分内容编入 有关数据库进行检索,采用影印、缩印或其他复制手段保存学位论文。保密学位论文在解密后的使用授权同上。学位论文作者签名:日期:年 月 日指导教师签名:日期:年 月 日报表引擎的设计与应用摘要随着我国政府对电子政务的大力推动,很多政务机关已经开始大规模部署网络办公平台。这些 平台系统的基本实施方式是以政府公务流程为中心,设计和实现工作流转系统
3、。但目前政府很多部 门涉及更专业的领域。农业数据管理就是政府农业部门的专业职能,涉及大量的农业报表,本文设 计与实现了处理报表数据的报表引擎病应用这一引擎实现了密云县农业资源管理系统统计分析子系 统的统计分析功能模块。本文的工作共分为两个部分,第一个部分是设计与实现一个报表引擎,第二个部分是应用报表 引擎实现报表的管理以及业务的流转。其中第一个部分是本文论述的核心。报表引擎在国内外都有 成熟的产品,但各自都具有一些缺点,本文的主要工作就是解决这些缺点并实现新的报表引擎。本文首先分析了密云县农业资源管理系统统计分析子系统的功能需求,随后根据功能需求引导 出对报表引擎系统的内在需求,并通过对比国内
4、外报表引擎,提出了能够解决他们的缺点的基本方 案。所实现的报表引擎能够很好的处理中国式报表,实现在网页填报、跨表引用等功能,报表基于 文件定义,可以使用本项目专门设计的小型定义语言实现对其他报表的引用。另外,报表引擎还将 实现版本控制功能,对报表定义以及数据库内容的修改都不会对已经填写成功的报表造成影响。在 设计与实现报表引擎的同时,本文还基于报表引擎API设计与实现了统计分析功能,包括对报表的 一般操作以、使用可定制工作流进行报表审批以及绘制统计图表。通过设计与实现报表引擎以及统 计分析用户功能,本文实现了预期工作目标。关键词:农业数据,统计分析,报表引擎Design and apply:R
5、eport Engine SystemAbstractWith our countrys pushing e-government system in almost all levels of government,a lot of city governments already begin to deploy e-government systems build on top of LAN or WAN.The core of that kind of system is Office Automation.Which means,in current situation,we have
6、many general OA systems in governments?And they just realize simple workflow.But government needs very professional system for many fields,such as power management field or agricultural management field.The agricultural resource management mentioned in this thesis is a professional field,have a lot
7、of report table to deal with.So,the core of this thesis is to build a professional report engine system and apply it to build a subsystem which should be used to deal with agricultural data.The way to deal with report tables need programmers to implement two related systems.This first is to design a
8、nd implement a report engine,the second is to build a statistical analysis subsystem which uses the API that report engine exposes.The first system is the core of my thesis,we have quite a lot of report engine products around the world,some of them have more than 10 years history,but when deal with“
9、Chinese Style Report,they all lack the power.So in this thesis,Til analysis the requirements in the whole system and give a workable solution on report engine.In this thesis,first well analysis the requirements in statistical analysis subsystem,and then lead out the requirements about report engine,
10、compare the workable engines among some products,and introduce my solution.The solution I give can deal with“Chinese Style Report”,the user can use this engine to online edit a report table,and realize references across many tables.I define the report using report define files,I build a small DSL la
11、nguage to let report defines refer to other report defines and instances.The second system is just build upon the report engine API,we use these APIs to implement functions like draw analysis pictures and list reports or edit reports.After two steps above,we will have a subsystem which realizes the
12、target of this thesis.Keywords:agricultural data,statistical analysis,report engine北京航空航天大学硕士学位论文目 录第一章绪论.11.1 课题背景和意义.11.2 国内外研究现状.21.3 系统整体综述.41.3.1 农业电子政务办公自动化.41.3.2 农业数据统报.51.3.3 与其它系统的集成.51.4 论文研究的目标和内容.61.5 术语与缩略语.61.6 论文组织结构.71.7 小结.7第二章系统需求分析.82.1 系统需求概述.82.2 需求获取方法简介.112.3 系统的功能需求分析.122.3.
13、1 统计分析子系统的需求分析.122.3.2 报表引擎的需求概述.142.3.3 报表类型的需求分析.152.3.4 报表引擎的需求分析.172.4 其他需求.222.4.1 安全性需求.222.4.2 系统性能需求.232.5 小结.23第三章系统总体设计及相关技术分析.243.1 系统总体设计中的关键问题.243.2 系统技术方案选型.243.2.1 系统支撑平台技术选型.243.2.2 系统数据访问技术选型.253.2.3 系统表现层技术选型.263.3 系统整体技术架构.263.4 统计分析子系统的架构设计.29北京航空航天大学硕士学位论文3.4.1 统计分析子系统基本设计原则.293
14、.4.2 统计分析子系统架构说明.303.4.3 统计分析子系统架构与父系统架构的对应关系.313.5 统计分析子系统的功能模块设计.323.5.1 统计分析功能模块的设计说明.323.5.2 报表引擎功能模块的设计说明.343.6 其它设计问题.353.7 报表引擎技术分析.363.8 AJAX技术分析.373.9 小结.39第四章 系统详细设计与实现.404.1 系统详细设计的关键问题.404.2 报表定义的设计与实现.404.2.1 报表定义的关键问题及解决方案.414.2.2 报表定义文件的设计与实现.424.2.3 报表定义语言的设计实现.464.2.4 报表定义解析方案的设计与实现
15、.474.3 报表引擎的设计与实现.504.3.1 报表标签的设计与实现.514.3.2 报表引擎API的设计.524.3.3 报表请求处理模块的设计与实现.544.3.4 报表引擎数据模块的设计.564.3.5 报表定义解析模块的设计与实现.574.3.6 报表环境管理模块的设计.584.3.7 报表运算模块的设计.604.3.8 报表版本控制模块的设计与实现.604.4 统计分析功能的设计与实现.634.4.1 统计报表管理功能模块的设计与实现.644.4.2 基本分析功能模块的设计与实现.664.5 数据库具体设计.674.6 小结.68第五章系统测试与部署.695.1 系统测试概述.6
16、9北京航空航天大学硕士学位论文5.2 报表引擎的测试方法.705.2.1 数据库连接API的单元测试.705.2.2 对定义文件解析器的单元测试.705.2.3 对报表运算引擎进行测试.715.2.4 上层模块测试.715.3 统计分析子系统的测试方法.715.4 测试工具.735.5 测试实施及结果分析.735.5.1 功能测试结果分析.735.5.2 非功能测试结果分析.755.6 结论.76第六章总结与展望.776.1 论文总结.776.2 工作展望.78参考文献.79致谢.81111北京航空航天大学硕士学位论文第一章绪论1.1 课题背景和意义多年来,我国各级政府本照中央政府的要求,大力
17、度建设电子政务系统,其目标是 实现政府的办公自动化。但是,政府很多部门都属于具有专业背景的部门,他们在办公 流程、日常工作内容等方面都超出了现有通用办公自动化系统所涵盖的内容。建设面向 专业领域的电子政务系统势在必行,本文的背景即为建设面向农业领域的专用政务平 台。北京市密云县农业委员会(以下简称农委)负责密云县农业政策的制定与实施,目 前也已经实现了基本的办公自动化。该办公自动化系统虽然包含了完整的一般性政务办 公流程,但却无法满足农委以及相关单位对农业数据处理的需求。农业数据是一种分级 统报的数据,而农业管理单位也是分级管理的单位。农业数据都是从基本的农户开发统 计的,逐级汇总,经过村政府
18、、乡镇农口单位(如某乡经管站)汇总到农业归口单位(如 密云县经管站或密云县畜牧中心),这些农口单位将数据制作成为报表,报送给农委审 阅。对于办公系统而言,报表的逐级报批属于一般性功能,但是农业数据专业性较强,数据报表的制作与统计都需要服务器实时完成,现有通用政务平台产品无法实现这一需 求。为了实现对密云县农业生产数据的统计与分析,密云县农委决定投资建设“密云县 农业资源管理决策系统”以实现联网处理农业数据的目标。该系统分三期建设,第一期 的研发目标为实现农业数据的统报与统计,第二期的研发目标为实现数据挖掘以及决策 支持,第三期的研发目标为建设农业数据空间信息系统。其中,第一期工程被称为“密 云
19、县农业资源管理系统”。本文的项目背景为该系统的第一期工程,第一期工程的核心为统计分析子系统,其 统计分析功能建立在报表引擎之上。所有的农业数据都通过报表引擎进行整理与统计,开发报表引擎是实现统计分析的基础。报表引擎在国内外都有成熟的产品。目前国内的报表普遍属于“中国式报表”,这些 报表表头复杂,表的各行也往往包含复杂的逻辑关系,在大多数情况下,不同的报表之 间还存在一定的联系,这种报表与国际标准二维报表有较大的差异,故国外报表引擎无 法处理。国内报表引擎系统虽然一般都可以解决“中国式报表”问题,但仅限于通过数 1第一章绪论据库查询数据并展示。作为集成式的办公平台,数据的填报、展示显然都需要在线
20、完成,这种需求已经超出了国内一般报表引擎的功能范围。另外,国内报表引擎一般属于“定 义一张报表就只能展示一张报表”的类型,对于日常工作中的年报、月报等具有时间属 性的报表没有专门的处理方式,进而无法实现“定义一张报表模板,填写多个报表实例”的需求。综上所述,通过采购的方式获取报表引擎的方案是行不通的。为了实现统计分析子系统,必须研发新的报表引擎,这也是本文论述的核心。1.2 国内外研究现状本系统的核心是报表引擎,故本节阐述国内外报表引擎的技术现状。中国式报表是中国特有的报表形式,其中最重要的特点是“复杂表头”以及“不规 则表行”。外国研究机构一般不会涉及到中国式报表的特有领域。我们常见的外国报
21、表 工具包括如下公司的产品:Style Report,获奖次数最多的美国报表产品,能够进行包括复杂套表查询在内的多 种报表技术,同时具备联机分析处理能力(OLAP)。该系统提供复杂的API以定制数据 源、缓存、分析策略以及显示策略等报表要素,能够与各种应用程序服务器完美结合。Jasper Report,开源世界中最著名的报表系统,能够进行报表的生成与统计,但不 具备图形界面以及OLAP功能,属于入门级产品。目前,另外一些开源项目为该系统只 作了一些图形界面,但由于其功能简单,尚不具有广泛使用的价值。其他各类外国报表产品与上述产品大同小异,他们共同的特点是提供对标准表头结 构的二维表的生成与分析
22、处理。国内公司面向本国国情,提出了解决报表问题的一揽子方案,这些方案基本上包括 如下的内容:采用HTML表格显示报表结构;采用图片模拟斜线在表格结构中显示,以求实现报表样式与实际报表样式完全 一致;采用多源分片或类似的方案解决报表中的复杂表头与复杂左表头的问题;提供基于网页的填表模型,使得用户可以直接在浏览器中填报数据。这些方案成功的解决了中国式报表的填报问题,但是也遗留了一些其他问题。目前,这类报表主要面向单张设计与单张填报的模型,对报表模板的支持比较混乱,这种情况 导致此类报表系统的用户不能轻松的创建一个填报模板,然后在系统中多次填报。如:2北京航空航天大学硕士学位论文防汛物资统计情况是一
23、张年度报表,在设计好填报的表样后,应当能够指定报表的类型 为年报、月报或日报等等。每次填表时,应当提供方案,允许客户输入相应的年份或月 份等参数,并为不同的年份或月份等参数创建不同的报表实例。并且,在报表类型明确 的前提下,这些系统应当提供跨越年度或月份的报表信息比较统计功能。目前,国内的 报表系统仅仅部分的实现了上述功能需求,而且由于不具有统一的国家标准以及未能提 供详尽的APL这类系统在二次开发上以及可移植性上同国际上的软件有较大的差距。国内的报表软件是在国外报表软件发展成熟之后才开始研发的,但因为国外软件具 有通用软件的特点,属于国际化软件,报表格式不可能照顾某个具体的国家,所以不具 备
24、中国式报表的开发能力,故而国内软件起步虽晚,却正在走出自己的特色。国内报表系统与国外报表系统的相同之处在于:两者都面向关系型数据库 两者都使用B/S架构进行显示 两者都提供简单的OLAP功能国外报表系统的特色在于:提供面向B/S结构的报表设计功能 提供先进的、组织良好的API 提供更加复杂的数据仓库支持以及BI(商业智能)处理而国内报表系统的特色在于:提供中国式报表的设计与定义 提供在线填报的功能表1比较了现有商业产品与用户需求相对于程序员以及用户来说,目前并没有相对 全面的解决方案。面对中国式报表,我们需要的功能更加复杂:(1)提供填报报表的类型定义(年报、月报、日报等);(2)提供完整的数
25、据访问抽象API;(3)提供完整的在线报表设计工具,并提供存储临时数据的非关系型数据库解决方 案,并且,不管采用何种方式存贮数据,系统仍需要拥有OLAP功能或类OLAP 功能;(4)提供报表的版本控制功能,报表的定义以及报表的实例都是具有历史性的,更 改报表定义不应当使原有的报表实例受到影响,数据库内容的改变也不应该对 已经定稿的报表实例造成影响。3第一章绪论综上所述,目前国内外所有报表引擎系统均存在优势与劣势,为了实现本系统的功能,开发小组需要设计结合了国内外系统优点的报表引擎。报表引擎功能点现有商业产品用户需求提供报表的设计工具提供必须用文件表示报表的定义提供必须提供对数据库的连接提供可选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报表 引擎 设计 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内