Jump to content

Диаграмма Варнье/Орра

Диаграмма Варнье/Орра (также известная как логическая конструкция программы/системы) представляет собой своего рода иерархическую блок-схему , которая позволяет описать организацию данных и процедур. Первоначально они были разработаны в 1976 году. [1] во Франции Жан -Доминик Варнье [2] и в США Кеннет Орр [3] на основе булевой алгебры. [4] Этот метод помогает проектировать структуры программы, определяя выходные данные и результаты обработки, а затем работая в обратном направлении, чтобы определить шаги и комбинации входных данных, необходимые для их создания. [5] Простой графический метод, используемый в диаграммах Варнье/Орра, делает уровни системы очевидными, а движение данных между ними — ярким.

Основные элементы

[ редактировать ]
Пример диаграммы данных Уорньера Орра, иллюстрирующей структуру страницы Википедии.

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

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

Использование диаграмм Варнье/Орра

[ редактировать ]

Чтобы разработать диаграмму Варнье/Орра, аналитик работает в обратном порядке, начиная с выходных данных системы и используя анализ, ориентированный на выходные данные. На бумаге развитие движется от множества к элементу (слева направо). Сначала определяются предполагаемый результат или результаты обработки. На следующем уровне, обозначенном скобками, определяются шаги, необходимые для получения результатов. Каждый шаг, в свою очередь, уточняется. Дополнительные скобки группируют процессы, необходимые для получения результата на следующем уровне.

Диаграммы Варнье/Орра предлагают системным экспертам некоторые явные преимущества. Они просты на вид и легки для понимания. Тем не менее, они являются мощными инструментами дизайна. Их преимущество заключается в том, что они показывают группы процессов и данные, которые необходимо передавать с уровня на уровень. Кроме того, последовательность работы в обратном направлении гарантирует, что система будет ориентирована на результат. Этот метод полезен как для определения данных, так и для определения процесса. Его можно использовать для каждого отдельно, а можно объединить оба на одной схеме.

Конструкции в диаграммах Варнье/Орра

[ редактировать ]

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

Иерархия

[ редактировать ]

Иерархия является наиболее фундаментальной из всех конструкций Варнье/Орра. Это просто вложенная группа наборов и подмножеств, показанная в виде набора вложенных скобок. Каждая скобка на диаграмме (в зависимости от того, как вы ее представляете, символ обычно больше похож на скобку «{», чем на скобку «[», но мы называем их «скобками») представляет один уровень иерархии. Иерархия или структура, представленная на диаграмме, может показывать организацию данных или обработки. Однако данные и обработка никогда не отображаются на одной диаграмме.

Последовательность

[ редактировать ]

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

Повторение

[ редактировать ]

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

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

Хотя минимальная и максимальная границы технически могут быть любыми, чаще всего это либо «(1,n)», как в примере, либо «(0,n)». При описании обработки повторение «(1,n)» классически называется циклом «DoUntil», а повторение «(0,n)» называется циклом «DoWhile». Однако на диаграмме Варнье/Орра нет различия между двумя разными типами повторения, кроме минимального связанного значения.

В некоторых случаях минимальная и максимальная границы заранее определены и вряд ли изменятся: например, набор «День» встречается в наборе «Месяц» от 28 до 31 раза (поскольку самый маленький месяц имеет 28 дней, самый большой месяц - 31). . Это вряд ли изменится. А иногда минимум и максимум фиксируются на одном и том же числе.

В целом, однако, это плохая идея « жестко запрограммировать » константу, отличную от «0» или «1», в предложении количества раз — конструкция должна быть достаточно гибкой, чтобы допускать изменения количества раз без изменений. к дизайну. Например, если на момент разработки проекта в компании работает 38 сотрудников, жесткое кодирование «38» в качестве «количества сотрудников» внутри компании, безусловно, не будет таким гибким, как проектирование «(1,n)».

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

Чередование

[ редактировать ]

Чередование или выбор — это традиционный процесс «решения», в ходе которого принимается решение выполнить тот или иной процесс. Символ «Исключающее ИЛИ» (знак плюс внутри круга) указывает, что наборы непосредственно над и под ним являются взаимоисключающими (если один присутствует, другой нет). На этой диаграмме показано, что Сотрудник является либо руководящим, либо неуправляющим; один Сотрудник не может быть одновременно и тем, и другим. Также допустимо использовать «черту отрицания» над альтернативой, аналогично инженерным обозначениям. Столбец читается простым использованием слова «нет».

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

Параллелизм

[ редактировать ]

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

Рекурсия

[ редактировать ]

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

Приложения

[ редактировать ]

Один источник упомянул диаграммы Варнье-Орра (наряду с диаграммами Буха и объектными диаграммами ) как худший метод проектирования архитектуры программного обеспечения на основе моделей . [6]

См. также

[ редактировать ]
  1. ^ Ваддел, КК; Кросс, Дж. Х. (1988). «Обзор эмпирических исследований графических представлений алгоритмов» . Материалы шестнадцатой ежегодной конференции ACM по информатике - CSC '88 1988 года . Атланта, Джорджия, США: ACM Press. п. 696. дои : 10.1145/322609.323161 . ISBN  9780897912600 . S2CID   18590219 .
  2. ^ Варнье, Жан Доминик. (1976). Логическое построение программ . Нью-Йорк: ISBN компании Ван Ностранд Рейнхольд.  0442291930 . ОСЛК   2792121 .
  3. ^ Орр, Кен. (1977). Разработка структурированных систем . Нью-Йорк: Юрдон Пресс. ISBN  0917072065 . ОСЛК   3615720 .
  4. ^ Хиггинс, Дэвид, А. (октябрь 1977 г.). «Разработка структурированной программы» . Журнал Байт . 02 (10): 146–155. {{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
  5. ^ Хиггинс, Дэвид, А. (декабрь 1977 г.). «Структурное программирование с использованием диаграмм Варнье-Орра. Часть 1: Методология проектирования». Журнал Байт . 2 (12): 104–111. {{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
  6. ^ Ривз, Джек В. (1992). «Что такое программная инженерия» . www.bleading-edge.com . Журнал С++ . Проверено 25 июля 2023 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 49366d746d079096fd57a7af7720ba3b__1696488000
URL1:https://arc.ask3.ru/arc/aa/49/3b/49366d746d079096fd57a7af7720ba3b.html
Заголовок, (Title) документа по адресу, URL1:
Warnier/Orr diagram - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)