杨 斌
(天津大学,天津 300072)
按键精灵在图书馆自动化管理工作中的应用初探
杨 斌
(天津大学,天津 300072)
介绍了按键精灵软件,并对按键精灵软件在图书馆自动化管理系统中的部分辅助应用进行了初步尝试。浅议按键精灵为代表的键盘鼠标操作软件在降低劳动强度,简化操作流程,提升工作效率等方面的意义。为图书馆工作自动化提供新的思路。
图书馆;采编业务;脚本编辑工具;按键精灵
图书馆的自动化图书管理系统是一个相对复杂的系统,一个完整的图书管理系统需要完成各类信息的收集、处理、反馈以及互动等等系列动作,使馆藏的图书的排布以及流通有序化。图书馆的各个职能部门或馆员仅需要掌握相应的模块或者功能单元即可完成分内几乎所有的工作。我们期望这个管理系统实现尽量多的功能,甚至完成一些人性化的任务,那么必然导致构成这个复杂体系的每个信息元更加复杂。针对大量的复杂信息的录入、整理和操作,给图书馆员带来很多重复劳动性质的工作任务,在一些业务高峰期,直接的表现就是高体力强度,低脑力甚至无脑力强度的劳动。
1.机器替代操作及什么是按键精灵
北京大学图书馆陈君实用计算机编程语言开发了针对图书采编业务操作流程的自动操作程序,这套程序配合北京大学图书馆使用的Sirsi Symphony图书管理系统,几乎将图书采编所有的重复性劳动全部用计算机替代操作。机器是永远不会累的,人做起来很费时费力的工作,机器可以完成得又快又好,宝贵的人力节约下来投入到高脑力强度的工作中,大大提升工作的品质和效率。不过编程对多数图书馆员而言有些不接地气,我们找到一款不太需要编程基础的键盘鼠标模拟软件,寻求替代编程语言完成机器操作的方法。
按键精灵是兄弟工作组开发的一款模拟鼠标键盘动作的免费软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作,按键精灵都可以替代完成。按键精灵的强大之处在于,让不会编程的人也能写程序,让不会写按键精灵脚本的人也能对其进行有限的修改。
2.针对自动化图书管理系统,按键精灵能做些什么
按键精灵可以模拟键盘的几乎所有按键、组合键,鼠标的移动,点击,滚轮等等命令,这些命令配合一些控制命令以及编程语句(非必要),构成脚本。在“脚本属性”里可以设置脚本开启和中止的热键,循环,自动运行等等基本属性。编写成熟,应用广泛的脚本还可以直接生成可直接运行的按键小精灵在未安装按键精灵的计算机上也可以使用。
2.1 简单重复作业的循环模拟
对于一些简单重复作业,可以编写脚本模拟一次该作业所需的动作,需要注意的是为了形成循环,这个作业的最后一个动作不是作业的结束,而是为下一次重复做好准备。脚本经过调试可以完成规定动作之后,我们可以根据需要设定循环次数来重复这一系列动作,也可以根据实际情况编写设定,让脚本自动停止循环。这种简单的脚本常用于图书订单的录入。
2.2 需要人为判断的重复作业模拟
对于一些需要人为判断的重复性作业,可以编写脚本自动运行作业,到需要人为参与处等待下一步指令,经过人为判断后通过不同操作来决定继续循环还是跳出运行。这种脚本常用于到馆图书的验收,每本书是否适藏,书目信息是否正确是要馆员参与判断的,而一旦确定可以继续,那么剩余的信息录入便可以借助按键精灵来完成,一定程度上起到节约人力的作用。
2.3 复杂动作中的固定部分模拟
对于相对复杂的作业,似乎按键精灵很难准确完整表达该作业的需求,那么是不是按键精灵就没有应用的空间了呢?随着对按键精灵使用的深入,我们尝试出类似快捷键模拟的功能。复杂如编目套录数据,我们仍然可以找到一些不需要人为参与的固定动作,这些动作每做一条就要重复一次甚至多次,有些动作比如鼠标点击相应的输入框,需要一定的准确性,这样的操作本身对人的集中力带来相当的负担和消耗。如果把这些相对固定的动作用一键代替,相信能够带来便利。事实上,对于一般套录数据,按键精灵能够帮助作业人员快捷下载数据,半自动添加流水号字段,甚至从数据中提取有效信息形成新的必要字段,且准确,快速。
小结:按键精灵对于工作效率的提升不单指代替人来完成一些简单动作,解放人力,而更体现在通过分担简单工序,帮助优化作业人员的注意力分布,避免长时间高度集中带来的精神疲劳,进而使工作变得轻松。
3.如何使用好一个按键精灵脚本,代替人工操作
说到底,使用按键精灵是为了方便人们工作,提升工作的准确度、效率,节约人力成本。为了实现这个目的,需要根据对工作各道工序的理解,按步骤对整个工作进行一个设计。
3.1 设计流程
有辅助程序参与的工作流程,与纯人工操作的传统工作流程有着本质的区别。传统流程中,简单重复作业与复杂作业以及脑力劳动在工作量判定上差别不大,所以在工序设计中常出现增加复杂作业与脑力劳动的工作量,以大量减少重复作业工作量,从而实现减少工作总量的目的。而引入按键精灵后,人们通过编写脚本,可以完全替代流程工作总量中占比最大的简单重复作业,甚至在复杂操作中也可以让机器代替人做一部分工作或者为人提供方便。那么在设计流程时,应遵循如下两条原则:
a.线性工序工作量为零。定义每次操作只完成一项目标的工序为线性工序,通常线性工序可简单重复,易通过编写脚本辅助完成,所以其工作量可视为零。在流程设计中应尽量增加线性工序,以减少需要人为参与的复杂性操作。更加简单的工序能够保证按键精灵在运行脚本时更加简洁、高效、稳定,在进行复杂工序的组合时尽可能节约运算资源。
b.准确度优先于运行效率。机器不会累,机器操作工序在整个工作流中一般不会成为工效瓶颈,所以,在工序设计过程中,增加保证运行准确的工序是必要的,尤其是每道工序的开始和结束,必须设计人为检查确认的步骤。
3.2 设计脚本
根据工作流程的设计编写脚本,可以先编写模拟各个操作的命令,然后根据本工序的需要加入判定、控制、循环类的命令,并在每个操作步骤之间插入足够的延时,保证脚本能够准确运行。我们需要在一些关键处加入注释,使得将来调试、维护更加方便。
3.3 调试
刚开始做完的脚本可能会出现一些问题,我们可以先用“单步调试”,逐行运行脚本,观察每行命令运行的效果,即时排除问题,使运行准确、完整。然后正常运行脚本,记录每步操作需要的最长等待时间,留出余量调节相应操作间的延时。至此,一个能模拟工序基本操作的脚本便成形了,我们可以继续批量测试脚本,修改流程设计和脚本编写中的一些问题、缺陷,逐步完善脚本的功能,提升工作效率。值得一提的是,测试不是多多益善的,需要进行综合的成本考量,比如一个临时任务,任务很繁琐却不需要为其设计常态化的流程,那么只需要完成主要的流程框架,然后针对出错频率较大的问题集中调整,使其在较短的时间内,通过数量可接受的人为干预即可维持任务运转。总之,对脚本测试和调整的投入可以按任务需求随时调整,以期得到最高的经济性。
3.4 应用实例
CALIS联机编目系统为广大成员馆提供编目数据共享,给成员馆编目工作带来了极大的便利。而作为联机合作编目的受益人,各成员馆有义务主动维护该系统,使其准确、稳定、高效地运行。提交馆藏是其中一项十分重要的工作,各成员馆通过添加本馆馆藏代码的920字段来揭示图书的收藏状态,便于实现馆际间图书资源的交流。现行的提交馆藏操作以“种”为基础计数单位,这项工作多为简单重复性的鼠标、键盘操作,我们尝试使用鼠标键盘模拟软件对这些重复性操作进行模拟,以期达到减轻工作负担,提升效率的目的。
首先,我们把馆员进行提交馆藏作业需要完成的操作步骤分解成一个线性可循环的操作流程:
a.登陆CALIS联机编目系统
b.用鼠标点击“建立查询”按钮调出检索框;
c.扫描样本书的国际标准书号——ISBN码;
d.如果查询显示有结果,则下载这条数据,如果查询无结果则为原编书;
e.在已下载的这条数据的窗口内点击“添加馆藏字段”按钮,系统会根据登陆的用户号添加代表本馆的馆藏代码,馆藏代码默认接“|z1”表示此书本馆有复本,如果这种书在本馆为独本则应手动修改为“|z2”
f.点击“提交”,跟随系统的指示对话框确认操作
g.在“客户端临时库选项”中选择是否将该条数据保存至临时库
h.关闭该条数据
i.从第(2)步开始循环操作直至工作完成。
然后根据这个流程编写操作脚本,需要注意的是流程(4)需要对检索结果进行判断,从而产生两条进程线路,解决办法是对检索结果一行某一点的颜色进行判断,无数据则颜色跟背景色相同,有数据则颜色不同。根据对颜色的辨别实现原编和套路两条路线的分拣。另外流程(5)同样可以看做是两条路线,一个解决方案是脚本在此处断开,使用一个键值编辑函数:Waitkey(),将独本和复本两种情况分别设置快捷按键,此处由馆员判定是独本还是复本,然后按下相应快捷键使得脚本可以按不同情况进入相应的路线。该脚本需要馆员在建立查询后手动扫描ISBN码,并在添加馆藏处判断书的复本数并进行相应的干预操作。
事实上,馆员在与按键精灵配合工作中仅仅扮演数据源的角色,需要判断的几种情况也是“TURE OR FALSE”的简单选择。经过尝试,发现使用Excel表格即可代替馆员实现数据源的输入。而且引入办公室表格软件“Excel”来辅助操作,将使整个工作的自动化程度进一步提升,并有效解决流程(5)需要馆员干预的问题。将本批次到书的供货商处可以获得已收到图书的ISBN和复本数,用按键精灵模拟复制粘贴动作将每种书的ISBN输入检索框,将复本数存入变量,通过对变量数值的判断来决定一种书按独本还是复本处理。这种开发能极大解放馆员的精力,使工作更加灵活便捷,在整体工作流程的设置上可以提供更多的个性化选择。
4.对于机器模拟操作,按键精灵与编程语言的比较
按键精灵使用Q语言,是从VBScript的基础上发展起来的,本身也是一款非常优秀的编程工具。若只针对机器模拟操作,与一般意义上的编程语言相比,按键精灵的很多特点给人一种惊喜的感觉。
4.1 入门容易
按键精灵将使用频率最高的一些基本命令翻译成了汉语,即实现用汉语编程。让Q语言来学习和适应“人话”,而不是让人去学习“机器语言”,这是Q语言设计的最高宗旨和终极目标。不会编程的人,看到按键精灵的编辑界面,不会产生面对一般程序语言编辑器那样的模糊、反感甚至高不可攀的感觉,因为那些命令都是“人话”,可以完美地让人享受对电脑发号施令的快感。通过编辑的脚本由浅入深,使人逐步地掌握编程技术,并通过脚本实现的功能愈发的强大,给人带来极大的成就感,会激发人们更加深入学习的兴趣。
4.2 开发和维护成本低
由于按键精灵入门的门槛低,其直白的命令语句几乎不需要懂编程即可看懂,调试与修改也变得更简单,极大降低开发的难度,用户自己就能写脚本帮自己做事,实现“开发者即用户”。一般的程序开发过程,通常是用户提出需求,程序员根据需求开发。由于程序员不懂工序,一般会将主要功能与特殊情况视作相同优先级全部实现,而特殊情况因为通常更为复杂,使程序员在其上投入更大的力量;对应的,用户不懂程序,提出的需求往往以自己方便为优先考虑,殊不知很多出现概率很低的情况却浪费了更多的开发资源。双方由于面对同一工程的角度与立足点不同而产生大量的沟通成本,一些简单却完成主要工作的部分可能被程序员忽视,而程序员人为是技术亮点的部分却有可能只解决了一些没机会发生的问题。王垠在博客中谈到程序“通用性”对编程开发资源的浪费,他指出“设计者对“‘通用性’,‘可维护性’和‘可扩展性’的盲目推崇,被搞得绕了几道弯,让人琢磨不透。”开发者即用户,则很好的避免了这类问题,作为开发者,能够合理取舍,精确地投入大部分的力量来保证主要功能的稳定与高效,而作为用户则清楚自己开发的程序在那种情况下会出状况,便于以后调试修改。
4.3 开发周期短
由于开发者即用户,又避免考虑“通用性”造成的过度工程(over-engineer),节约开发成本的同时,大大降低了开发周期,让即时开发成为可能。有一些临时工作,没有可预见性也没有可持续性,写个辅助程序完成这种临时工作没有必要,那么使用按键精灵,挑选一部分冗繁的重复操作让计算机来替代操作是个不错的选择。人们在编写脚本时能够充分衡量编写成本与辅助工作的便利程度,参考该工作的限期,找到一个平衡点,实现通过一个不太大的开发,做到大量的工作量替代,产生可以接受的错误概率,按期,省力,高质量地完成任务。
按键精灵是键盘鼠标模拟操作软件的代表,其功能强大,界面友好,语言符合中国人思维的习惯,入门很容易,功能上却很强大,在图书馆自动化管理系统的使用中,能对很多工作起到很好的辅助作用。但在图书自动话管理系统中,信息的准确性要求极为严格,在这类辅助工具为我们提供方便的同时,我们应警惕机器误操作带来的危险,谨慎、全面地设计有机器替代参与的工作流程,严谨地编写各个操作步骤的运行脚本,严格掌控各道工序,使工作更加流畅,准确。
[1]百度百科.按键精灵[OL]. http://baike.baidu.com/view/196968.htm.
[2]开源中国社区.王垠:谈程序的“通用性”[OL].http://www.oschina.net/news/39968/programe-generality
[3]百度百科.Q语言[OL].http://baike.baidu.com/view/6956714.htm.
Research on Application of Quick Macro in Library Automatic Management
YANG Bin
(TianjinUniversity,Tianjin300072)
the paper gives a brief introduction on the Quick Macro software, as well as its auxiliary application in the library automatic management system. Further discussions are made on the significance of the keyboard mouse operation software, which is represented by Quick Macro, to lower labor intensity, simplify working procedures, and enhance work efficiency. This provides a new insight for library automatic management.
library; collecting and editing; Script Editor; Quick Macro
2015-05-05
杨斌(1981-),男,天津大学图书馆馆员,研究方向:中文书采访,书商服务评价。
G250.71
A
1673-582X(2015)06-0100-04