软件“机器人” - 流程或工作自动化

时间:2009-01-08 11:31:43

标签: automation

我一直在想要创建软件“机器人”来帮助开发过程的不同领域,重复性任务,自动化任务等。
我有很多想法从哪里开始。
我的问题是,我作为一名自由职业者大多独自工作,而且工作往往会变得困难,而且我不想延长或“吹”截止日期。
我已经调查并使用了很多生产力工具。我已经研究过CodeGeneration,我正在预测一个生成代码部分的工具。我使用codeReuse技术。等
对此有何强硬态度?因为有任何好文章。

9 个答案:

答案 0 :(得分:4)

我不想使用代码生成,但我已经开发了许多工具来帮助我完成许多重复性任务。

其中一些可以做得很好:

电子邮件机器人

这些接收电子邮件并与他们做很多事情,他们需要有一些身份验证之王来保护你免受坏事:

  • 自动记录在数据库或Excel电子表格中输入的内容。
  • 更新数据库中的内容。
  • 将所有附件保存在特定的共享文件夹中。
  • 重新启动服务器。

<强>生产力

这些会做重复的任务:

  • 打印出本月的所有发票。
  • 自动合并多个来源的数据。
  • 发送GTD项目提醒。
  • 发送已故TODO项目的提醒。
  • 自动构建
  • 自动化测试

<强>管理

这些会自动执行一些重复的服务器管理任务:

  • 汇总服务器日志,删除常规项目并通过电子邮件发送其余内容
  • 在数据库中重建索引
  • 进行自动备份

答案 1 :(得分:3)

元编程是一件好事。如果您可以轻松访问有关类结构的数据,那么您可以自动执行一些操作。在我使用的高级语言中,我定义了一个类似'Property'的类。为街道号码添加一个整数,为街道名称添加一个字符串,并为拥有的债务人添加一个引用。然后我自动生成一个表格,其中包含街道号和街道名称的文本框,债务人参考的查询框以及保存和加载的代码都是自动生成的。它知道街道号是一个整数,所以它的文本框只能接受整数。如果我声明一个只读属性,它还将确保文本框是只读的。

答案 2 :(得分:1)

有软件机器人,但通常你真的看不到它们。例如,考虑一个用于打包东西的机器人。有人在发生故障时监控机器人。当机器人发生故障时,该人员会关闭机器人并修理机器。那个人就像一个运行IDE来编译,重构等的程序员。当出现错误时,程序员会修复代码并再次运行编译器。

编译不是很像机器人,但是有一些软件可以自动编译你的项目。现在,这更像是一种机器人。该软件机器人还会检查代码中的内容,如是否有足够的注释等等。

然后我们有软件根据我们的输入生成代码。例如,我们可以使用向导轻松地在MS Access中创建表单。在表单之后,向导不会自动生成新的表单形式,因为我们需要每个表单都不同。但是表单生成器是一种类似机器人的工具。

当然,您可以先输入每个表单的详细信息,然后运行generate,但是人们很乐意很快看到每个表单。此外,输入机制几乎已经是表单,因此您可以获得动态创建的内容。虽然使用数据转换工具,您可以从字段名称列表中创建表单的描述,生成表单,并将其称为使用机器人。

答案 3 :(得分:0)

甚至有关于自动化软件生产的全书,但最大的问题是,流程的自动化持续时间比流程本身更长。

大多数程序员都放弃了这一点,因为他们试图从手动编程到自动化一步到位。

软件生产中的常见自动化是通过IDE,CodeGenerators等完成的,直到现在几乎没有逻辑自动化。

我很感激这个主题的任何进展。尝试从流程中自动执行小任务,然后连接这些任务。一步一步走。

答案 4 :(得分:0)

编写重复性任务 - 这就是您所指的内容?我猜你是一个Windows开发人员,脚本编写并不像* nix世界那样普遍。因此你的问题。

您可能希望了解软件开发领域的* nix方面,其中工作流程或多或少与您描述的相似(至少比Windows更多)。通过bash,perl,python等方式来实现你的想法。

PS。另请参阅nsr81关于Windows上类似脚本工具的评论中的帖子。

答案 5 :(得分:0)

我猜测,就像地球上的每个软件开发人员一样,你想编写自己编写软件的软件。不幸的是,这只是一种只适用于纸张的想法。我的意思是,我们有代码生成器,DSL,转换管道,静态分析代码和生成衍生代码的Visual Studio插件等等。但它远没有人称之为“机器人”。

就个人而言,我认为在这方面还有更多工作要做。例如,IDE应该能够推断事物,并根据我实际做的事情提出建议。例如,如果我要添加属性,IDE会推断文件中其他属性的属性,以及属性本身的结构,并相应地调整属性。

任何类型的人工智能都是艰苦的工作,但令人遗憾的是,没有那么大的投资回报率。但它确实很有趣。

答案 6 :(得分:0)

代码生成无疑是某些任务的可行工具。如果做得不好,可能会产生维护问题,但不一定要做得不好。请参阅Code Generation Network了解一个相当活跃的社区,包括会议,论文等。

Code Generation in Action是我想到的一本书。

答案 7 :(得分:0)

您可以尝试Robot框架 http://robotframework.org/

Robot Framework是一个通用的自动化框架,它具有易于使用的表格测试数据语法,并且它采用了关键字驱动的方法。 即使您可以将此工具用作软件机器人(RPA)。

答案 8 :(得分:-1)

机器人过程自动化

首先,一个小故事...... 2011年,我担任Bristol-Myers Squibb承包卓越中心的运营经理。我们处于推出全新的全球承包系统的早期阶段。这个新系统正在取代全球范围内的大量手动工作,其目的是为一个系统创建,存储和检索所有组织的合同信息。不容小觑的任务,我们当然低估了范围和最终的影响。像大多数组织处理此合同管理流程一样,我们发现它比原先预期的大4到10倍。

我们做了很多非常正确的事情,包括从头开始建立一个支持组织,专门负责这个特定的应用程序,并成为组织中真正的主题专家(7)语言和大多数时区。

另一方面,该应用程序带来了自身的挑战,其中包括缺少功能,低于一流的性能以及运营团队需要完成的大量后端工作。这就是机器人过程自动化的发展方向。

许多功能&#39;这个软件对于最终用户来说太复杂了,但是需要创建合同。第一个例子是添加一个&#34; Contact&#34;合同将与谁签订。 &#34;第三方&#34;,如果你愿意的话。这是一个看似简单的事情,它采用(7)数据输入屏幕,一个神秘的访问点,二十二分钟和一个硕士学位,自己为每一个。我们很快做出了业务决策,让运营团队创建这些“联系人”。代表我们的最终用户。我们预计每年需要几千人。我们很快就每周通过800个请求。有三个FTE正在努力,我们的订单量不断增加,每个请求的周转时间超过两周。显然,这不会在任何商业环境中出现。

手动过程非常复杂,即使我的员工在创建它们时也存在大量错误,即使是作为主题专家。由此产生的返工使问题进一步复杂化并增加了成本。我曾经使用过一些以前的自动化经验和产品,但这种需求比以前更加强烈和复杂。我需要一些伟大,快速,易于实施的东西,而且不需要IT帮助(因为它有自己的陷阱)。我调查了许多产品,他们都自称做类似的事情。当然,其中一个突出了我。它似乎是最有能力,最实惠的并且有很好的支持选择。我选择的产品是Automation Anywhere,价格约为4000.00美元。

我不是在这里为自动化任何地方或任何特定产品做准备。但是,我使用这个工具的经验永远改变了我对机器人过程自动化真正含义的期望和理解。 现在,不要误解我的意思,我不是在这里推销Automation Anywhere或任何特定产品。但是,我使用这个工具的经验永远改变了我对机器人过程自动化真正含义的期望和理解。 (如果您不确定,请参见下文)

在我第一周购买该工具并学习一些功能后,我能够实现创建一个&#34; Contact&#34;在承包系统中,从两周的转弯,到(1)小时的周转。每次进入FTE的努力为22分钟,为零。我能够从台式PC运行这个自动化流程并处理每个请求,完全自动化,包括验证和确认步骤到其他外部系统,以确保比以前更好的数据质量。在第一周,我的软件成本在节省的劳动力中恢复了200%以上,允许这些资源专注于其他更高价值的任务。我不在乎你来自哪里,这是一个惊人的投资回报率!

这只是一个开始,现在我们拥有了这个工具,事实上它可以做的远远超过我需要的初始任务,它成为开发功能概念证明/更复杂原型的最有价值的资源之一我们需要弥合合同系统中的差距。我能够使用企业许可证添加原始购买,并确保与我们的IT部门建立更强大的基础架构,以极低的成本实现全面实施。我现在有(5)全天候运营的专用企业服务器和(2)用于构建和支持自动化任务的开发许可证,我们能够继续支持Contracting计划,即使数量远大于预期,但数量相同我们开始时的FTEs。它成为报告,最终用户通知,系统警报,更新数据,工作流程,作业调度,监控,ETL甚至数据输入和从其他系统迁移的平台。由于实施此机器人过程自动化工具而避免成本无法说明。通过向企业界提供及时的解决方案以及我们能够展示和推广的持续专业诚信,可以明显看出,在未来一(1)年内成功实施了超过48个国家,并且输入了超过120,000份合同每年以来。

它成为报告,最终用户通知,系统警报,更新数据,工作流程,作业调度,监控,ETL甚至数据输入和从其他系统迁移的平台。
虽然机器人过程自动化这个术语目前很流行,但这些概念已经存在了一段时间。但是,请不要假设这意味着这是一个构建和遗忘的情况。随着它的发展,它将会增长,你需要一个强大的计划来管理任务,资源和基础设施,以保持运行。这些工具基本上模仿人类可以做的任何事情,而且远远超过人类。但是,如果其中一个来源,人类可以在一个过程中快速改变他们的步骤。她/他正在使用的系统在用户界面上有变化。您的自动化任务需要进行调整&#39;在大多数情况下做出改变。有些业务流程可以比其他业务流程更容易实现自动化,对于休闲的自动化任务创建者来说可能是两个复杂的工作流程。建立和/或维护。确保您拥有可靠的资源来构建和维护任务。如果您计划使用RPA工具执行多项操作,请确保拥有扎实的监督,治理,资源和公司“冠军”。或者我向你保证,你的努力不会成功。

机器人过程自动化定义:

(IRPA)机器人过程自动化研究所:“机器人过程自动化(RPA)是一种技术应用,允许公司中的员工配置计算机软件或”机器人“来捕获和解释现有应用程序以处理交易,操纵数据,触发响应并与其他数字系统通信。“

维基百科:“机器人自动化的例子包括在制造业中使用工业机器人以及在服务行业自动化文书流程中使用软件机器人。在后一种情况下,术语机器人的使用是隐喻的,传达这些软件产品的相似性 - 这些产品是为了提供通用自动化功能而生成的,然后在最终用户环境中配置以执行手动和重复性任务 - 到他们的工业机器人同行。这个比喻在某种意义上是恰当的,即软件“机器人”现在正在模仿或取代经典地与人相关的功能。“