摘 要:针对办公自动化系统的开发,为了能提高程序员工作效率、缩短了工程周期、同时还能保证“应用”的长效性,本文对类似的系统求同存异,尽量将能够重用的部分统一设计、统一开发,从而实现功能的“构件化”,并将这部分进行统一、全面、完善的考虑,并行形成一整套合乎实际要求并且高效率的做法,对 办公自动化核心模块的设计进行详细的分析,使办公自动化系统朝“产品化”迈出大大的一步。
关键词:办公自动化;核心模块;模块设计;工作流驱动
1.设计背景
在目前基于工作流的应用开发过程当中,各个项目组在系统设计、编写代码时,除了设计每个环节处理的动作之外,还必须重复设计工作流的流程。这样将流程设计和环节处理设计两部分工作一起做,一方面增加程序员无谓的工作量之外,另一方面对于开发的系统的稳定性、通用性、规范化、安全性都有所损失。同时也不利于公司合理分配资源、保护开发产品。
为了解决上述问题,需要对类似的系统求同存异,尽量将能够重用的部分统一设计、统一开发,从而实现功能的“构件化”。针对办公自动化系统的开发,根据已有的经验,在设计工作流应用的过程中,其中设计每个环节的动作这个步骤是根据应用类型的不同而不同的,因此这部分工作的‘可重用率’较低。但是对于设计工作流程这部分,由于工作流程设计和流转的内容相对无关,因此这一部分代码的“可重用率”较高。
所以,可以在这类系统的开发过程中,设计一个面向程序员或最终用户的通用工具(或者称之为工作流驱动的核心模块),也就是‘中间件’,利用这个工具(或称之为‘核心模块’),程序员能快速生成一个规范、优化、高效率的应用系统的流程。
2.核心模块的部件构成
整个核心模块共由9个部件组成,其中 “通用工作流生成器”、“工作流监控中心”、“消息处理中枢”、“公务授权管理中心”、“组织结构管理器”是和工作流的处理有关的,而“批阅器”、“统计显示构件”、“主菜单控制器”、“用户界面控制器”是属于外围的工具,这些工具和NOTES、具体业务、设计使用方式密切相关的。
该部件的主要功能是定义流程、修改流程、流程监控、异常处理。
一方面,程序员通过使用这个工具能针对一个具体的应用,在编码时就自动生成相应流程,同时检测这个流程的逻辑合理性(如:是否有启始节点、结束节点,是否有孤立节点等)。在设计编码阶段,程序员能修改由这个工具生成的流程,而且这部分工作也不需要编码,在修改完成之后还能进行流程逻辑检查,提供给最终用户使用的流程监控模块(注:这种监控指针对某一份具体文档而言)。而利用这个工具,程序员能建立指定范围内、指定流程类型(如:收文、发文)的专用监控平台。
另一方面,用户可以利用该工具实现工作流程设计,通过挂接相应表单的方式,实现简单的工作流应用。用户在使用这个工作流时,可以根据需要和权限对既定流程进行调整,以及利用该功能进行对权限范围内的流转文档进行监视、控制和流程调整等。
该部件的主要功能是建立工作流监控中心。利用这个工具,程序员能建立指定范围内、指定流程类型(如:收文、发文)的专用监控平台,通过这个监控平台,用户可以具体查到:当前用户权限范围内指定的文档流转信息、自动提供阻塞告警和疏通手段、流转统计信息。用户能根据需要对监控的内容进行调整,并且能进行LOG文件分析、输出。
该部件的主要功能是实现基于OOP的工作流驱动中枢(DRIVER)。该构件仅仅在程序中使用,本身仅有维护界面。利用该工具能以OOP的方式对工作流进行驱动。
该部件的主要功能是公务授权。该功能主要提供给用户授权用,同时作为系统管理员能通过这个工具对指定时间、范围的授权情况进行监察,具体包括:公务授权、权限回收、授权约束、授权日志(LOG)、相关统计工作,其中前三项都是给最终用户使用的,只有最后两项是给系统管理员作的。
该部件的主要功能是建立、修改组织机构图。这个功能是实现OA的基础工作,其中可以包含:人员隶属关系、岗位对应关系、岗位权限定义。上述工作,对于程序员而言必须在设计具体应用流程之前就必须完成,而对于组织结构的修改是和流程调整密切相关的,这部分工作通常是用户自己完成。
该部件的主要功能是弥补在NOTES无法进行符合实际操作习惯的“批阅”功能。课实现的许多‘批阅’功能包括:痕迹保留、查看权限控制、清稿等功能,并且这些功能可以和NOTES较好的结合起来。
该部件的主要功能是弥补了在NOTES中无法直观的进行对统计结构查看、对比、打印等功能。有了这个构件之后,用户可以对统计结果进行模拟显示、打印输出等处理。
该部件的主要功能是可以使系统管理员对每个使用本系统的人员进行主菜单的定制。这种定制功能,在实际使用当中是非常有意义的。一方面可以减少用户有意或无意的误操作。另一方面还可以简化用户的操作。
该部件的主要功能是对于在工作流中流转的文档,对应不同环节,有些‘域’(包括域、静态文字、ACTION、按钮等)可以进行灵活、动态的显示、隐藏控制。
由于实际工作当中,一份文档中不同部分是由不同环节对应的不同的人共同填写完成的。因此,如果在程序中将这些显示、隐藏公式写成固定格式,将不利于今后流程的动态调整。在有了这个构件之后,这些界面元素的显示和隐藏都是灵活可控的。而这些调整将和程序无关。
3.核心模块的设计模式
有了工作流驱动核心模块的这些构件,可以解决如下设计工作流时经常碰到的问题:
1)设计日常工作流中常遇到的各种流程逻辑(如:顺序流程、条件流程、分支流程、循环流程)
2)实现流程的追回、退回(注:不受流程的限制,后继节点总能将流程状态退回到前驱节点,同样前驱节点能将流程状态退回到本步骤)
4) 文档分发流程(注:关于发出的文档如何合并,必须程序员根据具体要求进行处理)
5) 文档归并流程(注释同上)
5) 公务授权
6) 例外抛出
7) 流程修改
8) 流程监控
9) 工作流监控中心
10) 流程疏导
11) 流程临时变更
该部件件是配合NOTES进行批阅管理而设置的,通过类似于PHOTESHOP分层作图的方式,进行有权限控制的批示信息管理。
在工作流运转的时候,通过调用该构件,实现批阅功能。利用这个功能,用户可以使用手写笔对需要批注的文章进行‘批注’。这些批注信息会和这份相关的文档‘绑’在一起。而且由于是进行分层处理的,因此用户既能方便进行批示意见的查询,又能快速的进行清稿出理。
为了实现用户界面定制功能,在设计引导菜单时,抛弃了传统的‘导航器’方式。转而采用‘表单’方式,通过对‘表单’上的各个界面元素设计隐藏公式,来实现用户菜单定制功能。
为了使用户使用这个定制功能更方便,采用GUI界面作为表现形式。内部数据的存储和处理都放在NOTES内部。具体涉及到DAK和STARTUP两个数据库。对于每个用户所需要进行隐藏处理的菜单都放在DAK的每个人对应的文档当中,而所有菜单选项则从STARTUP数据库中取出。
本构件的设计原理和实现手段和‘主菜单控制器’一样,只是具体使用的对象和目标不同。本构件的目的是简化程序员的开发难度,通过使用该构件能有效的保障软件的适用性。
4.核心模块设计的意义
工作流包含两方面的内容:工作、流。并且这二者之间是有着联系的。经过以上步骤,还只是解决了流的问题。为了要实现承载与流程之上的工作处理,还必须进行相应处理,才能最终完成一个应用。这时,需要对生成的每一个应用再进行深一步地处理。这时需要做的是对“工作内容”子表单进行修改,如子表单上的域,子表单上的事件,子表单上的操作以及操作的权限等内容。
经过生成组织结构树、生成工作流、设计表单界面元素的显示/隐藏、调整每个用户的启动界面等几个步骤,就可以建立一个实际的应用所需要的流程了,而且这流程能实现流程动态调整。并且还能提供实际工作当中所需要的流程追回、退回、跟踪、监控、统计等功能。这些功能既方便了最终用户的使用,同时也是程序员能灵活的根据用户的需求进行流程调整,而且这种调整与程序修改无关。这样将大大延长本软件的使用寿命。
参考文献:
[1]甘涛;基于蓝牙的结晶器振动检测系统研制[D];浙江大学;2010年
[2]戴庆锋;基于AHP层次分析算法的教学质量评估系统设计与实现[D];南京理工大学;2010年
[3]董静;基于特征与广义拓扑模型的城市行车规划研究与实现[D];沈阳工业大学;2010年
[4]陈海力;长江ECDIS符号标示库编辑系统设计与实现[D];大连海事大学;2010年
[5]庞伟屹;基于单片机的传输带动态称重系统设计与实现[D];河北科技大学;2010年
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回通信学论文列表