ГОСТ Р ИСО/МЭК 15408-3-2013
желательными свойствами модульной декомпозиции является уменьшение объема избыточного или
ненужного кода.
Минимизацияколичествафункцийв ФБОпозволяет оценщикамиразработчикам
сосредоточить усилия только на тех функциях, которые необходимы для осуществления ФТБ,
способствуя таким образом увеличению понятности и еще больше снижая вероятность ошибок
проектирования или реализации.
Включениемодульнойдекомпозиции,ранжированияиминимизациивпроцессы
проектирования и реализации должно сопровождаться выполнением правильных соображений и
принципов разработки программного обеспечения. На практике пригодная для использования
система программного обеспечения, как правило, влечет за собой некоторую нежелательную
связанность между модулями, наличие некоторых модулей, включающих в себя слабо относящиеся
друг к другу функциональные возможности, а также некоторые другие тонкости и сложности
модульного проекта. Подобные отклонения от идеальной модульной декомпозиции часто считаются
необходимыми для достижения некоторой цели или выполнения ограничений, связанных с
производительностью, совместимостью, планируемой функциональностью или некоторыми другими
факторами, и могут быть приемлемыми в случае, если для них имеется предоставленное
разработчиком логическое обоснование. При применении требований этого класса следует уделять
должное внимание правильным принципам разработки программного обеспечения. При этом главное
- достичь основной цели, заключающейся в понятности.
А.3.1.1 Связность
Связность представляет собой вид и степень зависимости друг от друга задач, выполняемых
одниммодулемпрограммногообеспечения;связностьподразделяетсянаслучайную,
коммуникативную, функциональную, логическую, последовательную и временную. Типы связности,
охарактеризованные ниже, расположены в порядке убывания их желательности.
a)
ф ункциональная
связность - модуль с функциональной связностью выполняет
действия, связанные с единственной задачей. Модуль с функциональной связностью, такой как
менеджер стека протоколов или менеджер очереди задач, преобразует один тип исходных данных в
соответствующий тип данных на выходе.
b
)
последоват ельная
связность - модуль с последовательной связностью содержит
функциональные возможности, данные на выходе каждой из которых являются исходными для
следующей функциональной возможности модуля. Примероммодуля с последовательной
связностью является модуль, который содержит функциональные возможности для фиксирования
записей в журнале аудита и обеспечения подсчёта нарушений процедуры аудита указанного типа.
c)
коммуникат ивная (инф ормационная)
связность -модуль с коммуникативной
связностью содержит функциональные возможности, которые производят данные на выходе для или
используют данные на выходе из других функциональных возможностей в рамках модуля. Примером
модуля с коммуникационной связностью является модуль проверки доступа, который включает
мандатные, дискреционные проверки, а также проверки возможностей субъекта.
235