N 2 chart или N 2 diagram (произносится как «en- two » или «en-squared») — это диаграмма или график в форме матрицы , представляющая функциональные или физические интерфейсы между элементами системы . Он используется для систематической идентификации, определения, табулирования, проектирования и анализа функциональных и физических интерфейсов. Он применяется к системным интерфейсам и аппаратным и/или программным интерфейсам. [2]
Диаграмма N -квадрата была изобретена системным инженером Робертом Дж. Лано во время работы в TRW в 1970-х годах и впервые опубликована во внутреннем отчете TRW в 1977 году. [3]
Диаграмма N 2 широко использовалась для разработки интерфейсов данных, в первую очередь в области программного обеспечения . Однако ее можно использовать и для разработки аппаратных интерфейсов. Базовая диаграмма N 2 показана на рисунке 2. Функции системы размещены на диагонали; оставшиеся квадраты в матрице N × N представляют собой входы и выходы интерфейса. [4]
Если появляется пробел, то между соответствующими функциями нет интерфейса. Данные движутся по часовой стрелке между функциями (например, символ F1 → F2 указывает на данные, текущие от функции F1 к функции F2). Передаваемые данные могут быть определены в соответствующих квадратах. В качестве альтернативы использование кругов и чисел позволяет отдельно перечислить интерфейсы данных. Поток данных по часовой стрелке между функциями, имеющими обратную связь , может быть проиллюстрирован большим кругом, называемым контуром управления. Идентификация критической функции также показана на рисунке 3, где функция F4 имеет ряд входов и выходов для всех других функций в верхнем модуле. Простой поток данных интерфейса существует между верхним и нижним модулями в функциях F7 и F8. Нижний модуль имеет сложное взаимодействие между своими функциями. Диаграмма N2 может быть последовательно сведена к более низким уровням до функциональных уровней аппаратных и программных компонентов. Помимо определения данных, которые должны быть предоставлены через интерфейс, диаграмма N2 может точно определить области, где могут возникнуть конфликты. [4]
« N » на диаграмме N 2 — это количество сущностей, для которых показаны отношения. Эта матрица N × N требует от пользователя создания полных определений всех интерфейсов в жесткой двунаправленной, фиксированной структуре. Пользователь размещает функциональные или физические сущности на диагональной оси, а входы и выходы интерфейса — в оставшихся квадратах диаграммы. Пустой квадрат указывает на отсутствие интерфейса между соответствующими сущностями. Данные передаются по часовой стрелке между сущностями (т. е. символ F1 → F2 на рисунке 4 обозначает данные, текущие от функции F1 к функции F2; символ F2 → F1 обозначает обратную связь). То, что проходит через интерфейс, определяется в соответствующих квадратах.
Диаграмма завершена, когда пользователь сравнил каждую сущность со всеми другими сущностями. Диаграмма N2 должна использоваться на каждом последовательно более низком уровне декомпозиции сущности. Рисунок 1 иллюстрирует направленный поток интерфейсов между сущностями в пределах диаграммы N 2. (В этом случае сущности являются функциями.)
В примере справа N равно 5. Пять функций находятся на диагонали. Стрелки показывают поток данных между функциями. Таким образом, если функция 1 отправляет данные в функцию 2, элементы данных будут помещены в поле справа от функции 1. Если функция 1 не отправляет данные ни в одну из других функций, остальные поля справа от функции 1 будут пустыми. Если функция 2 отправляет данные в функцию 3 и функцию 5, то элементы данных будут помещены в первое и третье поля справа от функции 2. Если какая-либо функция отправляет данные обратно в предыдущую функцию, то в связанном поле слева от функции будут помещены элементы данных. Квадраты по обе стороны диагонали (а не только соседние квадраты) заполняются соответствующими данными, чтобы изобразить поток между функциями. Если между двумя функциями нет интерфейса, квадрат, представляющий интерфейс между двумя функциями, остается пустым. Физические интерфейсы будут обрабатываться таким же образом, с физическими сущностями на диагонали, а не с функциональными сущностями.
Каждая диаграмма N 2 должна содержать как минимум следующие контекстные и административные данные:
Диаграммы N2 являются ценным инструментом не только для определения функциональных или физических интерфейсов, но и для выявления областей, в которых могут возникнуть конфликты с интерфейсами, чтобы системная интеграция проходила гладко и эффективно.
Рисунок 5 представляет информацию в виде диаграммы N2, которая дополняет функциональную блок-схему потока . Обратите внимание, что на этой иллюстрации нет элементов данных или триггеров. Рисунок иллюстрирует контекст между функциями на разных уровнях модели.
На рисунке 6 представлен пример внешнего вида диаграммы, когда ячейки заполнены данными. [5]