Способы описания процессов блок схема

Лекция 10. Описание процессов при помощи блок-схем

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

Таблица. Графические объекты блок-схемы процесса

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

Пример описания процесса при помощи блок-схем представлен на следующем рисунке 22.

Рис. 10.1. Пример блок-схемы процесса.

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

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

WFD-схема бизнес-процесса «Управление персоналом / Подбор персонала/Поиск и привлечение кандидатов»

| следующая лекция ==>
| Цели урока иностранного языка и способы их достижения

Дата добавления: 2015-12-10 ; просмотров: 7701 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источник

Блок-схемы алгоритмов. ГОСТ. Примеры

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

На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт — ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем» [1]. Не смотря на то, что описанные в стандарте обозначения могут использоваться для изображения схем ресурсов системы, схем взаимодействия программ и т.п., в настоящей статье описана лишь разработка схем алгоритмов программ.

Рассматриваемый ГОСТ практически полностью соответствует международному стандарту ISO 5807:1985.

Содержание:

Элементы блок-схем алгоритмов

Блок-схема представляет собой совокупность символов, соответствующих этапам работы алгоритма и соединяющих их линий. Пунктирная линия используется для соединения символа с комментарием. Сплошная линия отражает зависимости по управлению между символами и может снабжаться стрелкой. Стрелку можно не указывать при направлении дуги слева направо и сверху вниз. Согласно п. 4.2.4, линии должны подходить к символу слева, либо сверху, а исходить снизу, либо справа.

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

Терминатор начала и конца работы функции Терминатором начинается и заканчивается любая функция. Тип возвращаемого значения и аргументов функции обычно указывается в комментариях к блоку терминатора.

Операции ввода и вывода данных В ГОСТ определено множество символов ввода/вывода, например вывод на магнитные ленты, дисплеи и т.п. Если источник данных не принципиален, обычно используется символ параллелограмма. Подробности ввода/вывода могут быть указаны в комментариях.

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

Блок, иллюстрирующий ветвление алгоритма Блок в виде ромба имеет один вход и несколько подписанных выходов. В случае, если блок имеет 2 выхода (соответствует оператору ветвления), на них подписывается результат сравнения — «да/нет». Если из блока выходит большее число линий (оператор выбора), внутри него записывается имя переменной, а на выходящих дугах — значения этой переменной.

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

Начало и конец цикла Символы начала и конца цикла содержат имя и условие. Условие может отсутствовать в одном из символов пары. Расположение условия, определяет тип оператора, соответствующего символам на языке высокого уровня — оператор с предусловием (while) или постусловием (do … while).

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

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

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

Примеры блок-схем

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

Читайте также:  Что является примером рационального природопользования добыча угля открытым способом

Сортировка вставками

Массив в алгоритме сортировки вставками разделяется на отсортированную и еще не обработанную части. Изначально отсортированная часть состоит из одного элемента, и постепенно увеличивается.

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

Блок-схема алгоритма сортировки вставками

В приведенной блок-схеме для организации цикла используется символ ветвления. В главном цикле (i Блок-схема алгоритма сортировки пузырьком

На блок-схеме показано использование символов начала и конца цикла. Условие внешнего цикла (А) проверяется в конце (с постусловием), он работает до тех пор, пока переменная hasSwapped имеет значение true. Внутренний цикл использует предусловие для перебора пар сравниваемых элементов. В случае, если элементы расположены в неправильном порядке, выполняется их перестановка посредством вызова внешней процедуры (swap). Для того, чтобы было понятно назначение внешней процедуры и порядок следования ее аргументов, необходимо писать комментарии. В случае, если функция возвращает значение, комментарий может быть написан к символу терминатору конца.

Сортировка выбором

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

Блок-схема сортировки выбором

На блок-схеме приведен пример использования блока «подготовка», а также показано, что в ряде случаев можно описывать алгоритм более «укрупнённо» (не вдаваясь в детали). К сортировке выбором не имеют отношения детали реализации поиска индекса минимального элемента массива, поэтому они могут быть описаны символом вызова внешней процедуры. Если блок-схема алгоритма внешней процедуры отсутствует, не помешает написать к символу вызова комментарий, исключением могут быть функции с говорящими названиями типа swap, sort, … .

На блоге можно найти другие примеры блок-схем:

Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd [5], обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.

Нужны ли блок-схемы? Альтернативы

Частные конторы никакие блок-схемы не используют, в книжках по алгоритмам [6] вместо них применяют словесное описание (псевдокод) как более краткую форму. Возможно блок-схемы применяют на государственных предприятиях, которые должны оформлять документацию согласно требованиям ЕСПД, но есть сомнения — даже для регистрации программы в Государственном реестре программ для ЭВМ никаких блок-схем не требуется.

Тем не менее, рисовать блок-схемы заставляют школьников (примеры из учебников ГОСТ не соответствуют) — выносят вопросы на государственные экзамены (ГИА и ЕГЭ), студентов — перед защитой диплом сдается на нормоконтроль, где проверяется соответствие схем стандартам.

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

Появляются подозрения, что система образования прогнила и отстала лет на 20, однако аналогичная проблема наблюдается и за рубежом. Международный стандарт ISO 5807:1985 мало чем отличается от ГОСТ 19.701-90, более нового стандарта за рубежом нет. Там же производится множество программ для выполнения этих самых схем — Dia, MS Visio, yEd, …, а значит списывать их не собираются. Вместо блок-схем иногда применяют диаграммы деятельности UML [6], однако удобнее они оказываются, разве что при изображении параллельных алгоритмов.

Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) [7], ходя даже в их кругу нет единого мнения.

В ряде случаев, программирование невозможно без рисования блок-схем, т.к. это один процесс — существуют визуальные языки программирования, такие как ДРАКОН [8], кроме того, блок-схемы используются для верификации алгоритмов (формального доказательства их корректности) методом индуктивных утверждений Флойда [9].

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

Источник

Язык нотаций: как объяснять сложные процессы с помощью блок-схем

Некоторые стратегии email-маркетинга похожи на сценарии Дэвида Линча: если не объяснить, что к чему относится и как работает, не разберёшься.

Чтобы клиенту было проще понять стратегию, мы оформляем её не только в виде текстового описания, но и в виде схемы. А чтобы все схемы были «написаны» на одном языке, мы используем нотации.

Что такое нотация

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

Как мы выбирали нотацию

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

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

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

Плюс у нас есть свои требования к нотации:

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

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

Грамотно и без космических обещаний

Рассмотрим основные элементы этих нотаций на примерах простой блок-схемы, известной с уроков информатики, популярной нотации ARIS eEPC и более сложной современной нотации BPMN.

Список базовых элементов

Элемент Блок-схема ARIS eEPC BPMN
События. Указывают на границы процесса — начало и конец. Также могут отображать промежуточные события в процессе.
Операция процесса. Элементы для отображения действий (задач, функций). Совпадают практически во всех нотациях класса workflow.
Шлюз, или оператор логики. Служит для описания ситуации, когда те или иные условия влияют на ход процесса. Отвечает на вопросы «и», «или», «либо-либо».
Стрелки «связь между операциями». Показывают, что операция наступает только после завершения предыдущей. По сути, демонстрируют ход процесса во времени.
Стрелки «поток информации». Отображают обмен сообщениями (документами, письмами и прочим) между участниками процесса.

Теперь попробуем описать простую стратегию в каждой из нотаций.

1. Простая блок-схема

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

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

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

2. ARIS eEPS

Аббревиатура eEPC расшифровывается как extended Event Driven Process Chain — это расширенное описание цепочки процесса, управляемого событиями. Событие «создаёт» операцию (функцию), которая в свою очередь «создаёт» следующее событие.

При построении схемы в нотации ARIS eEPC нужно учитывать основные правила:

— каждой функции должно предшествовать событие;

— каждая функция должна завершаться событием;

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

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

3. BPMN

Об этой нотации стоит рассказать подробнее. Она основана на методологии BPM (Business Process Management — управление бизнес-процессами). Схема в нотации BPMN моделирует поведение участников бизнес-взаимодействия во времени.

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

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

Особенности элементов нотации BPMN

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

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

Задачи и подпроцессы могут иметь маркеры. Например, силуэт человека — пользовательская операция (выполняет сотрудник), шестерёнка — сервисная (выполняется сервисом автоматически).

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

Например, в процессе «Оформление заказа» старт — это клик на сайте на кнопку «Оформить заказ». Финиш — получение посылки или оставление отзыва.

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

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

Так, параллельный шлюз (И) обозначает ветвление процесса на параллельные потоки, когда действия выполняются одновременно.

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

Эксклюзивный шлюз (ИЛИ) можно представить в виде вопроса, на который может быть несколько ответов, но в результате верным будет только один.

Например, задаем вопрос: «Как клиент хочет оформить доставку?». Если самовывозом, то нужно отправить письмо, что товар забронирован. Если другим способом — выслать трек-номер посылки.

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

  • если сумма заказа больше 3 000 рублей, клиент получает подарок #1;
  • если сумма заказа больше 3 000 рублей и дополнительно заказан товар с особым ценником, клиент получает подарки #1 и #2;
  • если сумма заказа меньше 3 000 рублей, но заказан товар с особым ценником, клиент получает подарок #2;
  • если сумма заказа меньше 3000 рублей и в заказе нет товара с особым ценником, клиент не получает подарок.

Комплексный шлюз означает, что действие произойдёт при выполнении каждого из действий в ветвлении.

Например, письмо-подтверждение подписки отправится, если лид подписался на рекламную рассылку и с pop-up, и в личном кабинете, и при оформлении заказа.

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

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

Базы данных. Так отображаются хранилища данных, в частности, CRM. База данных указывается на схеме, если к ней обращаются по ходу процесса для получения данных.
Соединяющие элементы Элемент
Потоки управления. Используются для связи элементов потока (событий, задач, шлюзов). Если нужно, над стрелкой можно прописать текст.

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

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

Как работать с нотацией BPMN

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

Как быстро нарисовать схему

Создавать схемы несложно, главное — понимать суть процесса, продумать механизм его реализации и следовать алгоритму создания схемы.

  1. Задайте границы . На схеме нужно отразить события начала и конца процесса.
  2. Нарисуйте основные блоки . Представьте, что процесс идёт идеально, и составьте цепочку задач, выполняя которые вы придёте к результату.
  3. Добавьте ветвления. Обозначьте варианты развития событий. Так работать проще, чем ставить их с самого начала и путаться в стрелках.
  4. Добавьте недостающие данные. При необходимости разместите на схеме важные документы, базы данных, текстовые комментарии.

Какие инструменты использовать

Сейчас существует много платных и бесплатных инструментов для моделирования бизнес-процессов. Среди бесплатных нам нравятся BizAgi Modeler и онлайн-сервис Draw.io . У них простой и понятный интерфейс, встроенные нотации, а схемы можно сохранять в виде изображений jpg, png и svg.

Нам этого хватает, поэтому платными инструментами мы не пользуемся. Но, если очень хочется, можете купить Visual Paradigm. По подписке он стоит от 6 до 89 долларов в месяц, полная лицензия — от 99 до 1 999 долларов. Также популярен Microsoft Visio (по подписке — от 5 до 15 долларов в месяц).

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

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

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

Источник

Оцените статью
Разные способы