Руководство по системе моделирования

Алфавит нотации и примеры бизнес-процессов
Алфавит нотации и примеры бизнес-процессов

Введение

В этой статье мы рассмотрим, что представляет собой нотация бизнес-моделирования BPMN и как её использовать для описания бизнес-процессов.

Главное назначение и практическое применение

Нотация BPMN (Business Process Modeling Notation) нужна для подробного описания логики выполнения бизнес-процесса, в том числе для отражения деталей процессов, таких как: события, исполнители каждого из действий, используемые и создаваемые документы и другие объекты, использующиеся в качестве входных данных для тех или иных действий или создающиеся в результате их выполнения.

BPMN позволяет описать бизнес-логику выполнения действий в виде наглядной диаграммы, а также запустить отрисованный бизнес-процесс на исполнение. Для этого используются специализированные системы BPMS (Business Process Management System), поддерживающие эту нотацию.

BPMS-системы могут автоматически перевести схему бизнес-процесса в исполняемый код и создать веб-приложение, которое будет обрабатывать данные, введённые пользователями и сторонними сервисами. Это соответствует концепции Low Code/No Code (создание программного обеспечения без разработки кода) и отлично подходит для автоматизации офисных процессов.

Технически такая возможность реализуется за счёт перевода BPMN-диаграмм в документы формата BPEL (Business Process Execution Language). BPEL-документы представляют собой инструкции исполнения бизнес-процессов для веб-сервисов.

Таким образом, BPMN используется в следующих случаях:

  1. Когда нужно детально и наглядно показать последовательность и логику взаимосвязи действий, событий, исполнителей и объектов бизнес-процесса

  2. Когда требуется запустить схему бизнес-процесса на исполнение в BPMS-системах

Краткая история появления нотации

BPMN считается довольно молодой нотацией: её 1-я версия вышла в 2009 году под эгидой профессионального консорциума OMG. Сегодня эта нотация является стандартом де-факто в ИТ-сфере и используется для описания бизнес-процессов. Текущая версия BPMN 2.0 вышла в 2011 году и используется до сих пор. В 2014 году в дополнение к BPMN группа OMG выпустила нотацию описания бизнес-правил и принятия решений (Decision Model and Notation, DMN).

DMN упрощает построение BPMN-диаграмм в случаях сложной бизнес-логики и многоуровневых её ветвлениях.

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

BPMN не заменяет IDEF0 и других нотаций структурного моделирования бизнес-процессов, организационных структур и информационных систем. Для этих задач есть соответствующие иерархические диаграммы, а также ER, DFD и UML-нотации.

Уровни моделирования

В зависимости от целей построения BPMN-диаграмм, различают 3 уровня моделирования:

  1. Описательное моделирование, когда нужно показать успешный путь выполнения бизнес-процесса, например, чтобы согласовать его с бизнес-пользователем. Здесь применяются самые простые элементы нотации, а сама диаграмма намеренно максимально упрощается.

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

  3. Исполняемое моделирование предназначено для запуска на исполнение в BPMS-движке, чтобы создать веб-приложение. Здесь может использоваться всё многообразие алфавита этой нотации, включая добавление специальных параметров и скриптов, создаваемых разработчиками.

Алфавит нотации

BPMN-диаграмма отражает детальное описание бизнес-процессов в наглядном графическом виде. Главными объектами на диаграмме являются события и действия (задачи), которые соединяются потоком управления.

Поток управления — это последовательность шагов бизнес-процесса, в которой он исполняется.

Событие — это некий свершившийся факт, что-то, что возникает по ходу процесса или происходит в результате выполнения тех или иных действий. Например, «от клиента поступила заявка», «прошла неделя с момента подачи заявления» и т. д. Процесс в BPMN-диаграмме всегда начинается с события и должен заканчиваться событием.

Кроме того, на диаграмме могут отражаться исполнители бизнес-процесса, документы, используемые или создаваемые в рамках процесса и другие артефакты.

При разработке BPMN-диаграмм «для людей» (описательный и аналитическое моделирование), используются базовые элементы нотации, самые простые для понимания.

События

В нижеприведённой таблице вы можете увидеть базовый набор элементов BPMN, использующийся для отображения событий. Если внутрь круга, изображающего события, вписан какой-то элемент, он называется триггер.

Триггер определяет тип и смысл события. Например, триггер в виде конверта означает, что пришли какие-то данные, причём совсем не обязательно в виде сообщения электронной почты. Триггер в виде часов связан со временем. Если событие имеет триггер, значит, поток управления двинется дальше только тогда, когда сработает триггер этого события. Например, получены данные, наступил определённый временной интервал и так далее.

Таблица базовых элементов BPMN

Таблица базовых элементов BPMN

Подробнее весь набор событий, их визуализация и смысл приведены в Приложении А.

Поток управления

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

Эфемерной сущностью BPMN, которая показывает смысл концепции потока, называют токен. Подобно потоку воды токен «бежит» от стартового события диаграммы к финишному, разделяясь на несколько экземпляров с помощью логических операторов. Последовательность и вариативность выполнения действий называется бизнес-логикой и показывается с помощью логических операторов или развилок, шлюзов. Например, на диаграмме ниже представлено 2 логических оператора: исключающее ИЛИ (XOR) и включающее ИЛИ (OR).

Процесс утреннего пробуждения

Пример процесса утреннего пробуждения

Пример процесса утреннего пробуждения

Как можно видеть на диаграмме, после стартового события выполняется первое действие («Проверить время звонка»). Следующий за ним логический оператор исключающего ИЛИ, подобно шлюзу, пропускает дальше поток управления только по одной ветке: «да» или «нет». Причём ветка «нет» здесь помечена как поток по умолчанию, который выполнится, если все остальные условия не будут верны.

После выполнения действия оператор включающего ИЛИ (OR) пропускает поток на действие «Выпить кофе» или на действие «Узнать новости» или по обоим веткам. Исключения здесь нет, ручеёк потока управления распараллеливается на две ветки, чтобы потом объединиться снова в одну и один раз выполнить действие «приготовиться к делам». После выполнения этого действия процесс заканчивается конечным событием.

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

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

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

Процесс утоления голода

В следующем примере процесс «утоления голода» состоит из двух дорожек («Ребёнок» и «Мама»), общение между которыми выполняется через поток управления.

Пример процесса утоления голода

Пример процесса утоления голода

Стартовым событием является простое событие «Возникло чувство голода» на дорожке Ребёнок, а конечным — простое событие «Чувство голода удовлетворено» на этой же самой дорожке.

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

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

Типы событий

Рассмотренные примеры не показывают даже 10% всех существующих в алфавите нотации BPMN элементов. Таким образом, алфавит нотации BPMN очень широк и позволяет подробно описать даже самую сложную бизнес-логику.

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

Также некоторые события могут быть прерывающими и не прерывающими.

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

События-инициаторы генерируют результат выполнения действий в процессе, при этом не приостанавливая выполнение бизнес-процесса. Такие события могут, например, отправлять сообщения, генерировать сигналы, возвращать ошибки. Все конечные события и некоторые промежуточные являются событиями-инициаторами. Триггер внутри них закрашен. Например, конверт в событии с типом «сообщение» будет чёрного цвета.

Прерывающие события с разным типом

Прерывающие события с разным типом

События могут располагаться в потоке управления между действиями процесса или на границе действия — в этом случае они считаются граничными.

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

Граничные прерывающие и непрерывающие события

Граничные прерывающие и непрерывающие события

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

Примеры прерывающих и непрерывающих граничных событий с типом «сообщение»

Примеры прерывающих и непрерывающих граничных событий с типом «сообщение»

Типы действий

Подобно событиям, действия в BPMN также могут быть разных типов:

  • Выполняемые вручную без использования какого-либо ПО, например, съесть пиццу.

  • Выполняемые пользователем с помощью ПО, к примеру, заказать пиццу.

  • Выполняемые скриптом или сервисом, например, изменить статус заказа пиццы.

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

Более подробно про типы действий, их смысл и графические обозначения рассказано в Приложении Б.

Логические операторы

Поскольку BPMN показывает логику выполнения бизнес-процесса, в диаграммах используются логические операторы, которые также называются развилками или шлюзами. Изначально их всего три: OR, XOR и AND.

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

Пример исключающего ИЛИ

Пример исключающего ИЛИ

В отличие от исключающего или, простое ИЛИ (OR) допускает возможность активации как нескольких веток, так и одной из них. В математическом смысле этот оператор реализует дизъюнкцию или логическое сложение переменных, что показано в таблице истинности на слайде.

Наконец, логическое И (AND) означает активацию всех входящих или исходящих в этот оператор потоков управления, реализуя логическое умножение переменных, т. е. операцию конъюнкции.

Пример логического И

Пример логического И

Поскольку алфавит BPMN является избыточным, помимо базовых операторов булевой алгебры (то есть ранее рассмотренных И, ИЛИ и исключающего ИЛИ) в нотации также присутствуют усложнённые вариации этих операторов.

Например, исключающее ИЛИ по событиям, событийное И, а также сложный оператор, который объединяет несколько из упомянутых и моделирует сложную бизнес-логику. Его не рекомендуется использовать на диаграммах, т.к. не очевидно, что именно он показывает.

Следующий рисунок показывает использование эксклюзивного шлюза по событиям, который запускает движение потока только по той ветке, где событие произойдёт раньше. Например, получено согласие от клиента ИЛИ прошло 5 дней (без новостей от клиента).

Пример использования эксклюзивного шлюза по событиям

Пример использования эксклюзивного шлюза по событиям

Все остальные шлюзы, которые есть в BPMN, приведены в Приложении В.

Артефакты

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

Вы можете найти полный перечень артефактов в Приложении Г.

Правила построения диаграмм

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

Пример бизнес-процесса обработки заявки

Пример бизнес-процесса обработки заявки

Стартовым событием в нашем процессе является поступление заявки от клиента. Обратите внимание, что клиент на диаграмме показан в виде свернутого пула: мы не видим никаких действий в пуле клиента, потому что для рассматриваемого процесса он представляет собой чёрный ящик, от которого приходят и уходят потоки сообщений, без подробностей обработки.

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

Обозначение действий по областям ответственности разных ролей

Обозначение действий по областям ответственности разных ролей

После действия «Направить клиенту коммерческое предложение (КП)» на диаграмме используется логический оператор ИЛИ (событийный XOR), после которого возможен один из двух вариантов:

1. Если прошло 5 дней, что показано событием с триггером таймер, и ответа от клиента нет, заявке присваивается статус «Отказ» в CRM-системе и наступает финишное событие «Заявка закрыта».

2. Если же ответ от клиента получен и 5 дней ещё не прошло, процесс движется дальше в зависимости от данных в этом ответе.

Таким образом либо заявке присваивается статус «Отказ» или выполняется свернутая задача «Сформировать проект договора», детали которой показаны на отдельной диаграмме.

В результате этой задачи создаётся документ «Проект договора» и наступает финишное событие «Заявка успешно обработана».

Поток по умолчанию

Если в диаграмме используются операторы обычного XOR, проверяющего условия по данным, и OR (неисключающего ИЛИ) рекомендуется помечать поток по умолчанию, который активируется, если другие условия не сработали. Поток по умолчанию допустимо не подписывать, если подписаны остальные потоки и диаграмма остаётся понятной. В примере ниже «‎Нецелевой» — поток по умолчанию.

Пример обозначения потока по умолчанию

Пример обозначения потока по умолчанию

Альтернативный способ показать условия

Поскольку алфавит нотации BPMN чрезмерно широкий, даже избыточный, то некоторые элементы по сути эквивалентны друг другу. В частности, вместо шлюза XOR по данным можно зашить условие в сам поток управления. Он обозначается маленьким ромбом в начале стрелки и содержит условие, которое определяет, будет активирован данный поток или нет. Этот поток нельзя использовать со шлюзами. В случае визуально нагруженной диаграммы с большим количеством блоков такой приём может чуть облегчить её и упростить восприятие.

Пример условия зашитого в поток управления

Пример условия зашитого в поток управления

Задачи и события

Говоря про вариативность BPMN, следует отметить небольшое различие между событиями-сообщениями и задачами-сообщениями. По сути это одно и тоже, но к задачам-сообщениям можно прикреплять обработчики событий (например, таймер) и модификаторы (например, цикл по объектам), а к самим событиям — нет.

Ниже показан пример диаграммы с задачами по отправке и получению сообщения:

Пример этой же диаграммы с событиями получения и отправки сообщений:

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

Рекомендации по использованию BPMN

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

Принимая во внимание три уровня моделирования BPMN и избыточный алфавит этой нотации, можно сделать вывод, что при проектировании диаграмм «‎для людей» (без запуска на выполнение в BPMS-системах) следует намеренно ограничить количество используемых элементов:

  • Использовать только пользовательские и ручные задачи — без сценариев, сервисов и бизнес-правил, отправки и получения сообщений.

  • Использовать только свернутые подпроцессы, раскрывая их детали на отдельной диаграмме.

  • Использовать только XOR и AND, без событийных шлюзов и OR, так как разница между исключающим и не исключающим ИЛИ понятна не всем пользователям.

  • Использовать события с типом простое, таймер, сообщение и останов.

Для упрощения восприятия диаграммы стоит придерживаться правил наименования:

  • Внешних контрагентов показывать как закрытые, они же — свёрнутые пулы (пулы, в которых нет действий).

  • Называть закрытые пулы ролями или бизнес-единицами, а открытые — процессами.

  • Называть дорожки также, как роль, должность или структурное подразделение.

  • Называть действия (задачи) в стиле Глагол-Существительное, например, «‎Проверить счёт», «Подтвердить заявку», «Оформить договор».

  • Называть события как свершившийся факт в прошедшем времени, к примеру, «Поступила заявка», «Прошло 3 дня».

  • Подписывать исходящие из XOR стрелки, например, «Да» и «Нет», а также отмечать поток по умолчанию.

Также рекомендуется:

  • Показывать успешное и неуспешное завершение процесса разными финишными событиями.

  • Не выводить поток управления за пределы подпроцесса.

  • Взаимодействие между разными пулами показывать через поток сообщений (пунктирной стрелкой), который не может присоединяться к шлюзам, в отличие от потока управления.

Наконец, при разработке любой диаграммы нужно помнить о главном правиле аналитика: независимо от нотации, ваша схема должна быть МАКСИМАЛЬНО простой и понятной читателю БЕЗ знания тонкостей процессного моделирования!

В целом алгоритм разработки BPMN-диаграммы можно представить как набор следующих 7 шагов:

  1. Определить границы процесса, т. е. стартовое и конечное события, участников и полезный результат.

  2. Описать «счастливый» путь (happy path), который ведёт к созданию полезного результата (продукта).

  3. Добавить условия и альтернативные потоки.

  4. Добавить неуспешные завершения.

  5. Добавить артефакты (объекты и хранилища данных).

  6. Раскрыть на новых связанных диаграммах свёрнутые подпроцессы.

  7. Добавить промежуточные событийные потоки к внешним пулам.

Пример построения диаграммы по текстовому описанию

Рассмотрим пример процессов работы с клиентской заявкой, представленной двумя пулами: «Обработка заявки» и «Заключение договора».

Клиент является внешним участником этих бизнес-процессов, то есть чёрным ящиком, поэтому он показан свёрнутым пулом. Общение между пулами реализовано через потоки сообщений.

Процесс начинается с момента, когда клиент оставил заявку на сайте (то есть поступление заявки является триггером процесса, его стартовым событием). На основании заявки, в которой указаны подробности заказа, менеджер формирует коммерческое предложение (КП). Далее менеджер озвучивает КП по телефону или направляет на email, или же делает и то, и другое — в зависимости от пожеланий клиента и указанных в заявке контактных данных.

Узнав подробности коммерческого предложения, клиент принимает решение о продолжении сотрудничества или отказе от него. Если клиент не согласился на условия КП, на этом процесс работы с ним заканчивается, а заявке присваивается статус «Отказ».

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

При наличии возражений к проекту договора клиент вносит в него изменения и снова направляет менеджеру. Менеджер формирует новый проект договора и снова отправляет клиенту на согласование, то есть идёт возврат к ранее выполняемой задаче.

Пример построения диаграммы по текстовому описанию

Пример построения диаграммы по текстовому описанию

Инструменты для разработки бизнес-процессов в нотации BPMN

BPMN-диаграммы для людей, то есть без запуска на исполнение, можно разработать, например, в следующих онлайн-редакторах:

  • ШТОРМ — веб-редактор от команды Дениса Котова, пожалуй, главного евангелиста BPMN в России, с автопроверкой диаграмм и возможностями командной работы в одном пространстве;

  • Online BPMN — простой и удобный веб-редактор, поддерживает интеграцию с BPMS-системой;

  • Cavemo — веб-редактор, аналогичный предыдущему, имеет офлайн-версию

  • простые веб-«рисовалки‎» Lucidchart, Draw.io, Visual Paradigm

Также алфавит нотации BPMN поддерживается и в MS Visio, ARIS Express и других редакторах диаграмм общего назначения.

Заключение

BPMN-диаграмма имеет массу достоинств. Она позволяет графически показать детальную логику выполнения процесса с помощью логических операторов, событий, документов и прочих объектов. BPMN-диаграмма может быть очень простой, наглядной и понятной для бизнес-пользователей, а также может быть запущена на исполнение в BPMS-движках. Сегодня именно эта нотация считается стандартом де-факто в ИТ-отрасли для описания бизнес-процессов.

Однако, избыточный алфавит нотации, особенно слишком большой набор событий и шлюзов, затрудняют разработку и чтение диаграмм. Это приводит к тому, что у разных аналитиков могут получиться разные диаграммы описания одного и того же процесса. Такая вариативность не всегда хороша, поскольку повышает семантическую нагрузку на читателя. Поэтому при использовании BPMN в качестве корпоративного стандарта визуального описания бизнес-процессов (без запуска на исполнение в BPMS) следует определить, какие элементы вы с коллегами будете использовать, и что именно каждый из них означает, чтобы исключить риски возможных семантических расхождений и снизить смысловую нагрузку на читателей диаграммы.


Анна Вичугова

Бизнес-аналитик, CBAP, к.т.н., тренер Systems.Education,
основатель и тренер Школы прикладного бизнес-анализа

  • Кандидат технических наук (Системный анализ, управление и обработка информации, 2013)

  • Сертифицированный бизнес-аналитик (IIBA CBAP, 2020)

  • Сертифицированный специалист Business Studio и СЭД Directum

Профессиональные интересы: системный анализ, бизнес-анализ, разработка и поддержка СМК, ССП (KPI), анализ и формализация бизнес-процессов (UML, IDEF, BPMN), Data Science, технологии Big Data, разработка технической документации (ТЗ по ГОСТам серии 19, 34, руководства пользователя и администратора, описание программных продуктов), управление продуктами и проектами.

Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»

(ТУСУР)
Кафедра телевидения и управления

(ТУ)

УТВЕРЖДАЮ

Заведующий кафедрой ТУ, профессор

_________________И.Н. Пустынский

«______»___________________2012 г.

Руководство по системе моделирования электромагнитной совместимости
Учебное методическое пособие

РАЗРАБОТАЛ

_________ Т.Р. Газизов

_________ Т.Т. Газизов

_____ А.О. Мелкозеров

«______»_________2012 г.

2012

Газизов Т.Р., Мелкозеров А.О., Газизов Т.Т. Руководство по системе моделирования электромагнитной совместимости: Учебное методическое пособие. – Томск: кафедра ТУ, ТУСУР, 2012. – с.
В первой части работы приведено руководство программиста системы моделирования электромагнитной совместимости, в котором рассмотрена программная архитектура данной системы. Во вторую часть работы вошло руководство пользователя системы моделирования электромагнитной совместимости, в котором отражены последние изменения, внесенные в систему в процессе ее разработки.

Работа предназначена для студентов, которые проходят групповое проектное обучение по направлению «Электромагнитная совместимость». Она может быть полезной при выполнении курсовых и дипломных работ, а также в проведении научных исследований инженерами и аспирантами с использованием системы моделирования электромагнитной совместимости.
© Газизов ТР., Мелкозеров А.О., Газизов Т.Т., 2012

© Кафедра телевидения и управления, ТУСУР, 2012

ОГЛАВЛЕНИЕ

1. Руководство программиста системы моделирования электромагнитной совместимости 5

2. Руководство пользователя системы 23

3. Список литературы 109

1.Руководство программиста системы моделирования электромагнитной совместимости

    1. Общие вопросы

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

На кафедре телевидения и управления Томского государственного университета систем управления и электроники (ТУСУР) Т.Р. Газизовым и временными творческими коллективами под его руководством в разное время разрабатывалось программное обеспечение для решения задач в области электромагнитной совместимости. В рамках реализуемой в ТУСУР с 2006 года программы «Инновационный университет» было принято решение о финансировании разработки системы компьютерного моделирования электромагнитной совместимости, которая бы объединяла в единый программный комплекс все наработанные ранее алгоритмы и подходы в области моделирования электромагнитной совместимости. Временный творческий коллектив под руководством Т.Р. Газизова, в который вошли инженеры, аспиранты и студенты кафедры ТУ, приступил к реализации этой системы на языке С++, ориентируясь на последние достижения в области объектно-ориентированного программирования и создания систем автоматизированного проектирования и разработки.

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

Данное руководство программиста отражает достигнутый на данный момент прогресс в разработке системы компьютерного моделирования электромагнитной совместимости. Руководство программиста предназначено для знакомства с внутренним устройством системы и механизмами взаимодействия ее отдельных компонентов. Предполагается, что читатель руководства программиста имеет навыки программировании на С++, по крайней мере, в объеме книги Бьерна Страуструпа «Язык программирования С++» [1]. Для менее подготовленных читателей в качестве первого знакомства с системой рекомендуется обратиться к руководству пользователя системы, которое размещено после руководства программиста.

Введение

Цель данного руководства – показать вам на примере создания простой схемы, как проводить интерактивное моделирование, используя Proteus VSM. Пока мы сконцентрируемся на использовании Активных Компонентов (Active Components) и возможностях отладки редактора ISIS, мы также рассмотрим основы трассировки и основы управления схемами. Полный обзор этих тем может быть найден в справочной системе ISIS.

Схема, которую мы будем использовать для моделирования – это два светофора, соединенных с микроконтроллером PIC16F84 как показано ниже.

Пример схемы Traffic.dsn

Пример схемы Traffic.dsn

Пока мы будем рисовать схему с нуля, законченную версию можно будет найти по пути “SamplesTutorialsTraffic.DSN” в папке, где у вас установлен Proteus. Пользователи, которые знакомы с основными способами работы в ISIS, могут выбрать уже готовую схему и перейти к разделу о программе микроконтроллера. Однако, обратите пожалуйста внимание на то, что файл этого проекта содержит предумышленную ошибку – прочитайте для более подробной информации.

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

Вычерчивание схемы

Размещение элементов

Начнем с размещения двух светофоров и PIC16F84 на новом макете схем. Начните новый проект, выберите иконку Компонент (Component) (все иконки имеют всплывающие подсказки и контекстно-зависимую справку, что помогает их использованию). Затем левый клик на букве ‘P’ наверху переключателя объектов (Object Selector), чтобы открыть окно Браузера Библиотек (Library Browser), которое появится поверх окна редактора (для более подробной информации смотрите Основы Ввода Схем в справочной системе ISIS).

Нажмите кнопку P на клавиатуре и напечатайте ‘Traffic’ в поле “Ключевые слова” (Key words), и дважды кликните на результате, чтобы переместить светофоры в переключатель объектов. Сделайте то же самое для PIC16F84A.

Единожды выбрав в проект светофоры и PIC16F84, закройте Браузер Библиотек и кликните один раз на PIC16F84 в переключателе объектов (это выделит ваш выбор и элемент будет показан в окне предварительного просмотра в правом верхнем углу экрана). Теперь левый клик на окне редактора, чтобы поместить элемент на схему, – повторите процесс, чтобы разместить на схеме два светофора.

Перемещение и ориентация

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

Чтобы повернуть элемент, правый клик на нем так же, как и в предыдущем случае, а затем левый клик на одной из иконок вращения (Rotation). Это повернет элемент на 90 градусов – повторите это столько раз, сколько требуется. Опять же, хороший способ – правый клик на пустом месте схемы, когда вы закончили, чтобы восстановить первоначальное состояние элемента.

Размечайте схему осмысленным способом (например, исходя из простоты восприятия), двигайте и поворачивайте элементы, как требуется. Если у вас возникли проблемы, советуем поработать с руководством в справочной системе ISIS – ISIS Tutorial.

Для нашей цели, мы игнорируем 2D графику, чтобы не запутываться, и сконцентрируемся на создании моделируемой схемы – для тех, кому интересно, полный доклад о графических возможностях ISIS можно найти в разделе 2D графика (2D Graphics).

Масштаб и захват

Как правило, при разводке схемы полезна возможность изменения масштаба требуемой территории. Нажатие клавиши F6 или иконки Увеличить (Zoom In) увеличит масштаб вокруг текущей позиции мыши, или, в качестве альтернативы, зажмите клавишу SHIFT, и зажав левую кнопку мыши, выделите территорию, которую нужно увеличить. Чтобы уменьшить масштаб, нажмите клавишу F7 или иконку Уменьшить (Zoom Out), или, если вы хотите уменьшить так, чтобы видеть всю схему целиком, нажмите клавишу F8 или используйте колесо мыши, чтобы уменьшить или увеличить требуемую территорию. Соответствующие команды могут быть доступны меню Вид (View).

ISIS имеет очень мощные возможности, называемые Real Time Snap. Когда курсор мыши находится поблизости от конца вывода или проводника, местоположение курсора захватывается этими объектами. Это позволяет легко редактировать и управлять схемой. Эта возможность может быть найдена в меню Инструменты (Tools) и по умолчанию включена.

Более подробная информация о масштабе и захвате может быть найдена в справочной системе ISIS – Окно Редактора.

Трассировка соединений

Простейший способ соединения схемы – это использовать опцию автотрассировки проводника (Wire Auto Router) в меню Инструменты (Tools). Убедитесь, что она включена (должна быть видна отметка в меню слева от опции). Для более подробной информации смотрите раздел “Автотрассировка проводника” в Инструкции ISIS. Увеличьте PIC, чтобы все выводы были видны, затем поместите курсор мыши на конец вывода 6 (RB0/INT). Вы увидите маленький ‘х’–курсор на конце мыши. Это показывает, что мышь в правильной позиции для присоединения проводника к этому выводу. Левый клик мышью, чтобы начать соединение, и затем переместите мышь к выводу, соединенному с красным фонарём одного из светофоров. Когда вы снова получите ‘х’–курсор над этим выводом, кликните левой кнопкой мыши, чтобы завершить соединение. Повторите этот процесс для подключения обоих светофоров как показано образце схемы.

Пара вопросов о процессе разводки, заслуживающих упоминания:

  • Вы можете делать соединения в любом режиме – ISIS достаточно сообразителен, чтобы понять, что вы делаете.
  • Когда включена автотрассировка проводника (Wire Auto router), разводится вокруг препятствий и, как правило, ищется удобная траектория между соединениями. При этом способе, как правило, вам только нужно сделать левый клик на обоих концах соединения и предоставить ISIS возможность позаботиться о пути между ними.
  • ISIS автоматически переместит экран, если вы затронете границу окна редактора, перемещая проводник. Учитывая это, вы можете увеличить масштаб до подходящего уровня и, при условии, что вы знаете приблизительную позицию элемента-цели, просто подталкивайте экран, пока не увидите его. В качестве альтернативы, вы можете увеличивать и уменьшать масштаб, пока перемещаете проводник (используя клавиши F6 и F7).

В заключение, мы должны соединить вывод 4 с клеммой питания. Выберите иконку “Клемма” (Terminal) и выделите “Питание” (POWER) в переключателе объектов. Теперь сделайте левый клик на подходящем месте и поместите клемму. Выберите подходящую ориентацию и присоедините клемму к выводу 4, используя тот же способ, что и раньше.

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

Написание программы

Листинг исходной программы

Для успеха нашей консультации мы подготовили следующую программу, которая записывается в PIC для управления светофорами. Эта программа приготовлена в файле TL.ASM и может быть найдена в папке “SamplesTutorials”.


    ; PIC16F844 is the target processor
    LIST    p=16F84

    ; Include header file
    #include "P16F84.INC"

    ; Temporary storage
    CBLOCK 0x10
      state
      l1,l2
    ENDC

    org     0         ; Start up vector.
    goto    setports  ; Go to start up code.

    org     4         ; Interrupt vector.
halt
    goto    halt      ; Sit in endless loop and do nothing.

setports
    clrw              ; Zero in to W.
    movwf  PORTA      ; Ensure PORTA is zero before we enable it.
    movwf  PORTB      ; Ensure PORTB is zero before we enable it.
    bsf    STATUS,RP0 ; Select Bank 1
    clrw              ; Mask for all bits as outputs.
    movwf  TRISB      ; Set TRISB register.
    bcf    STATUS,RP0 ; Reselect Bank 0.

initialise
    clrw              ; Initial state.

    movwf  state      ; Set it.

loop
    call   getmask    ; Convert state to bitmask.
    movwf  PORTB      ; Write it to port.
    incf   state,W    ; Increment state in to W.
    andlw  0x04       ; Wrap it around.
    movwf  state      ; Put it back in to memory.
    call   wait       ; Wait :-)
    goto   loop       ; And loop :-)

    ; Function to return bitmask for output port
    ;for current state.

    ; The top nibble contains the bits for one set
    ;of lights and the lower nibble the bits for
    ;the other set. Bit 1 is red, 2 is amber  and
    ;bit three is green. Bit four is not used.
getmask
    movf   state,W ; Get state in to W.
    addwf  PCL,F   ; Add offset in W to PCL to calc.goto.
    retlw  0x41    ; state==0 is Green and Red.
    retlw  0x23    ; state==1 is Amber and Red/Amber

    retlw  0x14    ; state==3 is Red and Green
    retlw  0x32    ; state==4 is Red/Amber and Amber.

    ; Function using two loops to achieve a delay.
wait
    movlw  5
    movwf  l1

w1  call   wait2
    decfsz l1
    goto   w1

    return

wait2
    clrf   l2
w2
    decfsz l2
    goto   w2
    return
    END

На самом деле в коде есть предумышленная ошибка, но подробнее об этом позже…

Прикрепление исходного файла

Следующий этап – присоединить программу к нашей схеме, чтобы мы могли успешно моделировать ее поведение. Сделаем это через команды меню Исходник (Source). Теперь перейдите в меню Source и выберите команду “Добавить/удалить исходные файлы” (Add/Remove Source Files). Нажмите кнопку New, зайдите в папку “SamplesTutorials” и выберите файл TL.ASM. Нажмите “открыть” и файл появится в выпадающем списке имен файлов исходных кодов (Source Code Filename).

Теперь нужно выбрать программу формирования кода для файла. Для нашей цели подойдет программа MPASM. Эта опция будет доступна из выпадающего списка Code Generation Tool, выберите ее обычным способом, кликая левой кнопкой мыши(обратите внимание, что если вы планируете использовать новый ассемблер или компилятор, вам нужно зарегистрировать его, используя команду “Определить программу формирования кода” (Define Code Generation Tools)).

В завершение, необходимо установить с каким файлом работает процессор. В нашем примере это будет tl.hex (hex-файл, генерируемый MPASM, являющийся результатом трансляции tl.asm). Чтобы прикрепить этот файл к процессору, кликните на pic-контроллере сначала правой кнопкой мыши, а потом левой. Это откроет диалоговую форму редактирования элемента, которая содержит поле “Файл программы” (Program File). Если в нем еще не установлен tl.hex, то введите путь к файлу либо вручную, либо просматривая место, где находится файл, нажав ‘?’ справа от поля. Установив hex-файл, нажмите ОК, чтобы выйти из диалоговой формы.

Теперь мы прикрепили исходный файл к проекту и установили, какая будет использоваться программа формирования кода. Более детальное разъяснение системы управления исходными кодами доступно в данной документации далее.

Отладка программы

Моделирование схемы

Чтобы смоделировать работу схем, кликните левой кнопкой мыши по кнопке Play на анимационной модели в правом нижнем углу экрана. Строка состояния покажет время, в течение которого запущена анимация. Обратите внимание на то, что один из светофоров зеленый в то время как другой красный, на схеме также можно увидеть логические уровни на выводах. Однако заметьте, что светофоры не изменяют состояния. Это из-за того, что в код внесена предумышленная ошибка. На данном этапе это подходит для того, чтобы отладить нашу программу и найти проблему.

Режим отладки

Чтобы удостоверить, что мы тщательны в отладке, мы остановим текущее моделирование. Покончив с этим, вы можете начать отладку нажатием CTRL+F12. Появятся два окна – первое хранит текущие значения регистров, второе показывает исходный код программы. Любое из них может быть активировано из меню “Отладка” (Debug) вместе с совокупностью других информационных окон. Мы также хотим активировать смотровое окно (Watch Window), в котором мы можем наблюдать внесенные изменения в параметры состояния. Полное разъяснение этого элемента доступно в разделе, озаглавленном “Смотровое окно”, в данной документации.

Установка точки останова

Взгляните на программу, можно заметить, что она замкнута в повторяющемся цикле. Поэтому будет хорошей идеей перед тем, как начать, установить точку останова в начале этого цикла. Вы можете сделать это выделением мышью строки (по адресу 0005 и 000E), а затем нажатием F9. Затем нажмите F12, чтобы запустить прогон программы. Теперь вы увидите сообщение в строке состояния, показывающее, что достигнута цифровая точка останова, а также адрес счётчика команд. Он соответствует адресу первой точки, которую мы установили.

Список клавиш отладки можно найти в меню Debug, но мы, большей частью, будем использовать F11, чтобы пошагово отлаживать программу. Теперь нажмите F11 и заметьте, что красная стрелка слева переместилась вниз к следующей инструкции. Мы фактически выполнили инструкцию ‘clrw’, а затем остановились. Вы можете проверить это, взглянув на регистр W в окне регистров и обратив внимание, что он обнулен.

Теперь нужно определить, что должно произойти при выполнении следующей инструкции, а затем проверить, действительно ли это произошло. Для примера, следующая инструкция перемещает содержимое регистра “W” в PORT A, т.е. PORT A будет очищен. Выполнение этой инструкции и проверка окна регистров подтверждают, что это на самом деле так. Продолжайте в том же духе пока не достигните нашей второй точки останова, обратите внимание, что оба порта настроены на выход (как предписано регистром TRISB) и установлены в нули.

И так, мы остановились на вызове функции, у нас есть опция перешагивания через функции (Stepping Over) (нажатием клавиши F10), но для полноты мы прошагаем через каждую инструкцию. Нажатие здесь F11 переносит к первой выполняемой строке функции getmask. Шагнув вперед, мы видим, что операция перемещения была успешна, и что мы попадаем в правильном месте для добавления нулевого сдвига в нашей таблице соответствия. Следовательно, когда мы возвращаемся в основную программу, мы имеем “маску”, которую и ожидали. Делая следующий шаг и записывая маску в порт, мы можем видеть правильный результат на схеме. Еще один шаг для инкриментирования режима также успешен, что подтверждается окном регистров, где значение в регистре W увеличилось на 1.

Следующий шаг содержит инструкцию, предназначенную для охватывания режима нулями, когда он возрастет выше 3. Это, как можно увидеть из смотрового окна, не выполняется. Очевидно, что режим увеличился здесь до 1, что соответствует маске и верно для следующего выполнения цикла.

Поиск ошибки

Скрытый анализ показывает, что причина проблемы в побитовом И с четверкой вместо тройки. Режимы, которые мы хотим 0, 1, 2, 3 при побитовом И их с 4 дают 0. Вот почему, когда запущено моделирование, режим светофоров не меняется. Решение в простой замене проблемной инструкции на И с 3 вместо 4. Это означает, что режим увеличивается до 3, и когда регистр W увеличится до 4, режим будет обнулен. Альтернативное решение в проверке, когда ‘W’ возрастет до 4, и сбросе его в ноль.

Теги

CADCAD / САПР (система автоматизированного проектирования)ISISMCUProteus VSMМикроконтроллер

От ликбеза до советов по выбору ПК и ПО, а также о своевременности входа в сферу 3D-моделинга.

https://gbcdn.mrgcdn.ru/uploads/post/2852/og_image/4574c5fb28e194ace873981896e69946.jpg

Человечество давно на пути из материального мира в цифровой, хайп вокруг метаверса лишь показал очевидность тренда. Неудивительно, что 3D-моделирование становится популярнее — должен же кто-то создавать объекты новой реальности! Но трёхмерное моделирование — не только про виртуальные миры, область его применения ещё шире и увлекательнее. 

Ликбез по 3D-моделированию

Что это 

3D-моделирование — раздел компьютерной графики, посвященный созданию трёхмерных визуальных объектов при помощи профильного ПО. Простыми словами, в специальных программах делаются объемные картинки.

3D-модель, автор: Jacob Thomas

Для чего нужно

  • Индустрия развлечений. 3D-моделирование применяется в фильмах, для создания анимации и видеоигр. Ну и, конечно же, какое без этого обустройство метавселенных? 
  • Создание прототипов. Современную 3D-графику трудно отличить от фото, поэтому с её помощью можно создавать эффектные презентации проектов для клиентов, партнёров и инвесторов. Например, её используют для визуализации зданий и интерьеров, для моделирования результатов пластических операций. 
  • Производство. Детали, украшения и даже медицинские протезы — всё, что будет воплощено в реальном мире может быть смоделировано, а потом напечатано на 3D-принтере или произведено на другом устройстве.

3D-модель бионического протеза руки MAXBIONIC

Два метода моделирования и их суть

Подходы настолько отличаются, что специалист по моделированию персонажей для игр, может никогда не открывать ни одной САПР-программы (системы автоматизированного проектирования). Хотя речь всё о том же 3D-моделировании.

Полигональное моделирование

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

Полигоны

Пример низкополигональной модели на 220 полигонов

Процесс создание простой 3D-модели с помощью полигонального моделирования:

Метод зачастую используется, если моделируемый объект не выйдет за пределы экрана, то есть не будет воссоздан в реальном мире. Так, например, создаются игровые и мультипликационные персонажи.

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

Моделирование в САПРах 

САПР или CAD (англ. Computer-Aided Design) — программа, где модели задаются формулами, а не полигонами. Это позволяет достигать точности до долей миллиметра, поэтому метод широко используется для проектирования моделей, которые не только выйдут за пределы экрана, но и пойдут в массовое производство. Например, для создания моделей деталей, которые будут отлиты на заводе, автомобилей, двигателей, зданий, мебели, самолётов.

Процесс моделирования выглядит так:

Если сравнивать этот метод с полигональным моделированием, то разница примерно как с растровой и векторной графикой. Даже предельно высокополигональная модель (с таким количеством рёбер, что самый мощный компьютер виснет при попытке её отобразить), будет иметь неровности при приближении, в САПРах же любая поверхность идеально гладкая.

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

Что нужно, чтобы начать

Главное — искренний интерес и вдохновлённость затеей. Самым первым шагом может быть даже скачивание приложения по 3D-моделированию на смартфон — просто чтобы понять, нравится ли вам создавать объемные фигурки на устройстве. На Android можно установить 3D Designer (рейтинг не очень, но что-то понять можно, сделав скидку на сыроватость), а на iOS пойдёт и более серьёзное САПР-приложение — Shapr: 3D modeling CAD.

Комментарий под видео, демонстрирующий правильный настрой и отсутствие возрастных преград

Знания и навыки

Для старта в полигональном моделировании не нужны никакие специфические знания, помимо умения пользоваться компьютером. Полезным, но не обязательным навыком для этапа скульптинга (способа моделирования, когда персонаж лепится как из глины) будет умение рисовать от руки. Для начала продуктивной работы в САПРах большим плюсом будет понимание топологии поверхностей, свойств материалов и технологии производства. Поэтому профильное образование и конструкторские навыки будут очень кстати.

Какой компьютер подойдет для 3D-моделирования

Выбор железа будет зависеть от сложности проектов, над которыми вы будете работать. Так высокополигональное моделирование и работа в САПРах потребует большей мощности компьютера.

Низко-, средне- и высокополигональная модели лица

Минимальные характеристики для 3D-моделирования без сильных тормозов с учётом требования большинства программ такие:

  • Full HD экран 1920х1080.
  • Процессор — 4 ядра от 3 GHz.
  • Оперативная память — 8 Гб (помните, 4х4 быстрее, чем 2х8 Гб).
  • Видеокарта — с поддержкой OpenGL 4.3 на 4 Гб памяти.
  • Свободное место на диске — 50 Гб (здесь с запасом, но желательно иметь как можно больше свободного места, ведь много памяти будут занимать плагины, наборы материалов, текстур и сами проекты).

Разумеется, чем больше, тем лучше. Вот пример топовой сборки, чтобы всё летало на любых проектах:

  • Процессор — AMD Ryzen 9 5950X. Он идеально подходит для 3D моделирования по количеству ядер (16) и потоков (32).
  • Оперативная память — 32 Гб (Patriot Viper Steel — 2х16 Гб).
  • Видеокарта — NVidia RTX 3080 Ti на 12 Гб.
  • Материнская плата — MSI MPG B550 GAMING CARBON WIFI.
  • Накопители — SSD Samsung 980 Pro 1 TB и HDD Seagate Backup Plus Hub
  • Блок питания — Deepcool DQ850.
  • Система охлаждения — MSI MAG CORELIQUID 360R.
  • Корпус — Cooler Master MasterBox MB511 RGB.

Но и стоимость такой сборки соответствующая — около 3700 долларов.

Конечно, можно позволить себе отличную сборку, на которой будет приятно работать с большинством проектов, за минимум в 2 раза меньшую сумму. Например, она может выглядеть так:

  • Процессор — AMD Ryzen 7 3700X.
  • Оперативная память — 32 Гб (Corsair Vengeance LPX — 2х16 Гб).
  • Видеокарта — GeForce RTX 2070.
  • Материнская плата — GIGABYTE X570 GAMING X.
  • Накопитель — SSD Samsung 970 PRO.
  • Блок питания — Corsair CX550.
  • Система охлаждения — AMD Wraith Prism.
  • Корпус — Phanteks Full Tower Case ATX.

Главное, если хотите сэкономить, то не берите готовые сборки. Высока вероятность переплатить или взять в таком комплекте староватую деталь. Лучше попросите помощи у понимающего в железе знакомого, обратитесь в специализированную контору за индивидуальной сборкой, а лучше — разберитесь сами. Детально о нюансах и подводных камнях выбора железа для 3D-моделирования рассказывает Digy Zem на своём Youtube-канале:

И да, на ноутбуке тоже можно моделировать, если он соответствует минимальным требованиям программ.

Какой графический планшет подойдёт для 3D-моделирования

Для обычного 3D-моделирования хватит мыши с клавиатурой. Но если вы планируете заниматься скульптингом, то нужно вложить бюджет и на покупку планшета. Начинающему 3D-моделлеру хватит и WACOM Intuos S стоимостью около 7000 рублей.

WACOM Intuos S

А стоит ли оно того?

Согласно данным Statista, глобальный рынок дополненной реальности (AR), виртуальной реальности (VR) и смешанной реальности (MR) достигнет 30,7 млрд. долларов в 2021 году, а к 2024 году приблизится к 300 млрд. долларов. То есть за 4 года вырастет в 10 раз, что однозначно приведёт к увеличению востребованности специалистов по 3D-моделированию.

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

Если вернуться на Землю, то уже сейчас на HeadHunter по запросу «3D-моделирование» открыто 643 вакансии. В среднем зарплаты стартуют от 70 тысяч рублей и достигают 300 тысяч рублей, например, для должностей Lead 3D Artist и Motion Designer 2D/3D. Специалисты требуются в самых разных сферах и под самые разные задачи: от создания игровых персонажей и моделей ювелирных изделий в ZBRUSH, проектирования мебели в AutoCAD до моделирования результатов лечения в стоматологии, как дополнения к основной специальности врача.

Поэтому не редкость, что понимая потенциал отрасли, программисты перепрофилируются в 3D-моделлеров. Так что, если вы ощущаете тягу к работе с визуалом, то однозначно стоит попробовать себя в этой сфере.

С чего начать изучение 3D-моделирования

Всё предельно просто — скачать программы для моделирования и начать работу над интересными для себя проектами, которые пополнят портфолио.

Часто рекомендуют начинать с освоения работы в Blender, ведь он бесплатен, не займёт много памяти и по нему много туториалов. Но лучше всего скачать и «пощупать» побольше программ, и выбрать то, что больше всего понравится и подойдёт под ваши задачи. Определиться поможет статья «10 популярных программ для 3D-моделирования».

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

Если нет времени собирать знания по крупицам, то вас может заинтересовать Факультет 3D-моделирования и визуализации. За 12 месяцев вы поработаете во всех популярных программах, освоите базовые и профессиональные инструменты, а также сделаете 10 работ для портфолио и получите гарантию трудоустройства.

#статьи

  • 10 авг 2022

  • 0

Моделирование бизнес-процессов: для чего оно нужно и как его провести

Продолжаем погружаться в управление бизнес-процессами. Рассказываем, как смоделировать процессы компании и описать их самостоятельно.

Иллюстрация: Andrea Piacquadio / Pexels / Colowgee для Skillbox Media

Ксеня Шестак

Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

Дипломированный специалист по автоматизации бизнес-процессов. Девять лет опыта в бизнесе и консалтинге. Смоделировал более тысячи процессов для торговых и промышленных предприятий. Основатель OkoCRM.


Фото: личный архив Александра Завьялова

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

О базовых терминах и идеях в области бизнес-процессов мы рассказали в большом гайде. В этой статье разберём подробнее:

  • что такое моделирование бизнес-процессов и нотации для моделирования;
  • какие есть подходы к моделированию и кто этим обычно занимается;
  • как изображают бизнес-процессы;
  • как самостоятельно описать бизнес-процессы.

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

Ответственные за моделирование разбираются в процессах компании и описывают, кто, что и как делает. Изучают каждую операцию и разбивают её на этапы. Сначала описывают всё это текстом, затем превращают описание в схему.

В профессиональном моделировании бизнес-процессов часто используют нотации. Нотация — это набор правил для графического описания бизнес-моделей. Нотации описывают:

  • какие иконки использовать в моделировании и как их читать;
  • как отображать последовательность действий в процессе и отношения внутри него;
  • какие элементы обязательно нужно включить.

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

Специалисты придумали много вариантов нотаций. Их делят на две основные категории:

  • Структурные. Они показывают элементы процесса и взаимосвязи между ними. Это нотации стандарта IDEF: IDEF0, IDEF1x, IDEF4, IDEF5.
  • Динамические. Они показывают логику выполнения процессов, последовательность и варианты их использования. Это нотации DFD, EPC, BPMN.

Ниже, когда мы будем говорить о подходах к моделированию, расскажем о двух вариантах нотаций — IDEF0 и BPMN.

С получившейся моделью бизнес-процесса работают дальше. Двигают элементы так, чтобы корректировать продолжительность цикла, влиять на качество результата или снижать себестоимость. Это называется оптимизацией бизнес-процесса — подробнее о ней говорили в статье. Но прежде чем оптимизировать и улучшать, важно провести качественное моделирование.

В моделировании бизнес-процессов есть три основных подхода: функциональный, процессный и ментальный. В следующих разделах разберём их подробнее.

Иногда можно встретить и другие подходы, но обычно это гибридные решения, собранные из основных. Каждый из трёх подходов предполагает, что процессы нужно визуализировать — рисовать их в виде схем. Различия подходов — в принципах визуализации.

При этом подходе описывают результаты, которые нужно получить, и ресурсы, которые при этом будут задействованы, без учёта последовательности действий.

У модели есть точки входа и выхода: то, что имеем на старте, и то, что хотим получить. Внутри — промежуточные результаты, ресурсы и факторы, которые влияют на процесс.

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

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

На мой взгляд, функциональный подход понятнее всего реализован в нотации IDEF0. Она рассматривает процесс как совокупность логически связанных между собой работ. Нотация показывает, как объекты подчинены друг другу внутри процесса.

Разберём на примере. Пусть это будет изготовление рекламного ролика.

Процесс изготовления рекламного ролика — основной блок с процессами. Я называю его «чёрный ящик». У него есть три входа и один выход:

1. Сверху — вход для информации о контроле и ограничениях. Это данные, которые определяют условия для реализации процесса. Например, при разработке ролика нас будет ограничивать законодательство и стайлбук заказчика. А ещё мы будем опираться на перечень услуг клиента — чтобы в рекламе были корректные данные.

2. Слева — вход для основной информации. На её основе будет создан результат. В примере с роликом, чтобы получить эту информацию, для заказчика проводят брифинг.

О том, как составить бриф для клиента в рекламе и digital, писали в статье.

3. Снизу — вход для механизма, который будет осуществлять функцию. В примере с роликом это CRM, где хранятся данные о заказчике, и сотрудники телеканала, которые будут снимать ролик.

4. Справа — выходы. Это результаты, которые мы получим: заключим договор, снимем ролик и предложим сотрудничать на постоянной основе.

Вот как функция будет выглядеть в виде диаграммы.

Функциональная модель процесса изготовления рекламного ролика
Инфографика: Майя Мальгина для Skillbox Media

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

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

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

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

Например, в функциональном подходе «Обработка заявки» — только один из элементов входа. В центре внимания — результат, то есть заключение сделки. В процессном подходе «Обработка заявки» — большой алгоритм. Он подробно описывает действия всей команды.

У процессного подхода есть свои нотации. Стандартом считается BPMN — базовый набор условных обозначений. Его используют для изображения бизнес-процесса в виде блок-схемы.

Нотация BPMN есть в каждом конструкторе для моделирования, но пользоваться ей не обязательно. Гораздо важнее, чтобы схема процесса была читаемой и понятной для руководителя и исполнителей.

Для примера нарисовали блок-схему обработки заявки в учебном центре. Она не соответствует канонам BPMN, но всё равно наглядна и понятна.

Фрагмент процессной модели бизнес-процесса: основные действия менеджера по продажам
Инфографика: Майя Мальгина для Skillbox Media

Это вариант моделирования «для себя». Его используют, чтобы структурировать общие представления о бизнес-процессе, но не раскладывать его на этапы и не составлять алгоритмов.

При ментальном подходе на процесс смотрят не как на последовательность результатов или действий, а как на набор связанных друг с другом понятий. Обычно их собирают на интеллект-карте: в центре «чёрный ящик» с процессом, на орбите — связанные с ним идеи и элементы. Жёстких рамок и нотаций нет — карты рисуют в произвольной форме.

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

Ниже дан пример ментальной карты процесса снабжения предприятия. На карте собраны понятия, которые связаны между собой внутри процесса. Но по этапам они не распределены.

Фрагмент ментальной модели. Составлен в свободной форме — все элементы вращаются на орбите процесса
Инфографика: Майя Мальгина для Skillbox Media

Обычно моделированием бизнес-процессов занимаются внутренние сотрудники компании или подрядчики. Выбор исполнителя зависит от размеров бизнеса и целей моделирования.

Например, если нужно построить воронку продаж для CRM и при этом нет цели улучшать процессы, можно строить модель можно своими силами. Когда цель моделирования в том, чтобы оптимизировать процессы, лучше обратиться к аналитикам. Для оптимизации нужно глубоко разобраться в процессах и ещё и думать над тем, как их доработать. Потребуется опыт и знание инструментов.

Рассмотрим, кто может заниматься моделированием процессов.

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

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

Подрядчики. В среднем и крупном бизнесе моделировать бизнес-процессы внутренними силами точно не получится — количество и объём всех процессов уже не укладываются в голове собственника.

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

Моделирование как отдельную услугу заказывают редко. Чаще это один из этапов внедрения систем автоматизации — CRM, ECM или ERP. Это работает по такой схеме:

  • Команда внедрения — подрядчик — приходит на территорию заказчика.
  • Она описывает процессы, проводит аудит и составляет аналитический отчёт с вариантами оптимизации.
  • Заказчик утверждает отчёт.
  • Подрядчик внедряет систему автоматизации с уже оптимизированными процессами.

Фрагмент отчёта бизнес-аналитика
Изображение: личный архив Александра Завьялова

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

На мой взгляд, графическое моделирование — наиболее удобное и наглядное. Изобразить бизнес-процессы можно двумя способами: в специальных программах для моделирования и в обычных графических редакторах.

В специальных программах. Это способ для профессионалов в моделировании.

Специальный софт удобен тем, что шаблоны нотаций уже вшиты в него, — не нужно изучать правила иллюстрирования дополнительно. Но придётся разбираться в функциональности программ.

Вот четыре конструктора, которые я использовал в своей практике для моделирования процессов:

  • Microsoft Visio 2010 — векторный графический редактор для создания разных видов схем: блок-схем, схем технологических процессов, моделей бизнес-процессов, планов зданий и этажей, трёхмерных карт и так далее. Платный.
  • Bizagi Process Modeler — программа для моделирования процессов по нотации BPMN с возможностью совместной работы. Бесплатная.
  • ARIS Express — программа для моделирования бизнес-процессов и оргструктуры с нотациями eEPC или BPMN. Бесплатная.
  • Business Studio — система, в которой можно описать, оптимизировать и регламентировать бизнес-процессы предприятия. Платная.

Фрагмент бизнес-модели с процессом обработки заявки в Business Studio
Скриншот: личный архив Александра Завьялова

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

В графических редакторах. Этот способ подойдёт для новичков, которые только знакомятся с моделированием бизнес-процессов. Проще всего взять обычный графический редактор — например, Microsoft Paint, Figma или Adobe Photoshop — и самостоятельно нарисовать интуитивно понятную схему процесса.

Также для изображения бизнес-процессов используют сервисы для создания ментальных карт. На мой взгляд, самые удачные из них — XMind, Diagrams и MindManager.

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

Покажем, как описать и смоделировать бизнес-процесс, на примере обработки заявки учебного центра. Использовать конструкторы не будем — все модели из примера построим в графическом редакторе.

1. Задаём точки входа и выхода. Вход — первое событие в процессе, выход — результат. Так обозначают границы, чтобы потом наполнить процесс действиями. Нужно определить:

  • Когда начинается процесс. В нашем примере это момент получения заявки от клиента. Если компания использует CRM, точкой входа будет попадание заявки в систему.
  • Когда процесс закончится. Это момент успешной реализации сделки: клиент оплатил счёт, а продавец и логист организовали доставку.

Можно придумать несколько вариантов точек входа и выхода — для разных вариантов развития события.

Задаём границы бизнес-процесса
Инфографика: Майя Мальгина для Skillbox Media

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

  • зачем нужен процесс;
  • из каких шагов и действий он состоит;
  • кто исполнители;
  • есть ли ограничения по срокам — сколько времени должен занимать весь процесс и его отдельные шаги;
  • какие события сопровождают действия исполнителей — например, обмен документами, информацией, денежные переводы;
  • какого результата нужно достичь — например, нужны подготовленные документы или оплата по счёту;
  • перечень ресурсов — что исполнителю нужно для реализации процесса;
  • показатели эффективности — по каким параметрам отслеживать, достигнута цель процесса или нет;
  • детали и особенности отдельных этапов.

Здесь лежит шаблон текстового описания процесса.

3. Выделяем основные этапы процесса. На основе описанного в предыдущем пункте процесса составляем блок-схему. В графическом редакторе рисуем каркас — основные этапы в пределах границ входа и выхода.

Рисуем каркас — основные этапы процесса
Инфографика: Майя Мальгина для Skillbox Media

4. Добавляем детали. Наполняем каркас «мясом» — основными событиями по процессу и действиями исполнителя по алгоритму.

Добавляем детали — основные события процесса и действия исполнителя
Инфографика: Майя Мальгина для Skillbox Media

5. Задаём роли. В процессе может быть несколько исполнительских ролей. Их может выполнять один или несколько сотрудников. Обычно роли обезличены, без уточнения фамилий, — только должности.

6. Наполняем схему ресурсами. Отмечаем на схеме источники ресурсов, которые будут использовать в бизнес-процессе. Например, какие документы кто кому и на каком этапе отправит, какие базы и системы для этого будет использовать.

В нашей «ручной» схеме — это просто дополнительные элементы в алгоритме. Если для моделирования используется специальный софт, к схеме можно прикрепить ссылки.

Фрагмент процессной модели бизнес-процесса: основные действия менеджера по продажам
Инфографика: Майя Мальгина для Skillbox Media

Блок-схема готова. Если таких схем несколько, их процессы можно связать друг с другом на одной карте.

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

  • Бизнес-процессы — любые операции внутри компании, которые помогают решать бизнес-задачи и зарабатывать. Моделирование бизнес-процессов — описание существующих в компании процессов и документирование требований к ним.
  • В моделировании бизнес-процессов есть три основных подхода: функциональный, процессный и ментальный. Самый понятный подход для неподготовленного человека — процессный. Он даёт подробный алгоритм действий для сотрудников и глубокую детализацию операций.
  • Моделировать процессы можно своими силами — если бизнес небольшой и несложный. Если в дальнейшем нужно оптимизировать процессы, лучше привлечь консультантов.
  • Бизнес-процессы обычно описывают графически — в виде карт и интуитивно понятных схем. Так с ними проще работать.
  • Смоделировать процесс можно самому: разобрать внутреннюю кухню компании, описать в тексте все алгоритмы и на основе этого построить схему в графическом редакторе.

Другие материалы Skillbox Media для менеджеров

Эффективный руководитель

Вы научитесь разрабатывать стратегию, ставить цели, создавать бизнес‑процессы и комфортный климат в команде. Найдёте точки роста в своей компании, сможете претендовать на повышение или масштабировать бизнес.

Узнать про курс

Понравилась статья? Поделить с друзьями:
  • Инструкция по эксплуатации ваз 11183 калина
  • Альтан инструкция по применению цена отзывы аналоги таблетки
  • 7 secret centella cica mini kit set инструкция по применению
  • Куарон инструкция по применению цена отзывы аналоги
  • Магния оротат витамир инструкция по применению цена