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.