3.2 Термины и определения, относящиеся к классу ADV ГОСТ Р ИСО/МЭК 15408-1-2012

Администратор (administrator) по ГОСТ Р ИСО/МЭК 15408-1-2012

Сущность, которая имеет некоторый уровень доверия в отношении всех политик, реализуемых ФБО (TSF).

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

[из 3.2.1 ГОСТ Р ИСО/МЭК 15408–1–2012]

Связность (cohesion) по ГОСТ Р ИСО/МЭК 15408-1-2012

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

ПримечаниеВиды связности включают: случайную, коммуникационную, функциональную, логическую, последовательную и временную. Эти типы связности описывают путем введения соответствующих терминов.

[из 3.2.3 ГОСТ Р ИСО/МЭК 15408–1–2012]

Коммуникационная связность (commuication cohesion) по ГОСТ Р ИСО/МЭК 15408-1-2012

Характеристика модуля, включающего функции, которые осуществляют выдачу выходных результатов другим функциям или используют выходные результаты от других функций.

Примечания

[из 3.2.5 ГОСТ Р ИСО/МЭК 15408–1–2012]

Сложность (complexity) по ГОСТ Р ИСО/МЭК 15408-1-2012

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

Примечание — Уменьшение сложности является основной целью декомпозиции, распределения по уровням и минимизации модулей. Контроль сопряжения и связности значительно способствуют достижению этой цели. В сфере разработки программного обеспечения были потрачены значительные усилия, связанные с попытками разработать метрики для измерения сложности исходного текста. Большинство из этих метрик использует легко вычисляемые характеристики исходного текста, такие как число операторов и операндов, сложность графа управления потоками (цикломатическая сложность), число строк исходного текста, коэффициент покрытия комментариями выполняемых операторов и подобные единицы измерений. Стандарты программирования являются полезным инструментарием при генерации кода, который является более простым для понимания. Семейство «Внутренняя структура ФБО (TSF)» (ADVJNT) требует проведения анализа сложности всех компонентов. Ожидается, что разработчик обеспечит основание для утверждений о достаточном сокращении сложности. Это основание может включать стандарты программирования, используемые разработчиком, и свидетельство того, что все модули удовлетворяют конкретному стандарту (или, что имеются некоторые исключения, которые логически обоснованы аргументами разработки программного обеспечения). Оно также может включать результаты использования инструментария для определения характеристик исходного текста, или может включать другие основания, которые разработчик находит соответствующими.

[из 3.2.6 ГОСТ Р ИСО/МЭК 15408–1–2012]

Связанность (coupling) по ГОСТ Р ИСО/МЭК 15408-1-2012

Способ и степень взаимозависимости программных модулей.

Примечание — Типы связанности включают: связанность по вызову, связанность по общей области, связанность по содержимому. Эти типы связанности охарактеризованы ниже.

[из 3.2.7 ГОСТ Р ИСО/МЭК 15408–1–2012]

Связанность по вызову по образцу (call coupling stamp) по ГОСТ Р ИСО/МЭК 15408-1-2012

Взаимосвязь между двумя модулями, взаимодействующими через вызовы параметров, которые включают в себя составные поля или имеют значительную внутреннюю структуру.

Примечание — См. также «связанность по вызову».

[из 3.2.10 ГОСТ Р ИСО/МЭК 15408–1–2012]

Связанность по вызову (управлению) (call coupling control) по ГОСТ Р ИСО/МЭК 15408-1-2012

Взаимосвязь между двумя модулями, когда один передает информацию, предназначенную для воздействия на внутреннюю логику другого.

Примечание — См. также «связанность по вызову».

[из 3.2.11 ГОСТ Р ИСО/МЭК 15408–1–2012]

Связанность по общей области (common coupling) по ГОСТ Р ИСО/МЭК 15408-1-2012

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

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

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

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

Количество модулей, которые обращаются к некоторой глобальной переменной: хотя в большинстве случаев нет ограничений на количество модулей, которые обращаются к глобальной переменной: случаи, при которых много модулей выполняют такие обращения, следует проверять на обоснованность и необходимость [из 3.2.12 ГОСТ Р ИСО/МЭК 15408–1–2012]

Связанность по содержимому (content coupling) по ГОСТ Р ИСО/МЭК 15408-1-2012

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

Примечание — Примерами такой связи являются модификация кода или обращение к внутренним меткам другого модуля. В результате часть или все содержимое одного модуля фактически включается в состав другого модуля. Связанность по содержимому можно рассматривать как использование необъявленного интерфейса модуля; это в противоположность связанности, которая использует только объявленные интерфейсы модуля.

[из 3.2.13 ГОСТ Р ИСО/МЭК 15408–1–2012]

Разделение доменов (domain separation) по ГОСТ Р ИСО/МЭК 15408-1-2012

Характеристика архитектуры безопасности, при которой ФБО (TSF) определяют отдельные домены безопасности для каждого пользователя и ФБО (TSF) и обеспечивают, что никакие процессы пользователя не могут повлиять на содержимое домена безопасности другого пользователя или ФБО (TSF) [из 3.2.14 ГОСТ Р ИСО/МЭК 15408–1–2012]

Функциональная связность (functional cohesion) по ГОСТ Р ИСО/МЭК 15408-1-2012

Функциональная характеристика модуля, который выполняет действия, связанные с одной единственной задачей.

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

[из 3.2.15 ГОСТ Р ИСО/МЭК 15408–1–2012]

Разделение на уровни (layering) по ГОСТ Р ИСО/МЭК 15408-1-2012

Метод проектирования, при котором отдельные группы модулей (уровни) иерархически организованы таким образом, чтобы один уровень зависел только от уровней, которые ниже его в иерархии сервисов, и предоставлял свои сервисы только уровням, которые выше его в иерархии.

Примечание — Строгое (Строгое соответствие (strict conformance) по ГОСТ Р ИСО/МЭК 15408–1–2012, Строгое соответствие (strict conformance) по ГОСТ Р ИСО/МЭК 15408-1-2012, /46645) разделение на уровни накладывает дополнительное ограничение, заключающееся в том, что каждый уровень получает сервисы только от уровней, непосредственно ниже его, и предоставляет сервисы только для уровня, непосредственно выше его.

[из 3.2.18 ГОСТ Р ИСО/МЭК 15408–1–2012]

Логическая связность (logical cohesion), процедурная связность (procedural cohesion) по ГОСТ Р ИСО/МЭК 15408-1-2012

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

Примечания

  1. Модуль демонстрирует логическую связность, если его функции выполняют связанные, но разные операции по отношению к разным входным данным.
  2. См. также «связность».

[из 3.2.19 ГОСТ Р ИСО/МЭК 15408–1–2012]

Последовательная связность (sequential cohesion) по ГОСТ Р ИСО/МЭК 15408-1-2012

Характеристика модуля, который включает функции, выходные данные каждой из которых являются входными данными для последующей функции в этом модуле.

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

[из 3.2.23 ГОСТ Р ИСО/МЭК 15408–1–2012]

Разработка программного обеспечения (software engineering) по ГОСТ Р ИСО/МЭК 15408-1-2012

Применение систематического, упорядоченного, измеримого подхода к разработке и сопровождению программного обеспечения, т.е. применение методов разработки по отношению к программному обеспечению.

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

[из 3.2.24 ГОСТ Р ИСО/МЭК 15408–1–2012]

Временная связность (temporal cohesion) по ГОСТ Р ИСО/МЭК 15408-1-2012

Характеристика модуля, включающего функции, которые необходимо выполнять примерно в одно и то же время.

Примечание

[из 3.2.25 ГОСТ Р ИСО/МЭК 15408–1–2012]