Как стать автором
Обновить

Комментарии 39

Довольно интересный скрипт. Думаю многие кто связан с созданием, анализом и внедрением БП, очень часто сталкиваются с анализом их адекватности построения и формирования.
На первый взгляд, я уже заметил полезный функционал который поможет проводить анализ эффективности, в частности, те же затраты времени. Конечно я видел и декстопный софт под это дело, но там солидные системные требования + использование пакета Visio внутри себя. Довольно «тяжелая» штука. У онлайн сервиса в этом случае масса преимуществ.
Более детальный список пожеланий и улучшений смогу предоставить когда попробую сервис в боевых условиях. Думаю сегодня этим и займусь. БП у меня много, с довольно сложными и запутанными связями, интересно будет посмотреть, получится ли их перенести в скрипт.
Буду благодарен за обратную связь. Возникающие вопросы пишите в личку, в оперативном режиме постараюсь отвечать.
К сожалению (причем только на страницу со справкой) Сижу из Москвы:

Уважаемые пользователи!

Мы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.

Возможные причины ограничения доступа:

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

Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Единый Реестр доменных имен, указателей страниц сайтов сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено.

Проверить наличие сетевого адреса в Едином реестре можно в разделе «Просмотр реестра» на сайте www.zapret-info.gov.ru.

Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространяемую с нарушением исключительных прав.

Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте nap.rkn.gov.ru.
А на английском работает.
У меня только одна версия — cloudflare, который используется как CDN
Там порно ролик. Или телефон «дилера».
Ага, и призывы к декомпозиции процессов
По делу. Мне этот скрипт очень понравился. Так как сейчас в компании пытаемся автоматизировать рабочие процессы, то я буду пользоваться им для более наглядного представления и расчета.
Спасибо.
Сменил тариф, работоспособнлсть восстановлена
Гуд, буду пробовать.
А у меня сайт заблокирован. Провайдер proc.ru
Tor конечно никто не отменял, но все-же…
Разблокировали… чудеса!
Интересный скрипт. Сразу вопрос: в демке на «Закрытии заказа» у меня на каком-то этапе получилось 29 задач в работе, хотя этим занимаются только продавцы, которых 15, так и должно быть? Вот скрин screenshare.ru/pU4DonLa.
Спасибо за найденный баг. Это была рудиментная ошибка. Задачи из рабочей очереди переставали очищаться, если находилась хоть одна невыполненная задача. Из-за этого росла длинна очереди задач в работе. Сейчас ошибка исправлена, текущая актуальная версия сервиса 01.03.5, обновите пожалуйста кеш вашего броузера.
А можно ли выложить куда-то альтернативно страницу хэлпа?
Хоть на дропбокс архивом или страницей.
Морда открывается.

Запрет.инфо мешает зайти, пров. Ростелеком.
Положил копию хелпа на Дропбокс https://dl.dropboxusercontent.com/u/37793735/help.rar
Если не затруднит, пришлите пожалуйста скриншот запрета, попробую разобраться с провайдером.
на support at bpsimulator.com
Очень интересная штука получилась. А можете поподробней рассказать об алгоритмах работы со временем?
Со временем там как раз никаких хитростей нет. Есть следующие параметры:
1. Время такта — 1 сек, с такой частотой происходит обновление визуальной информации в реальном времени. Это время адаптивно может увеличиться, если расчет не успел выполниться за этот период.
2. Время старта процесса, процессное время, задается в настройках, по умолчанию 9:00
3. Скорость — период процессного времени, равный периоду реального времени, задается в настройках. По умолчанию на 1 сек. реального рассчитывается 1 минута процессного. При включенном ускорении этот параметр умножется от 2 до 60 раз
А далее с каждым тактом, к начальному времени прибавляем скорость, умноженную на количество тактов (например на 3 секунде расчета 9:00 + 01:00*3 = 9:03 — время процесса). Во всех расчетах, используем время процесса, что бы вовремя остановиться.
Получается, без тактов никак не обойтись?
Ведь по сути тогда у нас 2 времени, реальное и параллельное, которое такты реализуют?
Реальное время и тактовое равны 1 секунде, 1 секунда реального времени равна 1 минуте-часу и т.д. Такт — это как часто обновлять информацию, на сам процесс не влияет.
Знаком с симуляцией в ARIS (ныне Software AG)
Там еще в каждом шаге есть время на «переключение» — тоже из разряда ожидания, но другого рода — время, требуемое на переключение с одного вида деятельности на другой.

По поводу функционала — сделайте киллер фичу — приложение для смартфона для фиксирования времени выполнения, с несколькими большими кнопками типа «следующий шаг», «начало», «конец», «ожидание» и что-то типа «альтернатива» (которая бы добавляла новые ветки альтернатив выполнения процесса). Шаги сперва нумеровать, а потом можно переименовать уже на компе, после импорта.
Я работал на этом симуляторе и иногда поглядывал на него при написании своего. ИМХО — Арис лучшие свои годы уже пережил, сейчас там так все наворочено и столько сложных, запутанного функционала, что люди просто боятся в нем разбираться, даже консультанты. В симулятор я старался взять только достаточно понятные и прозрачные свойства процесса, которые сам использовал. Насчет конкретно «Переключения» — я им в банковской сфере никогда не пользовался, не представляю как операционист будет «тупить» и ничего не делать в специальное время. Пусть «тупит» во время работы над задачей, тогда мы его правильно посчитаем и включим в себестоимость выполнения функции.
А насчет фичи — сбор данных это все-таки этап моделирования, для этого сервис не предназначен, для моделирования полно доступного софта. Если будут предложения по симуляции — готов рассмотреть и оперативно внедрить, лишь бы на пользу было.
Да, для операциониста не подходит, у него однотипные задачи, даже, наверное, не надо другой софт запускать, но и тогда это можно посчитать как отдельную задачу.
Можно стоимость выполнения процесса считать, добавив стоимость ресурса, но это баловство. А вот если бы, например, писать результаты симуляции для разных процессов в ОДИН файл, это было бы удобно — сравнивать на одном экране разные варианты одного процесса
prolis, подскажите, как правильно сделать модель, если функции выполняются последовательно одним ресурсом в количестве 1 человек?
Я сделал просто последовательное выполнение, но генератор задач накидывает в первую функцию 540 задач, и пока первая функция не обработает все 540 процесс дальше не идет, а мне нужно чтобы после выполнения первой функции ресурс приступал к выполнению второй и т.д. до конца процесса, а потом бы только брал вторую задачу
в тестовой модели, если изменить количество поваров на 1 и количество продавцов на 1, то продавец формирует 540 заказов, но делает 0 выдач пиццы. Предполагаю, что это продолжение моего вопроса.
Хороший вопрос, действительно, из двух функций всегда будут выполнятся сначала задачи функции, самой близкой к генератору. Алгоритм обходит дерево процесса сверху вниз, видит наличие задач и назначает их в работу, т.к. до нижней функции он ещё не дошел и не знает, про её существование. Тут надо будет подумать.
А почему алгоритм не может последовательно все функции обходить, а в точках ветвления ходить по очереди то влево то вправо (ну, учитывая вероятности, конечно)
Так он ходит-то по веткам как положено, ну пойдет он направо, а про функцию слева ещё не знает. Пока мы до конца не дойдем, мы не знаем, что собрали всю информацию о среде выполнения. Можно встретив ресурс, посмотреть, где он ещё занят, и в тех функциях взять его задачи для приоритезации, НО: в этот момент ему задачи нижестоящие функции ещё не передали, мы про них тоже ничего не знаем.
Тут вопрос в уровне декомпозиции процесса. В зависимости от целей моделирования договариваются «на берегу» до какого уровня детализировать модели. Я рекомендую детализацию до уровня функций — целенаправленных действий одного сотрудника. Нам не надо дробить функцию «Подписание документа» на действия «Поиск документа в системе», «Печать документа» и «Подписание документа» — мы НЕ отвечаем на вопрос «Как он это делает?», а отвечаем на вопрос «Зачем он это делает?».
Бывают исключения, например когда в предыдущем примере подписать может не только исполнитель, а и его начальник, то это будет две функции «Подготовка документа» и «Подписание», у второй функции будет два альтернативных ресурса. Либо если исполнитель в течении дня только готовит документы, а подписывать он их должен пачкой вечером или на следующий день (ну мало-ли), то так же это будет 2 функции, т.к. после подготовки документов процесс останавливается и ждет наступления управляющего события «Каждый вечер в 19:00».
В вашем случае достаточно объединить действия одного исполнителя в одну функцию, тогда он не возьмет из очереди новую задачу, пока полностью не завершит начатое, что вам и надо. Для приоритезации выполнения задач есть приоритеты — глобальный и локальный, но они предназначены для немного других целей — например если сотрудник освободился и у него в очереди две задачи разных типов, например «Обслужить клиента» и «Позвонить подруге», то будет взята на исполнение задача с наибольшим приоритетом, т.е. звонок подруге.
У меня вот, например, задача: есть склад, там работает менеджер и упаковщик.
Упаковщик, условно, берет заказ, ищет товар на складе, подготавливает товар (тестирует, сканирует серийники), подбирает подходящую коробку, упаковывает и складирует в зоне отправки.
Я не хочу объединять работу упаковщика в функцию «упаковать товар». Я хочу сравнить, до какого количества заказов выгоднее (по стоимости или по количеству обработанных за день заказов) наращивать количество упаковщиков, а при каком количестве будет выгоднее нанять отдельного человека, который бы упаковщикам искал товары и коробки.
Арисом я эту задачу решил, хотел попробовать решить Вашим сервисом.
С помощью атрибута Commit Resource? Нет, этого функционала в симуляторе нет по описанным причинам.
Нет, можно и просто подбором :)
4 упаковщика упаковывают за день 125 товаров
а 3 упаковщика и один складской помощник — 158
Попробуйте в Арисе этот атрибут — он как раз для этого.
Он в атрибутах какого объекта? В атрибутах роли (ресурса) не нашел
Атрибут связи Ресурс-Функция
Спасибо, попробую. Но мне и degree of utilization хватало, для оценки.
С этим поосторожнее для оценки. Как раз тут бпсимулятор лучше справляется, когда у ресурса много типов задач. Складской помощник может не только упаковывать и помогать, но например периодически выполнять инвертаризацию, пересортицу, или что там еще регламентом предусмотрено. В симуляторе достаточно накидать генераторов этих задач, а в Арисе например придется тянуть интерфейсы от тех процессов и моделировать их.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации