Процессы
Что такое блок-схема и как её правильно составить
Что такое блок-схема, если объяснять без учебника: это рисунок, на котором шаги алгоритма или процесса стоят в фигурах, а стрелки показывают порядок. Разберём, что означает каждая фигура, какие бывают схемы, по каким правилам их рисуют и на чём чаще всего ошибаются.
На этой странице
- Блок-схема простыми словами
- Где используют блок-схемы
- Символы блок-схемы: что означает каждая фигура
- ГОСТ 19.701-90 и ISO 5807
- Виды блок-схем
- Линейная
- Разветвляющаяся
- Циклическая
- Схема алгоритма и схема процесса
- Правила составления блок-схемы
- Как составить блок-схему: короткий порядок
- Частые ошибки в блок-схемах
- Чек-лист: блок-схема готова, если
- Вопросы и ответы
Блок-схема простыми словами#
Блок-схема — это способ записать последовательность действий в виде рисунка. Каждый шаг помещают в фигуру, форма фигуры говорит о типе шага: действие, проверка условия, ввод данных, начало или конец. Стрелки между фигурами задают порядок: что происходит после чего и куда ведёт каждый ответ на вопрос.
Идея появилась в первой половине прошлого века: инженеры описывали так производственные операции, а позже программисты стали рисовать схемы алгоритмов перед тем, как писать код. С тех пор блок-схема стала общим языком для всех, кому нужно объяснить порядок действий другому человеку: от школьного учителя информатики до руководителя отдела продаж.
Главное достоинство схемы — она показывает развилки и повторы. Текст хорошо описывает прямую последовательность, но как только появляется «если… то…, иначе…», абзацы начинают ветвиться, и читатель теряет нить. На схеме обе ветки видны сразу, и по каждой можно пройти пальцем.
Где используют блок-схемы#
Блок-схема подходит для любой задачи, где важен порядок шагов и есть хотя бы одно условие. Вот где она встречается чаще всего.
- Алгоритмы и программирование. Схему рисуют до кода, чтобы продумать ветки и циклы, и после — чтобы объяснить логику коллеге или проверяющему. В школе и вузе по схемам учат основам алгоритмизации.
- Бизнес-процессы. Как обрабатывается заявка, кто согласует договор, что делать с возвратом. Схема показывает, где работа ждёт решения и у какого шага нет ответственного.
- Инструкции и регламенты. Порядок действий оператора поддержки, сценарий диагностики неисправности, памятка для новичка: «если индикатор красный — сделай это, если зелёный — то».
- Обучение и адаптация. Новый сотрудник за несколько минут над схемой понимает больше, чем за час чтения регламента.
- Проектирование продукта. Сценарии пользователя в интерфейсе: регистрация, оплата, восстановление пароля — с каждой ошибкой и каждым возвратом назад.
Если вам нужно нарисовать именно процесс компании — с участниками, границами и проверкой на реальном случае, — переходите к пошаговой статье как сделать блок-схему процесса. Здесь разберём основу: фигуры, виды и правила.
Символы блок-схемы: что означает каждая фигура#
Чтобы схему мог прочитать любой человек, фигуры договорились использовать одинаково. Для повседневной работы хватает пяти основных символов — остальные нужны в специальной документации.
ГОСТ 19.701-90 и ISO 5807#
В России правила оформления схем алгоритмов описывает ГОСТ 19.701-90 из Единой системы программной документации (ЕСПД) — «Схемы алгоритмов, программ, данных и систем». Он построен на международном стандарте ISO 5807, поэтому символы в российских и зарубежных учебниках в основном совпадают.
Стандарт определяет не только фигуры, но и правила их применения: как подписывать линии, как разрывать схему соединителями, как оформлять комментарии. Символов в нём заметно больше пяти: есть отдельные фигуры для ручного ввода, документа, хранимых данных, подготовки, цикла и предопределённого процесса.
Строго по стандарту схемы рисуют для учебных работ, технической документации и там, где их проверяет нормоконтроль. Для рабочих задач — обсудить процесс, объяснить логику, ввести новичка — жёсткое следование ГОСТ не нужно. Важнее, чтобы фигуры использовались единообразно в пределах одной схемы и одной команды.
Виды блок-схем#
Блок-схемы делят по двум признакам: по устройству алгоритма (как идёт поток) и по назначению (что описывает схема).
Линейная#
Шаги идут друг за другом без условий: начало, три-пять действий, конец. Пример — рецепт или порядок включения оборудования. Такая схема простая, но полезна как каркас: в реальных задачах развилки появляются почти всегда, и их удобно добавлять к готовой линии.
Разветвляющаяся#
В схеме есть хотя бы один ромб, и дальше поток идёт по одной из веток. Это самый частый вид: проверка оплаты, согласование, выбор способа доставки. Ветки могут снова сходиться в общий шаг или заканчиваться разными концами — как в обложке этой статьи, где отказ и доступ ведут к одному завершению.
Циклическая#
Часть шагов повторяется, пока выполняется условие. Цикл на схеме — это ромб, из которого одна стрелка возвращается назад, к уже пройденному шагу. Обязательно проверьте, что у цикла есть выход: иначе схема описывает бесконечную работу.
Схема алгоритма и схема процесса#
Схема алгоритма описывает, что делает программа или исполнитель: переменные, проверки, циклы. Участник один, шаги мелкие и точные. Схема процесса описывает работу людей и отделов: кто получил заявку, кто проверил, кто оплатил. Шаги крупнее, зато появляются участники, сроки и передачи между ними — их часто раскладывают по дорожкам.
Когда процесс становится сложным — много участников, сообщения между компаниями, таймеры, автоматическое исполнение, — простой блок-схемы может не хватить. Чем она отличается от специальной нотации, читайте в статье BPMN и блок-схема.
Правила составления блок-схемы#
Правила ниже собраны из стандартов и практики. Схема, которая им следует, читается без автора — а это и есть цель.
Один вход, понятный выход
У схемы одно начало. Концов может быть несколько, но каждая ветка должна к какому-то концу прийти. Ветка, которая обрывается в пустоте, — первый признак недодуманного алгоритма.
Одно направление
Основной поток идёт сверху вниз или слева направо — выберите одно и держитесь его. Стрелки назад допустимы только для циклов и возвратов на доработку.
Одно действие в блоке
Подпись начинается с глагола: «Проверить», «Отправить», «Рассчитать». Если в блоке стоит «и» — скорее всего, это два шага, и между ними может прятаться развилка.
Вопрос в ромбе, подписи у веток
Внутри ромба — вопрос, на который есть однозначный ответ. Каждая выходящая стрелка подписана: «Да» и «Нет» или варианты ответа. Неподписанная развилка заставляет угадывать.
Без пересечений
Линии не должны перекрещиваться. Если без этого не обойтись, переставьте блоки или разорвите длинную линию соединителями с одинаковой буквой.
Одинаковые фигуры для одинакового смысла
Все действия — прямоугольники одного размера, все проверки — ромбы. Цветом можно выделить группы шагов или проблемные места, но не меняйте смысл фигур посреди схемы.
Так хуже
Так лучше
Как составить блок-схему: короткий порядок#
Определите начало и конец
Что запускает алгоритм и каким результатом он заканчивается. Это два первых блока, всё остальное встанет между ними.
Выпишите шаги списком
Сначала без фигур, просто глаголами по порядку. Так проще заметить пропуски, чем сразу на рисунке.
Найдите условия
Везде, где в списке звучит «если», «в зависимости от», «пока», — ромб. Для каждого ромба сразу решите, куда ведёт каждый ответ.
Нарисуйте основной путь
Сначала самый частый сценарий от начала до конца, потом ветки исключений. Так схема не превращается в клубок с первых минут.
Проверьте на примерах
Пройдите схему с двумя-тремя конкретными случаями: обычным, ошибочным и пограничным. Если где-то непонятно, куда идти дальше, — схема не закончена.
На доске NodePanel так работать быстро: выделите блок и нажмите Tab — справа появится следующий блок, уже соединённый стрелкой (подробнее). Подписи «Да» и «Нет» ставятся прямо на связи, а когда схема разрослась, автораскладка выстроит блоки в аккуратные ряды. Если удобнее текстом, вставьте описание в синтаксисе Mermaid — доска превратит его в фигуры и стрелки (как это работает, примеры синтаксиса).
Готовую заготовку можно открыть из шаблона блок-схемы процесса, а о том, как команды используют схемы для процессов и алгоритмов, — на странице блок-схемы онлайн. Попробовать редактор можно в песочнице на главной — без регистрации.
Частые ошибки в блок-схемах#
- Ромб без второй ветки. Нарисовали «Оплата прошла?», провели стрелку «Да» и забыли про «Нет». На практике именно ветка «Нет» и вызывает вопросы.
- Существительные вместо действий. «Документы», «Бухгалтерия», «Склад» — это не шаги. Непонятно, что именно происходит.
- Слишком крупные шаги. «Обработать заявку» скрывает внутри проверку, согласование и три развилки. Такой блок полезно развернуть в отдельную схему.
- Слишком мелкие шаги. Обратная крайность: «Открыть папку», «Найти файл», «Нажать кнопку». Схема на сто блоков, из которых не видно сути.
- Цикл без выхода. Стрелка возвращается назад, но условие, при котором цикл заканчивается, не нарисовано.
- Разный смысл одной фигуры. Прямоугольник то действие, то документ, то отдел. Читатель перестаёт доверять форме и читает каждую подпись.
- Клубок линий. Стрелки пересекаются и уходят в разные стороны. Обычно лечится перестановкой блоков в одном направлении.
Чек-лист: блок-схема готова, если#
- есть ровно одно начало, и каждая ветка приходит к концу;
- основной поток идёт в одном направлении, назад — только циклы и возвраты;
- в каждом прямоугольнике одно действие, подпись начинается с глагола;
- в каждом ромбе — вопрос, все выходящие стрелки подписаны;
- у каждого цикла есть условие выхода;
- линии не пересекаются, длинные переходы разорваны соединителями;
- одинаковые по смыслу шаги нарисованы одинаковыми фигурами;
- схему прошёл вслух человек со стороны и не задал вопросов.
Вопросы и ответы#
Чем блок-схема отличается от схемы алгоритма?
По сути ничем: «схема алгоритма» — официальное название из стандартов ЕСПД, «блок-схема» — привычное обиходное. Обе используют одни и те же фигуры и правила.
Какие фигуры обязательны в блок-схеме?
Минимальный набор — терминатор для начала и конца, прямоугольник для действия, ромб для решения и стрелки. Для ввода и вывода данных по стандарту используют параллелограмм.
Можно ли рисовать блок-схему слева направо?
Да. Главное — одно направление на всю схему. Длинные процессы удобнее читать слева направо, алгоритмы с циклами — сверху вниз.
Сколько блоков должно быть в одной схеме?
Жёсткого правила нет. Если схема перестала помещаться на экран и читается с трудом, вынесите крупный шаг в отдельную схему, а на основной оставьте одну ссылку на него.
Можно ли в NodePanel нарисовать схему строго по ГОСТ 19.701-90?
Не полностью. На доске есть прямоугольник, скруглённый прямоугольник, эллипс и ромб, но нет параллелограмма и других специальных символов. Для рабочих схем этого хватает, для нормоконтроля лучше специализированный редактор.
Как быстро превратить текстовое описание в блок-схему?
Запишите шаги в синтаксисе Mermaid и вставьте текст на доску NodePanel: фигуры, стрелки и подписи появятся автоматически, а раскладку можно поправить вручную.