Pomiar oprogramowania

Ramy pomiaru oprogramowania oparte są na trzech zasadach -

  • Klasyfikacja podmiotów do zbadania
  • Określenie odpowiednich celów pomiarowych
  • Określenie poziomu dojrzałości, który osiągnęła organizacja

Klasyfikacja podmiotów do zbadania

W inżynierii oprogramowania istnieją głównie trzy klasy jednostek. Oni są -

  • Processes
  • Products
  • Resources

Wszystkie te podmioty mają podmioty wewnętrzne i zewnętrzne.

  • Internal attributesto te, które można zmierzyć wyłącznie pod kątem samego procesu, produktu lub zasobów. Na przykład: rozmiar, złożoność, zależność między modułami.

  • External attributesto takie, które można zmierzyć tylko w odniesieniu do jej relacji ze środowiskiem. Na przykład: Całkowita liczba błędów, których doświadczył użytkownik, czas potrzebny na przeszukanie bazy danych i pobranie informacji.

Różne atrybuty, które można zmierzyć dla każdej z jednostek, są następujące:

Procesy

Procesy to zbiory działań związanych z oprogramowaniem. Poniżej znajdują się niektóre z wewnętrznych atrybutów, które można zmierzyć bezpośrednio dla procesu:

  • Czas trwania procesu lub jednej z jego czynności

  • Wysiłek związany z procesem lub jedną z jego czynności

  • Liczba incydentów określonego typu powstałych w trakcie procesu lub jednej z jego czynności

Różne zewnętrzne atrybuty procesu to koszt, możliwość kontroli, skuteczność, jakość i stabilność.

Produkty

Produkty to nie tylko elementy, które kierownictwo jest zobowiązane dostarczyć, ale także wszelkie artefakty lub dokumenty powstałe w trakcie cyklu życia oprogramowania.

Różne wewnętrzne atrybuty produktu to rozmiar, nakład pracy, koszt, specyfikacja, długość, funkcjonalność, modułowość, ponowne wykorzystanie, nadmiarowość i poprawność składniowa. Wśród tych rozmiarów, wysiłku i kosztów można stosunkowo łatwo zmierzyć niż inne.

Różne atrybuty produktu zewnętrznego to użyteczność, integralność, wydajność, testowalność, możliwość ponownego użycia, przenośność i interoperacyjność. Te atrybuty opisują nie tylko kod, ale także inne dokumenty wspierające prace programistyczne.

Zasoby

Są to encje wymagane przez działanie procesu. Może to być dowolny wkład do produkcji oprogramowania. Obejmuje personel, materiały, narzędzia i metody.

Różne wewnętrzne atrybuty zasobów to wiek, cena, rozmiar, szybkość, rozmiar pamięci, temperatura itp. Różne zewnętrzne atrybuty to produktywność, doświadczenie, jakość, użyteczność, niezawodność, komfort itp.

Określanie odpowiednich celów pomiarowych

Konkretny pomiar będzie przydatny tylko wtedy, gdy pomoże zrozumieć proces lub jeden z jego produktów. Udoskonalenie procesu lub produktów można przeprowadzić tylko wtedy, gdy projekt ma jasno określone cele dla procesów i produktów. Jasne zrozumienie celów może służyć do generowania sugerowanych metryk dla danego projektu w kontekście ram dojrzałości procesu.

Paradygmat cel – pytanie – metryka (GQM)

Podejście GQM zapewnia ramy obejmujące następujące trzy kroki -

  • Wymienienie głównych celów projektu rozwoju lub utrzymania

  • Wyprowadzenie pytań z każdego celu, na który należy odpowiedzieć, aby określić, czy cele zostały osiągnięte

  • Zdecyduj, co należy zmierzyć, aby móc odpowiednio odpowiedzieć na pytania

Aby skorzystać z paradygmatu GQM, najpierw określamy ogólne cele organizacji. Następnie generujemy pytania w taki sposób, aby znane były odpowiedzi, abyśmy mogli określić, czy cele zostały osiągnięte. Później przeanalizuj każde pytanie pod kątem tego, jakiego pomiaru potrzebujemy, aby odpowiedzieć na każde pytanie.

Typowe cele są wyrażane w kategoriach produktywności, jakości, ryzyka, satysfakcji klienta itp. Cele i pytania należy konstruować z uwzględnieniem odbiorców.

Aby pomóc w generowaniu celów, pytań i wskaźników, Basili & Rombach dostarczyli szereg szablonów.

  • Purpose - Aby (scharakteryzować, ocenić, przewidzieć, motywować itp.) (Procesu, produktu, modelu, miernika itp.) W celu zrozumienia, oceny, zarządzania, projektowania, uczenia się, ulepszania itp. Example: Scharakteryzowanie produktu w celu nauczenia się go.

  • Perspective - Zbadaj (koszty, efektywność, poprawność, wady, zmiany, pomiary produktu itp.) Z punktu widzenia dewelopera, menedżera, klienta itp. Example: Zbadaj usterki z punktu widzenia klienta.

  • Environment - Na środowisko składają się: czynniki procesowe, czynniki ludzkie, czynniki problemowe, metody, narzędzia, ograniczenia itp. Example: Klientami tego oprogramowania są ci, którzy nie mają wiedzy na temat narzędzi.

Pomiary i doskonalenie procesów

Zwykle pomiar jest przydatny w przypadku -

  • Zrozumienie procesu i produktów
  • Ustalenie punktu odniesienia
  • Dostęp i przewidywanie wyniku

W zależności od stopnia dojrzałości procesu podanego przez SEI, rodzaj pomiaru i program pomiarowy będą różne. Poniżej przedstawiono różne programy pomiarowe, które można zastosować na każdym poziomie dojrzałości.

Level 1: Ad hoc

Na tym poziomie wejścia są źle zdefiniowane, podczas gdy wyniki są oczekiwane. Przejście od wejścia do wyjścia jest niezdefiniowane i niekontrolowane. Na tym poziomie dojrzałości procesu pomiary bazowe są potrzebne, aby zapewnić punkt wyjścia do pomiaru.

Level 2: Repeatable

Na tym poziomie można zidentyfikować dane wejściowe i wyjściowe procesu, ograniczenia i zasoby. Powtarzalny proces można opisać poniższym diagramem.

Miarami wejściowymi może być wielkość i zmienność wymagań. Wynik można mierzyć pod względem rozmiaru systemu, zasobów pod względem nakładu pracy personelu oraz ograniczeń pod względem kosztów i harmonogramu.

Level 3: Defined

Na tym poziomie definiuje się działania pośrednie, a ich nakłady i produkty są znane i rozumiane. Prosty przykład zdefiniowanego procesu przedstawiono na poniższym rysunku.

Można zbadać, zmierzyć i ocenić wkład i wyniki działań pośrednich.

Level 4: Managed

Na tym poziomie informacje zwrotne z wczesnych działań projektowych można wykorzystać do ustalenia priorytetów dla bieżących działań, a później dla działań projektowych. Potrafimy mierzyć efektywność działań procesowych. Pomiar odzwierciedla charakterystykę całego procesu oraz interakcji pomiędzy głównymi działaniami i pomiędzy nimi.

Level 5: Optimizing

Na tym poziomie miary z czynności są wykorzystywane do ulepszania procesu poprzez usuwanie i dodawanie czynności procesowych oraz dynamiczną zmianę struktury procesu w odpowiedzi na pomiarowe informacje zwrotne. Zatem zmiana procesu może wpłynąć na organizację i projekt, a także na proces. Proces będzie działał jak czujniki i monitory, a my możemy znacząco zmienić proces w odpowiedzi na znaki ostrzegawcze.

Na danym poziomie dojrzałości możemy zbierać pomiary dla tego poziomu i wszystkich poziomów poniżej niego.

Określenie poziomu dojrzałości

Dojrzałość procesu sugeruje mierzenie tylko tego, co jest widoczne. Zatem połączenie dojrzałości procesu z GQM zapewni najbardziej użyteczne miary.

  • W level 1projekt prawdopodobnie będzie miał źle zdefiniowane wymagania. Na tym poziomie pomiar charakterystyk wymagań jest trudny.

  • W level 2wymagania są dobrze zdefiniowane i można zebrać dodatkowe informacje, takie jak rodzaj każdego wymagania i liczba zmian w każdym z nich.

  • W level 3czynności pośrednie są definiowane za pomocą kryteriów wejścia i wyjścia dla każdego działania

Analiza celu i pytania będzie taka sama, ale metryka będzie się różnić w zależności od dojrzałości. Im bardziej dojrzały proces, tym bogatsze będą pomiary. Paradygmat GQM, w połączeniu z dojrzałością procesu, został wykorzystany jako podstawa kilku narzędzi wspomagających menedżerów w projektowaniu programów pomiarowych.

GQM pomaga zrozumieć potrzebę pomiaru atrybutu, a dojrzałość procesu sugeruje, czy jesteśmy w stanie zmierzyć go w sensowny sposób. Razem tworzą kontekst do pomiaru.