Comments 39
Довольно интересный скрипт. Думаю многие кто связан с созданием, анализом и внедрением БП, очень часто сталкиваются с анализом их адекватности построения и формирования.
На первый взгляд, я уже заметил полезный функционал который поможет проводить анализ эффективности, в частности, те же затраты времени. Конечно я видел и декстопный софт под это дело, но там солидные системные требования + использование пакета Visio внутри себя. Довольно «тяжелая» штука. У онлайн сервиса в этом случае масса преимуществ.
Более детальный список пожеланий и улучшений смогу предоставить когда попробую сервис в боевых условиях. Думаю сегодня этим и займусь. БП у меня много, с довольно сложными и запутанными связями, интересно будет посмотреть, получится ли их перенести в скрипт.
На первый взгляд, я уже заметил полезный функционал который поможет проводить анализ эффективности, в частности, те же затраты времени. Конечно я видел и декстопный софт под это дело, но там солидные системные требования + использование пакета Visio внутри себя. Довольно «тяжелая» штука. У онлайн сервиса в этом случае масса преимуществ.
Более детальный список пожеланий и улучшений смогу предоставить когда попробую сервис в боевых условиях. Думаю сегодня этим и займусь. БП у меня много, с довольно сложными и запутанными связями, интересно будет посмотреть, получится ли их перенести в скрипт.
К сожалению (причем только на страницу со справкой) Сижу из Москвы:
Уважаемые пользователи!
Мы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.
Возможные причины ограничения доступа:
Доступ ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации.
Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Единый Реестр доменных имен, указателей страниц сайтов сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено.
Проверить наличие сетевого адреса в Едином реестре можно в разделе «Просмотр реестра» на сайте www.zapret-info.gov.ru.
Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространяемую с нарушением исключительных прав.
Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте nap.rkn.gov.ru.
Уважаемые пользователи!
Мы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.
Возможные причины ограничения доступа:
Доступ ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации.
Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Единый Реестр доменных имен, указателей страниц сайтов сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено.
Проверить наличие сетевого адреса в Едином реестре можно в разделе «Просмотр реестра» на сайте www.zapret-info.gov.ru.
Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространяемую с нарушением исключительных прав.
Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте nap.rkn.gov.ru.
По делу. Мне этот скрипт очень понравился. Так как сейчас в компании пытаемся автоматизировать рабочие процессы, то я буду пользоваться им для более наглядного представления и расчета.
Спасибо.
Спасибо.
CPU Limit Reached: screenshare.ru/2JdOkpKq
А у меня сайт заблокирован. Провайдер proc.ru
Tor конечно никто не отменял, но все-же…
Tor конечно никто не отменял, но все-же…
Интересный скрипт. Сразу вопрос: в демке на «Закрытии заказа» у меня на каком-то этапе получилось 29 задач в работе, хотя этим занимаются только продавцы, которых 15, так и должно быть? Вот скрин screenshare.ru/pU4DonLa.
Спасибо за найденный баг. Это была рудиментная ошибка. Задачи из рабочей очереди переставали очищаться, если находилась хоть одна невыполненная задача. Из-за этого росла длинна очереди задач в работе. Сейчас ошибка исправлена, текущая актуальная версия сервиса 01.03.5, обновите пожалуйста кеш вашего броузера.
А можно ли выложить куда-то альтернативно страницу хэлпа?
Хоть на дропбокс архивом или страницей.
Морда открывается.
Запрет.инфо мешает зайти, пров. Ростелеком.
Хоть на дропбокс архивом или страницей.
Морда открывается.
Запрет.инфо мешает зайти, пров. Ростелеком.
Положил копию хелпа на Дропбокс https://dl.dropboxusercontent.com/u/37793735/help.rar
Если не затруднит, пришлите пожалуйста скриншот запрета, попробую разобраться с провайдером.
Если не затруднит, пришлите пожалуйста скриншот запрета, попробую разобраться с провайдером.
Очень интересная штука получилась. А можете поподробней рассказать об алгоритмах работы со временем?
Со временем там как раз никаких хитростей нет. Есть следующие параметры:
1. Время такта — 1 сек, с такой частотой происходит обновление визуальной информации в реальном времени. Это время адаптивно может увеличиться, если расчет не успел выполниться за этот период.
2. Время старта процесса, процессное время, задается в настройках, по умолчанию 9:00
3. Скорость — период процессного времени, равный периоду реального времени, задается в настройках. По умолчанию на 1 сек. реального рассчитывается 1 минута процессного. При включенном ускорении этот параметр умножется от 2 до 60 раз
А далее с каждым тактом, к начальному времени прибавляем скорость, умноженную на количество тактов (например на 3 секунде расчета 9:00 + 01:00*3 = 9:03 — время процесса). Во всех расчетах, используем время процесса, что бы вовремя остановиться.
1. Время такта — 1 сек, с такой частотой происходит обновление визуальной информации в реальном времени. Это время адаптивно может увеличиться, если расчет не успел выполниться за этот период.
2. Время старта процесса, процессное время, задается в настройках, по умолчанию 9:00
3. Скорость — период процессного времени, равный периоду реального времени, задается в настройках. По умолчанию на 1 сек. реального рассчитывается 1 минута процессного. При включенном ускорении этот параметр умножется от 2 до 60 раз
А далее с каждым тактом, к начальному времени прибавляем скорость, умноженную на количество тактов (например на 3 секунде расчета 9:00 + 01:00*3 = 9:03 — время процесса). Во всех расчетах, используем время процесса, что бы вовремя остановиться.
Знаком с симуляцией в ARIS (ныне Software AG)
Там еще в каждом шаге есть время на «переключение» — тоже из разряда ожидания, но другого рода — время, требуемое на переключение с одного вида деятельности на другой.
По поводу функционала — сделайте киллер фичу — приложение для смартфона для фиксирования времени выполнения, с несколькими большими кнопками типа «следующий шаг», «начало», «конец», «ожидание» и что-то типа «альтернатива» (которая бы добавляла новые ветки альтернатив выполнения процесса). Шаги сперва нумеровать, а потом можно переименовать уже на компе, после импорта.
Там еще в каждом шаге есть время на «переключение» — тоже из разряда ожидания, но другого рода — время, требуемое на переключение с одного вида деятельности на другой.
По поводу функционала — сделайте киллер фичу — приложение для смартфона для фиксирования времени выполнения, с несколькими большими кнопками типа «следующий шаг», «начало», «конец», «ожидание» и что-то типа «альтернатива» (которая бы добавляла новые ветки альтернатив выполнения процесса). Шаги сперва нумеровать, а потом можно переименовать уже на компе, после импорта.
Я работал на этом симуляторе и иногда поглядывал на него при написании своего. ИМХО — Арис лучшие свои годы уже пережил, сейчас там так все наворочено и столько сложных, запутанного функционала, что люди просто боятся в нем разбираться, даже консультанты. В симулятор я старался взять только достаточно понятные и прозрачные свойства процесса, которые сам использовал. Насчет конкретно «Переключения» — я им в банковской сфере никогда не пользовался, не представляю как операционист будет «тупить» и ничего не делать в специальное время. Пусть «тупит» во время работы над задачей, тогда мы его правильно посчитаем и включим в себестоимость выполнения функции.
А насчет фичи — сбор данных это все-таки этап моделирования, для этого сервис не предназначен, для моделирования полно доступного софта. Если будут предложения по симуляции — готов рассмотреть и оперативно внедрить, лишь бы на пользу было.
А насчет фичи — сбор данных это все-таки этап моделирования, для этого сервис не предназначен, для моделирования полно доступного софта. Если будут предложения по симуляции — готов рассмотреть и оперативно внедрить, лишь бы на пользу было.
Да, для операциониста не подходит, у него однотипные задачи, даже, наверное, не надо другой софт запускать, но и тогда это можно посчитать как отдельную задачу.
Можно стоимость выполнения процесса считать, добавив стоимость ресурса, но это баловство. А вот если бы, например, писать результаты симуляции для разных процессов в ОДИН файл, это было бы удобно — сравнивать на одном экране разные варианты одного процесса
Можно стоимость выполнения процесса считать, добавив стоимость ресурса, но это баловство. А вот если бы, например, писать результаты симуляции для разных процессов в ОДИН файл, это было бы удобно — сравнивать на одном экране разные варианты одного процесса
prolis, подскажите, как правильно сделать модель, если функции выполняются последовательно одним ресурсом в количестве 1 человек?
Я сделал просто последовательное выполнение, но генератор задач накидывает в первую функцию 540 задач, и пока первая функция не обработает все 540 процесс дальше не идет, а мне нужно чтобы после выполнения первой функции ресурс приступал к выполнению второй и т.д. до конца процесса, а потом бы только брал вторую задачу
Я сделал просто последовательное выполнение, но генератор задач накидывает в первую функцию 540 задач, и пока первая функция не обработает все 540 процесс дальше не идет, а мне нужно чтобы после выполнения первой функции ресурс приступал к выполнению второй и т.д. до конца процесса, а потом бы только брал вторую задачу
в тестовой модели, если изменить количество поваров на 1 и количество продавцов на 1, то продавец формирует 540 заказов, но делает 0 выдач пиццы. Предполагаю, что это продолжение моего вопроса.
Хороший вопрос, действительно, из двух функций всегда будут выполнятся сначала задачи функции, самой близкой к генератору. Алгоритм обходит дерево процесса сверху вниз, видит наличие задач и назначает их в работу, т.к. до нижней функции он ещё не дошел и не знает, про её существование. Тут надо будет подумать.
А почему алгоритм не может последовательно все функции обходить, а в точках ветвления ходить по очереди то влево то вправо (ну, учитывая вероятности, конечно)
Так он ходит-то по веткам как положено, ну пойдет он направо, а про функцию слева ещё не знает. Пока мы до конца не дойдем, мы не знаем, что собрали всю информацию о среде выполнения. Можно встретив ресурс, посмотреть, где он ещё занят, и в тех функциях взять его задачи для приоритезации, НО: в этот момент ему задачи нижестоящие функции ещё не передали, мы про них тоже ничего не знаем.
Тут вопрос в уровне декомпозиции процесса. В зависимости от целей моделирования договариваются «на берегу» до какого уровня детализировать модели. Я рекомендую детализацию до уровня функций — целенаправленных действий одного сотрудника. Нам не надо дробить функцию «Подписание документа» на действия «Поиск документа в системе», «Печать документа» и «Подписание документа» — мы НЕ отвечаем на вопрос «Как он это делает?», а отвечаем на вопрос «Зачем он это делает?».
Бывают исключения, например когда в предыдущем примере подписать может не только исполнитель, а и его начальник, то это будет две функции «Подготовка документа» и «Подписание», у второй функции будет два альтернативных ресурса. Либо если исполнитель в течении дня только готовит документы, а подписывать он их должен пачкой вечером или на следующий день (ну мало-ли), то так же это будет 2 функции, т.к. после подготовки документов процесс останавливается и ждет наступления управляющего события «Каждый вечер в 19:00».
В вашем случае достаточно объединить действия одного исполнителя в одну функцию, тогда он не возьмет из очереди новую задачу, пока полностью не завершит начатое, что вам и надо. Для приоритезации выполнения задач есть приоритеты — глобальный и локальный, но они предназначены для немного других целей — например если сотрудник освободился и у него в очереди две задачи разных типов, например «Обслужить клиента» и «Позвонить подруге», то будет взята на исполнение задача с наибольшим приоритетом, т.е. звонок подруге.
Бывают исключения, например когда в предыдущем примере подписать может не только исполнитель, а и его начальник, то это будет две функции «Подготовка документа» и «Подписание», у второй функции будет два альтернативных ресурса. Либо если исполнитель в течении дня только готовит документы, а подписывать он их должен пачкой вечером или на следующий день (ну мало-ли), то так же это будет 2 функции, т.к. после подготовки документов процесс останавливается и ждет наступления управляющего события «Каждый вечер в 19:00».
В вашем случае достаточно объединить действия одного исполнителя в одну функцию, тогда он не возьмет из очереди новую задачу, пока полностью не завершит начатое, что вам и надо. Для приоритезации выполнения задач есть приоритеты — глобальный и локальный, но они предназначены для немного других целей — например если сотрудник освободился и у него в очереди две задачи разных типов, например «Обслужить клиента» и «Позвонить подруге», то будет взята на исполнение задача с наибольшим приоритетом, т.е. звонок подруге.
У меня вот, например, задача: есть склад, там работает менеджер и упаковщик.
Упаковщик, условно, берет заказ, ищет товар на складе, подготавливает товар (тестирует, сканирует серийники), подбирает подходящую коробку, упаковывает и складирует в зоне отправки.
Я не хочу объединять работу упаковщика в функцию «упаковать товар». Я хочу сравнить, до какого количества заказов выгоднее (по стоимости или по количеству обработанных за день заказов) наращивать количество упаковщиков, а при каком количестве будет выгоднее нанять отдельного человека, который бы упаковщикам искал товары и коробки.
Арисом я эту задачу решил, хотел попробовать решить Вашим сервисом.
Упаковщик, условно, берет заказ, ищет товар на складе, подготавливает товар (тестирует, сканирует серийники), подбирает подходящую коробку, упаковывает и складирует в зоне отправки.
Я не хочу объединять работу упаковщика в функцию «упаковать товар». Я хочу сравнить, до какого количества заказов выгоднее (по стоимости или по количеству обработанных за день заказов) наращивать количество упаковщиков, а при каком количестве будет выгоднее нанять отдельного человека, который бы упаковщикам искал товары и коробки.
Арисом я эту задачу решил, хотел попробовать решить Вашим сервисом.
С помощью атрибута Commit Resource? Нет, этого функционала в симуляторе нет по описанным причинам.
Нет, можно и просто подбором :)
4 упаковщика упаковывают за день 125 товаров
а 3 упаковщика и один складской помощник — 158
4 упаковщика упаковывают за день 125 товаров
а 3 упаковщика и один складской помощник — 158
Попробуйте в Арисе этот атрибут — он как раз для этого.
Он в атрибутах какого объекта? В атрибутах роли (ресурса) не нашел
Атрибут связи Ресурс-Функция
Спасибо, попробую. Но мне и degree of utilization хватало, для оценки.
С этим поосторожнее для оценки. Как раз тут бпсимулятор лучше справляется, когда у ресурса много типов задач. Складской помощник может не только упаковывать и помогать, но например периодически выполнять инвертаризацию, пересортицу, или что там еще регламентом предусмотрено. В симуляторе достаточно накидать генераторов этих задач, а в Арисе например придется тянуть интерфейсы от тех процессов и моделировать их.
Sign up to leave a comment.
Симулятор бизнес-процессов