Лучшие программы для проектирования и тестирования электронных схем
Содержание:
- Добавление стрелок, соединение блоков
- Циклы со счетчиками
- Gliffy
- Примеры блок-схем
- Смена меток блоков, смена направления стрелки и её перестроение
- Популярные онлайн сервисы
- Cacoo
- Какие инструменты использовать
- Creately
- Линейный тип алгоритмов
- draw.io
- Сохранение и загрузка блок-схем
- Редактирование текста и форматирование блоков
- Инструменты для рисования
- Блок схемы онлайн: как структурно представить информацию?
- Cacoo
- Нужны ли блок-схемы? Альтернативы
Добавление стрелок, соединение блоков
Добавление стрелки (.gif)
У каждого блока (кроме текстового) есть четыре коннектора. Чтобы соединить блоки стрелкой, необходимо навести мышь на один из коннекторов начального блока и нажать левую кнопку мыши. После этого стрелка будет перемещаться вместе с мышью до тех пор, пока не будет произведён клик на другой коннектор. Также в процессе добавления стрелки можно кликнуть по пустому пространству. Данное действие приведёт к добавлению промежуточного узла в стрелку, и новые сегменты будут строиться уже от неё. Если решение начать строить данную стрелку оказалось ошибочным, для отмены действия достаточно нажать клавишу Esc
Если же нужно соединить два близких блока
и не хочется тянуть стрелку, можно перетащить один из блоков к другому нужным коннектором (коннекторы, между которыми будет добавлена стрелка будут подсвечены) и отпустить мышь.
А если требуется вставить блок между двумя другими блоками
, не нужно сначала разрывать все уже имеющиеся стрелки. Достаточно перетащить блок на вертикальный участок стрелки так, чтобы она подсветилась, и отпустить блок. Все соединения будут добавлены автоматически.
Циклы со счетчиками
На рисунке изображена простая блок-схема, в которой имеется цикл со счетчиком. Такой тип алгоритмов показывает, что заранее известно количество повторений данного цикла. И это число фиксировано. При этом переменная, считающая число шагов (повторений), так и называется – счетчик. Иногда в учебниках можно встретить иные определения – параметр цикла, управляющая переменная.
Блок-схема очень наглядно иллюстрирует, как работает цикл со счетчиком. Прежде чем приступить к выполнению первого шага, нужно присвоить начальное значение счетчику – это может быть любое число, оно зависит от конкретного алгоритма. В том случае, когда конечное значение меньше величины счетчика, начнет выполняться определенная группа команд, которые составляют тело цикла.
После того, как тело будет выполнено, счетчик меняется на величину шага счетчика, обозначенную буквой h. В том случае, если значение, которое получится, будет меньше конечного, цикл будет продолжаться. И закончится он лишь в тогда, когда конечное значение будет меньше, чем счетчик цикла. Только в этом случае произойдет выполнение того действия, которое следует за циклом.
Обычно в обозначениях блок-схем используется блок, который называется «Подготовка». В нем прописывается счетчик, а затем указываются такие данные: начальное и конечное значения, шаг изменения. На блок-схеме это параметры I н, Ik и h, соответственно. В том случае, когда h=1, величину шага не записывают. В остальных случаях делать это обязательно. Необходимо придерживаться простого правила – линия потока должна входить сверху. А линия потока, которая выходит снизу (или справа, в зависимости от конкретного алгоритма), должна показывать переход к последующему оператору.
Теперь вы полностью изучили описание блок-схемы, изображенной на рисунке. Можно перейти к дальнейшему изучению. Когда используется цикл со счетчиком, требуется соблюдать определенные условия:
- В теле не разрешается изменять (принудительно) значение счетчика.
- Запрещено передавать управление извне оператору тела. Другими словами, войти в цикл можно только из его начала.
Gliffy
Если вам нужен простой инструмент для работы, то обратите внимание на сервис Gliffy. По сравнению с другими службами, Gliffy немного более схематичный
Это хороший вариант, когда вам нужно быстро построить блок-схему. Вы сможете создать хороший вариант всего за несколько кликов.
Есть встроенные базовые шаблоны, которые позволяют начать еще быстрей. Однако, когда вы начинаете настраивать свои блок-схемы, процесс редактирования уже не так прост, как, например, в Lucidchart. Есть несколько особенностей интерфейса, которые могут немного раздражать.
Gliffy предоставляет возможность поделиться и даже пригласить других людей просматривать, редактировать или оставлять комментарии. Но эти инструменты для совместной работы не такие эффективные, как у других сервисов. Gliffy предлагает тарифы, начинающиеся с $8 в месяц для обычных пользователей, и командный тариф за 60 долларов в год.
Примеры блок-схем
В качестве примеров, построены блок-схемы очень простых алгоритмов сортировки, при этом акцент сделан на различные реализации циклов, т.к. у студенты делают наибольшее число ошибок именно в этой части.
Сортировка вставками
Массив в алгоритме сортировки вставками разделяется на отсортированную и еще не обработанную части. Изначально отсортированная часть состоит из одного элемента, и постепенно увеличивается.
На каждом шаге алгоритма выбирается первый элемент необработанной части массива и вставляется в отсортированную так, чтобы в ней сохранялся требуемый порядок следования элементов. Вставка может выполняться как в конец массива, так и в середину. При вставке в середину необходимо сдвинуть все элементы, расположенные «правее» позиции вставки на один элемент вправо. В алгоритме используется два цикла — в первом выбираются элементы необработанной части, а во втором осуществляется вставка.
Блок-схема алгоритма сортировки вставками
В приведенной блок-схеме для организации цикла используется символ ветвления. В главном цикле (i < n) перебираются элементы необработанной части массива. Если все элементы обработаны — алгоритм завершает работу, в противном случае выполняется поиск позиции для вставки i-того элемента. Искомая позиция будет сохранена в переменной j в результате выполнения внутреннего цикла, осуществляющем сдвиг элементов до тех пор, пока не будет найден элемент, значение которого меньше i-того.
На блок-схеме показано каким образом может использоваться символ перехода — его можно использовать не только для соединения частей схем, размещенных на разных листах, но и для сокращения количества линий. В ряде случаев это позволяет избежать пересечения линий и упрощает восприятие алгоритма.
Сортировка пузырьком
Сортировка пузырьком, как и сортировка вставками, использует два цикла. Во вложенном цикле выполняется попарное сравнение элементов и, в случае нарушения порядка их следования, перестановка. В результате выполнения одной итерации внутреннего цикла, максимальный элемент гарантированно будет смещен в конец массива. Внешний цикл выполняется до тех пор, пока весь массив не будет отсортирован.
Блок-схема алгоритма сортировки пузырьком
На блок-схеме показано использование символов начала и конца цикла. Условие внешнего цикла (А) проверяется в конце (с постусловием), он работает до тех пор, пока переменная hasSwapped имеет значение true. Внутренний цикл использует предусловие для перебора пар сравниваемых элементов. В случае, если элементы расположены в неправильном порядке, выполняется их перестановка посредством вызова внешней процедуры (swap). Для того, чтобы было понятно назначение внешней процедуры и порядок следования ее аргументов, необходимо писать комментарии. В случае, если функция возвращает значение, комментарий может быть написан к символу терминатору конца.
Сортировка выбором
В сортировке выбором массив разделяется на отсортированную и необработанную части. Изначально отсортированная часть пустая, но постепенно она увеличивается. Алгоритм производит поиск минимального элемента необработанной части и меняет его местами с первым элементом той же части, после чего считается, что первый элемент обработан (отсортированная часть увеличивается).
Блок-схема сортировки выбором
На блок-схеме приведен пример использования блока «подготовка», а также показано, что в ряде случаев можно описывать алгоритм более «укрупнённо» (не вдаваясь в детали). К сортировке выбором не имеют отношения детали реализации поиска индекса минимального элемента массива, поэтому они могут быть описаны символом вызова внешней процедуры. Если блок-схема алгоритма внешней процедуры отсутствует, не помешает написать к символу вызова комментарий, исключением могут быть функции с говорящими названиями типа swap, sort, … .
На блоге можно найти другие примеры блок-схем:
- блок-схема проверки правильности расстановки скобок арифметического выражения ;
- блок-схемы алгоритмов быстрой сортировки и сортировки слиянием .
Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd , обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.
Смена меток блоков, смена направления стрелки и её перестроение
Метки блоков и направление стрелки (.gif)
Некоторые блоки (например, блок условного оператора, блок начала/конца или ссылки) имеют метки или текст, писать который постоянно не очень хочется. Поэтому для упрощения работы с ними мы добавили возможность смены меток по нажатию клавиши R
на активном блоке. Вот как это работает для разных типов блоков:
- Блок начала/конца: циклическое изменение текста «начало» — «конец» — «вернуть»
- Блок ввода/вывода: циклическое изменение текста «ввод» — «вывод»
- Блок условного оператора: смена положений меток да/нет или их полное отключение
- Блок ссылки: увеличение на 1 цифры текущей метки (уменьшение на 1, если нажать Ctrl+R )
При нажатии клавиши R
и наличии активной стрелки, её направление изменится на противоположное без перестроения сегментов.
Нажатие Ctrl+P
при наличии активной стрелки приведёт к автоматическому перестроению всех сегментов.
Популярные онлайн сервисы
Draw.io – отличное приложение для создания диаграмм и схем алгоритма. Имеет обширный инструментарий, который позволяет выбирать готовые зарисовки блоков, создавать собственные, использовать изображения и картинки из памяти компьютера.
Работать в этой программе могут одновременно несколько человек, так как она позволяет привязывать один документ к разным компьютерам. Иpменения вносятся с любого устройства.
Полное удаление или переустановка Steam с сохранением игр
По сравнению с другими редакторами Draw.io можно использовать без регистрации, но существует ряд ограничений.
Lucichart.com – Один из лучших онлайн сервисов. Алгоритмы получаются яркие, интересные. Идеально подойдёт для презентации проектов.
Пользоваться приложением можно после прохождения регистрации, которая не займёт больше 3 минут.
Интерфейс прост, удобен, понятен.
Drawing – удобное приложение для рисования. Достаточно ввести регистрационные данные имеющегося аккаунта и перед вами откроется широкий спектр возможностей для создания файла. Сохранить работу можно в графических форматах. Приложение бесплатное.
Cacoo
Если совместная работа в реальном времени является для вас обязательным требованием, то обратите внимание на сервис Cacoo. Он имеет множество шаблонов для проекта, будь то блок-схемы, модели или диаграммы
Cacoo имеет широкий выбор форм на выбор, независимо от типа проекта.
Лучшая особенность Cacoo — это возможность совместной работы в режиме реального времени. Несколько человек в вашей команде могут работать над блок-схемой одновременно. Кроме того, есть функция чата, так что вы можете видеть и комментировать изменения. Поскольку процесс работы может немного усложниться, когда несколько человек работают над одним документом одновременно, Cacoo предоставляет поля для заметок, чтобы вы могли отслеживать, кто участвует в изменениях.
Cacoo также отлично подходит для одиночных пользователей, так как вы получаете хранилище для 1000 листов, неограниченный общий доступ, импорт и экспорт в SVG.
Цены на Cacoo достаточно доступны. Тариф для команды из 3 человек начинается с $18 в месяц. Корпоративный тариф позволяет установить Cacoo на собственном сервере, стоимость такого варианта начинается с 600 долларов в год для 10 пользователей. Все тарифы имеют 14-дневный бесплатной пробный период.
Какие инструменты использовать
Сейчас существует много платных и бесплатных инструментов для моделирования бизнес-процессов. Среди бесплатных нам нравятся BizAgi Modeler и онлайн-сервис Draw.io. У них простой и понятный интерфейс, встроенные нотации, а схемы можно сохранять в виде изображений jpg, png и svg.
Нам этого хватает, поэтому платными инструментами мы не пользуемся. Но если очень хочется, можете купить Visual Paradigm. По подписке он стоит от 6 до 89 долларов в месяц, полная лицензия — от 99 до 1999 долларов. Также популярен Microsoft Visio (по подписке — от 5 до 15 долларов в месяц).
Самая интересная возможность в платных версиях — проверка процессов. Когда вы построите схему, программа проверит, нет ли логических ошибок.
Для нас самый удобный из сервисов — BizAgi, потому что именно в нём у каждого элемента есть удобное меню с атрибутами. То есть вам не нужно тратить время на то, чтобы выбрать подходящую длину стрелки между блоками. А ещё он на русском языке.
Creately
Очень гибко настраиваемый сервис с сотнями шаблонов и тысячами примеров от самих пользователей. Диаграммы, графики, блок-схемы – здесь найдутся образцы для всего. Кроме прочего, многие элементы «умные» и сами подстраиваются под общий стиль блок-схемы или диаграммы, даже под цветовую гамму. Работать над проектом можно командой в реальном времени, есть возможность комментирования, просмотра истории изменений. Интеграция с Chrome и GSuite тоже является несомненным плюсом.
Работать с Creately можно не только через браузер, есть приложения на ПК и смартфон. Стоимость лицензии – $5 в месяц или $75 бессрочно с каждого пользователя. Но это того стоит.
Линейный тип алгоритмов
Это самый простой вид, который состоит из определенной последовательности действий, они не зависят от того, какие данные вписаны изначально. Есть несколько команд, которые выполняются однократно и только после того, как будет сделана предшествующая. Линейная блок-схема выглядит таким образом:
Причем связи могут идти как сверху вниз, так и слева направо. Используется такая блок-схема для записи алгоритмов вычислений по простым формулам, у которых не имеется ограничений на значения переменных, входящих в формулы для расчета. Линейный алгоритм – это составная часть сложных процессов вычисления.
draw.io
Все, что вам нужно сделать, чтобы начать работу, это один раз выбрать место для сохранения файлов, которое в дальнейшем запоминается и используется по умолчанию. Можно выбрать отдельную папку в Google Drive, Dropbox, OneDrive (сервис будет иметь доступ только к указанной папке) или место на жестком диске компьютера. Если вам нужно работать с другими людьми, Google Drive будет лучшим вариантом.
Сервис draw.io поддерживает импорт файлов формата JPEG, PNG, SVG, сторонних сервисов Gliffy, Lucidchart и VSDX. Диаграммы, которые вы создаете можно экспортировать в HTML, JPEG, PDF, PNG, SVG и XML.
Сохранение и загрузка блок-схем
Сохранение и загрузка схемы (.gif)
Для сохранения доступна не одна, а сразу три кнопки в меню, причём каждая делает своё действие, а именно:
- Сохранить схему (.json) — сохраняет блок-схему в виде json файла, который затем можно открыть в редакторе для изменения (сочетание клавиш — Ctrl+S)
- Сохранить схему (.png) — сохраняет блок-схему в виде единого изображения без сетки и меню в том масштабе, в котором сейчас находится редактор (сочетание клавиш — Ctrl+Shift+S)
- Сохранить области (.png) — находит связанные области (два и более блоков, соединённых стрелкой) и сохраняет каждую в виде изображения по отдельности (сочетание клавиш — Ctrl+Alt+S)
С загрузкой всё гораздо проще: одна кнопка, клик по которой позволяет выбрать json файл с блок-схемой (сочетание клавиш — Ctrl+O). При успешном открытии, текущая блок-схема будет заменена на новую, в противном случае останется прошлая схема, однако история изменений будет утеряна.
Редактирование текста и форматирование блоков
Редактирование текста и форматирование блоков (.gif)
Для ввода блока в режим редактирования достаточно дважды кликнуть по блоку или же нажать клавишу F2
при имеющемся активном блоке. Блоки поддерживают как обычное добавление символов, так и основные сочетания клавиш, свойственные обычному текстовому полю:
- Перемещение курсора : стрелки, Home, End
- Перемещение курсора на очередное слово : Ctrl+Left, Ctrl+Right
- Удаление до очередного слова : Ctrl+Delete, Ctrl+Backspace
- Выделение текста : Shift+Arrows, Shift+Home, Shift+End, Ctrl+A
- Вставка из буфера обмена : Ctrl+V
- Копирование в буфер обмена : Ctrl+C
- Жирный и курсивный шрифт : Ctrl+B и Ctrl+I соответственно
- Изменение размера шрифта : Ctrl+Plus и Ctrl+Minus соответственно
Инструменты для рисования
Сразу после добавления нового полотна на страницу, в документе откроется вкладка «Формат»
, в которой и будут находиться основные инструменты для рисования. Рассмотрим детально каждую из групп, представленных на панели быстрого доступа.
Вставка фигур
«Фигуры»
— нажав на эту кнопку, вы увидите большой перечень фигур, которые можно добавить на страницу. Все они разделены по тематическим группам, название каждой из которых говорит само за себя. Здесь вы найдете:
- Линии;
- Прямоугольники;
- Основные фигуры;
- Фигурные стрелки;
- Фигуры для уравнений;
- Блок-схемы;
- Звезды;
- Выноски.
Выберите подходящий тип фигуры и нарисуйте ее, задав левым кликом мышки точку начала. Не отпуская кнопку, укажите конечную точку фигуры (если это прямая) или область, которую она должна занимать. После этого отпустите левую кнопку мышки.
«Изменить фигуру»
— выбрав первый пункт в меню этой кнопки, вы можете, в буквальном смысле, изменить фигуру, то есть, вместо одной нарисовать другую. Второй пункт в меню этой кнопки — «Начать изменение узлов»
. Выбрав его, вы можете изменить узлы, то есть, точки привязки конкретных мест фигуры (в нашем примере это внешние и внутренние углы прямоугольника.
«Добавить надпись»
— эта кнопка позволяет добавить текстовое поле и вписать в него текст. Поле добавляется в указанном вами месте, однако, при необходимости его можно свободно перемещать по странице. Рекомендуем предварительно сделать поле и его грани прозрачными. Более подробно о том, как работать с текстовым полем и что можно сделать с его помощью, вы можете прочесть в нашей статье.
Стили фигур
С помощью инструментов данной группы вы можете изменить внешний вид нарисованной фигуры, ее стиль, текстуру.
Выбрав подходящий вариант, вы можете изменить цвет контура фигуры и цвет заливки.
Для этого выберите подходящие цвета в выпадающем меню кнопок «Заливка фигуры»
и «Контур фигуры»
, которые расположены справа от окна с шаблонными стилями фигур.
«Эффекты фигуры»
— это инструмент, с помощью которого можно еще больше изменить внешний вид фигуры, выбрав один из предложенных эффектов. В числе таковых:
- Тень;
- Отражение;
- Подсветка;
- Сглаживание;
- Рельеф;
- Поворот.
Стили WordArt
Эффекты из данного раздела применяются исключительно к тексту, добавленнуму с помощью кнопки «Добавление надписи»
, расположенной в группе «Вставка фигуры»
.
Упорядочить
Инструменты этой группы предназначены для изменения положения фигуры, ее выравнивания, поворота и других подобных манипуляций.
Поворот фигуры выполняется точно так же, как и поворот рисунка — на шаблонное, строго заданное или произвольное значение. То есть, можно выбрать стандартный угол поворота, указать свой или просто повернуть фигуру, потянув за круговую стрелку, расположенную непосредственно над ней.
Кроме того, с помощью данного раздела можно наложить одну фигуру на другую, подобно тому, как это можно сделать с рисунками.
В этом же разделе можно сделать обтекание фигуры текстом или сгруппировать две и более фигур.
Уроки по работе с Ворд:
Размер
Возможность единого инструмента данной группы всего одна — изменение размера фигуры и поля, в котором она находиться. Здесь можно задать точное значение ширины и высоты в сантиметрах или изменить его пошагово с помощью стрелок.
Кроме того, размер поля, как и размер фигуры, можно менять вручную, используя для этого маркеры, расположенные по контуру их границ.
Вот, собственно, и все, из этой статьи вы узнали, как рисовать в Ворде. Не забывайте о том, что данная программа является в первую очередь текстовым редактором, поэтому не стоит возлагать на нее слишком серьезных задач. Используйте для таких целей профильный софт — графические редакторы.
Блок схемы онлайн: как структурно представить информацию?
Блок схемы онлайн представляют собой графическую модель алгоритма, в которой шаги отображаются с помощью блоков, а связи – соединяющими блоки линиями.
Это универсальный и наглядный способ представления логики работы программы или процесса, доступный для понимания даже неспециалистам.
Часто к составлению блок-схем прибегают именно программисты.
Язык блок-схем (UML, flowchart) – это уникальный способ общения программиста с заинтересованными непрограммистами, а также элемент документации на продукт программного типа.
В простых случаях для объяснения функционирования фрагмента кода или простенькой программки блок-схему можно создать с помощью любого графического редактора.
Но когда в программе сотни-тысячи строк, несколько десятков модулей, то лучше воспользоваться специальными программами, которые выполняют построение блок схем по исходному коду.
Программы и онлайн-сервисы для построения блок-схем
При возникновении проблемы, современный способ мышления сразу же предлагает воспользоваться возможностями сети Интернет и поискать онлайн-сервис, который решил бы проблему.
Поэтому часто ищут сервисы, которые строят по коду блок-схемы онлайн по коду, например, Delphi, Паскаль и даже блок-схемы по коду с++.
Ввиду специфики, встречающиеся в сети наскоро собранные сервисы очень часто не соответствуют минимальным требованиям:
- не поддерживают ряд операторов языка программирования и в результате неправильно строят схему;
- построенные схемы не выдерживают критики в отношении аккуратности прорисовки;
- невозможность сохранить построенную схему в требуемом формате и т.д.
Намного эффективней искать программные приложения с требуемой функциональностью. Что касается онлайн-сервисов.
То внимания достойны универсальные оболочки для построения блок-схем и уникальная пока библиотека Google charts.
FCeditor
FCeditor – это простая и симпатичная программа, которая позволяет создавать программный код из файлов .pas (Паскаль, Delfi) и .cs (С#).
Для преобразования имеющегося файла с кодом достаточно импортировать его в программу («Файл – Импортировать»…).
По завершении анализа файла в левой части появится дерево классов, в панели вкладок – вкладка файла, во вкладке файла – вкладки схем каждого из методов и схемы всей программы, а также вкладка кода.
Обратите внимание! Аккуратную блок-схему можно экспортировать в один из популярных графических форматов (jpg, bmp, png, gif и tiff). К преимуществам программы можно отнести русский интерфейс
К преимуществам программы можно отнести русский интерфейс.
Draw.io
Draw.io можно назвать универсальным онлайн-редактором блок-схем. В нем пользователю предоставляется множество разнообразных наборов блоков и удобный инструментарий.
Любой блок может быть отформатирован и видоизменен, можно создавать собственные виды блоков и использовать внешние картинки из файлов.
Готовую схему можно импортировать в виде документа офисного приложения (pdf), графического растрового (png, gif и jpg) или векторного (svg) файла.
Этот сервис с обширными функциональными возможностями не требует оплаты за использование – он бесплатный.
Cacoo
Если совместная работа в реальном времени является для вас обязательным требованием, то обратите внимание на сервис Cacoo. Он имеет множество шаблонов для проекта, будь то блок-схемы, модели или диаграммы
Cacoo имеет широкий выбор форм на выбор, независимо от типа проекта.
Лучшая особенность Cacoo — это возможность совместной работы в режиме реального времени. Несколько человек в вашей команде могут работать над блок-схемой одновременно. Кроме того, есть функция чата, так что вы можете видеть и комментировать изменения. Поскольку процесс работы может немного усложниться, когда несколько человек работают над одним документом одновременно, Cacoo предоставляет поля для заметок, чтобы вы могли отслеживать, кто участвует в изменениях.
Cacoo также отлично подходит для одиночных пользователей, так как вы получаете хранилище для 1000 листов, неограниченный общий доступ, импорт и экспорт в SVG.
Цены на Cacoo достаточно доступны. Тариф для команды из 3 человек начинается с $18 в месяц. Корпоративный тариф позволяет установить Cacoo на собственном сервере, стоимость такого варианта начинается с 600 долларов в год для 10 пользователей. Все тарифы имеют 14-дневный бесплатной пробный период.
Нужны ли блок-схемы? Альтернативы
Частные конторы никакие блок-схемы не используют, в книжках по алгоритмам вместо них применяют словесное описание (псевдокод) как более краткую форму. Возможно блок-схемы применяют на государственных предприятиях, которые должны оформлять документацию согласно требованиям ЕСПД, но есть сомнения — даже для регистрации программы в Государственном реестре программ для ЭВМ никаких блок-схем не требуется.
Тем не менее, рисовать блок-схемы заставляют школьников (примеры из учебников ГОСТ не соответствуют) — выносят вопросы на государственные экзамены (ГИА и ЕГЭ), студентов — перед защитой диплом сдается на нормоконтроль, где проверяется соответствие схем стандартам.
Разработка блок-схем выполняется на этапах проектирования и документирования, согласно каскадной модели разработки ПО, которая сейчас почти не применяется, т.к. сопровождается большими рисками, связанными с ошибками на этапах проектирования.
Появляются подозрения, что система образования прогнила и отстала лет на 20, однако аналогичная проблема наблюдается и за рубежом. Международный стандарт ISO 5807:1985 мало чем отличается от ГОСТ 19.701-90, более нового стандарта за рубежом нет. Там же производится множество программ для выполнения этих самых схем — Dia, MS Visio, yEd, …, а значит списывать их не собираются. Вместо блок-схем иногда применяют диаграммы деятельности UML , однако удобнее они оказываются, разве что при изображении параллельных алгоритмов.
Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) , ходя даже в их кругу нет единого мнения.
В ряде случаев, программирование невозможно без рисования блок-схем, т.к. это один процесс — существуют визуальные языки программирования, такие как ДРАКОН , кроме того, блок-схемы используются для верификации алгоритмов (формального доказательства их корректности) методом индуктивных утверждений Флойда .
В общем, единого мнения нет. Очевидно, есть области, в которых без чего-то типа блок-схем обойтись нельзя, но более гибкой альтернативы нет. Для формальной верификации необходимо рисовать подробные блок-схемы, но для проектирования и документирования такие схемы не нужны — я считаю разумным утверждение экстремальных программистов о том, что нужно рисовать лишь те схемы, которые помогают в работе и не требуют больших усилий для поддержания в актуальном состоянии .
Список использованных источников:
- ГОСТ 19.701–90 (ИСО 5807–85) «Единая система программной документации».
- Алгоритм. Свойства алгоритма \ https://pro-prof.com/archives/578
- Алгоритмы сортировки слиянием и быстрой сортировки \ https://pro-prof.com/archives/813
- yEd Graph Editor \ https://www.yworks.com/products/yed
- Книги: алгоритмы \ https://pro-prof.com/books-algorithms
- Рамбо Дж., Якобсон А., Буч Г. UML: специальный справочник. -СПб.: Питер, 2002. -656 с.
- Кент Бек Экстремальное программирование: разработка через тестирование – СПб.: Питер – 2003
- Визуальный язык ДРАКОН \ https://drakon.su/
- Шилов Н.В. Верификация шаблонов алгоритмов для метода отката и метода ветвей и границ. Моделирование и анализ информационных систем, ISSN 1818 – 1015, т.18, №4, 2011
- Брукс Ф., Мифический человеко — месяц или как создаются программные системы. СПб. Символ Плюс, 1999 — 304 с. ил.