论文部分内容阅读
“最终用户开发(End-User Development,EuD)”研究如何使作为非专业软件开发者的软件系统用户,在一定程度上开发或修改软件。EUD的研究主要有三类,即EUD的理论研究、通用的EUD技术研究和面向领域的EUD技术研究。作为一个面向领域的EUD研究,本文以电子政务中常见的表格数据分析问题为背景,研究表格数据分析的EUD方法和技术。
表格数据分析是一种广泛存在的日常应用问题,除了各种业务系统中的表格分析系统,工业界也引入了EUD,比如“电子表格(Spreadsheet)”,但无论专用分析系统,还是Spreadsheet,都不足以应对表格数据分析问题在规模和复杂度方面的迅速增长。
本文在对表格数据分析问题进行建模的基础上,提出一种基于EUD的表格数据分析方法(Methodology of EUD-Enabled Tabular-data Analysis,META),并就META方法的应用和所需的关键支撑技术开展了研究,其贡献包括以下七个方面:
1)在Spreadsheet模型的基础上,对大规模表格数据分析问题进行了建模,该模型以数据层、逻辑层和表示层的分离为特征,对表格数据、表格展示和表格数据分析计算的表达能力,都超过已有的各种模型。
2)提出一种以EUD为核心的表格数据分析方法(META),该方法有三种应用模式,分别适用于不同的用户熟练程度和需求复杂度,既适用于简单的表格数据生成问题,也能支持复杂的EUD生命周期过程。
3)在对表格数据分析问题进行建模的基础上,通过扩展传统Spreadsheet语言,设计了一种支持最终用户开发的表格数据分析语言ESL(EUD-EnabledSpreadsheet Language),该语言继承了Spreadsheet语言的最终用户可编程性,同时,在表格数据分析方面的表达能力优于已有的其他语言。
4)在将ESL公式依赖关系建模的基础上,深入研究了影响Spreadsheet计算性能的各种因素。提出了基于拓扑排序的重算消减算法,解决了传统算法中存在的重算问题;以拓扑排序算法为基础,提出了ESL语言的并行计算方法;针对大规模表格数据访问,实现了能够显著降低SQL数据访问代价的缓存机制。这些研究,经实验验证,提高了ESL语言的执行效率。
5)为降低EUD中SQL编程的复杂度,通过引入领域语义和上下文(Context)配置的方法,解决了SQL自动生成中连接选择的二义性问题,实现了精确查询的SQL自动生成。其结果也可用于其他访问关系数据库的EUD系统。
6)有效性是ESL编程中的重要问题,由于缺乏合适的研究对象和用户群体,EUD有效性研究受到限制。在社会关系网络上开发Web插件,是一种典型的EUD活动,其中的“发行前错误”问题是一种重要的风险来源。本文提出的Release-Waiting Farm(RWF)技术,能够有效地引导最终用户对Web插件进行测试,并规范最终用户的开发过程。
7)本文总结了RWF技术在社会关系网络中得以成功的关键因素,基于RWF技术,为META方法设计了支持最终用户开发的协作环境和测试环境,并在全国组织系统软件框架开发项目中进行了实现和验证。