Pomiar struktury

Pomiar właściwości strukturalnych oprogramowania jest ważny dla oszacowania prac rozwojowych, jak również dla utrzymania produktu. Struktura wymagań, projekt i kod pomaga zrozumieć trudności, które pojawiają się przy konwersji jednego produktu na inny, testowaniu produktu lub przewidywaniu atrybutów oprogramowania zewnętrznego na podstawie wczesnych wewnętrznych pomiarów produktu.

Rodzaje środków strukturalnych

Struktura oprogramowania składa się z trzech części. Oni są -

  • Control-flow structure - Jest to sekwencja, w której instrukcje są wykonywane w programie.

  • Data-flow structure - Jest to zachowanie danych podczas interakcji z programem.

  • Data structure - Jest to organizacja elementów danych w postaci list, kolejki, stosów lub innych dobrze zdefiniowanych struktur wraz z algorytmem ich tworzenia, modyfikowania lub usuwania.

Pomiar struktury przepływu sterowania

Miary przepływu sterowania są zwykle modelowane za pomocą wykresu skierowanego, w którym każdy węzeł lub punkt odpowiada instrukcjom programu, a każdy łuk lub skierowana krawędź wskazuje przepływ sterowania z jednej instrukcji do drugiej. Te wykresy nazywane są grafami sterowania lub wykresami skierowanymi.

Gdyby ‘m’ jest miarą strukturalną zdefiniowaną w kategoriach modelu schematu przepływu i programu A jest strukturalnie bardziej złożony niż program B, a następnie środek m(A) powinna być większa niż m(B).

Pomiar struktury przepływu danych

Przepływ danych lub informacji może być międzymodułowy (przepływ informacji w modułach) lub wewnątrzmodułowy (przepływ informacji pomiędzy poszczególnymi modułami a resztą systemu).

Ze względu na sposób, w jaki dane przepływają przez system, można je podzielić na:

  • Local direct flow - Jeśli albo moduł wywołuje drugi moduł i przekazuje do niego informacje, albo wywoływany moduł zwraca wynik do wywołującego.

  • Local indirect flow - Jeśli wywołany moduł zwraca informacje, które są następnie przekazywane do drugiego wywoływanego modułu.

  • Global flow - Jeśli informacje przepływają z jednego modułu do drugiego poprzez globalną strukturę danych.

Złożoność przepływu informacji można wyrazić według Henry'ego i Kafury jako:

Information flow complexity (M) = length (M) × fan-in (M) × (fan-out (M))2

Gdzie,

  • Fan-in (M) - Liczba lokalnych przepływów, które kończą się na M + liczba struktur danych, z których informacje są pobierane przez M.

  • Fan–out (M) - Liczba lokalnych przepływów, które pochodzą z M + liczba struktur danych, które są aktualizowane przez M.

Pomiar struktury danych

Struktura danych może obejmować obie local i global.

Locally, zostanie zmierzona ilość struktury w każdej pozycji danych. Do analizy i pomiaru właściwości poszczególnych struktur danych można zastosować podejście oparte na teorii grafów. W tym przypadku proste typy danych, takie jak liczby całkowite, znaki i wartości logiczne, są postrzegane jako liczby pierwsze i rozważane są różne operacje, które pozwalają nam budować bardziej złożone struktury danych. Miary struktury danych można następnie zdefiniować hierarchicznie pod względem wartości liczb pierwszych i wartości powiązanych z różnymi operacjami.

Globally, zostanie zmierzona całkowita liczba zmiennych zdefiniowanych przez użytkownika.