Jump to content

Блок-схема

Страница защищена ожидающими изменениями

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

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

На блок-схеме шаги показаны в виде блоков разных типов, а их порядок показан путем соединения блоков стрелками. Это схематическое представление иллюстрирует модель решения данной проблемы . Блок-схемы используются при анализе, проектировании, документировании или управлении процессом или программой в различных областях. [1]

Обзор [ править ]

Блок-схема в стиле C цикла for , представляющая следующий код:
for(i=0;i<5;i++)
  printf("*");  
Цикл приведет к печати пяти звездочек.

Блок-схемы используются для разработки и документирования простых процессов или программ. Как и другие типы диаграмм, они помогают визуализировать процесс. Два из многих преимуществ являются недостатками, и узкие места могут стать очевидными. В блок-схемах обычно используются следующие основные символы:

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

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

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

Диаграммы Насси-Шнейдермана и диаграммы Дракона являются альтернативными обозначениями потока процессов.

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

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

История [ править ]

Первый структурированный метод документирования процесса, « схема процесса », был представлен Фрэнком и Лилиан Гилбрет в презентации «Диаграммы процессов: первые шаги в поиске лучшего способа выполнения работы» для членов Американского общества специалистов. Инженеры-механики (ASME) в 1921 году. [2] Инструменты Гилбретов быстро нашли применение в учебных программах по промышленному проектированию . В начале 1930-х годов промышленный инженер Аллан Х. Могенсен начал обучать деловых людей использованию некоторых инструментов промышленного проектирования на своих конференциях по упрощению труда в Лейк-Плэсиде , Нью-Йорк .

Арт Спинэнгер, выпускник класса Могенсена в 1944 году , отнес инструменты обратно в компанию «Проктер энд Гэмбл» , где разработал программу преднамеренного изменения методов. Бен С. Грэм , еще один выпускник 1944 года, директор по проектированию форм в Standard Register Industrial , применил блок-схему процесса обработки информации, разработав многопоточную схему процесса для представления нескольких документов и их взаимосвязей. [3] В 1947 году ASME принял набор символов, заимствованный из оригинальной работы Гилбрета, как «Стандарт ASME: операции и схемы технологических процессов». [4]

Дуглас Хартри в 1949 году объяснил, что Герман Голдстайн и Джон фон Нейман разработали блок-схему (первоначально диаграмму) для планирования компьютерных программ. [5] Его современный отчет был одобрен инженерами IBM. [6] и по личным воспоминаниям Голдстайна. [7] Оригинальные блок-схемы программирования Голдстайна и фон Неймана можно найти в их неопубликованном отчете «Планирование и кодирование задач для электронного вычислительного прибора, часть II, том 1» (1947), который воспроизведен в собрании сочинений фон Неймана. [8]

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

В начале 21 века блок-схемы все еще использовались для описания компьютерных алгоритмов . [9] Современные методы, такие как UML диаграммы деятельности и диаграммы Drakon, можно рассматривать как расширения блок-схем.

Типы [ править ]

Стернекерт (2003) предположил, что блок-схемы можно моделировать с точки зрения различных групп пользователей (таких как менеджеры, системные аналитики и служащие) и что существует четыре основных типа: [10]

  • Блок-схемы документов , показывающие элементы управления потоком документов в системе.
  • Блок-схемы данных , показывающие элементы управления потоком данных в системе.
  • Блок-схемы системы , показывающие элементы управления на физическом уровне или уровне ресурсов.
  • Блок-схема программы , показывающая элементы управления программой в системе.

Обратите внимание, что каждый тип блок-схемы фокусируется на каком-то виде управления, а не на конкретном потоке как таковом. [10]

Однако существуют и другие классификации. Например, Эндрю Веронис (1978) назвал три основных типа блок-схем: системная блок-схема , общая блок-схема и подробная блок-схема . [11] В том же году Мэрилин Бол (1978) заявила, что «на практике при планировании решений используются два типа блок-схем: системные блок-схемы и программные блок-схемы …». [12] Совсем недавно Марк А. Фрайман (2001) выявил дополнительные различия: «Блок-схемы принятия решений, логические блок-схемы, системные блок-схемы, блок-схемы продуктов и блок-схемы процессов - это лишь некоторые из различных типов блок-схем, которые используются в бизнесе и правительстве». [13]

Кроме того, многие методы диаграмм похожи на блок-схемы, но имеют другое название, например UML диаграммы действий .

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

Строительные блоки [ править ]

Общие символы [ править ]

Американский национальный институт стандартов (ANSI) установил стандарты для блок-схем и их символов в 1960-х годах. [16] Международная организация по стандартизации (ISO) приняла символы ANSI в 1970 году. [17] Действующий стандарт ISO 5807 был опубликован в 1985 году и последний раз пересматривался в 2019 году. [18] Обычно блок-схемы располагаются сверху вниз и слева направо. [19]

Форма ANSI/ISO Имя Описание
Выкидная линия (стрелка) [17] Показывает порядок работы процесса. Линия, исходящая от одного символа и указывающая на другой. [16] Стрелки добавляются, если поток не является стандартным: сверху вниз, слева направо. [17]
Терминал [16] Указывает начало и конец программы или подпроцесса. Представлен в виде стадиона , [16] овальный или скругленный (скругленный) прямоугольник. Обычно они содержат слово «Начало» или «Конец» или другую фразу, обозначающую начало или конец процесса, например «отправить запрос» или «получить продукт».
Процесс [17] Представляет набор операций, которые изменяют значение, форму или расположение данных. Представлен в виде прямоугольника . [17]
Решение [17] Показывает условную операцию, определяющую, какой из двух путей выберет программа. [16] Обычно эта операция представляет собой вопрос «да/нет» или проверку «верно/неверно». Представлен в виде ромба ( ромба ). [17]
Ввод/вывод [17] Указывает на процесс ввода и вывода данных, [17] как при вводе данных или отображении результатов. Представлен в виде ромба . [16]
Аннотация [16] (Комментарий) [17] Указание дополнительной информации о шаге программы. Представлен в виде открытого прямоугольника с пунктирной или сплошной линией, соединяющей его с соответствующим символом на блок-схеме. [17]
Предопределенный процесс [16] Показывает именованный процесс, определенный в другом месте. Представлен в виде прямоугольника с двойными вертикальными краями. [16]
Коннектор на странице [16] Пары помеченных соединителей заменяют длинные или запутанные линии на странице блок-схемы. Представлен маленьким кружком с буквой внутри. [16] [20]
Внестраничный соединитель [16] Маркированный соединитель для использования, когда цель находится на другой странице. Представлен в тарельчатого виде пятиугольника . [16] [20]

Другие символы [ править ]

Стандарты ANSI/ISO включают символы, выходящие за рамки основных форм. Некоторые из них: [19] [20]

Форма Имя Описание
База данных блок-схемы Файл данных или база данных Данные представлены цилиндром , символизирующим дисковод.
Документ-схема Документ Отдельные документы представлены в виде прямоугольника с волнистым основанием.
Блок-схема документа несколько Несколько документов представлены в виде стопки прямоугольников с волнистым основанием.
Блок-схема Ручной ввод Ручное управление Представлен в виде трапеции с самой длинной параллельной стороной вверху, обозначающей операцию или корректировку процесса, которую можно выполнить только вручную.
Блок-схема ручного ввода Ручной ввод Представлен четырехугольником с неравномерным наклоном вверх слева направо, как вид клавиатуры сбоку .
Подготовка блок-схемы Подготовка или инициализация Представлен в виде вытянутого шестиугольника , первоначально использовавшегося для таких шагов, как установка переключателя или инициализация процедуры.

Параллельная обработка [ править ]

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

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

Программное обеспечение для построения диаграмм [ править ]

Потоковый алгоритм

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

Существует несколько приложений и языков визуального программирования. [23] которые используют блок-схемы для представления и выполнения программ. Обычно они используются в качестве учебных пособий для начинающих студентов.

См. также [ править ]

Ссылки [ править ]

  1. ^ SEVOCAB: Словарь по проектированию программных систем . Термин: Блок-схема . Проверено 31 июля 2008 г.
  2. ^ Гилбрет, Фрэнк Банкер; Гилбрет, Лилиан Моллер (1921). «Схемы процессов» (PDF) . Архивировано из оригинала (PDF) 9 мая 2015 г. Проверено 6 мая 2016 г. . Американское общество инженеров-механиков.
  3. ^ Грэм, Бен С. младший (10 июня 1996 г.). «Люди на первом месте» . Основной доклад на конференции Workflow Canada .
  4. ^ Американское общество инженеров-механиков (1947) Стандарт ASME; рабочие и технологические карты . Нью-Йорк, 1947 год. ( онлайн-версия )
  5. ^ Хартри, Дуглас (1949). Счетные приборы и машины . Издательство Университета Иллинойса. п. 112.
  6. ^ Баше, Чарльз (1986). Первые компьютеры IBM . Массачусетский технологический институт Пресс. п. 327 . ISBN  9780262022255 .
  7. ^ Голдстайн, Герман (1972). Компьютер от Паскаля до фон Неймана . Издательство Принстонского университета. стр. 266–267 . ISBN  0-691-08104-2 .
  8. ^ Тауб, Авраам (1963). Собрание сочинений Джона фон Неймана . Том. 5. Макмиллан. стр. 80–151.
  9. ^ Боль, Ринн: «Инструменты для структурированного и объектно-ориентированного проектирования», Прентис Холл, 2007.
  10. ^ Jump up to: Перейти обратно: а б Алан Б. Стернекерт (2003) Управление критическими инцидентами . п. 126
  11. ^ Эндрю Веронис (1978) Микропроцессоры: дизайн и применение . п. 111
  12. ^ Мэрилин Бол (1978) Руководство для программистов . п. 65.
  13. ^ Марк А. Фрайман (2001) Улучшение качества и процессов . п. 169 .
  14. ^ Ёкояма, Тецуо; Аксельсен, Хольгер Бок; Глюк, Роберт (январь 2016 г.). «Основы обратимых языков блок-схем» . Теоретическая информатика . 611 : 87–115. дои : 10.1016/j.tcs.2015.07.046 .
  15. ^ Краковский, Марина (июнь 2021 г.). «Принимая тепло» . Коммуникации АКМ . 64 (6): 18–20. дои : 10.1145/3460214 .
  16. ^ Jump up to: Перейти обратно: а б с д и ж г час я дж к л м Гэри Б. Шелли; Мисти Э. Вермаат (2011). Полное знакомство с компьютерами: ваш интерактивный путеводитель по цифровому миру . Cengage Обучение. стр. 691–693 . ISBN  978-1-111-53032-7 .
  17. ^ Jump up to: Перейти обратно: а б с д и ж г час я дж к Харли Р. Майлер (1998). «2.3 Блок-схемы» . Основы инженерного программирования на C и Fortran . Издательство Кембриджского университета. стр. 32–36. ISBN  978-0-521-62950-8 .
  18. ^ «ISO 5807:1985: Обработка информации. Символы и обозначения документации для данных, блок-схем программ и систем, сетевых диаграмм программ и диаграмм системных ресурсов» . Международная организация по стандартизации. Февраль 1985 года . Проверено 23 июля 2017 г.
  19. ^ Jump up to: Перейти обратно: а б с Методы построения блок-схем GC20-8152-1 . ИБМ. Март 1970 г. с. 10.
  20. ^ Jump up to: Перейти обратно: а б с «Что означают различные формы блок-схем?» . РФФ Электроника . Проверено 23 июля 2017 г.
  21. ^ Джонатан В. Вальвано (2011). Встроенные микрокомпьютерные системы: интерфейс реального времени . Cengage Обучение. стр. 131–132. ISBN  978-1-111-42625-5 .
  22. ^ Jump up to: Перейти обратно: а б Робби Т. Накацу (2009). Рассуждение с помощью диаграмм: принятие решений и решение проблем с помощью диаграмм . Джон Уайли и сыновья. стр. 68–69. ISBN  978-0-470-40072-2 .
  23. ^ Майерс, Брэд А. « Визуальное программирование, программирование на примерах и визуализация программ: таксономия ». Бюллетень ACM SIGCHI. Том. 17. № 4. АСМ, 1986.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 988f61355925690892bbf54e7d79245c__1715064060
URL1:https://arc.ask3.ru/arc/aa/98/5c/988f61355925690892bbf54e7d79245c.html
Заголовок, (Title) документа по адресу, URL1:
Flowchart - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)