Wewnętrzne atrybuty produktu

Wewnętrzne atrybuty produktu opisują oprogramowanie w sposób zależny tylko od samego produktu. Głównym powodem mierzenia wewnętrznych atrybutów produktu jest to, że pomoże to w monitorowaniu i kontrolowaniu produktów podczas opracowywania.

Mierzenie wewnętrznych atrybutów produktu

Główne wewnętrzne atrybuty produktu obejmują size i structure. Rozmiar można mierzyć statycznie bez konieczności ich wykonywania. Rozmiar produktu mówi nam o wysiłku potrzebnym do jego stworzenia. Podobnie, struktura produktu odgrywa ważną rolę w projektowaniu konserwacji produktu.

Mierzenie rozmiaru

Rozmiar oprogramowania można opisać trzema atrybutami -

  • Length - To fizyczny rozmiar produktu.

  • Functionality - Opisuje funkcje dostarczane użytkownikowi przez produkt.

  • Complexity - Złożoność jest różnego rodzaju, na przykład.

    • Problem complexity - Mierzy złożoność podstawowego problemu.

    • Algorithmic complexity - Mierzy złożoność algorytmu zastosowanego w celu rozwiązania problemu

    • Structural complexity - Mierzy strukturę oprogramowania używanego do implementacji algorytmu.

    • Cognitive complexity - Mierzy nakład pracy wymagany do zrozumienia oprogramowania.

Pomiar tych trzech atrybutów można opisać następująco:

Długość

Istnieją trzy produkty programistyczne, których pomiar rozmiaru jest przydatny do przewidywania wysiłku potrzebnego do prognozowania. Są to specyfikacja, projekt i kod.

Specyfikacja i projekt

Dokumenty te zazwyczaj łączą tekst, wykres oraz specjalne schematy i symbole matematyczne. Pomiar specyfikacji może służyć do przewidywania długości projektu, który z kolei jest predyktorem długości kodu.

Diagramy w dokumentach mają jednolitą składnię, taką jak znakowane dwuznakami, diagramy przepływu danych lub schematy Z. Ponieważ dokumentacja specyfikacji i projektu składa się z tekstów i wykresów, jej długość można zmierzyć za pomocą pary liczb reprezentujących długość tekstu i długość diagramu.

W przypadku tych pomiarów obiekty atomowe należy zdefiniować dla różnych typów diagramów i symboli.

Obiekty atomowe dla diagramów przepływu danych to procesy, jednostki zewnętrzne, magazyny danych i przepływy danych. Jednostkami atomowymi dla specyfikacji algebraicznych są rodzaje, funkcje, operacje i aksjomaty. Atomowe jednostki schematów Z to różne linie pojawiające się w specyfikacji.

Kod

Kod można tworzyć na różne sposoby, na przykład za pomocą języka proceduralnego, orientacji obiektowej i programowania wizualnego. Najczęściej stosowaną tradycyjną miarą długości programu w kodzie źródłowym są linie kodu (LOC).

Całkowita długość,

LOC = NCLOC + CLOC

to znaczy,

LOC = Non-commented LOC + Commented LOC

Oprócz linii kodu do pomiaru długości można również użyć innych alternatyw, takich jak rozmiar i złożoność sugerowana przez Maurice'a Halsteda.

Nauka o oprogramowaniu Halstead próbowała uchwycić różne cechy programu. Zaproponował trzy wewnętrzne atrybuty programu, takie jak długość, słownictwo i objętość, które odzwierciedlają różne spojrzenia na rozmiar.

Zaczął od zdefiniowania programu Pjako zbiór tokenów, klasyfikowanych według operatorów lub operandów. Podstawowe wskaźniki dla tych tokenów to:

  • μ1 = Liczba unikalnych operatorów

  • μ2 = Liczba unikalnych operandów

  • N1 = Całkowita liczba wystąpień operatorów

  • N2 = Liczba unikalnych operatorów

Długość P można zdefiniować jako

$$ N = N_ {1} + N_ {2} $$

Słownictwo języka P jest

$$ \ mu = \ mu _ {1} + \ mu _ {2} $$

Objętość programu = liczba porównań mentalnych potrzebnych do napisania programu o długości N, jest

$$ V = N \ times {log_ {2}} \ mu $$

Poziom programu programu P objętości V jest,

$$ L = \ frac {V ^ \ ast} {V} $$

Gdzie $ V ^ \ ast $ jest potencjalną objętością, tj. Objętością implementacji minimalnego rozmiaru P

Odwrotnością poziomu jest trudność -

$$ D = 1 \ diagup L $$

Zgodnie z teorią Halsteada możemy obliczyć szacunek L tak jak

$$ {L} '= 1 \ diagup D = \ frac {2} {\ mu_ {1}} \ times \ frac {\ mu_ {2}} {N_ {2}} $$

Podobnie, szacowana długość programu to $ \ mu_ {1} \ times log_ {2} \ mu_ {1} + \ mu_ {2} \ times log_ {2} \ mu_ {2} $

Wysiłek wymagany do wygenerowania P jest określony przez,

$$ E = V \ diagup L = \ frac {\ mu_ {1} N_ {2} Nlog_ {2} \ mu} {2 \ mu_ {2}} $$

Gdzie jednostka miary E to elementarne mentalne rozróżnienia potrzebne do zrozumienia P

Inne alternatywy pomiaru długości to -

  • Pod względem liczby bajtów pamięci komputera wymaganej dla tekstu programu

  • Pod względem liczby znaków w tekście programu

Rozwój zorientowany obiektowo sugeruje nowe sposoby pomiaru długości. Pfleeger i in. odkryli, że liczba obiektów i metod prowadzi do dokładniejszych szacunków produktywności niż te wykorzystujące wiersze kodu.

Funkcjonalność

Ilość funkcjonalności tkwiącej w produkcie jest miarą wielkości produktu. Istnieje wiele różnych metod pomiaru funkcjonalności oprogramowania. Jedną z takich metod - metodę punktów funkcyjnych Albrechta - omówimy w następnym rozdziale.