基于Web的自定义教务表单系统的分析与设计

2012-04-29 11:37:07黄攸静
电脑知识与技术 2012年23期
关键词:表单教务

黄攸静

摘要:为了对数据进行有效的获取与收集,针对教务表单数据量大、形式多样化、数据处理复杂化等问题,提出了基于Web Service面向服务的自定义教务表单系统,试图使数据收集及获取过程能紧随需求变化而变化,从而提高数据获取的灵活性及时效性。首先对系统的基本架构和功能结构进行分析,确定系统的层次架构,及各层次架构之间的关系。进而描述表单的基本结构。最后通过UML建模,对每一个功能模块进行详细的时序逻辑设计及说明,验证该设计的可行性和准确性。

关键词:Web;自定义;表单;教务

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)23-5600-05

The Analysis and the Design of the Web-Based Self-Service Senate Form System

HUANG You-jing

(College of Computer Science & Technology, Huaqiao University, Quanzhou 362021, China)

Abstract: The Web Service is raised for the Service-oriented custom Senate form system, trying to make the process of data collection and processing keep in pace with the demanding change, in order to improve the flexibility and timeliness of the data collection. The system aims at solving the problem of data collection and processing, and of the large amount of data in various forms in the Senate system, and the complex data processing. The article first analysises the basic structure and function structure of the system, to decide the layer system, and the relationship of the layers. Then it describes the basic structure of the form. Finally it explains the design logic of each function module in details, to verify the possibility and accuracy of the design.

Key words: Web; custom; form; senate

近年来,表单作为一种收集数据的灵活工具,被广泛应用于办公自动化系统中,但由于表单本身设计的复杂性,市场上还没有一种完全的表单定制程序为用户所使用。该文就Web环境下,如何设计自定义教务表单提出一种解决方案。

1关键技术

1.1面向服务架构SOA(Service-Oriented Architecture)

SOA是一种对应用程序开发、整合的架构和设计原则。它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用[1]。SOA通过服务之间良好的接口和契约将应用程序的不同功能单元进行联系[2-4],接口采用中立的方式进行定义,其独立于实现服务的软硬件平台,因此,可使得构建在各种这样的系统中的服务可以以一种统一且通用的方式进行交互[5]。SOA同时具有编码灵活、开发人员角色明确、所支持的客户类型多、伸缩性及可维护性更好等优势。

1.2 Web服务

Web服务可视为分布式计算中的一种。W3C[6]将Web服务定义为一种软件系统,该软件系统支持网络间不同主体(计算机)间的互操作。其具有一个使用机器可接受格式描述的接口(比如Web服务语言WSDL),其他系统通过其自身的SOAP消息所描述的范式进行Web服务交互,交互通常使用XML的HTTP或者其他的网络相关标准进行。Web服务可以分为三种角色,及服务提供者、服务请求者及服务代理。其中,服务提供者建立Web服务给服务请求者使用,服务请求者通过SOAP协议向服务提供者发出服务请求。服务代理为服务请求者及服务提供者提供一种交互途径,代理与服务请求者及提供者之间通过WSDL协议进行通信。提供者、请求者和代理之间通过发布、寻找和绑定来进行交互。

1.3 xForms技术

在2003年10月,xForms被W3C组织推荐为下一代在线Forms,他吸取了XML Schema、xPath及基于XML的事件等标准,企图突破当前HTML Forms模型的一些限制。xForms能克服HTML表单与XML集成差、有限的特性使得普通的任务也要通过脚本完成、设备依赖,只在桌面浏览器上运行及混合目的与表示等缺陷[7-8]。

2系统的分析与设计

2.1表单管理系统的基本架构

教务表单管理系统采用多层架构设计,该系统大体上由用户试图层、管理层及核心业务层所组成。系统多层架构如图1所示。在该层次架构中,各层次的调用是自顶向下的,在该平台中不允许跨层调用。从而能提高数据访问的安全性及稳定性。从而增强了系统功能的可扩展性和健壮性,提供了与其他系统进行安全的信息集成的可能性。

图1教务表单管理平台基本架构

2.2表单管理系统的基本功能结构

教务表单在应用层次上主要提供可供管理员及表单使用者使用的登录及登录注销等功能接口、对教务表单的查询、管理、加载及表单数据管理等模块,其中,教务表单管理主要包括表单的定制、修改及删除等功能模块。在管理平台的底层实现中,主要功能模块有教务表单解析模块及与其他教务信息系统的接口模块,其中,教务表单解析模块主要有表单基本组件的解析及表单与后台数据的绑定等功能模块。教务表单管理平台的基本功能模块如图2所示。

图2教务表单管理平台的基本功能模块

2.3表单模板的基本结构

表单所应包含的基本元素如图3所示。含有一个文本框(TextBox)、一个下拉列表(DropDownList)、一组单选按钮(SelRadio Group)、一组复选按钮(SelCheckGroup)及提交(Submitted)和重置(ReSet)按钮的表单模板(formMaster)。

在该模板XML解析如图4所示中,ecType代表的是表单的编码类型,其指定了表单数据向服务器所提交时所采用的编码类型;table属性所指的是与当前表单所关联的数据库的数据表单,该属性对该模板中所定义的表单来说至为重要,因为其关系到表单所收集数据的持久化操作。在该表单模板中,各个组件作为表单节点的子节点进行枚举,同时,在各个子节点中也可对组件在表单中出现的具体位置进行描述,其中,valueType所描述的是该组件所描述的取值类型。

图4教务表单示例XML解析

2.4表单管理平台的详细设计

2.4.1表单管理平台的基本活动流程

在表单管理系统中,从表单数据库中按表单用户需求对表单数据进行遴选,然后对所选择的表单数据进行HTML/XML解析,生成相应的表单,并将其通过浏览器或者客户端形式呈现给表单用户。表单用户对表单进行填写,表单管理平台对用户所填写的数据进行合法性验证,并将用户所填写的数据进行入库/持久化操作。在该流程中,由于表单的组件可能来自某一数据源,因此对表单组件的XML/HTML解析部分可分为简单组件解析及与数据源绑定的表单组件解析两部分。

2.4.2表单管理平台统一门户层设计

用户在使用该系统时,向管理平台发出新用户注册请求,填写相应必要的注册信息,系统受理请求,并完成用户注册过程。在用户注册完成之后,注册用户可对注册用户的信息及密码等进行修改及注销等。在用户登录及退出管理平台流程中,用户通过浏览器/客户端输入基本信息,教务表单管理平台对当前用户的输入信息的合法性(包括用户向浏览器输入的数据的合法性及管理平台用户自身的合法性等)及用户的权限进行判断,判断其是否为教务表单管理平台的管理员(如教务员等)还是教务表单的基本使用者(如任课教师、学生用户等),在使用权限确认之后,表单管理平台赋予用户相应的表单操作权限。

2.4.3教务表单加载及解析的实现

表单用户输入相应的表单需求,如教务表单ID等,教务表单管理平台从表单数据库中检索出相应表单数据,并对其进行XML/ HTML解析,在浏览器或客户端上呈现给表单用户。表单加载及解析的时序图如图5所示。

如上图所示,教务表单用户通过浏览器/客户端输入相应用户信息,登录表单管理平台。通过对表单数据库中的表单进行检索,寻找出与表单用户所需求一致的表单数据,表单数据库将所检索出的表单数据返回到表单加载器。表单加载器在得到表单数据之后,将其传递到表单可视化工具,表单可视化工具通过调用系统对表单基本组件(如列表、文本框等)的可视化方法对该表单上的所有组件进行可视化操作,最后将可视化之后的表单信息(HTML/XML)通过浏览器/客户端提供给表单用户,供表单用户进行数据提交。

2.4.4教务表单数据处理模块

当教务表单管理系统发现表单用户对表单上具有编辑性的表单元素(如文本框、下拉列表、复选框等)进行操作之后,表单数据处理模块则负责将与相应组件进行绑定的用户输入数据进行入库及持久化操作。

在该模块中,教务表单管理平台对用户所请求的表单进行感知,如果发现对表单上的编辑组件等有编辑动作,则表单数据管理服务器则与表单数据库访问器之间建立通信,并找出相应组件的数据元素。同时,组件数据访问器负责对表单所收集数据生成相应的数据操作语句(如SQL插入、修改等语句)及与后台数据库之间建立访问连接的任务等。当连接建立成功之后,组件数据库访问器则执行相应的数据操作语句,对用户通过表单所提交的数据或更改进行相应数据存储/持久化操作。(逻辑图的设计方式可参照图5)

2.4.5教务表单查询处理模块

在教务表单的实际应用中,需要按照一定的查询条件对表单数据库中的表单进行过滤,找出满足条件的表单,并执行相应的操作,因此在教务表单管理平台中需要加入表单查询功能以满足过滤表单的需求。

在该查询模块的处理流程中,表单用户在登录管理平台之后,向表单查询器输入一个或多个查询条件,表单管理平台将所有输入的查询条件经过与或逻辑进行处理之后,表单查询工具将查询条件传向表单底层逻辑库,通过逻辑库的处理与表单数据库进行交互操作。在表单查询过程中,可以使用模糊查询,使得表单的查询对输入的查询条件的要求不再那么苛刻。表单管理平台通过表单可视化工具将最终的查询表单结果有效解析之后展示给表单用户。(逻辑图的设计方式可参照图5)

2.4.6教务表单存储管理模块

教务表单存储管理模块为教务表单的配置、管理提供了一个基本控制台,其提供了对教务表单的基本增加删除等功能。

教务表单存储管理主要涉及教务表单的添加及更新操作,表单管理员在登录表单管理平台之后,通过表单管理器对教务表单进行新建添加及已有表单更新管理操作。最后,将教务表单存储管理结果反馈给管理员。(逻辑图的设计方式可参照图5)2.4.7教务表单的打印及输出模块

由于教务系统所面向对象的特殊性(如学生成绩单、课程选修表等),因此要求该表单管理系统能提供必要的打印及输出能力。对表单的打印及输出可以通过表单解析器将所要输出的表单解析出来之后直接打印或者也可以将表单中的数据通过表单管理平台所提供的接口导入到诸如EXCEL等中间文件中,然后通过中间文件对表单数据进行输出及打印。(逻辑图的设计方式可参照图5)

2.4.8教务表单实例创建

文献[12]中提到可通过两种方式对表单进行实例化操作,即:通过统一的入口,创建一个新的表单实例;结合具体的业务流程,在处理的初始节点创建所需要的表单。在教务表单管理平台上,教务表单的实例化则根据所定义的教务业务规则库创建合适的表单实例,表单实例化过程如图6所示。

图6教务表单实例化过程

由上图可知,首先表单用户首先向表单规则库中输入教务流程规则。在教务表单实例化过程中,首先选择一个或者多个合适的规则,然后将符合条件的模板从系统中检索出来。在选择出合适的表单模板之后,便可以在该模板的基础上定制表单实例的基本属性。通常情况下,在表单实例创建之前需要进行约束检查以提高表单实例的合理性及所获取数据的统一性。同时,当用户需要检查所创建实例表单是否有错误时,可以对实例表单进行预览的方式进行确认。

3结束语

随着电子在政务、电子商务的发展,半结构化的表单数据越来越多地出现,因此如何对其进行更为有效的处理及收集一直是具有重要应用研究价值的领域。该文主要定位于学校教务系统,提出基于Web结构的用户自定义教务表单定制与管理平台的基本框架。实现教务表单内容及样式设计、按照设计生成表单、发布表单等功能。该管理平台的实现,使得各院系及部门的用户不再关注教务数据库本身的结构柔性设计更合理表单,同时当表单结构发生变化时只需要重新定义表单即可,不需要修改数据库表结构和应用程序。用户可通过各种方式输入数据,提高数据的获取效率。

参考文献:

[1]崔晓波.SOA概述[EB/OL]. http://www.csai.cn.

[2]郭春燕.基于SOA的企业的应用研究与实现[D].大连:大连理工大学,2006.

[3]毛新生.SOA原理、方法、实践[M].北京:电子工业出版社,2007.

[4]王紫瑶.SOA核心技术及应用[M].北京:电子工业出版社,2008.

[5]魏东.基于SOA体系结构软件开发的研究与实现[D].西安:西北工业大学,2005.

[6] Web Services Glossary [EB/OL].http://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/.

[7]张昱.xForms—下一代的Web窗体[J].小型微型计算机系统,2003(9):1658-1664.

[8]梁帅,罗伟其.新一代Web表单xForms概览[J].计算机工程与设计,2005,26(3):826-829.

[9] Booch G,Rumbaugh J,Jacobson I. UML用户指南[M].邵维忠,译.2版.北京:人民邮电出版社,2006.

[10] Larman C. UML和模式应用[M].李洋,译. 3版.北京:机械工业出版社,2006.

[11] Schach S R.面向对象分析与设计导论——使用UML和统一过程[M].陈宗斌,译.北京:高等教育出版社,2006.

[12]郭永辉.动态表单系统设计与实现[D].西安:西北工业大学,2007.

猜你喜欢
表单教务
电子表单系统应用分析
华东科技(2021年9期)2021-09-23 02:15:24
教务排课对高等院校教学运行的作用分析
大学(2021年2期)2021-06-11 01:13:16
浅析高校教务管理存在的问题及对策
传播力研究(2019年8期)2019-03-20 10:58:14
浅析新时期高校教务管理工作创新探讨
长江丛刊(2018年3期)2018-11-14 20:21:49
浅谈网页制作中表单的教学
浅谈新形势下高校教务管理人员的素质与培养
以培养方案为核心的教务管理系统开发的探索与实践
基于ASP.NET的Web表单自动生成引擎
写在最后
基于Infopath实现WEB动态表单的研究
电子世界(2012年24期)2012-12-17 10:49:06