Примечание - Приведенные ниже термины используются в формулировках требований для отражения внутренней структуризации программного обеспечения. Некоторые из них взяты из IEEE Std 610.12-1990 "Стандартный глоссарий терминологии по проектированию программного обеспечения", Институт инженеров по электротехнике и электронике.
3.2.1 администратор (administrator): Сущность, которая имеет некоторый уровень доверия в отношении всех политик, реализуемых ФБО.
Примечание - Не все ПЗ или ЗБ предполагают одинаковый уровень доверия к администраторам. Обычно предполагается, что администраторы всегда придерживаются политик, изложенных в ЗБ для ОО. Некоторые из этих политик могут быть связаны с функциональными возможностями ОО, другие - со средой функционирования.
3.2.2 дерево вызовов (call tree): Идентифицирует модули в системе в виде диаграммы, показывающей, какие модули вызывают другие модули.
Примечание - Адаптированный термин IEEE Std 610.12-1990.
3.2.3 связность (cohesion): Прочность (плотность) модуля, способ и степень, с которыми задачи, выполняемые единичным программным модулем, связаны между собой.
[IEEE Std 610.12-1990]
Примечание - Виды связности включают: случайную, коммуникационную, функциональную, логическую, последовательную и временную. Эти типы связности описывают путем введения соответствующих терминов.
3.2.4 случайная связность (coincidental cohesion): Связность модуля, характеризуемая выполнением несвязанных или слабо связанных действий.
[IEEE Std 610.12-1990]
Примечание - См. также "связность" (3.2.3).
3.2.5 коммуникационная связность (commuication cohesion): Характеристика модуля, включающего функции, которые осуществляют выдачу выходных результатов другим функциям или используют выходные результаты от других функций.
[IEEE Std 610.12-1990]
Примечание 1 - См. также "связность" (3.2.3).
Примечание 2 - Примером коммуникационно-связанного модуля является модуль контроля доступа, который включает мандатный, дискреционный контроль и контроль полномочий.
3.2.6 сложность (complexity): Мера того, насколько трудным для понимания и, соответственно, для анализа, тестирования и поддержки является программное обеспечение.
[IEEE Std 610.12-1990]
Примечание - Уменьшение сложности является основной целью декомпозиции, распределения по уровням и минимизации модулей. Контроль сопряжения и связности значительно способствуют достижению этой цели.
В сфере разработки программного обеспечения были потрачены значительные усилия, связанные с попытками разработать метрики для измерения сложности исходного текста. Большинство из этих метрик использует легко вычисляемые характеристики исходного текста, такие как число операторов и операндов, сложность графа управления потоками (цикломатическая сложность), число строк исходного текста, коэффициент покрытия комментариями выполняемых операторов и подобные единицы измерений. Стандарты программирования являются полезным инструментарием при генерации кода, который является более простым для понимания.
Семейство "Внутренняя структура ФБО" (ADV_INT) требует проведения анализа сложности всех компонентов. Ожидается, что разработчик обеспечит основание для утверждений о достаточном сокращении сложности. Это основание может включать стандарты программирования, используемые разработчиком, и свидетельство того, что все модули удовлетворяют конкретному стандарту (или, что имеются некоторые исключения, которые логически обоснованы аргументами разработки программного обеспечения). Оно также может включать результаты использования инструментария для определения характеристик исходного текста, или может включать другие основания, которые разработчик находит соответствующими.
3.2.7 связанность (coupling): Способ и степень взаимозависимости программных модулей.
[IEEE Std 610.12-1990]
Примечание - Типы связанности включают: связанность по вызову, связанность по общей области, связанность по содержимому. Эти типы связанности охарактеризованы ниже.
3.2.8 связанность по вызову (call coupling): Взаимосвязь между двумя модулями, взаимодействующими строго через вызовы их документированных функций.
Примечание - Примерами связанности по вызову являются связанность по данным, связанность по образцу, связанность по управлению.
3.2.9 связанность по вызову (по данным) (call coupling <data>): Взаимосвязь между двумя модулями, взаимодействующими строго через вызовы параметров, которые представляют собой отдельные элементы данных.
Примечание - См. также "связанность по вызову" (3.2.8).
3.2.10 связанность по вызову (по образцу) (call coupling <stamp>): Взаимосвязь между двумя модулями, взаимодействующими через вызовы параметров, которые включают в себя составные поля или имеют значительную внутреннюю структуру.