Metryka oprogramowania

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Metryka oprogramowania – miara pewnej własności oprogramowania lub jego specyfikacji. Termin ten nie ma precyzyjnej definicji i może oznaczać właściwie dowolną wartość liczbową charakteryzującą oprogramowanie.

Teoria złożoności obliczeniowej – dział teorii obliczeń, którego głównym celem jest określanie ilości zasobów potrzebnych do rozwiązania problemów obliczeniowych. Rozważanymi zasobami są takie wielkości jak czas, pamięć lub liczba procesorów.Analiza programów – badanie programów komputerowych gotowych do uruchomienia lub w postaci kodów źródłowych. Analiza w trakcie działania programu nazywa się analizą dynamiczną, natomiast badanie bez uruchamiania programu nazywa się analizą statyczną. Najważniejszymi zastosowaniami analizy programów jest znajdowanie i usuwanie przyczyn ich błędnego działania (debugowanie), poprawianie jakości programów (optymalizacja) oraz poznawanie szczegółów zasad działania programu (reverse engineering).

Standard IEEE 1061-1998 określa metrykę jako funkcję odwzorowującą jednostkę oprogramowania w wartość liczbową. Ta wyliczona wartość jest interpretowalna jako stopień spełnienia pewnej własności jakości jednostki oprogramowania. Metryki używają różnych definicji jednostki oprogramowania, opartej zazwyczaj na kodzie źródłowym, rozdzielonym na jeden lub więcej plików. Istnieją też metryki, które nie bazują na kodzie, lecz pozwalają na analizę specyfikacji oprogramowania (np. punkty funkcyjne) lub przebiegu wykonania programu.

Język wysokiego poziomu (autokod) – typ języka programowania, którego składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu dla człowieka, tym samym zwiększając poziom abstrakcji i dystansując się od sprzętowych niuansów. Kod napisany w języku wysokiego poziomu nie jest bezpośrednio „zrozumiały” dla komputera – większość kodu stanowią tak naprawdę normalne słowa, np. w języku angielskim. Aby umożliwić wykonanie programu napisanego w tym języku należy dokonać procesu kompilacji.Operand – w matematyce argument operatora, tj. funkcji danej przestrzeni w siebie (tzw. endomorfizm). Przykładowo dla działania dodawania + , {displaystyle +,} będącego operatorem w ustalonym ciele (np. liczb rzeczywistych) postaci

Zastosowanie[ | edytuj kod]

Celem użycia metryk oprogramowania jest otrzymanie dokładnych wartości, które dotyczą wytwarzanych aplikacji. Lord Kelvin, fizyk i matematyk, stwierdził: Jeśli to o czym mówisz potrafisz zmierzyć i wyrazić w liczbach – wiesz coś o tym. Inaczej twa wiedza jest mizerna, inżynier oprogramowania Tom DeMarco uważa zaś, że nie można kontrolować tego, czego się nie da zmierzyć. Metryki pozwalają na obiektywne spojrzenie na oprogramowanie i porównanie ze sobą poszczególnych jego elementów lub różnych produktów. Mierzenie jakości aplikacji oraz wydajności pracy bez danych liczbowych staje się bardzo trudne, a utrzymanie obiektywności jest niemal niemożliwe.

Punkt funkcyjny – metryka złożoności oprogramowania podawana jako liczba bezwymiarowa określająca efektywną względną miarę wartości funkcji oferowanej przez program użytkownikowi. Najczęściej jest podstawą do oszacowania m.in. pracochłonności wytworzenia danego oprogramowania. Pojęcie to zaproponował w 1979 r. A. J. Albrecht z firmy IBM.William Thomson, 1. Baron Kelvin (ur. 26 czerwca 1824 w Belfaście, zm. 17 grudnia 1907 w Largs w Szkocji) – brytyjski fizyk pochodzenia irlandzkiego, matematyk oraz przyrodnik. Sformułował drugą zasadę termodynamiki, badał elektryczność i magnetyzm.

Obliczanie metryk jest istotnym ułatwieniem we wszystkich fazach procesu wytwarzania oprogramowania. W fazie projektowania metodologie takie jak COCOMO za pomocą rozmaitych metryk pozwalają na oszacowanie nakładu pracy potrzebnego do realizacji pomysłu. Na tym etapie metryki są przydatne przede wszystkim dla klientów oraz projektantów. W fazie produkcji dużą rolę odgrywają metryki statyczne, pomagające w utrzymywaniu jakości kodu źródłowego. Korzystają na tym programiści, którzy dzięki metrykom mogą łatwo odnajdywać te miejsca w kodzie, które są potencjalnym źródłem nadmiernej złożoności, a co za tym idzie, powstających błędów. W fazie testów wykorzystywane są zarówno metryki statyczne, jak i dynamiczne, pozwalające na badanie przebiegu wykonania programu. Na tym etapie gromadzone są też dane liczbowe dotyczące wydajności czy niezawodności aplikacji. Wyniki testów są pożytecznym źródłem informacji dla wszystkich osób zaangażowanych w projekt, w tym kierowników, programistów i klientów.

Stała - identyfikator, któremu przypisana wartość (liczbowa, tekstowa, itp.) nie może być zwykle zmieniana podczas wykonywania programu (chyba, że stosuje on samomodyfikujący się kod). Choć wartość ta jest określana tylko raz, można się do niej odwoływać w programie wielokrotnie (w zależności od jej widoczności). Stosowanie stałej zamiast wielokrotnie tych samych wartości, wyrażeń stałych, literałów itp., nie tylko ułatwia konserwację kodu, ale i dostarcza dla niej nazwę opisową, zwiększając czytelność kodu.Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.


Podstrony: 1 [2] [3] [4]




Warto wiedzieć że... beta

Klasa abstrakcyjna w programowaniu obiektowym jest to klasa, która nie może mieć swoich reprezentantów pod postacią obiektów. Zależnie od użytego języka programowania klasy abstrakcyjne tworzy się na różne sposoby.
Zarządzanie przez jakość (ang. Total Quality Management, inaczej: kompleksowe zarządzanie jakością, totalne zarządzanie jakością) - podejście do zarządzania organizacją, w którym każdy aspekt działalności jest realizowany z uwzględnieniem spojrzenia projakościowego. Uczestniczą w nim wszyscy pracownicy poprzez pracę zespołową, zaangażowanie i stałe podnoszenie kwalifikacji. Celem jest osiągnięcie długotrwałego sukcesu, którego źródłem są zadowolenie klienta oraz korzyści dla organizacji i jej członków oraz dla społeczeństwa.
PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.
Cykl prosty to droga zamknięta, czyli taka, której koniec (ostatni wierzchołek) jest identyczny z początkiem (pierwszym wierzchołkiem).
Plik danych, plik komputerowy, zwykle krótko plik – uporządkowany zbiór danych o skończonej długości, posiadający szereg atrybutów i stanowiący dla użytkownika systemu operacyjnego całość. Nazwa pliku nie jest jego częścią, lecz jest przechowywana w systemie plików.
Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.
Zależność oprogramowania – metryka kodu wskazująca stopień powiązania danego modułu z innymi. Jako przeciwstawna jest zestawiana ze spójnością oprogramowania. Niska zależność zwykle oznacza wysoką spójność i vice versa. Obie te metryki zaproponował Larry Constantine na podstawie dobrych praktyk programowania.

Reklama