Программное обеспечение "Роботы" - Процессы или автоматизация работы - PullRequest
4 голосов
/ 08 января 2009

У меня есть идея создания программного обеспечения «Роботы», чтобы помочь в различных областях процесса разработки, повторяющихся задач, автоматизированных задач и т. Д.
У меня довольно много идей, с чего начать.
Моя проблема в том, что я работаю в основном один, как фрилансер, и работа имеет тенденцию накапливаться, и я не хочу продлевать или «сдавать» крайние сроки.
Я исследовал и использую немало инструментов для повышения производительности. Я исследовал CodeGeneration и проектирую инструмент для генерации частей кода. Я использую методы codeReuse. И т.д.
Кто-нибудь, как жестко об этом? сколько там хороших статей.

Ответы [ 9 ]

4 голосов
/ 08 января 2009

Я бы не хотел использовать генерацию кода, но я разработал множество инструментов, которые помогут мне выполнять многие повторяющиеся задачи.

Некоторые из них могут делать хорошие вещи:

Почтовые роботы

Они получают электронные письма и делают с ними много всего, им нужен король аутентификации, чтобы защитить вас от плохих вещей:

  • Автоматически регистрирует все, что было введено в базу данных или таблицу Excel.
  • Обновляет что-то в базе данных.
  • Сохраняет все вложения в определенной общей папке.
  • Перезагрузите сервер.

Производительность

Они будут выполнять повторяющиеся задачи:

  • Распечатайте все счета за месяц.
  • Автоматически объединять данные из нескольких источников.
  • Отправка напоминаний об элементах ГТД.
  • Отправка напоминаний о поздних предметах TODO.
  • Автоматизированные сборки
  • Автоматизированное тестирование

Администрация

Они автоматизируют некоторые повторяющиеся задачи администрирования сервера:

  • Суммируйте журналы сервера, удаляйте обычные элементы и отправляйте остальные по электронной почте
  • Перестройка индексов в базе данных
  • Автоматическое резервное копирование
3 голосов
/ 08 января 2009

Мета-программирование - отличная вещь. Если вы легко получаете доступ к данным о структуре класса, вы можете автоматизировать несколько вещей. На языке высокого уровня, который я использую, я определяю класс, например, «Свойство». Добавьте целое число для номера улицы, строку для названия улицы и ссылку на должника-владельца. Затем я автоматически генерирую форму, в которой есть текстовое поле для номера улицы и названия улицы, поле поиска для ссылки на должника и код для сохранения и загрузки - все автоматически генерируется. Он знает, что номер улицы является целым числом, поэтому его текстовое поле может принимать только целые числа. Если я объявлю свойство только для чтения, оно также будет проверять, что текстовое поле доступно только для чтения.

1 голос
/ 08 января 2009

Есть программные роботы, но часто вы их действительно не видите. Например, рассмотрим робота, который используется для упаковки вещей. Есть человек, который следит за роботом в случае сбоя. Когда робот выходит из строя, человек выключает его и чинит вещи. Этот человек похож на программиста, который использует IDE для компиляции, рефакторинга и т. Д. При возникновении ошибок программист исправляет код и снова запускает компилятор.

Ну, компиляция не очень похожа на робот, но есть программное обеспечение, которое автоматически компилирует ваш проект. Теперь это больше похоже на робота. Этот программный робот также проверяет вещи в коде, например, достаточно ли комментариев и т. Д.

Тогда у нас есть программное обеспечение, которое генерирует код в соответствии с нашими данными. Например, мы можем легко создавать формы в MS Access с помощью Wizards. Волшебники не производят автоматически новые формы от формы к форме, потому что нам нужно, чтобы каждая форма отличалась. Но генератор форм - это своего рода роботоподобный инструмент, которым управляют.

Конечно, вы могли бы сначала ввести детали каждой формы, а затем запустить генерировать, но людям нравится скоро видеть каждую форму. Кроме того, механизм ввода является формой в значительной степени уже, так что вы получите то, что вы создаете на лету. Хотя с помощью инструментов преобразования данных вы можете создавать описания форм из списка имен полей, генерировать формы и вызывать их как роботов.

0 голосов
/ 17 декабря 2017

Вы можете попробовать Robot Framework http://robotframework.org/

Robot Framework - это универсальная среда автоматизации. Она имеет простой в использовании синтаксис табличных тестовых данных и использует подход, основанный на ключевых словах. Даже вы можете использовать этот инструмент в качестве программного бота (RPA).

0 голосов
/ 24 сентября 2015

Роботизированная автоматизация процессов

Во-первых, небольшая предыстория ... В 2011 году я работал операционным менеджером в Центре заключения контрактов в Бристоль-Майерс Сквибб. Мы были на ранних стадиях развертывания совершенно новой Глобальной контрактной системы. Эта новая система заменяла большую часть ручных усилий по всему миру с целью создания единой системы для создания, хранения и извлечения информации о контрактах для всей организации. Конечно, задача не из легких, и мы определенно недооценили масштаб и возможное влияние. Как и большинство организаций, которые справляются с этим процессом управления контрактами, мы обнаружили, что он в 4-10 раз больше, чем первоначально ожидалось.

Мы сделали очень много правильных вещей, включая создание вспомогательной организации с нуля, которая специализировалась на этом конкретном приложении и стала настоящими экспертами в предметной области для организации на (7) языках и в большинстве часовых поясов.

Приложение, с другой стороны, принесло свои собственные проблемы, которые включали в себя отсутствующие функции, меньшую, чем звездная производительность, и большую часть серверной работы, которую необходимо выполнить группе операций. Вот тут-то и появляется автоматизация процесса робототехники.

Многие из «функций» этого программного обеспечения были слишком сложны для использования конечными пользователями, но были необходимы для создания контрактов. Первым примером было добавление «Контакта», с которым будет заключен Контракт. «Третье лицо», если хотите. Это, на первый взгляд, простая вещь, которая потребовала (7) экранов ввода данных, загадочной точки доступа, двадцати двух минут и степени магистра, чтобы выяснить самостоятельно для каждого. Мы быстро приняли решение о том, чтобы рабочая группа создала эти «контакты» от имени наших конечных пользователей. Мы предвидели необходимость быть несколько тысяч в год. Мы очень быстро прошли 800 запросов в неделю. Когда над ним работали три FTE, у нас постоянно увеличивалось отставание, а время обработки запроса составляло более двух недель. Очевидно, что это НЕ должно происходить в любой бизнес-среде.

Ручной процесс был настолько сложным, что даже у моих сотрудников было много ошибок при их создании, даже в качестве экспертов в данной области. В результате доработка еще больше усложнила проблему и добавила затраты. У меня был некоторый предыдущий опыт автоматизации и продукты, с которыми я работал, но эта потребность была еще более интенсивной и сложной, чем я сталкивался ранее. Мне нужно было что-то великое, быстрое, простое в реализации, и для этого НЕ требовалась бы помощь ИТ (поскольку у него были свои подводные камни). Я исследовал ряд продуктов, все из которых утверждали, что делают подобные вещи. Один, конечно, выделился мне. Он казался наиболее способным, доступным и имел хорошие варианты поддержки. Я выбрал продукт Automation Anywhere по выгодной цене около 4000 долларов США.

Я здесь не для того, чтобы предлагать Automation Anywhere или какой-либо конкретный продукт в этом отношении. Но мой опыт работы с этим инструментом навсегда изменил мои ожидания и понимание того, что в действительности означает Robotic Process Automation. Не поймите меня неправильно, я здесь не для того, чтобы предлагать Automation Anywhere или какой-либо конкретный продукт в этом отношении. Но мой опыт работы с этим инструментом навсегда изменил мои ожидания и понимание того, что в действительности означает Robotic Process Automation. (см. ниже, если вы не уверены)

После моей первой недели, купив инструмент и изучив некоторые функции, я смог осуществить замену ручного процесса создания «Контакта» в системе заключения контрактов с двухнедельного поворота на (1 ) час разворота. Потребовалось усилие FTE 22 минуты для каждой записи, чтобы обнулить. Мне удалось запустить этот автоматизированный процесс с настольного ПК и полностью обработать каждый запрос, включая этапы проверки и подтверждения в других внешних системах, чтобы обеспечить лучшее качество данных, чем когда-либо ранее. За первую неделю мои затраты на программное обеспечение были восстановлены более чем на 200% благодаря экономии труда, что позволило этим ресурсам сосредоточиться на других более важных задачах. Мне все равно, откуда ты, это потрясающая рентабельность!

Это было только начало, теперь, когда у нас был этот инструмент, и на самом деле он мог сделать гораздо больше, чем эта первоначальная задача, в которой я нуждался, он стал одним из наиболее ценных ресурсов для разработки функциональных Proof of Concept / прототипов более сложных процессы, которые нам нужны для устранения пробелов в системе контрактов. Я смог добавить к первоначальной покупке корпоративную лицензию и обеспечить более надежную инфраструктуру в партнерстве с нашим ИТ-отделом по невероятно низкой цене для полной реализации. Теперь у меня было (5) выделенных корпоративных серверов, работающих 24/7, и (2) лицензии на разработку для построения и поддержки задач автоматизации, и мы смогли продолжать поддерживать инициативу заключения контрактов, даже с объемом, намного превышающим ожидаемый с тем же числом из FTEs, как мы начали с. Он стал платформой для составления отчетов, уведомлений конечных пользователей, системных предупреждений, обновления данных, рабочих процессов, планирования заданий, мониторинга, ETL и даже ввода и переноса данных из других систем. Уклонение от затрат из-за внедрения этого автоматизированного средства автоматизации процессов не может быть переоценено. Экономия в виде «мягкого доллара» благодаря своевременному предоставлению решений бизнес-сообществу и постоянной профессиональной честности, которую мы смогли продемонстрировать и продвигать, очевидна в успешном внедрении в более чем 48 странах в течение (1) года и заключении более 120 000 контрактов. каждый год с тех пор.

Он стал платформой для отчетов, уведомлений конечных пользователей, системных предупреждений, обновления данных, рабочих процессов, планирования заданий, мониторинга, ETL и даже ввода данных и переноса из других систем.
Хотя термин «роботизированная автоматизация процессов» в настоящее время встречает всеобщее распространение, эти концепции уже давно существуют. Пожалуйста, пожалуйста, однако, не делайте предположение, что это означает, что это ситуация сборки и забудьте. По мере роста и роста вам необходим четкий план управления задачами, ресурсами и инфраструктурой для обеспечения непрерывной работы. Эти инструменты в основном имитируют все, что может сделать человек, и гораздо больше, чем человек. Однако человек может довольно быстро изменить свои шаги в процессе, если одна из «исходных» систем, которые он / она использует, изменила пользовательский интерфейс. Ваши задачи автоматизации должны быть «подправлены», чтобы сделать это изменение в большинстве случаев. Некоторые бизнес-процессы могут быть проще, чем другие, для автоматизации и могут быть двумя сложными для случайного «создателя задачи автоматизации», чтобы создавать и поддерживать. Будьте уверены, что у вас есть надежные ресурсы для создания и поддержки задач. Если вы планируете делать более чем одно с помощью инструмента RPA, убедитесь, что у вас есть надежный контроль, управление, ресурсы и корпоративный «чемпион», или, уверяю вас, ваши усилия не увенчаются успехом.

Автоматизированная автоматизация процесса:

(IRPA) Институт роботизированной автоматизации процессов: «Роботизированная автоматизация процессов (RPA) - это применение технологии, которая позволяет сотрудникам компании настраивать компьютерное программное обеспечение или« робота »для захвата и интерпретации существующих приложений для обработки транзакции, манипулирование данными, запуск ответов и связь с другими цифровыми системами. ”

Wikipedia: «Примеры роботизированной автоматизации включают использование промышленных роботов в производстве и использование программных роботов для автоматизации канцелярских процессов в сфере услуг. В последнем случае использование термина «робот» является метафорическим, передавая сходство тех программных продуктов, которые производятся для обеспечения общих возможностей автоматизации, а затем конфигурируются в среде конечного пользователя для выполнения ручных и повторяющихся задач - их промышленному роботу. двойники. Метафора верна в том смысле, что программный «робот» теперь имитирует или заменяет функцию, классически связанную с человеком ».

0 голосов
/ 08 января 2009

Генерация кода, безусловно, является жизнеспособным инструментом для некоторых задач. Если все сделано плохо, это может создать проблемы с техническим обслуживанием, но это не должно быть сделано плохо. См. Сеть генерации кода для довольно активного сообщества с конференциями, бумагами и т. Д.

Генерация кода в действии - это одна книга, которая приходит на ум.

0 голосов
/ 08 января 2009

Я предполагаю, что, как и почти каждый разработчик программного обеспечения на планете Земля, вы хотите писать программное обеспечение, которое пишет программное обеспечение само по себе. К сожалению, это идея, которая работает только на бумаге. Я имею в виду, у нас есть такие вещи, как генераторы кода, DSL, конвейеры преобразования, надстройки Visual Studio, которые статически анализируют код и генерируют производный код, и так далее. Но это далеко не то, что можно назвать «роботом».

Лично я думаю, что в этой области необходимо сделать больше. Например, IDE должна уметь выводить вещи и делать предложения на основе того, что я на самом деле делаю. Например, если я добавляю свойство, среда IDE определяет, какие атрибуты имеют другие свойства в файле и как само свойство структурировано, и соответствующим образом корректирует свойство.

Любой ИИ является тяжелой работой и, к сожалению, не имеет такой большой ROI. Но это точно, если весело.

0 голосов
/ 08 января 2009

Написание повторяющихся задач - это то, что вы имеете в виду? Я предполагаю, что вы разработчик для Windows, где скриптинг не так распространен, как в * nix мире. Отсюда твой вопрос.

Возможно, вы захотите взглянуть на * nix сторону арены разработки программного обеспечения, где рабочий процесс более или менее похож на то, что вы описываете (по крайней мере, больше, чем Windows). Вспашка вашего пути через bash, perl, python и т. Д. Даст вам то, что вы хотите.

пс. Также посмотрите на пост nsr81 в комментариях для похожих инструментов скриптинга в Windows.

0 голосов
/ 08 января 2009

Есть даже целые книги об автоматизированном производстве программного обеспечения, но самая большая проблема заключается в том, что автоматизация процесса длится дольше, чем сам процесс.

В основном программисты отказываются от этого, поскольку они пытаются достичь всего за один шаг, от ручного программирования до автоматизации.

Общая автоматизация в производстве программного обеспечения осуществляется с помощью IDE, CodeGenerators и т. Д., До сих пор почти никакой логики не было автоматизировано.

Буду признателен за любой прогресс в этой теме. Попробуйте автоматизировать небольшие задачи из процесса, а затем подключите эти задачи. Идем шаг за шагом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...