Измерение структурных свойств программного обеспечения важно для оценки усилий по разработке, а также для обслуживания продукта. Структура требований, дизайна и кода помогает понять трудности, возникающие при преобразовании одного продукта в другой, в тестировании продукта или в прогнозировании внешних атрибутов программного обеспечения на основе ранних внутренних измерений продукта.
Типы структурных мероприятий
Структура программного обеспечения состоит из трех частей. Они —
-
Структура потока управления — это последовательность выполнения инструкций в программе.
-
Структура потока данных — это поведение данных при взаимодействии с программой.
-
Структура данных — это организация элементов данных в форме списков, очереди, стеков или других четко определенных структур вместе с алгоритмом их создания, изменения или удаления.
Структура потока управления — это последовательность выполнения инструкций в программе.
Структура потока данных — это поведение данных при взаимодействии с программой.
Структура данных — это организация элементов данных в форме списков, очереди, стеков или других четко определенных структур вместе с алгоритмом их создания, изменения или удаления.
Измерение структуры управления потоком
Меры потока управления обычно моделируются с помощью ориентированного графа, где каждый узел или точка соответствует программным операторам, а каждая дуга или направленный край указывает поток управления от одного оператора к другому. Эти графики называются графом управления потоком или ориентированным графом.
Если «m» является структурной мерой, определенной в терминах модели потокового графа, и если программа A является структурно более сложной, чем программа B , то мера m (A) должна быть больше, чем m (B) .
Измерение структуры потока данных
Поток данных или информационный поток может быть интермодульным (поток информации внутри модулей) или внутримодульным (поток информации между отдельными модулями и остальной частью системы).
В зависимости от того, как данные перемещаются по системе, их можно классифицировать следующим образом:
-
Локальный прямой поток — если либо модуль вызывает второй модуль и передает ему информацию, либо вызванный модуль возвращает результат вызывающей стороне.
-
Локальный косвенный поток — если вызванный модуль возвращает информацию, которая впоследствии передается во второй вызываемый модуль.
-
Глобальный поток — если информация перемещается из одного модуля в другой через глобальную структуру данных.
Локальный прямой поток — если либо модуль вызывает второй модуль и передает ему информацию, либо вызванный модуль возвращает результат вызывающей стороне.
Локальный косвенный поток — если вызванный модуль возвращает информацию, которая впоследствии передается во второй вызываемый модуль.
Глобальный поток — если информация перемещается из одного модуля в другой через глобальную структуру данных.
Сложность информационного потока может быть выражена по Генри и Кафуре как,
Сложность потока информации (M) = длина (M) × разветвление (M) × (разветвление (M)) 2
Куда,
-
Fan-in (M) — количество локальных потоков, оканчивающихся на M + количество структур данных, из которых информация извлекается M.
-
Fan-out (M) — количество локальных потоков, исходящих из M + количество структур данных, которые обновляются M.
Fan-in (M) — количество локальных потоков, оканчивающихся на M + количество структур данных, из которых информация извлекается M.
Fan-out (M) — количество локальных потоков, исходящих из M + количество структур данных, которые обновляются M.
Структура данных измерений
Структура данных может быть как локальной, так и глобальной .
Локально будет измеряться объем структуры в каждом элементе данных. Теоретико-графический подход может использоваться для анализа и измерения свойств отдельных структур данных. В этом простые типы данных, такие как целые числа, символы и логические значения, рассматриваются как простые числа, и рассматриваются различные операции, которые позволяют нам создавать более сложные структуры данных. Меры структуры данных могут затем быть определены иерархически в терминах значений для простых чисел и значений, связанных с различными операциями.
На глобальном уровне будет измеряться общее количество пользовательских переменных.