摘要:
本文所述方法概念属于计算机应用领域。
本文对当前工作人员所依赖的办公自动化OA进行了长期的深入接触和分析研究,提出闪速工作LOA概念。文中论述了闪速工作概念在目前工作办公领域中的必要性,并给出了一整套可行的解决方案,目标是使工作人员的劳动功效提高70%以上,尽可能让计算机完全代替人的工作和劳动,凡是计算机能做的事情都交给计算机去做。为了清楚表达,新建的专有名词有:闪速工作LOA、高度办公自动化、工作部、闪速工作人员(简称闪工人员)、闪速工作工程师(简称闪工师)、闪速工作软件(简称闪件)、专业工作软件、网络验算、28开发方法、成就型开发方法、个人工作信息化等。闪速工作概念将帮助工作人员实现高速办公自动化和所使用软件的智能化和高度智能化,以大幅度提高劳动功效。
工作人员是指:所有利用计算机工作的人员。例如,广大办公人员、各类专业工作人员、机械操作人员、野外工作者等。
劳动功效是指:工作效率、劳动强度、复杂逻辑。
复杂逻辑是指,工作人员在工作的同时还要考虑复杂的专业逻辑关系。工作中应尽可能避免重复的复杂逻辑,以最大程度减轻工作人员长时间的精神压力。
功效提高是指:工作效率的提高、劳动强度的降低、避免复杂逻辑周而复始重现(即避免重复考虑复杂的逻辑问题)。
闪速工作概念的目标是使工作人员的劳动功效提高70%以上,这意味着:工作效率提高70%以上,劳动强度降低70%以上,并且同时避免重复的复杂逻辑,从而也避免由于长时间面对电脑屏幕及其大量鼠标键盘操作所带来的各种职业病。
关键词:计算机应用;办公自动化;OA;软件开发;代码; 智能化
中图分类号:TP31、TP39
闪速工作LOA(Lightning Office Automation),也就是高度办公自动化,二者意义相同,只是前者更形象化。本方法所指工作就是办公自动化。闪速工作概念LOAC(Lightning Office Automation Concept)是高度办公自动化的形象描述。智能化包括工作过程的智能化和复杂逻辑的智能化,工作过程的智能化主要是减少大量的重复操作,复杂逻辑的智能化是降低逻辑复杂性和重复性。工作人员在工作过程中所使用的一切软件统称为工作软件。LOA的基础是工作软件的高度智能化,这就是闪速工作软件LOAS(LOA Software),也称为闪件。闪件的标准就是高度办公自动化。LOAC是以闪件为基础的,因此需要闪件支持。满足闪件标准的一切软件是高度智能化的,使用高度智能化软件以实现高度办公自动化,从而使得工作人员的劳动功效大幅度提高。
办公自动化OA主要指的是操作方面,而智能化办公还包括复杂逻辑的计算机实现和工作过程的计算机实现。
闪速工作和闪速工作概念均简称为闪工。这里将计算机专业外的其它专业统称为领域专业,闪速工作概念期望工作人员同时具备这两个专业方面的知识,并把计算机充分应用到领域专业工作中去。某一领域专业的工作人员在工作过程中使用的属于所从事的领域专业方面的软件称为专业工作软件。既懂领域专业又懂计算机软件开发技术[19-22]并能达到闪速工作水平的人员称为闪速工作人员,简称闪工人员。具备LOAC条件的双专业(即领域专业+计算机专业)人员,能够识别和熟练编写出大量闪件并能在领域专业工作中运用自如的闪速工作人员称为闪速工作工程师,简称闪工师。闪工师的其中一个重要作用是能够指导和带动一般工作人员实现闪速化工作,使得企业效率上一个新台阶。企业应当首先培养出一批闪工师以推动企业发展。当前的计算机操作系统和办公自动化OA给工作人员提供了办公自动化环境,工作人员主要依靠鼠标、键盘等输入设备利用系统提供的功能进行工作。目前的大中型办公自动化系统所提供的功能一般都是通用的、面向群体的,一般不会考虑具体某一个人(或细的分支专业,也可称为叶专业)的使用问题。因此,对于复杂的任务,工作人员主要是利用多种系统提供的软件功能通过大量的鼠标、键盘操作以及系统的来回切换去拼凑着完成一项任务。例如书写专业报告时,建立文字文档需要一个系统,而文档中的专业插图可能需要另一个系统去完成,其中的有关计算内容还需要再一个不同的系统去完成,专业逻辑方面要使用专业软件去实现等等。相比较而言,对于有软件工程[10]能力的领域专业人员可以开发出一些完全符合自己习惯的专业工作软件,这样的专业工作软件用少量的鼠标键盘操作就能轻松快速完成同样的工作任务。对于一些人,可以利用系统提供的宏功能和二次开发接口通过编写代码辅助工作,也能大幅度减少鼠标键盘的操作,但对专业逻辑可能无能为力,即宏功能和二次开发基本上仅限于操作层面上。专业工作软件可以在操作系统下不依赖于且独立于某些OA系统单独运行、其中包括可以调用某些OA系统的组件,也可以利用系统提供的二次开发接口编写出依附于OA系统运行的专业工作软件。
“闪速”一词是给人们一种直观的表示计算机能闪电般的帮助人们快速工作的形象描述。
LOAS要充满智能化思想,不仅考虑专业技术的实现,更重要的是要结合整个工作过程的高度智能化,让计算机尽可能多的代替人的劳动。实际上,能在极短的时间内代替人工完成大量工作的计算机算法语句、代码段、宏、DOS命令[1-2,17]、程序、现有系统软件功能,不论其代码规模大小,只要符合闪件的高度自动化标准都属于LOAS,其中有的可能需要进行简单的修改或编程组织后成为LOAS,有的直接就可以成为LOAS,这些统称为已知的LOAS。仅凭已知的LOAS是远远不够的,在具体的实际工作中往往仍需要开发大量的闪件以满足工作的需要,闪速工作概念提倡工作人员自行开发自己工作中所需要的闪件。不同的专业有不同的专业闪件,也有相同或相近的公共闪件,专业之间可以相互参考使用。
LOAC是帮助人们建立起一种主动利用信息化手段实现高效自动化工作过程的概念,让计算机在极短的时间内替代工作人员自动完成更多的工作;这里的信息化手段主要是指配合本职工作的软件开发和充分利用软件进行工作,大量减少鼠标键盘等人工输入设备的操作和避开工作中的许多重复复杂的逻辑思维烦恼,使工作人员的繁重脑力劳动和精神压力获得释放,使劳动功效得到大幅度提高;并且避免由于长时间面对电脑屏幕及其大量鼠标键盘操作所带来的各种职业病。尽管信息化概念已经被人们所普遍重视,但由于在没有普及信息化技术之前人们那种自然而然地、自觉不自觉地、本能地在既有办公条件下主要通过手工劳动完成任务的习惯,决定了人们被动使用信息化技术。这当然也和人们对信息化办公技术的理解程度有关,更和人们各自所掌握信息化软件及其开发技术水平高低有关。因此,从而造成很多人都会固然认为,办公自动化就是利用鼠标键盘完成工作,既然叫办公自动化,那就是最快速最方便的工作方法,一般不会意识到还会有更高效的办公自动化方法。例如,偶然有人拿来一个小的专业插件,它能自动迅速完成一个项目的某个或某些工作部分(简称工作部)。并且,这些工作部是人工很难做的、思维很苦的,但安装以后却仅需要很少的人工操作,且很快就完成了一部分艰巨的工作,而这部分工作可能是在利用现有办公自动化环境下很难实现的,但利用这个插件不知不觉就完成了任务,觉得很轻松和很开心。这里所说的插件指的就是闪件级别的专业软件,其一般是由某个闪工人员开发的。
闪速工作概念的最高境界是一键完成工作。即:点击一键就可以完成一项工作或其工作中的一个完整部分,期间不需要人工交互操作和干预,但个别的必要应答、提示除外。一项工作中的一个完整部分称为工作部。
现有的OA系统功能很少具备适合每个人的闪件,大多需要根据个人的工作习惯及管理要求改造改写现有系统功能得以实现,其改造改写现有系统功能主要利用现有OA系统提供的二次开发接口和宏功能等。工作人员应该学会充分利用这些接口和宏功能,否则,也只能利用鼠标键盘整日进行着大量周而复始的操作,既浪费时间又浪费精力,一天工作下来累得疲惫不堪。LOAC将会帮助工作人员摆脱这种困境而主动充分利用这些接口和宏功能。但,专业逻辑部分主要依靠工作人员自身的专业水平和计算机水平来自行解决,或直接利用现有的专业闪件。
闪速工作概念一词作为唯一的专有互联网网名与域名网址http://www.ldcmm.com捆绑在一起。
当前的办公自动化系统提供了工作人员所需要的通用功能,一般不包含专业功能,也不考虑具体个人或某些工作习惯相同的人的使用习惯,因为它是面向广泛群体的。
当前的办公自动化可以定义为主要依靠鼠标、键盘与计算机屏幕进行交互完成工作。存在以下问题:
1) 鼠标键盘操作量大,操作次数繁多。即,利用鼠标键盘周而复始的重复着一些相同的操作过程(例如,向一个文档中插入大量的图片等);
2) 重复性劳动很大,即对于雷同或类似的工作项目,下一次任务到来时还会要经过差不多如此多的重复鼠标和键盘操作数量以及重复相同的复杂逻辑来完成任务;
3) 重复逻辑复杂的工作,操作起来非常烦心,大脑一边要考虑复杂的逻辑关系,一边要频繁的忙于鼠标键盘操作,有时还会因此而感到手忙脚乱;
4) 在电脑上的工作时间长,劳动强度大,精神容易疲劳,一天到晚疲惫不堪;
5) 面对屏幕时间长,眼睛容易疲劳受损;
6) 长时间面对电脑不停的操作且久坐易患多种职业病,如鼠标手、手指腱鞘炎、“电子血栓”等;
7) 由于不是专业软件,因而软件庞大界面复杂,使人看上去心烦,寻找一个合适功能犹如大海捞针。
总之,目前的办公自动化是通过大量利用鼠标、键盘不停的周而复始的重复着几乎相同的工作过程而完成任务。LOAC则是希望通过大幅度减少这种鼠标、键盘的操作次数以及大量减少在电脑上的工作时间和烦心的脑力劳动去完成同样的工作任务。
大多数工作人员认为,既然是办公自动化,那就是顶峰,总认为自动化办公系统给工作人员准备好了一切,工作人员只管通过鼠标键盘等外设操作进行工作就是了,办公自动化系统中有的功能就用,没有的功能就用现有的一些功能拼凑着去完成或用过去的老办法配合解决问题,或者用不同的大型软件拼凑着完成一项工作,这就是被动使用办公自动化系统的种种原因和现状。闪速工作概念将期望明显改善目前的这种现状。
专业工作软件指的是领域专业中的办公自动化软件,是专业知识和专业工作过程的计算机实现。
闪速工作软件(LOAS)一般是由既精通或熟悉专业领域又精通或熟悉计算机领域的工作人员开发的高效专业工作软件,这些软件能够极快地帮助工作人员独立完成一部分工作或多部分工作,尤其是自动完成逻辑复杂且非常动脑筋的专业工作。
LOAS要突出易用性。由所在领域的人员开发出的适合工作人员工作习惯的软件与聘请计算机软件专业人员通过沟通开发出的软件相比,前者所写软件的易用性要比后者强,因为前者能通过计算机代码直接描述工作人员的思想或思路,用算法语言记录工作人员的某些想法,通过优化考虑精炼出可执行代码,进而完成工作过程。因为再好的沟通也难免有不一致的地方,需要者和开发者毕竟不是同一个人,存在想法上的差异和某些语言表达方面的障碍。因此,弄清楚某一种专业知识的计算机人员,例如闪工师,开发出来的软件是高效的、代码量也会最少、文档更精悍,使用者易学易掌握。
闪速工作概念不是要工作人员去研究开发大中型个案软件,而是为了满足个人的专业工作需要编写出适合个人工作习惯的专业工作软件。因为,目前大多大中型软件都不会关心个人的工作习惯,都是面向群体的软件开发,提供的都是通用性的功能,并且这些通用功能是根据一种开发者认为大多数人的工作习惯的功能。然而,若不习惯这种习惯的工作人员要通过这些通用功能去完成一些工作,有时会感到很别扭,不好操作,或是操作工作量太大,在操作方面的优化不够好。自然,如果这种工作习惯脱离了相当一部分用户的习惯,就是通常有人所说的某个软件不好用,即对于这部分用户来说易用性太差。
闪速工作软件分两大类:
第一类是专业工作软件的LOAS,是由工作人员自己根据工作实际需要研发的可以在操作系统下直接运行的独立工作软件,且现有办公系统中尚没有的功能,但其中可以调用某些OA系统的组件,比如最后结果要输出的文档就可以调用Office的Word或Excel表格制作功能。这部分软件当然可以委托开发,但LOAC则希望工作人员自己开发自己所需要的工作软件。这一类软件所完成的功能也可以通过现有自动化办公系统提供的功能拼凑着去完成,但易用性远不如专业工作软件。因为,拼凑着完成一个工作部分是相当烦心和累人的。例如,建立文字文档需要一个系统,而文档中的插图需要另一个系统去完成,其中的有关计算内容还需要再一个不同的系统去完成,等等。相比之下,专业工作软件会一气呵成,无缝衔接,功效极高,可以达到标准的LOAS一键完成工作。
第二类就是现有办公系统软件所支持的LOAS功能。又分以下几种情况:
(1)现有办公系统软件中可以直接使用的能够自动完成一个工作部的功能件,如文档排序、自动构建文档目录、段落格式化等等;
(2)通过现有办公系统提供的简单正则表达式代码操作所完成的一个工作部。
例如,Word文档中去掉大量多余空行,即把连续空行替换为一个空行。在查找框中输入“^p^p…”,在替换框中输入“^p”,执行若干次即可将多个连续的空行删除,其中^p代表一个回车符,即空行。
又如,如果要删除文档中的所有插图,则在查找框中输入“^g”,在替换框中输入空,全部替换即可。
以上两个例子是Word的批量替换功能,可以参考Word帮助。
(3)利用大型办公自动化软件提供的宏接口,首先录制一段与工作部相关的简单宏,然后对宏代码过程进行必要的反复编辑、修改、试运行,最后通过运行宏完成一个工作部。
(4)利用大型办公自动化软件提供的二次开发接口,采用某种高级算法语言开发的在该大型软件系统依托下运行的LOAS。
其中,(3)则一般由工作人员自己编写程序。但如果宏代码很简单,可以直接运行录制的宏,当直接录制的宏不能很好地完成一个工作部时才通过修改宏代码达到闪速工作的目的。(4)则需要工作人员自己研发完整的程序,基本上和第一类软件的研发过程差不多,区别是需要在所依赖的办公软件系统环境中运行。其优势是,(4)比第一类软件开发起来要容易,因为除专业逻辑外,系统已经将许多底层功能封装好了,就函数级别上可称为大粒度开发,尤其是通用功能,如界面元素等不需要过多的设计和代码实现。
第一类LOAS可以处理复杂的专业逻辑,但第二类LOAS大多情况下对专业逻辑的处理无能为力,还需要配合开发专业组件,所以第二类LOAS实际上仅限于操作方面的工作闪速化。
运行在计算机底层的软件称为系统软件,例如操作系统。能够支持很多专业领域使用的软件可以称为大型应用软件或大型办公软件,例如Office软件和Autocad软件等。只能够适用于某个专业工作的软件可以称为专业工作软件或小型办公软件,例如,类似地面工程变形监测[3-8]方面的软件系统等。第一类LOAS软件和大型应用软件位于同一个软件层次,都是可以直接在操作系统下运行的独立软件。
第二类就是在现有办公系统软件支持下运行的LOAS。
LOAC提倡工作人员自己编写工作人员日常所需要的各种工作程序[16,18],根据工作人员的工作需要开发,这就避免了因聘请软件开发者进行开发时两个专业之间的沟通困难、开发周期长等缺点,并且避免了大量多余软件功能的开发实现过程,并能对工作人员需要的开发功能精雕细琢、精益求精,使之完全适合于工作人员的工作习惯和工作过程。采用面向对象的开发方法[24,26](俗称OO方法)使得对软件的修改和扩充也更加容易。
工作人员紧密结合实际工作情况,随时需要随时开发、近期需要近期开发,未来需要则抽时间开发,不需要的软件功能当然就不开发,并且没有多余的软件功能和界面元素扰乱眼睛,正好够工作人员自己用。因此,界面是简单清晰的,赏心悦目的,无烦躁心里。避免了面对一个眼花缭乱的并不需要多少功能的但又极其复杂的界面而心烦。
从事相同工作的工作人员所需要的LOAS之间容易移植。当一个人使用的觉得非常完美的LOAS若让另一个人使用时,则另一个人可能还需要稍加修改,但这种修改是很容易的。这就是因为人与人之间的差异,主要是习惯差异、水平差异,其次还可能有生理差异等。
有时,对现有的闪件仅仅修改几个字符或个别语句就有可能完成不同的工作部,在工作实践中这一点很可贵。
的确,有时候,一个工作部分可能只需要几句代码就可以迅速完成大量工作,但人们往往缺乏这种自觉认识(参见例子1)。
工作人员编写的专业工作软件的最大优点是,紧密结合工作人员的工作实际,功能简练,高度集中,正好够用,没有多余的功能和多余的界面元素,尤其没有大量多余的代码,开发周期短,又由于日久积累,适合个人的自编实用组件也越来越丰富,开发效率逐渐提高,甚至可以达到立竿见影之效果。而且,软件错误少,定位错误也容易,并可及时纠正。同时,操作简单,极易掌握,软件小而精,运行速度快,可扩展性容易,调试也简单。然而,软件开发单位写的专业工作软件,开发周期长,存在交流障碍,当遇到错误又无法及时修改纠正,还要进行过多的思考,甚至还会因此怀疑是否工作人员那一点还没有学到学好而引起错误发生,所以又去翻阅大量的软件文档和专业资料去进一步确认,当花费了大量的时间把问题搞清楚是属于软件缺陷或软件尚无涉及时,工作也就耽误的差不多了,而且也只能等待和寄希望于漫长的下一版的升级改进。
另外,软件开发单位编写的软件为了展示自我,总是把软件界面开发的越复杂越华丽功能越多好像越好。结果造成繁多复杂的界面功能元素,操作难掌握。而对于某一个具体工作人员来说绝大部分功能都是多余的、没用的,也要天天面对那些大量不需要的界面功能元素,眼花缭乱。在大量的界面元素中寻找工作人员所需要的功能非常烦心,虽然不能比作像大海里捞针,但在这方面确实会浪费不少时间和充满焦急感。然而,自编软件只会在界面上显示工作人员需要的界面元素,界面简洁,工作起来操作轻松快捷。
由自编软件的特点和优点可知,当找不到所需要的闪件时,应该自行开发,只要不是涉及底层开发这并不太难。况且,现在大部分底层功能都已经封装好了,采用高级语言编写接近底层软件功能也不成太大问题,更不要说工作软件开发了。例如,现在的打印功能调用、界面生成等就很简单。
自编软件可以整合现有系统中的一些组件和具有闪速工作的功能代码以实现更大粒度的闪速工作软件。大型系统中的某些具有闪速工作的功能,例如排序、构建文档目录、段落格式化等,提供了专门的调用接口,使得工作人员利用代码也可以实现像在界面上点击功能钮一样的效果,并且通过代码编写还可以增加工作人员感兴趣的和其它所需要的东西,这就为工作人员整合更大粒度的闪速工作软件奠定了一定基础。
其实,即便是已经有的闪件功能,例如在Word文档中的排序功能,对于不同的用户,可能还觉得不够完美,可以通过再编程以达到符合工作人员需要的排序功能。比如,可以通过排序编程自动删除重复记录仅保留一条记录,或保留若干个重复的记录,或按每个记录中的某个相同关键词所处的位置排序等等。总之,会编程配合工作是极其灵活的,仅仅依赖现有系统主要通过鼠标键盘周而复始的操作完成工作太死板、太费时、太累人。
自编软件几乎不需要学习软件文档和操作技巧,随即开发随即使用,对于软件的熟悉过程很短。开发单位的软件可能需要更多的时间去学习软件文档和操作方法,并且存在一个长时间的熟悉过程。
LOAS的开发不是让工作人员具有开发大中型软件的基础,而是让工作人员学会在大型办公自动化软件环境下通过小规模编程以协助其日常工作快速完成。所以,LOAS的开发有其本身的特点,不像大中型软件的开发必须文档齐全。专业独立工作软件一般也是规模不大的软件,这样的软件可以效仿大中型软件的基本开发过程,但有些环节是比较简单的,比如系统分析,由于开发者对于工作人员所从事的领域专业了如指掌,没有必要把系统分析文档搞得那么细,因为软件写出来主要还是工作人员自己用或相同专业人员使用,工作中一般不会去看这些文档,也就是这些专业工作软件的文档已经早已融化在工作人员的工作当中了。但是,如果工作人员开发的软件还希望别人(如相近专业的人员)使用,则也只需要把重点的地方,即与同专业的用户可能发生歧义的地方描述清楚就可以了,也没有必要长篇大论,因为使用专业工作软件的人与开发者是同一个专业或相近相关专业。其实,即便是同一个专业的用户,对于软件的使用过程和习惯也不尽相同,例如使用者可能希望根据工作人员的工作习惯重新安排界面元素,功能的先后顺序需要调整得符合工作人员已经早已建立的模式等,这时,使用者可能会需要通过少量修改专业工作软件使之符合工作人员的工作习惯,这时,文档可能会起一些参考作用。
LOAC提倡LOAS“不讲理”的文档结构。也就是,不需要过多过细的讲述原理,仅重视操作方法易上手,的确对操作方法有明显帮助的原理,也是概括性的提一下。这也可以说是专业工作软件的一个特点。
闪速工作软件的文档易短不易长,更提倡短小精干的文档。
用好一个软件版本,不要轻易转去用新的版本,不要以为新版本都好,不要去赶那种时髦。软件开发可能不同于其他,软件版本的改进,结果可能是改退,原因是开发者的愿望可能在某些主要方面违背了一些使用者的意愿和习惯。因此,除非通过试用新版本确实比老版本优越,并且解决了疑问,方可转新版本使用。也就是,此两个版本要并行相互参照使用一段时间。
也有这种情况,由于软件的开发者不是真正的软件使用者,或者开发者和使用者的专业不同,免不了会出现一些闭门造车的情况,使得上一个版本很好用的功能被“改进”的退步了、难用了,就像一个乐感差的演奏者感动了工作人员却并没有感动观众一样,开发者变成了自我欣赏,自觉很满意。
一般用最少的几个值试验的结果就能代表总体的结果,这种方法称为小例子法。了解这一点能为审查编程逻辑节省不少时间和精力。
例如,根据笔者多年的编程调试经验,在编写循环程序块时,一般人工用3个循环变量值代人循环体所得到的结果正确,这个循环体就是正确的。问题是如何从理论上证明,当循环变量n的值足够大时这个循环体的代码逻辑同样是正确的。
一种是方法模式,另一种是代码模式。
方法模式可称为工作方法,是利用现有软件中提供的一些直接功能方法而不需要写代码或辅以极少量简单代码就能大幅度提高工作效率。代码模式则需要工作人员实现程序的编写工作,这是一个工作人员所具有的专业技能和计算机技术相结合融会贯通的结果,包括简单的软件分析和设计。工作人员可以使用这两种模式快速完成工作。
方法模式以鼠标键盘操作为主,主要使用系统提供的现有功能或辅以少量代码进行工作,如命令、宏或简单的正则表达式代码、简单的批处理、DOS下的命令操作等。就像Word中的查找替换和删除空行的例子等。又如文档目录结构的自动构建、页码自动插入等等。
代码模式则以代码为主,辅以极少量鼠标键盘操作,通过运行代码迅速完成工作。代码模式又分两类:
一类是系统中现有的,但需要整合,如需要执行一系列DOS命令完成一个工作部,就需要编写较为复杂的DOS批处理程序或采用高级语言的调用功能来实现。另一类是根据工作人员需要开发的程序。例如,首先录制一段宏(或找到一段相关的已有宏代码),然后对宏进行修改,使之满足当前工作部的迅速完成;利用二次开发接口编写的插件;工作人员自己开发的独立运行软件等。
LOAC倾向于代码模式,因为方法模式主要是系统中已经有的功能,有的尽管能完成相同的功能,但不一定方便,因为它是面向大群体的开发,不是面向个人的或专业的,系统所提供的是公共性的功能。因此,现有系统中的功能虽然甚多,但具体到个人直接应用的却很少或不好用,并且工作人员很需要的却往往又没有,这主要指专业性很强的功能。现有的大型办公系统功能繁多犹如浩瀚的海洋,个人想找到需要的功能往往要大费周折,通过层层菜单、选项卡等去一个一个的试用。
对于方法模式,有的系统功能可以直接使用或经程序组合后使用,有的可能很不适合个人使用,由于面向群体开发,选项卡、选项、菜单等可能很多,并且还会存在工作人员需要的选项却没有。使用这些系统功能产生的工作成果往往还需要经过手工编辑修改,不能一次成型,有时候甚至还不如工作人员开发一个完全适合自己的更小的程序来迅速完成工作会更快更好。对于完成同一个功能而出自不同软件开发单位的几个程序,往往会听到一些使用者反映说,那个程序不好用,不如另一个好用。而代码模式则是完全适合于当前操作者的,因为这些操作者既是领域专家也是计算机高手,二者居于一身写出来的代码和结构不存在沟通问题,其既没有太多的多余代码,且功能性和健壮性都是很强的,尤其掌握了面向对象的软件开发方法,有了不足之处还可以迅速完成程序的修改,出现程序错误也会很快完成定位,经过不长时间使用后会完善为很完美的闪件。
不过建议,现有系统中适合于工作人员工作的高效程序功能、命令、宏、正则表达式和高效代码片段等应充分利用,只有在方法模式无法快速高效完成工作时才考虑采用代码模式写闪件完成工作。
必须指出,对于完成同一项工作来说,独立运行的程序要比系统提供的相同功能快得多。因为,后者需要在系统框架下运行,而大型系统是非常占用和消耗资源的。例如,一篇文档中的多余空行删除操作,对于一个有5M大的文本文件,若用高级语言编写一段程序删除这些多余空行可能只需要一分钟以内就可以完成,但若在大型系统,如Office Word中删除它们可能需要30分钟以上的时间,甚至有时由于要处理的文件大,对于不同配置的电脑会造成长时间不响应像死机一般数小时得不到结果,并且影响电脑正常使用,由于使人不堪忍受,最终不得不被人工撤销运行另想办法。若经常需要这样的操作,就不如写一个独立运行的删除空行的程序功能。
因此,两种工作模式在性能上是大有区别的,有些时候,尽管系统中存在第一种模式的功能,但还是需要第二种模式。就像上面对文本文件中的空行处理,若这样的文本文件比较小,则第一种模式也能很快完成,但对于经常需要处理相对比较大的文本文件的空行处理,只有采用第二种模式才最合适,即工作人员应该写一个空行删除程序。
从LOAC出发,工作人员所期望的未来办公系统面向个人或叶专业,而不是面向尽可能大的群体。因为,这就像一麻袋豆子,从中挑出哪些存在异常的豆子该有多烦心和费时费力。如果有一种方法能够直接把这些可疑豆子过滤筛选出来,不用人工一个一个去挑该有多开心和省事省力。这里的“有一种方法”正如我们所说的闪件。而从一麻袋豆子中“人工一个一个去挑”那些有异常的豆子就像在现有大型办公系统这“一麻袋豆子”中找一个专业工作人员需要的那点功能。
并且,同一个软件功能对于使用它的人来说其操作方法和操作过程以及习惯、认知都可能会大不相同,每个人都有自己的习惯和特点。例如,在界面上,有的人希望按照工作人员的习惯和意愿进行组合,并且只希望工作人员需要的功能出现在界面上,不需要的功能请到后台或隐去,即直接从界面上删掉。还有的人希望按照工作人员的使用频率将软件功能分组,如可以分成两个层组,使用率最高的功能放在最表层界面,使得在使用时只要点击一次鼠标就能启动命令,而使用频率相对较小的可以放到二级菜单中或折叠控件内,使用时只需要点击两次启动它们。当然,还可以建立第三层组,但是这里不建议建立过多的层组,因为启动一个命令要进入多层级才能找到使得工作起来不会方便,由于寻找层次一多、时间较长,容易忘记当前马上就要做的事情,还要回想,很烦心。如果分两层组考虑比较合适,因为寻找命令的时间短,不会很快忘却当前已经构思好的工作顺序和要准备操作的功能命令序列。
LOAS是面向个人的开发,这时候自然会希望软件开发者面向个人应用这方面靠一靠,使具体工作人员容易利用其提供的二次开发接口通过再编程更加容易实现闪速化工作。因为,大中型OA商的程序库很完善,能够组合出更完美的解决方案,以解决工作人员的诸多难题,其类函数经过了充分的优化,问题少,比工作人员自己写的同等类函数要精炼得多、健壮得多。
界面的华丽、优秀与否是次要的,而软件在使用上的方便性、可用性、健壮性是具体工作人员最为关心的和需要的。
建议一种LOAS最适宜的开发方法——成就型开发方法。
LOAS适合于原型化开发方法,最初可能是从几句代码开始逐步演化,首先完成一些当前工作中最需要的功能,然后逐步演化为几个函数,再进一步归纳成类。这样的开发方法是把系统分析、软件设计、代码实现、实际测试和应用浑然一体的开发方法,甚至是比原型化开发方法更一般化的软件开发方法。因此,是一种边开发边应用的方法。等到一个专业生产项目完成以后,对软件的一次演化也可以告一阶段,接下来就是对软件的优化和发展,以便遇到类似的专业生产项目就可以迅速完成。
比原型化方法更适合于LOAS开发的方法可以称之为成就开发方法。在软件原型化开发方法的基础上,配合28开发方法,以首先迅速完美解决一些迫切需要解决的生产项目工作中的问题,这样就有了成就感,在有成就感的基础上也就会信心十足的实现快速的开发增长速率。LOAC的闪件开发更适合用这种成就型开发方法。因为一旦有了成就感,工作起来自然就会上心、主动性更强。
LOAS开发环境要求高度集成化,高度抽象化,使得一般工作人员很容易写代码,入门容易,并照顾到性能,不能让操作者在执行代码过程中等待太长的时间。例如写少量简单代码就可以完成一项任务,执行速度应该尽可能的快。
按照高度集成和高度抽象这一原则,一些大型开发环境一般都支持一些这样的功能,但也大多都是公共的功能,例如操作打印机、扫描仪等,它们大多都是提供以类函数为基础的开发资源。环境软件开发商应该再在此基础上生产出面向专业领域的开发环境,这样,各类工作人员掌握开发符合工作人员习惯的LOAS就会变得更容易。或者使开发者工作人员能很快的由大型开发环境剪裁、组合出工作人员需要的小环境,或由开发商技术服务指导快速实现剪裁和组合。
一般不进行底层调用,使用高级语言,例如微软公司的VB和VBA、C#.Net,Autodesk公司的Lisp、Autolsip、C#.Net接口,还有Matlab等。但它们都不是完全面向个人的开发环境,是面向群体的开发环境,可以通过设置达到个人使用的目的,但比较复杂,不是很方便。面向个人的开发环境,应该能够很方便快捷地组合出适合于一个开发者使用的简单界面元素组合,并且界面上不保留多余的操作(控件)元素。因此,方便的裁剪组合功能是迫切需要的。
不能把软件的一些缺陷转嫁给使用者的客户。因此,使用者和开发者心里都应该清楚以下几点:
一旦客户在操作过程中出现了非法操作,这都不是客户的错,而是软件开发者的责任,是软件的健壮性做的不够。所以说,不是客户误操作了,而是开发者对那个软件问题就没有设计好。所以,软件开发者应该承担客户误操作的责任。好的软件,在遇到客户操作不当时,会正确地给予提示或做好后台自动处理规避工作,并自然引导客户知道下一步如何做,而不是造成不响应、死机、程序自动退出、数据丢失等。
因此,软件设计要避开输入设备的无意中的动作而不要让客户进行响应,并且一旦工作人员的程序启动,则只处理对本程序有关的消息响应,尽可能过滤掉与本程序无关的事件动作进行忽略或不作处理。
工作人员在一生中所从事的工作,根据专业化的特点,具有一定的知识集合范围,在这个集合中,某个知识点的输出数据可能是另一些知识点所需要的输入值,通俗一点说就是成品调用。当工作程序越来越多时,可复用的功能、过程、函数和程序模块也越来越多,使得工作人员以后的工作会越来越优秀、越轻松、更快捷,工作质量也更高。随着工作的不断进展,工作程序的积累也越来越多,这些工作程序是工作人员工作经验的积累,这些经验中,大部分是工作人员所从事的专业领域工作经验的积累。
知识的积累实际上也是通过设计计算机代码记录存储工作人员的方法和智慧。
由于工作软件的开发主要由工作人员在完成当前工作任务的同时自行完成,一般不需要额外投资。所以,如果工作软件开发能够多次复用,就值得开发。如果因为开发这个软件影响到当前的工作不能按期完成,则可以考虑采用后开发或叫延迟开发。即,当前的工作利用现有系统首先完成,同时为了后开发做好必要的准备,把当前的项目工作过程作为有针对性的系统分析并顺便做好开发大纲。如果开发一次仅仅使用一次或少数几次,则就需要考虑是否有开发的必要。但是,如果有商用价值,则也是有开发价值的,因为正好从生产实践中捕捉到一个开发研究课题或项目。
如果不能大幅度提高工作效率,但只要可以提高工作质量,减轻劳动强度,明显降低工作复杂程度,简化工作过程,轻松完成一项工作,都是值得开发的。
当完成一个工作部时,若现有系统中没有可用的功能,并且通过其它途径也找不到满足当前工作人员要求的工作软件,或存在购买现有工作软件的经费不允许时才考虑去自行开发。
如果能够找到相同功能的现成软件而需要付费,这时就应该在购买和开发之间做出选择,在效益最大化的前提下考虑是否需要开发。
在分析和规划某个工作人员或某个专业工作的同时可能会独立出一些专题开发,这些专题应该另立出来开发,不能影响当前的工作。所谓专题,就是开发的时间和周期相对较长,不适合软件开发和当前工作一起走。闪速工作概念推行的前提是在不影响当前工作完成的情况下二者一起走。如果程序开发出来以后工作时间已经失去,或影响了生产合同按时完成,那就不是闪工所倡导的。因此,对于实现闪工的过程中要权衡新遇到的工作部是否可以用闪件实现,若能实现,开发闪件是否会影响到当前实际工作的完成,要在工作时间和开发时间两者之间做出充分的估算。如果一个工作部在当前工作中无法正常实现二者一起走,将作为一个专题提出来,并在工作的同时将该工作部的系统分析方案做出来就可以了,这花费不了太多工作时间,而是顺便利用实际工作时作出可靠的分析,以便随后专题开发,如果开发的规模比较大,还可以考虑是否有必要交由软件开发公司去帮助实现。
一键完成工作模型为:原始数据→变换器→结果集。即,提交原始数据,点击一键执行,得到所需要的结果。一个工作部同样具备一键完成工作模型的特征。
原始数据如果计算机无法自动获取或产生,则必须由人工提交给计算机。
变换器是对输入数据进行加工变换,然后得到输出数据,输出数据也就是结果集。
变换器一般是一个复杂的逻辑结构体,是在专业领域内为完成某些工作任务所必须的专业知识的计算机可执行代码。例如原始数据合法性检查,数据转换,根据某一数据结构进行数据重组,大量的计算,画图,数据库操作和网络访问等等。例如测量内外业数据的检查,坐标变换,将数据文件中的测量数据放入数组中以便进行大量数学运算后按一定比例尺自动绘制地形图,原始数据和结果数据的入库,必要时还可以通过网络自动把结果集发送给有关人员,例如管理员和领导层,还可以通过及时发送短信告知管理层对重要问题的请求、报告工作进度等。
结果集是原始数据经过变换器处理所得到的各种应用结果,这也是一键完成工作模型的实际效果,根据工作需要有不同类型的结果集,如数据文档、图像、科学统计指标。对于具体的测量工作,其结果集中包括图件、应用数据、质量评定、问题检查记录和处理结果以及日志文件等。
一键完成工作的处理过程可能需要操作者与计算机进行必要的应答,回答一些必须的问题,这些回答多为“是”、“否”,可以在界面上安排选项,例如用选项钮、检查框、组合框等进行选择,或者让操作者给出保密信息等。这些回答也可以预先做成一个应答文件让计算机去自动读取,这样在运行的过程中就不需要回答问题了,然后点击一键直接完成工作。
必要时,可以把应该一键完成的工作分解成几键操作来完成。例如,在一键完成时是把原始数据文件预先告诉工作人员放到一个规定位置,但这样做一是有的人感到不自由,他们希望数据文件不规定具体的位置才好,习惯通过浏览找到原始数据文件的位置,二是增加了程序运行的神秘感,对于计算机运行机制不太熟悉的人来说难以理解。因此,可以把一键完成的命令增加一次选择原始数据文件的机会。即执行命令后,由操作者浏览到工作人员知道的原始数据文件所在的文件夹去选择它,然后确定即可。这些可以看作是一键完成模型的微小变化。
一键完成工作是完成一个工作部或者全部工作。
一键完成工作的完整实例可参阅杨浩的《相对变形测量(工程实践与研究)》(郑州大学出版社2016年出版)一书。
(1)客户功能菜单的定制与层次
作为开发商,软件版本开发结束提交用户使用,应该做到:当用户打开主界面时不是让用户面对一个极其华丽的琳琅满目的界面元素束手无策而发呆,应该是引导用户一步一步去组合出工作人员所需要的界面元素,多余的、无用的功能元素一律不在客户的界面上出现。定制时,偶尔用到一次两次的功能元素放到菜单的最低层,比较常用的功能元素放到菜单的浅层,经常用到的使用频率高的功能元素放到客户的主界面上,用归类工具条或零散图标均可,根据需要而定。这些经常用的功能元素,因为使用频率高一般以直接单击鼠标一次便可以运行为宜,也可以用键盘快捷键操作。
因此,客户界面元素建议一般分三层:界面上的直接操作的是使用频率高的功能,经常用的到但使用频率较低的放到归类菜单中,偶尔用到的功能放到归类菜单的二级菜单中。但,这不是统一规定,仅是一种经验参考。
归类菜单指的就是平时所说的菜单条,把同类功能放到一起。对于某一个具体用户来说,所用到的功能总是极其有限的,所以建议分三层比较合适。
也可以给客户一个剪裁的定制方案,按照专业划分,逐级展开,直到适合于某个专业的分支专业(也可称为叶专业),即作为一个工作人员经常从事的工作为止,提供一个缺省的界面,这个缺省的界面只适合于一个人的专业,尽可能考虑其所使用的功能,然后客户可以根据此裁剪不需要的功能,只留下工作人员日常工作中所需要的功能,这就是日常界面。
(2)最少的界面元素
从日常界面上去掉多余的功能元素(元素,指的是命令图标、按钮、选择框、选项扭等控件)。
目前的办公自动化系统使得具体工作人员面对一个复杂的包括大量冗余功能的界面元素,而LOAC的界面则要求简单、简洁,对于一个工作人员来说没有多余功能的界面元素。
对于一个工作人员来说,工作需要的软件功能元素可能是当前这种界面中的一部分,有的功能元素可能根本用不上,却仍然要在界面上一直保留着,影响了工作人员的情绪,因此应该下决心来一次净化,使得只保留具体工作人员所需要的功能元素,过滤掉不需要的功能元素。无用的功能元素越多,则越会影响工作人员的情绪,因为每次要找到当前所需要的一个功能,眼睛总得一个一个扫描排查掉没有用的功能元素,直到找到工作人员迫切需要的那个功能元素,这个过程既烦心又大大浪费精力。如果这个功能元素当前用的很频繁,眼睛的命中率会因为多余的功能元素干扰而降低,最终会增加工作人员的疲惫感。如果界面上这些多余的功能元素没有了,工作起来会感到轻松很多。
总之,对于界面的操作应该是最少的用户输入,最少的用户干预,最多的需求输出。
并且,用户数据输入要单一化。即,同一个计算机软件所必须由人工输入的数据只能输入一次,应该竭力避免多次输入同一个数据。不论是同一个程序还是相关的程序都应当这样做,以便减轻客户的重复劳动和精神负担,减少数据录入错误等。这完全可以通过程序逻辑实现来解决。多处要使用同一个常数时,最好使用枚举。
客户界面命令的单一化。尽量不用多入口,不是非常必要,同一个命令只给出一个最恰当的入口。软件开发单位应该在具体到某个人的剪裁方面进一步做些努力,是操作者个人能够方便的剪裁出所需要的功能到界面上,并容易的将界面上不需要的功能元素方便的去掉。因此,软件开发的一个方向是面向个人使用的开发,即开发所面向的最小对象是个人,而不是尽可能多的人。
人具有个性和共性。相同专业的人员存在许多共同的习惯,因此就存在软件框架复用和代码复用。这种复用程序比新写的程序要简单得多,复用莫非就是直接调用或在现有的程序框架上修改,或增添一些新的代码,或删除一些老的代码就可以很容易完成一项当前的工作部。
在写一个新的程序时,往往需要查阅大量的类库、函数、代码例子、咨询等等,复用则避免重复这些大量的工作。对于一个工作人员来说,复用大量用到的是程序结构上的复用、数据结构的复用和代码复用。
原有的程序可以通过重构使得程序结构更清晰易读、代码更高效、使用更简单,因此也更适合于以后的复用。
大型框架给出的一些功能可以适用于所有使用该办公软件的人,例如打印功能、页边距设置等等,其调用复用是很简单的,但也可以在二次开发复用的同时增加一些个人需求。相仿,对于同一个专业的人员或同一个办公室的人员,虽有不同的习惯,但还是有不少的共同习惯特点的,他们也可以有一些人首先开发出适合一定人员使用习惯的程序,然后其他个人在此基础上可以继续修改成完全符合自己习惯的程序,这种修改比新写一个闪速程序要快得多。
个人软件库可以包含工作人员的各种软件、类、类库、函数、重要的代码段等等,可永久性复用,那些是工作人员长期积累的结果,是一种代码化和形象化表示,是工作人员LOAS信息库的基础。
每一项工作完成以后,也需要归纳、整理、完善这些闪速程序,以备今后新的项目继续使用。反复迭代,建立起工作人员所需要的LOAS信息库,利用该库同样对工作人员所从事的工作进行持续改进,工作起来越来越顺手。随着日积月累,越往后需要新收集、编写、开发的LOAS会越来越少,工作会越来越轻松,越来越迅速。
某一次根据实际需要对前一次代码的修改,都可以看做是对前一次代码的改进。但,有时也有出现改退的情况,当然属于事与望违,舍弃此次修改即可。
28开发方法是开发总功能与开发总时间的比例关系,这只是一种经验和建议。
对于分析获得的工作软件功能需求时,有的功能容易实现,而有的功能实现起来比较困难。根据经验,在一个软件中,容易实现的软件功能占多数,而且开发所需要的时间短,实现困难的软件功能占少数,并且实现的时间比较长。如用20%的总开发时间迅速完成80%的软件功能开发,则应该首先实现这些软件功能。留下的20%的软件功能需要80%的总开发时间,则留待以后开发,并且要区分出轻重缓急,然后按区分顺序进行开发。如果考虑到效益问题需要删除一些开发功能,则排在最后的功能首先舍弃,或与甲方讨论确定,这时的开发方(软件的开发者)是乙方,即受委托方。这就是28开发方法。不同的软件开发可能占有比例与前述不同,这要通过系统分析确定比例,比如还可以是19开发方法或37开发方法等。
对于当今信息化时代,对管理者也应该有所要求,管理者必须要有一个信息化的头脑。
对管理层的要求。管理者要清楚知道下属软件水平的高低,管理必须要有这种素质,否则会误判工作中的先进者与落后者。有的工作能够定量,这比较容易判断。而有的工作无法实现定量,完全靠工作水平,误判主要会发生在这方面。
管理者的计算机水平问题。作为单位的管理者,应该懂得计算机软件的威力。因为,在计算机没有普及之前,专家们拥有大量的知识,只是能讲清楚,而且交给计算机人员去实现其理想。而现在,专家不仅有大量的知识和独特的见解,而且能够自身通过计算机清楚的实现,并且不存在像以前那样,让其他人去实现其想法,而又因为实现者的理解偏差会造成歧义。
LOAC风行拿来主义,凡是能够通过网络途径找到的现成的同类功能的免费软件或代码可以直接或加以完善使用之。比如,对于一些开源代码的程序段可以进行利用。但是,应该注意,在很多情况下修改人家的程序倒不如工作人员重新开发的容易。因为,有时要读懂别人的程序不是一件易事。这就是,有的程序虽然开源,但实际参考意义并不大的缘故。
有时,一个好的软件的开始想法可能是从若干个主要语句开始的,然后发展成为一个优秀的软件。因此,只要有免费的软件代码可用,那怕是几句代码,就拿来直接使用,在使用的过程中进行发展。因为,这几句代码可能会激起工作人员一个很好的想法,工作人员完全可以趁机去实现它,甚至一气呵成一个完整的功能,成为工作人员的工作程序。还因为,这几句代码可能是提供者的天资之作,而对于需要者却不太容易实现。
还可以通过修改相同专业人员比较好的工作软件集或库,使之完全适合工作人员的工作习惯。
从哪里获得更多的LOAS素材?
1、有关论坛里讨论的工作代码、函数、类等有关办公方面的内容,可以借鉴和发挥,并且可以进行网上求助获得提示解决某一个工作部中的某些主要内容,你也应该解答网友们提出的你能够解决的问题,大多数论坛都采用了有来有去的做法,即积分制。你回答的问题越多,获得论坛的积分也越多,这样一来你求助解答问题的机会也就越多,因为求助问题是要付论坛分的,你赋分越多获得解答的可能性就越大越迅速。
2、向你周围的同事请教,互相交流。
3、请教专业计算机人员或领域专业人员。
闪件可以通过互联网上收集免费代码经过修改而成,对于解决某一个问题的代码,由于互联网属于人多看法多,理解不一,人的水平不一,会有多种结果,从中选择出正确结果的过程称为网络验算。
以下以软件方面为例说明这个问题。
例如,在网上找到一个计算机算法或函数就存在以下几种情况:
1、对于一个算法或函数,同时找到多个结果,一般情况下,其中一个结果的转摘人数最多,那么这个结果可能正确结果的概率最大。但需注意,有些时候也会出现正确结果恰恰在少数人甚至极个别人的结果中。
2、对于找到的结果中没有发现有明显转摘人数优势的结果时,就要再继续找同功能的不同形式的函数3个以上,取运行结果相同的若干个,归纳其共性作为最后结果。这些结果相同的函数应该能够从一个导出另一个,且相互可以无缝代替。否则,就应该找出不同之处的原因。
3、若找到的几个不同的结果经过验算或试用都正确,应该取代码或文字少、篇幅简短、有捷径的结果。
表现为,个人所需要的闪件功能甚多,现有系统很难满足这样的需求,所以需要工作人员自己去努力实现。因此,个人工作信息化有必要提出来。个人工作信息化最基本的一点就是要有足够的闪件。个人要在工作过程中不断积累适合所需要的闪件,这些闪件也可以是收集其他方面的闪件经过修改以后适合工作人员工作的闪件。随着工作时间的增长,这些符合工作人员工作实际的闪件越来越多,越来越被精化,有的甚至经过了千锤百炼,使得遇到一项新的工作需要编写新的LOAS时会像搭积木一样迅速构建新的闪件,并不需要过多的代码和修改。
个人工作信息化可总结为,工作人员充分利用计算机进行工作的全过程,凡是计算机能做的事情都交给计算机去做。包括利用软件、程序、代码、命令、设备、智能识别、网络、数据库进行工作。因此,个人工作信息化囊括了工作人员为完成工作任务所从事的与计算机有关的使用的软件、编写的代码、数据的来源、方案的优化、网络技术、数据库技术及其有关的软件工程、信息收集,还有工作过程的软件化、信息流、工作流。
因此,个人工作信息化可以定义为:利用软件功能、计算机指令代码进行全方位工作的整个过程。其数据信息能被计算机所永久性记录、编辑、传输和利用,即包含数据库和网络功能。其工作过程的信息是用有序的计算机代码安排好的,并能被计算机无数次的永久性的再现和演示,能被人们明确的观察和评价,即能让人们看到或意识到当时工作人员的工作状态。其数据处理过程在计算机内部执行预先安排好的代码序列而不被人们所察觉。
总之,个人工作信息化具有广泛意义,是工作人员工作上的一整套计算机解决方案。这样一来,个人工作信息化就和闪速工作概念不谋而合。利用这个解决方案解决工作人员在工作过程中的问题,直到完成各项工作任务。这样的解决方案可以伴随工作人员的整个工作过程,并且可以传承,期间可以记录个人智慧的代码化信息存储,收集大量优秀闪件。
工作软件版本备份可以采用DOS命令Xcopy实现比较方便,且简单有效。
完整解决方案的备份建议采用队列,其队列内的最近备份元素保持不少于5个为宜,以便保证在当前发生难以查找的错误时有足够的回溯空间。当前解决方案(即一个备份元素)的备份采用差额备份,即只备份距上一次以来改变了的文件,这适合于多次小的改动,例如对某一个工作程序或闪件等代码的多次个别小改动。
完整解决方案的备份可以采用定时或定期备份,也可以根据实际情况采用不定时不定期备份,例如在某一个时间段研究实现了重要的内容或者编写了大量设计代码的情况等。
当前解决方案的备份采用即时备份,每进行一些编辑、修改等,感觉比较重要或有一定的代码量增加就及时备份一次。采用Xcopy备份很简单,莫非就是双击一下bat文件即可秒级完成当前解决方案的备份。
LOAC与当前办公自动化的主要区别在于,LOAC能够用极少的鼠标、键盘操作完成与当前办公自动化条件下大量频繁使用鼠标、键盘周而复始操作所完成的相同的工作,能够把工作人员从繁重的电脑操作劳动中解放出来,并大量减少面对电脑的操作时间、节省大量的劳动时间,从而也避免职业病的发生。
掌握闪速工作概念将获得以下收益:
1、使得总的劳动功效持续大幅度提高。即,大幅度提高工作效率节省大量劳动时间、劳动强度大大减低、避免重复的复杂逻辑思维;
2、可避免职业病;
3、将复杂的逻辑思维变成一种愉快的不再重复的工作;
4、节省大量劳动时间可以去做别的事情;
5、学会自己识别和编写工作中所需要的程序,充分利用信息化手段轻松快速的完成日常工作;
6、闪件只需要编写一次,便可以受益以后任意次。尤其是复杂的专业逻辑[11-13]。
LOAC归根结底就是帮助工作人员建立配合计算机编程以实现其快速轻松工作的概念。并且,使工作人员明白,计算机比人耐劳,人的大量重复性工作只需要告诉计算机一次,计算机就能永久按照人的想法去做。
例如,对于建筑物变形监测[14-15]软件系统的“一键完成工作”命令的执行,将一键完成数据处理、检错、专业计算、各种图形完整绘制、变形分析、逻辑分析、智能化建筑物变形报警、变形监测报告自动生成(其中包含各种大量图件、统计信息、危险等级识别等内容)并立即展现在电脑屏幕上和通过远程打印机打印输出,甚至即时直接通过网络把危险情况发送给不同级别的管理人员和领导层,以便他们及时做出决策。并且还自动把重要的数据记录在观测数据库中,监测结束后将得到一个监测信息数据库,然后就可以对该数据库施行数据挖掘技术,能够统计出一些鲜为人知的东西,例如验证一些人对问题的错误认识等,以供以后同类工程工作参考和复用。
在这个例子中,基本输入数据是野外建筑物变形点的全站仪观测值A,输出数据是各个观测点的变形量B,B作为各个点的变形图曲线和总体变形量曲线图的输入数据,输出数据是各种曲线图C,C作为监测报告的输入数据之一,直接插入到监测报告中的相应位置,最后自动生成监测报告成果。其中作为输入数据的B还是变形分析子系统的输入数据,通过对B的分析预报出变形的危险是否来临、变形的等级等。
对于专业工作人员,掌握计算机信息技术,亲手开发工作人员所需要的专业工作软件,能够对工作人员专业技术的学习、研究、发展和进步有极大的促进。这样的专业工作人员开发工作人员工作中所需要的专业工作软件有不可代替的优势,不存在沟通障碍、不需要过多的分析文档,开发会迅速完成一个原型立即投入使用,并根据工作的轻重缓急逐步发展发挥,例如可以采用28开发方法和成就型开发方法进行开发。把工作人员所学专业与计算机紧密结合、融会贯通,凡是计算机能做的事情都交给计算机去做,借助计算机发挥专业优势,逐步实现个人工作信息化,逐步形成专家系统。
闪速工作概念也可以概括为充分利用计算机完成各项工作任务。并且,它是面向个人的。那么,何为没有充分利用计算机呢?答案是:经过简单论证或考虑,明明计算机可以完成的操作工作和逻辑分析处理,却偏偏要用双手周而复始的去操作和苦思冥想。
LOAC所不能解决的问题。不是所有的工作部都能像闪电般一样完成。因为,有少量工作部需要人工配合完成,LOAC只能促进这种配合尽可能的迅速。因为这些工作部在获得输入数据时比较困难,处理这些数据很迅速这个没有问题,但想要快速地得到这些数据,计算机及其软件可能会无能为力。要想实现这些工作部的闪化结果,就需要对该工作部的前期工作部进行改进或改造,并作出一些规定,使得计算机能够自动采集到该工作部所需要的输入数据。例如,清绘地质素描图就是这样一个例子。外业人员在探洞里用铅笔描绘到米厘纸上的草图,到了内业要想把它矢量化自动化处理是很困难的,一般需要人工照底描绘出来,因图纸的变形,线条随意、图面肮脏、磨损等等不易自动化识别。即,首先把这些外业图纸扫描成相片,把相片插入到Autocad中,然后再逐个对象(如线条、文字、符号等)照底描绘出来。但是,如果要想通过矢量化自动成图,则对于外业成图要进行一番严格要求,比如线条要实在,图纸要保持清洁,文字书写要规范,起码不能太潦草等,这样才有可能通过自动扫描矢量化软件将其矢量化得到输入数据(注:尽管如此,矢量化后一般还需要检查修改)。但是,如果真是这样要求,外业人员的工作量会加大,在探洞里呆的时间会更长,呼吸带有毒性炮灰的污浊空气量就会增加,对健康极为不利。这些都是需要权衡考虑周到的。
一旦有了闪速工作概念,就可以迅速向高度智能化办公迈进。
本节列举几个相同工作的闪件与非闪件比较的例子。
例子1、文档中插入大量图片的例子
这是一个宏+二次开发软件的例子:文档中需要很多插图。先录制插图宏,再对宏进行修改。
有时候,一个工作部分可能只需要几句代码就可以迅速完成大量工作,但人们往往缺乏这种自觉认识。例如,把一千张图片插入到Word文档中,采用A4幅纸张大小,每页插入6张图片,按纵向排成2列,要求整齐美观排放。大多数工作人员由于没有编程经验,硬是一张一张的将图片插入文档,每张图片都经历了插入、浏览到图片所在的目录、寻找当前要插入的那张照片后选择之、确定,把图片插入到文档,由于要考虑到排放问题,接着需要将这张图片通过鼠标拖放缩放或通过键盘缩放到合适的大小,如果白边太宽还需要对图像进行裁边,当插入随后的图片时,还需要将图片进行移位操作,当插入够6张图片时,还需要调整整页的6张图像布局,使得尽可能的美观,位置合适等等操作。可想而知,要插入这一千张图片所需要的时间该有多长,少则也要几个工作日才能完成,既单调又枯燥,工作非常辛苦。然而,通过一条编写完善的Word宏指令,点击一键该命令,就能够在几分钟内轻松高度自动化完成这项工作,而且运行期间不需要工作人员作任何配合工作,工作成果也非常整齐美观。编写调试这样的宏指令大约需要2~4小时左右,并且一次编写永久可用,或稍加修改。以后还可以通过修改该宏指令使之实现另外一些工作,这样的宏指令多了工作会越来越容易。
例子2、在AutoCAD中展点坐标
相同的目的重复操作次数甚多,即往复操作次数多。例如,点击一个点命令,在AutoCAD中画一个点,需要画100个点,就需要反复重复操作画点命令(同一个动作,或是相同的几个动作)100次才能完成。应该设法只操作鼠标键盘点击动作一次或不超过五次就能完成最好,比如通过二次开发编写一个批量展点程序来完成。
例子3、在某工程工地的测量工作和外国承包商之间的时间安排,老外规定测量的时间不能影响他们爆破,而爆破的时间是已定的不能改变,给测量人员留的时间只有20分钟,但实际测量时间根本不够用,老外的工作安排是互不等待,放炮时间已到就要放炮。在这种情况下就要设法在完成测量任务的前提下,又不能超过规定的时间。这样一来,闪速工作概念就涉及到了外业工作,如何优化测量工作,即对程序的优化,使得外业的工作时间缩短。
例子4、例如一个工作人员,选择了一大批目录和文件,他想要这些目录名和文件名文本。LOAS实现的方法有两种,一种是用DOS命令的Tree命令或Xcopy命令进行重定向操作而得到这些文本,但要想掌握DOS命令操作是需要首先下一番功夫的,而通过编程访问Windows剪贴板可以很容易实现。具体见例子6。
例子5:拼凑着去完成一些工作或工作部的例子。
有很多行记录的文本文件,它们中间有重复行,而且有的行会重复多次。如何过滤掉这些重复行,如果大型OA没有提供专项功能,就要用另外的软件实现。比如Eidtiso软件中的文件菜单下的文件排序功能,速度非常快。
例子6:现有系统功能、命令作为工作人员闪件的例子。
例如复制文件名。一位工作人员每天要面临大量的文件和目录,它希望选中一批文件后把文件名复制出来,这并不是难事,微软.NET Framework提供了文件和目录的类函数,另外DOS的管道带参数目录提取也可以很容易实现。前者需要编写少量代码,后者则可以直接操作。但前者会更方便些,而后者则稍显麻烦些,需要DOS方面的知识。当然后者也可以编写少量代码通过系统调用而实现。诸如此类,它们都可以成为你个人的LOAS。
例子7:非软件法的闪速法。
人工操作的统一替换法也可以作为闪速法的一种,这是一种简单的非软件法手段。例如,对于有很多难输入的文字,例如像化学方程式之类的带有右上角和/或右下角的字母文字等等,先用无歧义的简单符号代替,最后通过统一替换实现其快速录入。当然,也可以通过编程实现。
一旦工作人员建立了闪速工作概念,就一定能够实现高度办公自动化LOA,让计算机代替人做更多的事情、完成更多更复杂的工作,尽可能让计算机完全代替人的工作和劳动,凡是计算机能做的事情都交给计算机去做,以提高工作效率、减轻劳动强度、避免重复复杂的逻辑思维烦恼、节约大量工作时间和精力去做别的事情,比如居家旅游、科学研究等等。
闪速工作概念,据实说就是,让知识变力量。通过书写计算机代码,让计算机帮助工作人员快速完成大量工作,并且尽可能让计算机完成更多的工作,最大限度的减少工作人员面对计算机的操作时间。
[参考文献]
[1] 郑全战,成秀珍.DOS6.22使用手册[M].北京.清华大学出版社,1995.
[2] 王恒青,宋如敏.微机BIOS与CMOS实用详解[M].北京.清华大学出版社,1999.
[3] 杨浩.相对变形测量(工程实践与研究)[M].郑州.郑州大学出版社,2016.
[4] 杨浩.一种代替测量观测墩的方法[J].中国科技论文在线精品论文,2012,5(18):1774-1779.
[5] 杨浩.建筑物沉降开始发生或继续的判断法则[J].中国科技论文在线精品论文,2013,6(6):592-598.
[6] 杨浩.等效法收敛计变形监测方法:中国,201010535193.2[P].2011-03-02.
[7] 杨浩.扩展的等效法收敛计变形监测方法:中国,201310334401.6[P].2013-10-09.
[8] 杨浩.全站仪精密沉降监测方法:中国,201110090610.1[P].2011-10-26.
[9] 杨浩.免固定设站点的全站仪三维变形监测方法:中国,201410848192.1[P].2015-03-25.
[10] 张海藩.软件工程导论[M].4版.北京.清华大学出版社,2004.
[11]樊映川等.高等数学讲义(上)[M].北京:高等教育出版社,2004.
[12]樊映川等.高等数学讲义(下)[M].北京:高等教育出版社,2004.
[13]盛骤,谢式千,潘承毅.概率论与数理统计[M].3版.北京:高等教育出版社,2005.
[14]武汉测绘学院《测量学》编写组.测量学(上)[M].北京:测绘出版社,1979.
[15]武汉大学测绘学院.误差理论与测量平差基础[M].武汉:武汉大学出版社,2007.
[16]戴梅萼,史嘉权.微型计算机技术及应用[M].3版.北京.清华大学出版社,2003.
[17]郝荣春.MS-DOS6.22使用方法与技巧[M].郑州.大连理工大学出版社,1997.
[18]陆润民.计算机图形学教程[M].北京.清华大学出版社,2002.
[19]徐士良.FORTRAN常用算法程序集[M].北京.清华大学出版社,1992.
[20]吕映芝,张素琴,蒋维杜.编译原理[M].北京.清华大学出版社,2003.
[21]张友生,张华.系统分析师常用工具[M].北京.清华大学出版社,2004.
[22]徐家福.UML精粹[M].2版.北京.清华大学出版社,2002.
[23]邱龙,张巍.C++语言入门[M].北京.清华大学出版社,1995.
[24]严蔚敏,吴伟民.数据结构(C语言版)[M].北京.清华大学出版社,1997.
[25]钱晓捷.汇编语言程序设计[M].北京.电子工业出版社,2003.
[26]石志国,李颖,薛为民.ASP程序设计[M].北京.清华大学出版社,2005.