ГОСТ Р ИСО/МЭК 15408-3-2013
Важно отметить, что определение «непосредственно реализует» несколько субъективно. В
узком смысле оно может быть истолковано как одна или две строки кода, непосредственно
выполняющие сравнение, операции обнуления и тщ. для реализации выполнения требования. Более
широкое толкование состоит в том. что система включает в себя модуль, который вызывается в ответ
на запрос ИФБО. осуществляющего выполнение ФТБ. и все модули, которые в свою очередь могут
быть вызваны этим модулем (и так далее до завершения запроса). Ни одна из этих интерпретаций не
является удовлетворительной, так как узость первого толкования может привести к тому, что важные
модули будут неправильно классифицированы как модули, поддерживающие выполнение ФТБ, а
второе приводит к тому, что модули, фактически не являющиеся модулями осуществления
выполнения ФТБ. могут быть отнесены к таковым.
Следует, чтобы описание модуля было таким, чтобы можно было создать реализацию модуля
на основании описания, и полученная реализация была бы: 1) идентична фактической реализации
ФБО в терминахинтерфейсов, представленных и используемых модулем, и 2) алгоритмически
идентична модулю ФБО. Так. например, в RFC 793 представлено описание верхнего уровня
протокола TCP. Это обязательно следует считать независимой реализацией. Несмотря на
достаточно подробную детализацию, такое описание не подходит для описания проекта, так как не
отражает специфику реализации. Фактическая реализация может содержать дополнения по
отношению к описанию протокола в RFC, а также в ней может быть выполнен выбор реализации
(например, использование глобальных данных или локальных в различных частях реализации), что
может повлиять на проводимый анализ. В описании проекта модуля TCP будет перечислен список
интерфейсов, представленных в реализации (не только тех, которые определены в RFC 793), а также
описание алгоритма обработки, связанной с модулями, реализующими TCP (при условии, что они
были частью ФБО).
В проекте модули детально описываются в терминах предоставляемых ими функциональных
возможностей (их назначения); представленных в них интерфейсов: возвращаемых значений от
интерфейсов: используемых ими интерфейсов (предоставленных другими модулями), и того, как они
предоставляют свои функции (один из возможных способов описания функций - алгоритмическое
описание).
Назначение модуля следует подробно описать в терминах функциональных возможностей,
которые предоставляет модуль. Следует, чтобы читатель мог получить общее представление о том.
какие функциональные возможности есть у модуля в данной архитектуре.
Интерфейсы, представленные модулем, представляют собой интерфейсы, используемые
другими модулями для вызова предусмотренных функциональных возможностей. Интерфейсы
включают в себя как
явны е
интерфейсы (например, последовательность запросов, вызываемую
другими модулями), так и
неявные
интерфейсы (например, глобальные данные, на которые
воздействует модуль). Интерфейсы описываются в терминах того, каким образом они вызываются, а
также любых возвращаемых значений. Это описание включает в себя список параметров и описания
этих параметров. Если параметры будут включать множество значений (например, параметр
«флажок»), то должен быть указан полный набор значений параметра, который может оказать
влияние на модуль. Кроме того, параметры, характеризующие структуры данных, описываются таким
240