电子表单系列谈之电子表单基础概念

 袁永福( http://www.xdesigner.cn ) 2007-8-13

(本文有部分文字参考了网络上的一些资料)
表单的基本概念
    在各种企事业单位的生产和办公管理过程中,使用了大量的表格和单据,这些表格和单据通常成为表单。表单形成了单位和企业的运行和管理基础,如实而详细记载了运行和管理过程中的数据,是企业信息化中非常重要的管理对象。
企业要实现严格的全面质量管理,要在生产上建立各种规模化规范化和集中化的生产管理系统,其目的就是控制规模庞大和繁杂的生产过程,按照稳定的生产模式和过程生产质量有控制的产品。这一过程具体可以表现为和生产过程相关联的各种表单的填写和处理。例如生产过程中的人事,财务和物料的管理控制都是建立在表单的基础上。在银行,保险,交通运输,邮电通信,等企事业单位的业务管理中,都依赖大量规范的表单,否则就无法进行企业业务的处理。
    表单虽实质就是通过分析和提炼业务的属性,制订表格,印制在纸上,并在实际应用中填写,处理和传递。表格的内容从许多方面反应了企业的具体业务。若没有规范化的描述企业业务属性的表单,在处理业务时由当事人自行规定,那么在业务处理上就存在很大的随意性和偶然性,这和现代化的生产和管理要求冲突。因此表单的规范化,有效性和处理效率直接影响到生产,管理中的业务处理质量和效果。
传统表单的不足
    传统的预制纸张表单的生成,处理和流转方式是企业业务处理中错误,缓慢和昂贵的重要起因。企业花费大量的资金和时间来处理表单。顾客必须先填好纸质的原始单据,交由业务人员校验和录入,然后收集集中处理。顾客在填写纸质单据时容易误解填写规程,并需要重复填写,加大了系统处理中的人工审刻,降低了服务效率和质量,加大了成本处理。并且由于存在大量的人工处理,不可避免的存在较高的处理错误概率,若要降低这种错误概率需要派人反复检查这些表单,导致管理成本上升。
企事业信息化
    随着计算机硬件性能的提高和价格的大幅下降,计算机网络技术的快速发展和普及,计算机软件技术的不断发展,企事业开始实施和普及企业信息化系统。其中也包括了表单的信息化和电子化。在这种条件下,可以将以前由顾客通过业务人员输入或转达的信息,直接由有能力的客户输入和浏览。客户可以通过网络自行提交表单,查看表单,而且软件可以辅助填写合格的表单。这样可减少中间环境,降低差错,提高效率,节省人力,加快表单处理速度。
传统的预印制纸张表单,需要消耗大量的纸张,需要消耗大量的印制,存储,分发和处理费用。而信息化系统可以避免这种情况,大大降低企事业办公和管理成本,节省自然资源和人力资源。
电子表单
    表单在信息化系统一般表现为供用户输入和查看数据的页面,一个表单就包含了若干个表单元素,表单元素类型主要有静态文本标签,单行或多行文本输入框,列表框,下拉列表,单选框和复选框,此外还有一些其他的更复杂的表单元素类型。用户可以在这些表单元素中通过鼠标和键盘操作来输入表单数据,或者选中某些列出的表单项目,如此来完成表单数据的输入。
电子表单界面具有特定的用户体验。比较重要的有

  1. 数据的辅助输入:能提供数据库查阅和列表查阅,比如列表框或下拉列表的列表内容可以从数据源中填充;用户输入某些记录的编号,需要弹出一个记录编号浏览对话框来让用户选择某条记录,用户不用记忆输入并不人性化的记录编号。
  2. 数据的校验:软件系统能自动对用户确认输入的数据进行校验,包括数据格式的校验和数据合法性的校验。比如一个文本框只能输入身份证号码,若用户随意输入了数据不符合身份证号码的编码格式,则系统提示用户重新输入正确的身份证号码。
  3. 表单元素之间的数值关系:若干个表单元素之间可能存在一定的数学运算关系,一个表单元素的数值是另外一些表单元素进行数学表达式的运算结果。数学表达式可以包括四则运算,括号和一些数学函数。表单在运行时,用户修改了某个表单数据,则软件系统自动执行表单元素之间的数值运行关系,实时更新表单状态。
  4. 多个表单之间的数值关系:这个关系和表单元素之间的数值关系类似,但超出了单个表单的范围。在一个完整的业务中可以包含多个表单,而且这些不同表单中的表单元素之间可能存在一些数学运算关系,一个表单元素的数值是其他表单的某些表单元素进行数学表达式的运算结果。比如表单1的数据1是表单2的数据2和表单3的数据3的和。
  5. 表单元素之间的依赖关系:表单中某些元素的状态可能依赖其他某个表单元素的数据状态。比如表单中有一个复选框,后面有若干个元素依赖于这个复选框,当用户对这个复选框打勾,则依赖该复选框的表单元素可用;若用户对这个复选框不打勾,则依赖该复选框的表单元素将不可用。所有的操作都是自动执行的,用户在用户界面中打勾或不打勾,软件立即更新表单界面以反应这种表单元素之间的依赖关系。表单元素可以依赖复选框,还可以依赖单选框,列表框或下拉列表框的某个列表项目。
    纯文本的生成:在一些系统中,需要根据表单中输入的数据生成纯文本用来描述整个表单的数据。这样能大大压缩数据的显示空间,而且能向其他软件系统提供纯文本样式的数据支持。目前的技术还不能根据表单来生成自然语言样式的纯文本数据,但可以生成接近于自然语言的纯文本内容。
  6. 表单数据的保存:现代复杂的信息系统都是若干个相对独立的模块的集成,软件模块应当实现开放式的结构,因此表单数据应当可以保存在开发数据结构中,在开发的数据结构中首选是XML结构。表单数据应当可以方便的保存在XML文档,方便其他信息系统处理表单数据。
  7. 跨类型跨平台:尽管目前B/S开发模式是最重要的软件开发模式,但C/S开发模式也不容忽视,而且很多旧系统是C/S系统。因此电子表单可以使用在B/S或C/S系统中,同样的表单可以运行在B/S和C/S系统中,而且应当具有相同的运行时特性,包括表单数据的辅助输入,表单元素之间大数值关系,依赖关系。而且在为B/S和C/S开发表单模块时,定制表单模板的工作不应当重复,应当同一个表单模板无需修改即可用于B/S和C/S系统。

电子表单的开发
    作为计算机软件开发人员,除了关心电子表单实现的功能,还需要关注电子表单的实现。目前情况下,计算机软件开发人员,一般都用开发工具内置的窗体设计器,比如VB , Delphi , VS.NET的窗体设计器,在一个窗体上设计表单元素,这些开发工具配备了强大的表单设计器,而且都能进行全功能的编程开发。但仍然不适合设计大量的表单,其主要缺点有

  1. 这些开发工具是通用的开发工具,并没有为表单开发而进行优化。使用它来设计大量的表单是不合适的。而且表单中存在大量的表格,而一些通用的开发工具并没有表格控件,因此很难实现表格样式的表单界面。
  2. 表单元素之间存在大量的相互关系,包括数值运算关系和表单元素依赖关系,对于通用开发工具,要实现这种实时的表单特性,需要在后台编写大量的控制代码。这些代码量大,编写过程简单但麻烦,影响开发效率。
  3. 比较难于实现数据的XML格式的保存,开发工具需要编写代码从XML文档中加载表单数据并对各个表单元素一一进行设置,而保存XML文档则需要收集表单数据并进行保存。所有的操作都需要编写大量的程序代码。
  4. 开发工具修改现有表单很容易导致应用系统的重新编译和重新部署。现代的应用系统需要保证长期不间断的运行,程序的可执行代码的重新编译和重新部署会导致应用系统的停机,更新文件和重新启动的过程,这个过程是危险的,而且影响了系统的长期不间断运行要求。
  5. 使用开发工具开发表单无法保证同一个表单用于B/S或C/S系统。比如使用VS.NET开发表单,可以使用它的WinForm窗体设计器来设计C/S系统中的表单,使用Web窗体设计器来设计B/S系统中的表单,但两种设计器的设计结构不能通用。若一个系统要求具有B/S版本和C/S版本,则需要为每一个表单同时设计和维护WinForm版本和Web版本,这加大了系统的开发和维护的工作量。
  6. 使用开发工具开发表单无法实现跨平台,比如VB,VS.NET两个工具设计的表单是不能相互调用,甚至同样是VS.NET开发的,使用VB.NET和使用C#两种语言开发的表单界面跨语言调用都需要做额外的工作。VS.NET开发的表单是不能用于Java系统,因此若一个系统要求有.NET版本和JAVA版本,则需要为每一个表单同时设计和维护.NET版本和Web版本,这加大了系统的开发和维护的工作量。
    可以想象,若一个系统要求同时有WinForm.NET,ASP.NET和Java甚至更多的版本,则同一个表单需要同时设计和维护多个版本,系统的开发维护工作量成倍增加。
  7. 一般的开发工具费用,包括软件的购买费用,使用费用,都不算低,随着软件正版化的发展,软件公司和客户为开发维护表单而需要对开发工具支付额外的费用,这加大了项目成本,增大了客户的投入。

    由于使用通用的开发工具直接开发电子表单有若干不足,因此人们开始使用专门的工具来维护和定义表单。一开始人们提出了表单模板的概念,而且开始使用配置文件来定义表单模板,原始的表单模板配置文件可以是INI文件或XML文件,HTML文件或者二进制文件。这些表单模板文件定义了表单的结构,包含的表单元素,开始没有图形化设计器,只是手工编辑和维护这些配置文件,工作量是相当的大。
    为解决手工配置表单模板文件的不足,出现了专业的图形化的表单设计器,这些专业的工具为电子表单开发带来新的提升。使用专门的图形化表单设计器带来的好处主要有

  1. 图形表单设计器能以所见即所得的方式来设计表单界面,大大提高了设计表单的工作效率,解放了生产力。
  2. 图形表单设计器能快速定制表单,避免的手工修改配置文件的低效率和容易发生错误。
  3. 相对应通用开发工具,图形表单设计器软件小,安装部署方便。工作效率更高。
  4. 图形表单设计器在应用系统的支持下,能对系统中的表单模板进行在线定制,修改表单模板无需重启应用系统,对应用系统的长期不中断运行没有影响。
  5. 良好的表单设计器设计的表单模板在应用系统的支持下,即可以用于于B/S系统,也可应用于C/S系统,还有可能实现表单模板的跨语言跨平台跨架构的运用。若一个应用系统有多个版本,则表单模板无需修改就可应用到这些不同版本的应用系统中,避免同一个表单多个版本的出现。
  6. 表单设计器可以快速的定义表单元素之间的依赖关系和数值运算关系。在应用系统的支持下,使得表单在运行时具有这些动态特性而无需额外编程来实现。

    如此图形化表单设计器就是电子表单系统开发的核心模块,它决定了表单模块的开发和维护工作量。一个好的电子表单设计器能事倍工半,而平庸的表单设计器则发挥不出应用的作用。

    下一篇文章将说说我是怎样实现电子表单设计器的,到时候敬请关注。

原文地址:https://www.cnblogs.com/xdesigner/p/853212.html