From 547b00c68c6b20e948e9f2d58449dc2156a2e7c3 Mon Sep 17 00:00:00 2001 From: Krzysztof Jassem Date: Sun, 28 Nov 2021 16:24:39 +0100 Subject: [PATCH] =?UTF-8?q?Materia=C5=82y=20do=20wyk=C5=82adu=2012.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eny prezentacji koncepcji projektów.ipynb | 2 +- ...12_ocena_jakości_systemu-checkpoint.ipynb | 490 +++++++++++++++++- ...0_wybrane_zagadnienia_użyteczności.ipynb | 7 - .../12_ocena_jakości_systemu.ipynb | 490 +++++++++++++++++- .../obrazy/Halstead1.png | Bin 0 -> 13873 bytes .../obrazy/Halstead2.png | Bin 0 -> 10430 bytes .../obrazy/Halstead3.png | Bin 0 -> 8305 bytes .../obrazy/LOC vs FP.jpg | Bin 0 -> 96368 bytes materiały na PPB (wykład)/obrazy/WMC.png | Bin 0 -> 2928 bytes .../obrazy/korelacja właściwości.png | Bin 0 -> 34483 bytes .../obrazy/korelacja.png | Bin 0 -> 4117 bytes .../obrazy/wypadkowa.png | Bin 0 -> 3205 bytes 12 files changed, 937 insertions(+), 52 deletions(-) create mode 100644 materiały na PPB (wykład)/obrazy/Halstead1.png create mode 100644 materiały na PPB (wykład)/obrazy/Halstead2.png create mode 100644 materiały na PPB (wykład)/obrazy/Halstead3.png create mode 100644 materiały na PPB (wykład)/obrazy/LOC vs FP.jpg create mode 100644 materiały na PPB (wykład)/obrazy/WMC.png create mode 100644 materiały na PPB (wykład)/obrazy/korelacja właściwości.png create mode 100644 materiały na PPB (wykład)/obrazy/korelacja.png create mode 100644 materiały na PPB (wykład)/obrazy/wypadkowa.png diff --git a/Organizacja + oceny prezentacji koncepcji projektów.ipynb b/Organizacja + oceny prezentacji koncepcji projektów.ipynb index c21102b..1e3a517 100644 --- a/Organizacja + oceny prezentacji koncepcji projektów.ipynb +++ b/Organizacja + oceny prezentacji koncepcji projektów.ipynb @@ -159,7 +159,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.5" } }, "nbformat": 4, diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/12_ocena_jakości_systemu-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/12_ocena_jakości_systemu-checkpoint.ipynb index 3210b7b..b17444c 100644 --- a/materiały na PPB (wykład)/.ipynb_checkpoints/12_ocena_jakości_systemu-checkpoint.ipynb +++ b/materiały na PPB (wykład)/.ipynb_checkpoints/12_ocena_jakości_systemu-checkpoint.ipynb @@ -18,7 +18,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Czym jest jakość produktu?" + "# 1. Czym jest jakość produktu?" ] }, { @@ -41,7 +41,7 @@ " \n", "

Definicja wg Geralda Weinberga

\n", " \n", - "Jakość to subiektywnie pojmowana wartość dla kogoś.\n", + "Jakość to subiektywnie pojmowana wartość.\n", "" ] }, @@ -86,7 +86,76 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Definicja jakości oprogramowania" + "# 2. Definicja jakości oprogramowania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " \n", + "

Jakość oprogramowania

\n", + " \n", + " Jakość oprogramowania to funkcja wypadkowa wartości określonych właściwości oprogramowania.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.1. Proces określania jakości oprogramowania\n", + "Proces określenia jakości oprogramowania składa się z dwóch etapów:\n", + "1. Zdefiniowanie funkcji jakości oprogramowania:\n", + "\n", + " > 1. Określ właściwości istotne dla danego typu oprogramowania (np. rozmiar, funkcjonalność, użyteczności, dostępność).\n", + " > 2. Dla każdej włąsciwości zdefiniuj zakres wartości liczbowych lub kategorii, określających, w jakim stopniu spełnia ona oczekiwania użytkowników.\n", + " > 3. Zdefiniuj jakość oprogramowania jako funkcję wartości poszczególnych właściwości: \n", + " > **Quality = q(wartości właściwości)**\n", + " \n", + "2. Ocena jakości oprogramowania\n", + " > 1. Wyznacz wartości poszczególnych cech oprogramowania.\n", + " > 2. Oblicz jakość oprogramowania za pomocą zdefiniowanej funkcji *Quality*." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Jakość kodu źródłowego\n", + "Cechy kodu żródłowego:\n", + " * rozmiar,\n", + " * złożoność" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.1. Metryki rozmiaru kodu źródłowego\n", + "\n", + "### 3.1.1. Liczba wierszy (LOC - Lines of Code)\n", + "LOC mierzy **liczbę wierszy** w metodzie, klasie lub całej aplikacji.\n", + "\n", + "W obliczaniu LOC trzeba podjąć kilka nieoczywistych decyzji.\n", + "\n", + "Przykłady:\n", + "\n", + "\n", + " \n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Decyzja Rekomendacja
Czy liczyć puste wiersze? NIE
Czy liczyć komentarze? NIE
Czy liczyć liczbę wierszy czy liczbę instrukcji? Liczbę wierszy
" ] }, { @@ -95,9 +164,9 @@ "source": [ "
\n", " \n", - "

Jakość oprogramowania

\n", + "

Reguła 30

\n", " \n", - "Jakość oprogramowania to funkcja cech oprogramowania, które spełniają oczekiwania użytkownika: znane i przewidywane.\n", + "Jeśli element zawiera wiecej niż 30 podelementów, to najprawdopodobniej w działaniu wystąpi jakiś poważny problem.\n", "
" ] }, @@ -105,35 +174,412 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Jakość kodu źródłowego\n", - "### Metryki oceny rozmiaru kodu źródłowego\n", - "### Metryki oceny złożoności kodu źródłowego" + "> **Methods** should not have more than an average of 30 code lines (not counting line spaces and comments). \n", + "> **A class** should contain an average of less than 30 methods, resulting in up to 900 lines of code. \n", + "> **A package** shouldn’t contain more than 30 classes, thus comprising up to 27,000 code lines. \n", + "> **Subsystems** with more than 30 packages should be avoided. Such a subsystem would count up to 900 classes with up to 810,000 lines of code. \n", + "> **A system** with 30 subsystems would thus possess 27,000 classes and 24.3 million code lines. \n", + "[Przeczytaj w Internecie](https://dzone.com/articles/rule-30-%E2%80%93-when-method-class-or)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Cechy oprogramowania wpływające na ocenę jakości\n", - "### Funkcjonalność\n", - "### Niezawodność\n", - "### Użyteczność\n", - "### Wydajność\n", - "### Łatwość konserwacji\n", - "### Przenośność\n", - "### Dostępność\n", - "### Bezpieczeństwo\n", - "### Kompatybilność" + "### 3.1.2. Punkty funkcyjne\n", + "\n", + "**Punkty Funkcyjne** - metryka, która wyznacza liczbę funkcjonalności dostarczaną przez system.\n", + "\n", + "**Współczynnik produktywności języka programowania**: ile (średnio) linii kodu potrzeba do zakodowania jednego punktu funkcyjnego? \n", + "\n", + "Wartość kodu w punktach funkcyjnych wyznacza się, dzieląc wartośćLOC przez współczynnik produktywności.\n", + "\n", + "**Tablica produktywności języków programowania**\n", + " \"Tablica\n", + " źródło: Adam Roman, \"Testowanie i jakość oprogramowania\"\n", + "\n", + "[Porównaj w Internecie](https://www.qsm.com/resources/function-point-languages-table)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Schematy oceny jakości\n", - "### CUPRIMDSO\n", - "### FURPS\n", - "### CUPRIMDA" + "### 3.1.3. Liczba tokenów - metryka Halsteada\n", + "\n", + "Metryka Halsteada wyznacza objętość (wielkość) kodu na podstawie liczby unikatowych tokenów.\n", + "Wyróżniane są dwa typy tokenów:\n", + " * operatory (funkcje, słowa kluczowe itp.),\n", + " * operandy (zmienne, stałe, wartości).\n", + " \n", + "Wartości metryk Halsteada (w przeciwieństwie do LOC) nie zależą od długości przyjętego nazewnictwa.\n", + "\n", + "\"Liczby\n", + "źródło: Wikipedia\n", + "\n", + "Na podstawie liczby tokenów można oszacować objętość (wielkość) programu:\n", + "\n", + "\"wielkość\n", + "źrodło: Wikipedia" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2. Metryki oceny złożoności kodu źródłowego " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.1. Metryki złożoności Halsteada\n", + "Złożoność programu szacowana jest pod kilkoma aspektami - na podstawie liczby tokenów:\n", + " * D: trudność implementacji,\n", + " * L: poziom programu (im wyższy tym program jest mniej podatny na błędy),\n", + " * E: wysiłek implementacji,\n", + " * T: czas implementacji\n", + " * B: liczba błędów.\n", + "\"metryki\n", + "żródło: Wikipedia" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.2. Złożoność cyklomatyczna\n", + "**Złożoność cyklomatyczna** określa liczbę niezależnych ścieżek przebiegu programu. \n", + "\n", + "Jeśli program reprezentowany jest w postaci schematu blokowego (grafu), to:\n", + "\n", + "> CC = e - n + 2 * p \n", + "> e – liczba krawędzi grafu \n", + "> n – liczba węzłów grafu \n", + "> p – liczba składowych grafu \n", + "\n", + "Złożoność cykolmatyczną można łatwo wyliczyć na podstawie wzoru:\n", + "\n", + "> CC = d + 1, gdzie d oznacza liczbę węzłów decyzyjnych, np. instrukcji: \n", + "> * if \n", + "> * while \n", + "> * for \n", + "> * case" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.3. Uśrednione metody na klasę (Weighted Methods per Class - WMC)\n", + "\n", + "Metryka uwzględnia zarówno liczbę metod w klasie, jak i ich złożoność cyklomatyczną: (n oznacza liczbę metod w klasie, a ci oznacza złożoność cykolomatyczną i-tej metody).\n", + "\n", + "\"Uśrednione" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.4. Odpowiedzialność klasy (Response for a Class - RFC)\n", + "\n", + "Metryka RFC oznacza całkowitą liczbę metod, które mogą być potencjalnie wywołane w odpowiedzi na komunikat odebrany przez obiekt klasy. \n", + "\n", + "Wysoka wartość RFC oznacza większą funkcjonalność, ale zarazem i wyższą złożoność." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Właściwości produktu wpływające na ocenę jakości oprogramowania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1. Przydatność funkcjonalna (Functional Suitability - F)\n", + "**Przydatność funkcjonalna** określa stopień, w jakim program dostarcza oczekiwane funkcjonalności.\n", + "\n", + "Wartość przydatności funkcjonalnej można wyznaczyć podczas testowania:\n", + "\n", + "> **M = 1 - A/B**\n", + "> * A = funkcjonalności problemowe \n", + "> * B = wszystkie testowane funkcjonalności" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2. Niezawodność\n", + "\n", + "**Niezawodność** określa prawdopodobieństwo, że wykonanie operacji przez program będzie bezbłędne.\n", + "\n", + "Wartość niezawodności można wyznaczyć podczas testowania:\n", + "\n", + "> **M = A/B** \n", + "> * A = liczba testów ukończonych pomyślnie, \n", + "> * B = liczba wszystkich testów" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.3. Użyteczność (Usability - U)\n", + "\n", + "**Użyteczność** określa łatwość użytkowania.\n", + "\n", + "Wartość użyteczności można wyznaczyć podczas testów użyteczności:\n", + "\n", + "> **M = A/B**\n", + "> * A = liczba funkcjonalności odkryta przez użytkownika, \n", + "> * B = liczba wszystkich funkcjonalości." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.4. Wydajność (Performance Efficiency)\n", + "**Wydajność** określa liczbę wykonanych operacji w odniesieniu do czasu i zużytych zasobów.\n", + "\n", + "Przykładowe metryki pomiaru wydajności:\n", + "\n", + "> * Czas odpowiedzi: **M = T1 (end) - T2 (start)** \n", + "> * Czas postoju: **M = T1 (waiting time) / T2 (total time)**\n", + "> * Przepustowość = Liczba zadań wykonanych w jednostce czasu \n", + "> * Zużycie pamięci (w bajtach) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.5. Łatwość konserwacji (Maintainability - M)\n", + "**Łatwość konserwacji** to łatwość, z jaką program jest utrzymywany w celu:\n", + " * poprawiania błędów,\n", + " * wprowadzania nowych funkcji.\n", + "\n", + "Przykładowa metryka: Ile czasu zajmuje średnio naprawienie błędu?\n", + "\n", + "> **M = SUM(czas naprawy) / N** \n", + "> * N oznacza liczbę napraw" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.6. Przenośność (Portability - P)\n", + "**Przenośność** to Łatwość przenoszenia systemu pomiędzy różnymi środowiskami platformami / systemami operacyjnymi. \n", + "\n", + "Przykładowe metryki:\n", + " * łatwość adaptacji\n", + " > **M = T** \n", + " > * T oznacza czas adaptacji do nowego środowiska\n", + "\n", + " * łatwość instalacji: \n", + " > **M = A / B**\n", + " > * A = przypadki pomyślnej instalacji \n", + " > * B = wszystkie przypadki instalacji " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.7. Dostępność (Availibility - A)\n", + "**Dostępność** to czas, w którym program zobowiązany jest odpowiadać zgodnie z oczekiwaniami.\n", + "\n", + "* Metryka:\n", + "\n", + "> **M = A / B**\n", + "> * A = Czas dostępności \n", + "> * B = Czas całkowity \n", + "\n", + "* Przykładowe wartości metryki dostępności:\n", + "\n", + "\n", + " \n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Miara dostępności Czas niedostępności w roku
99,999 5 minut 20 sekund
99,8 17 godzin 30 minut
97,5 219 godzin
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.8. Kompatybilność (Compatibility)\n", + "**Kompatybilność** to możliwość współpracowania z systemami zewnętrznymi." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.9. Bezpieczeństwo (Security - S)\n", + "**Bezpieczeństwo** to możliwość chronienia danych przetwarzanych przez aplikację.\n", + "\n", + "* Przykładowa metryka:\n", + "\n", + "> **M = A / B** \n", + "> * A = Liczba przetestowanych funkcji programu uznanych jako bezpieczne\n", + "> * B = Liczba wszystkich przetestowanych funkcji " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. Schematy oceny jakości\n", + "\n", + "Aby ocenić jakość oprogramowania należy wybrać właściwości oprogramowania, które wchodzą w skład oceny. Służą do tego **schematy oceny jakości**.\n", + "\n", + "## 5.1. CUMPRIMDSO (schamat wprowadzony przez IBM)\n", + "* Capability (odpowiednik przydatności funkcjonalnej)\n", + "* Usability (użyteczność)\n", + "* Performance – wydajność\n", + "* Reliability – niezawodność\n", + "* Installability – łatwość instalacji\n", + "* Maintainibility – łatwość utrzymania (pielęgnowalność)\n", + "* Documentation – dokumentacja\n", + "* Service – serwis\n", + "* Overall - ocena ogólna\n", + "\n", + "## 5.2. CUMPRIMDA\n", + "* Capability (odpowiednik przydatności funkcjonalnej)\n", + "* Usability (użyteczność)\n", + "* Performance – wydajność\n", + "* Reliability – niezawodność\n", + "* Installability – łatwość instalacji\n", + "* Maintainibility – łatwość utrzymania (pielęgnowalność)\n", + "* Documentation – dokumentacja\n", + "* Availibility - dostępność\n", + "\n", + "## 5.3. FURPS (schemat wprowadzony przez Hewlett-Packard)\n", + "* Functionality\n", + "* Usability\n", + "* Reliability\n", + "* Performance\n", + "* Supportability – łatwość wspierania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 6. Funkcja oceny jakości oprogramowania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.1. Pojęcie korelacji\n", + "\n", + "**Korelacja** to miara zależności pomiędzy dwoma zmiennymi (cechami).\n", + "\n", + "Korelacja przyjmuje wartości z przedziału [-1, 1]. \n", + "* korealacja > 0 → korelacja dodatnia\n", + " * gdy wartości jednej cechy rosną, to drugiej również rosną.\n", + "* r < 0 → korelacja ujemna\n", + " * gdy wartości jednej cechy rosną, to drugiej maleją i odwrotnie\n", + "* r = 0 → korelacja zerowa\n", + " * brak związku między cechami.\n", + " \n", + "Przykłady korelacji: \n", + "\n", + "\"korelacja\n", + "źródło: https://cyrkiel.info/statystyka/korelacja-pearsona/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.2. Korelacja między właściwościami oprogramowania\n", + "Korelację między poszczególnymi właściwościami oprogramowania obrazuje tabela:\n", + "\n", + "\"Korelacja\n", + "źródło: opracowanie własne na podstawie: Stephen H. Kan \"Metryki i modele w inżynierii jakości oprogramowania\"\n", + "\n", + "Tabela wskazuje, że polepszenie jednej cechy oprogramowania (np. przydatności funkcjonalnej) może pogorszyć inną cechę (np. wydajność), bo cechy te są ujemnie skorelowane." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.3. Waga właściwości oprogramowania\n", + "Istotność poszczególnych właściwości oprogramowania zależy od typu programu.\n", + "\n", + "Stephen H. Kan (\"Metryki i modele w inżynierii jakości oprogramowania\") podaje, że dla metryki UPRIMDA najbardziej odpowiednie kolejności właściwości są następujące: \n", + "* RUIPMDA\n", + "* RUAIMPD" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.4. Wzór na ocenę jakości oprogramowania\n", + "\n", + "Procedura opracowania wzoru na ocenę jakości oprogramowania odpowiedniego dla danego typu programu:\n", + "\n", + "> 1. Wybierz schemat (np. FURPS) \n", + "> \n", + "> 2. Zdefiniuj typ funkcji (np. funkcja liniowa) \n", + "> **Quality = a + b*F + c*U +d*R + e*P + f*S** \n", + "> \n", + "> 3. Zdefiniuj współczynniki tak, by korelacja z oceną ludzką była jak najwyższa." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Przykładowy proces dostrajania współczynników jakości\n", + "\n", + "> 1. Zorganizuj grupę użytkowników (co najmniej 5 osób). \n", + "> 2. Zbierz od użytkowników oceny poszczególnych właściwości oprogramowania. \n", + "> 3. Zbierz od użytkowników oceny ogólne jakości. \n", + "> 4. Określ heurystycznie wartości współczynników we wzorze na ocenę ogolną. \n", + "> 5. Oblicz współczynnik korelacji między:\n", + "> * ocenami ogólnymi jakości podanymi przez użytkowników, \n", + "> * ocenami ogólnymi jakości wyznaczonymi przez wzór na oceną ogólną na podstawie ocen cząstkowych użytkownikow.\n", + "> 6. Jeśli korelacja jest niska, to powróć do punktu 4." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Podsumowanie\n", + " * Istnieje wiele definicji jakości programowania.\n", + " * Na wykładzie zdefiniowano jakość jako funkcję poszczególnych właściwości oprogramowania.\n", + "\n", + "* Istnieją metryki oceny **kodu źrodłowego**. \n", + " * Na ich podstawie można ocenić jakość kodu.\n", + " \n", + " * Jakość oprogramowania można oceniać również z punktu widzenia klienta. \n", + " * Stosowane są różne schematy oceny, które biorą pod uwagę różne właściwości oprogramowania.\n", + " \n", + " * Ocenę ogólną oprogramowania (z punktu widzenia klienta) można zdefiniować jako **funkcję liniową** ocen poszczególnych właściwości." ] } ], diff --git a/materiały na PPB (wykład)/10_wybrane_zagadnienia_użyteczności.ipynb b/materiały na PPB (wykład)/10_wybrane_zagadnienia_użyteczności.ipynb index 012ae54..f035cb6 100644 --- a/materiały na PPB (wykład)/10_wybrane_zagadnienia_użyteczności.ipynb +++ b/materiały na PPB (wykład)/10_wybrane_zagadnienia_użyteczności.ipynb @@ -492,13 +492,6 @@ "Ten etap raportu można zakończyć wykresami." ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "attachments": {}, "cell_type": "markdown", diff --git a/materiały na PPB (wykład)/12_ocena_jakości_systemu.ipynb b/materiały na PPB (wykład)/12_ocena_jakości_systemu.ipynb index 3210b7b..b17444c 100644 --- a/materiały na PPB (wykład)/12_ocena_jakości_systemu.ipynb +++ b/materiały na PPB (wykład)/12_ocena_jakości_systemu.ipynb @@ -18,7 +18,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Czym jest jakość produktu?" + "# 1. Czym jest jakość produktu?" ] }, { @@ -41,7 +41,7 @@ " \n", "

Definicja wg Geralda Weinberga

\n", " \n", - "Jakość to subiektywnie pojmowana wartość dla kogoś.\n", + "Jakość to subiektywnie pojmowana wartość.\n", "" ] }, @@ -86,7 +86,76 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Definicja jakości oprogramowania" + "# 2. Definicja jakości oprogramowania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " \n", + "

Jakość oprogramowania

\n", + " \n", + " Jakość oprogramowania to funkcja wypadkowa wartości określonych właściwości oprogramowania.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.1. Proces określania jakości oprogramowania\n", + "Proces określenia jakości oprogramowania składa się z dwóch etapów:\n", + "1. Zdefiniowanie funkcji jakości oprogramowania:\n", + "\n", + " > 1. Określ właściwości istotne dla danego typu oprogramowania (np. rozmiar, funkcjonalność, użyteczności, dostępność).\n", + " > 2. Dla każdej włąsciwości zdefiniuj zakres wartości liczbowych lub kategorii, określających, w jakim stopniu spełnia ona oczekiwania użytkowników.\n", + " > 3. Zdefiniuj jakość oprogramowania jako funkcję wartości poszczególnych właściwości: \n", + " > **Quality = q(wartości właściwości)**\n", + " \n", + "2. Ocena jakości oprogramowania\n", + " > 1. Wyznacz wartości poszczególnych cech oprogramowania.\n", + " > 2. Oblicz jakość oprogramowania za pomocą zdefiniowanej funkcji *Quality*." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Jakość kodu źródłowego\n", + "Cechy kodu żródłowego:\n", + " * rozmiar,\n", + " * złożoność" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.1. Metryki rozmiaru kodu źródłowego\n", + "\n", + "### 3.1.1. Liczba wierszy (LOC - Lines of Code)\n", + "LOC mierzy **liczbę wierszy** w metodzie, klasie lub całej aplikacji.\n", + "\n", + "W obliczaniu LOC trzeba podjąć kilka nieoczywistych decyzji.\n", + "\n", + "Przykłady:\n", + "\n", + "\n", + " \n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Decyzja Rekomendacja
Czy liczyć puste wiersze? NIE
Czy liczyć komentarze? NIE
Czy liczyć liczbę wierszy czy liczbę instrukcji? Liczbę wierszy
" ] }, { @@ -95,9 +164,9 @@ "source": [ "
\n", " \n", - "

Jakość oprogramowania

\n", + "

Reguła 30

\n", " \n", - "Jakość oprogramowania to funkcja cech oprogramowania, które spełniają oczekiwania użytkownika: znane i przewidywane.\n", + "Jeśli element zawiera wiecej niż 30 podelementów, to najprawdopodobniej w działaniu wystąpi jakiś poważny problem.\n", "
" ] }, @@ -105,35 +174,412 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Jakość kodu źródłowego\n", - "### Metryki oceny rozmiaru kodu źródłowego\n", - "### Metryki oceny złożoności kodu źródłowego" + "> **Methods** should not have more than an average of 30 code lines (not counting line spaces and comments). \n", + "> **A class** should contain an average of less than 30 methods, resulting in up to 900 lines of code. \n", + "> **A package** shouldn’t contain more than 30 classes, thus comprising up to 27,000 code lines. \n", + "> **Subsystems** with more than 30 packages should be avoided. Such a subsystem would count up to 900 classes with up to 810,000 lines of code. \n", + "> **A system** with 30 subsystems would thus possess 27,000 classes and 24.3 million code lines. \n", + "[Przeczytaj w Internecie](https://dzone.com/articles/rule-30-%E2%80%93-when-method-class-or)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Cechy oprogramowania wpływające na ocenę jakości\n", - "### Funkcjonalność\n", - "### Niezawodność\n", - "### Użyteczność\n", - "### Wydajność\n", - "### Łatwość konserwacji\n", - "### Przenośność\n", - "### Dostępność\n", - "### Bezpieczeństwo\n", - "### Kompatybilność" + "### 3.1.2. Punkty funkcyjne\n", + "\n", + "**Punkty Funkcyjne** - metryka, która wyznacza liczbę funkcjonalności dostarczaną przez system.\n", + "\n", + "**Współczynnik produktywności języka programowania**: ile (średnio) linii kodu potrzeba do zakodowania jednego punktu funkcyjnego? \n", + "\n", + "Wartość kodu w punktach funkcyjnych wyznacza się, dzieląc wartośćLOC przez współczynnik produktywności.\n", + "\n", + "**Tablica produktywności języków programowania**\n", + " \"Tablica\n", + " źródło: Adam Roman, \"Testowanie i jakość oprogramowania\"\n", + "\n", + "[Porównaj w Internecie](https://www.qsm.com/resources/function-point-languages-table)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Schematy oceny jakości\n", - "### CUPRIMDSO\n", - "### FURPS\n", - "### CUPRIMDA" + "### 3.1.3. Liczba tokenów - metryka Halsteada\n", + "\n", + "Metryka Halsteada wyznacza objętość (wielkość) kodu na podstawie liczby unikatowych tokenów.\n", + "Wyróżniane są dwa typy tokenów:\n", + " * operatory (funkcje, słowa kluczowe itp.),\n", + " * operandy (zmienne, stałe, wartości).\n", + " \n", + "Wartości metryk Halsteada (w przeciwieństwie do LOC) nie zależą od długości przyjętego nazewnictwa.\n", + "\n", + "\"Liczby\n", + "źródło: Wikipedia\n", + "\n", + "Na podstawie liczby tokenów można oszacować objętość (wielkość) programu:\n", + "\n", + "\"wielkość\n", + "źrodło: Wikipedia" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2. Metryki oceny złożoności kodu źródłowego " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.1. Metryki złożoności Halsteada\n", + "Złożoność programu szacowana jest pod kilkoma aspektami - na podstawie liczby tokenów:\n", + " * D: trudność implementacji,\n", + " * L: poziom programu (im wyższy tym program jest mniej podatny na błędy),\n", + " * E: wysiłek implementacji,\n", + " * T: czas implementacji\n", + " * B: liczba błędów.\n", + "\"metryki\n", + "żródło: Wikipedia" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.2. Złożoność cyklomatyczna\n", + "**Złożoność cyklomatyczna** określa liczbę niezależnych ścieżek przebiegu programu. \n", + "\n", + "Jeśli program reprezentowany jest w postaci schematu blokowego (grafu), to:\n", + "\n", + "> CC = e - n + 2 * p \n", + "> e – liczba krawędzi grafu \n", + "> n – liczba węzłów grafu \n", + "> p – liczba składowych grafu \n", + "\n", + "Złożoność cykolmatyczną można łatwo wyliczyć na podstawie wzoru:\n", + "\n", + "> CC = d + 1, gdzie d oznacza liczbę węzłów decyzyjnych, np. instrukcji: \n", + "> * if \n", + "> * while \n", + "> * for \n", + "> * case" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.3. Uśrednione metody na klasę (Weighted Methods per Class - WMC)\n", + "\n", + "Metryka uwzględnia zarówno liczbę metod w klasie, jak i ich złożoność cyklomatyczną: (n oznacza liczbę metod w klasie, a ci oznacza złożoność cykolomatyczną i-tej metody).\n", + "\n", + "\"Uśrednione" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.4. Odpowiedzialność klasy (Response for a Class - RFC)\n", + "\n", + "Metryka RFC oznacza całkowitą liczbę metod, które mogą być potencjalnie wywołane w odpowiedzi na komunikat odebrany przez obiekt klasy. \n", + "\n", + "Wysoka wartość RFC oznacza większą funkcjonalność, ale zarazem i wyższą złożoność." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Właściwości produktu wpływające na ocenę jakości oprogramowania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1. Przydatność funkcjonalna (Functional Suitability - F)\n", + "**Przydatność funkcjonalna** określa stopień, w jakim program dostarcza oczekiwane funkcjonalności.\n", + "\n", + "Wartość przydatności funkcjonalnej można wyznaczyć podczas testowania:\n", + "\n", + "> **M = 1 - A/B**\n", + "> * A = funkcjonalności problemowe \n", + "> * B = wszystkie testowane funkcjonalności" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2. Niezawodność\n", + "\n", + "**Niezawodność** określa prawdopodobieństwo, że wykonanie operacji przez program będzie bezbłędne.\n", + "\n", + "Wartość niezawodności można wyznaczyć podczas testowania:\n", + "\n", + "> **M = A/B** \n", + "> * A = liczba testów ukończonych pomyślnie, \n", + "> * B = liczba wszystkich testów" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.3. Użyteczność (Usability - U)\n", + "\n", + "**Użyteczność** określa łatwość użytkowania.\n", + "\n", + "Wartość użyteczności można wyznaczyć podczas testów użyteczności:\n", + "\n", + "> **M = A/B**\n", + "> * A = liczba funkcjonalności odkryta przez użytkownika, \n", + "> * B = liczba wszystkich funkcjonalości." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.4. Wydajność (Performance Efficiency)\n", + "**Wydajność** określa liczbę wykonanych operacji w odniesieniu do czasu i zużytych zasobów.\n", + "\n", + "Przykładowe metryki pomiaru wydajności:\n", + "\n", + "> * Czas odpowiedzi: **M = T1 (end) - T2 (start)** \n", + "> * Czas postoju: **M = T1 (waiting time) / T2 (total time)**\n", + "> * Przepustowość = Liczba zadań wykonanych w jednostce czasu \n", + "> * Zużycie pamięci (w bajtach) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.5. Łatwość konserwacji (Maintainability - M)\n", + "**Łatwość konserwacji** to łatwość, z jaką program jest utrzymywany w celu:\n", + " * poprawiania błędów,\n", + " * wprowadzania nowych funkcji.\n", + "\n", + "Przykładowa metryka: Ile czasu zajmuje średnio naprawienie błędu?\n", + "\n", + "> **M = SUM(czas naprawy) / N** \n", + "> * N oznacza liczbę napraw" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.6. Przenośność (Portability - P)\n", + "**Przenośność** to Łatwość przenoszenia systemu pomiędzy różnymi środowiskami platformami / systemami operacyjnymi. \n", + "\n", + "Przykładowe metryki:\n", + " * łatwość adaptacji\n", + " > **M = T** \n", + " > * T oznacza czas adaptacji do nowego środowiska\n", + "\n", + " * łatwość instalacji: \n", + " > **M = A / B**\n", + " > * A = przypadki pomyślnej instalacji \n", + " > * B = wszystkie przypadki instalacji " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.7. Dostępność (Availibility - A)\n", + "**Dostępność** to czas, w którym program zobowiązany jest odpowiadać zgodnie z oczekiwaniami.\n", + "\n", + "* Metryka:\n", + "\n", + "> **M = A / B**\n", + "> * A = Czas dostępności \n", + "> * B = Czas całkowity \n", + "\n", + "* Przykładowe wartości metryki dostępności:\n", + "\n", + "\n", + " \n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Miara dostępności Czas niedostępności w roku
99,999 5 minut 20 sekund
99,8 17 godzin 30 minut
97,5 219 godzin
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.8. Kompatybilność (Compatibility)\n", + "**Kompatybilność** to możliwość współpracowania z systemami zewnętrznymi." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.9. Bezpieczeństwo (Security - S)\n", + "**Bezpieczeństwo** to możliwość chronienia danych przetwarzanych przez aplikację.\n", + "\n", + "* Przykładowa metryka:\n", + "\n", + "> **M = A / B** \n", + "> * A = Liczba przetestowanych funkcji programu uznanych jako bezpieczne\n", + "> * B = Liczba wszystkich przetestowanych funkcji " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. Schematy oceny jakości\n", + "\n", + "Aby ocenić jakość oprogramowania należy wybrać właściwości oprogramowania, które wchodzą w skład oceny. Służą do tego **schematy oceny jakości**.\n", + "\n", + "## 5.1. CUMPRIMDSO (schamat wprowadzony przez IBM)\n", + "* Capability (odpowiednik przydatności funkcjonalnej)\n", + "* Usability (użyteczność)\n", + "* Performance – wydajność\n", + "* Reliability – niezawodność\n", + "* Installability – łatwość instalacji\n", + "* Maintainibility – łatwość utrzymania (pielęgnowalność)\n", + "* Documentation – dokumentacja\n", + "* Service – serwis\n", + "* Overall - ocena ogólna\n", + "\n", + "## 5.2. CUMPRIMDA\n", + "* Capability (odpowiednik przydatności funkcjonalnej)\n", + "* Usability (użyteczność)\n", + "* Performance – wydajność\n", + "* Reliability – niezawodność\n", + "* Installability – łatwość instalacji\n", + "* Maintainibility – łatwość utrzymania (pielęgnowalność)\n", + "* Documentation – dokumentacja\n", + "* Availibility - dostępność\n", + "\n", + "## 5.3. FURPS (schemat wprowadzony przez Hewlett-Packard)\n", + "* Functionality\n", + "* Usability\n", + "* Reliability\n", + "* Performance\n", + "* Supportability – łatwość wspierania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 6. Funkcja oceny jakości oprogramowania" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.1. Pojęcie korelacji\n", + "\n", + "**Korelacja** to miara zależności pomiędzy dwoma zmiennymi (cechami).\n", + "\n", + "Korelacja przyjmuje wartości z przedziału [-1, 1]. \n", + "* korealacja > 0 → korelacja dodatnia\n", + " * gdy wartości jednej cechy rosną, to drugiej również rosną.\n", + "* r < 0 → korelacja ujemna\n", + " * gdy wartości jednej cechy rosną, to drugiej maleją i odwrotnie\n", + "* r = 0 → korelacja zerowa\n", + " * brak związku między cechami.\n", + " \n", + "Przykłady korelacji: \n", + "\n", + "\"korelacja\n", + "źródło: https://cyrkiel.info/statystyka/korelacja-pearsona/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.2. Korelacja między właściwościami oprogramowania\n", + "Korelację między poszczególnymi właściwościami oprogramowania obrazuje tabela:\n", + "\n", + "\"Korelacja\n", + "źródło: opracowanie własne na podstawie: Stephen H. Kan \"Metryki i modele w inżynierii jakości oprogramowania\"\n", + "\n", + "Tabela wskazuje, że polepszenie jednej cechy oprogramowania (np. przydatności funkcjonalnej) może pogorszyć inną cechę (np. wydajność), bo cechy te są ujemnie skorelowane." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.3. Waga właściwości oprogramowania\n", + "Istotność poszczególnych właściwości oprogramowania zależy od typu programu.\n", + "\n", + "Stephen H. Kan (\"Metryki i modele w inżynierii jakości oprogramowania\") podaje, że dla metryki UPRIMDA najbardziej odpowiednie kolejności właściwości są następujące: \n", + "* RUIPMDA\n", + "* RUAIMPD" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.4. Wzór na ocenę jakości oprogramowania\n", + "\n", + "Procedura opracowania wzoru na ocenę jakości oprogramowania odpowiedniego dla danego typu programu:\n", + "\n", + "> 1. Wybierz schemat (np. FURPS) \n", + "> \n", + "> 2. Zdefiniuj typ funkcji (np. funkcja liniowa) \n", + "> **Quality = a + b*F + c*U +d*R + e*P + f*S** \n", + "> \n", + "> 3. Zdefiniuj współczynniki tak, by korelacja z oceną ludzką była jak najwyższa." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Przykładowy proces dostrajania współczynników jakości\n", + "\n", + "> 1. Zorganizuj grupę użytkowników (co najmniej 5 osób). \n", + "> 2. Zbierz od użytkowników oceny poszczególnych właściwości oprogramowania. \n", + "> 3. Zbierz od użytkowników oceny ogólne jakości. \n", + "> 4. Określ heurystycznie wartości współczynników we wzorze na ocenę ogolną. \n", + "> 5. Oblicz współczynnik korelacji między:\n", + "> * ocenami ogólnymi jakości podanymi przez użytkowników, \n", + "> * ocenami ogólnymi jakości wyznaczonymi przez wzór na oceną ogólną na podstawie ocen cząstkowych użytkownikow.\n", + "> 6. Jeśli korelacja jest niska, to powróć do punktu 4." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Podsumowanie\n", + " * Istnieje wiele definicji jakości programowania.\n", + " * Na wykładzie zdefiniowano jakość jako funkcję poszczególnych właściwości oprogramowania.\n", + "\n", + "* Istnieją metryki oceny **kodu źrodłowego**. \n", + " * Na ich podstawie można ocenić jakość kodu.\n", + " \n", + " * Jakość oprogramowania można oceniać również z punktu widzenia klienta. \n", + " * Stosowane są różne schematy oceny, które biorą pod uwagę różne właściwości oprogramowania.\n", + " \n", + " * Ocenę ogólną oprogramowania (z punktu widzenia klienta) można zdefiniować jako **funkcję liniową** ocen poszczególnych właściwości." ] } ], diff --git a/materiały na PPB (wykład)/obrazy/Halstead1.png b/materiały na PPB (wykład)/obrazy/Halstead1.png new file mode 100644 index 0000000000000000000000000000000000000000..d47c8de8c83f542bea8c435fff1e8d3d7c61a346 GIT binary patch literal 13873 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 bhA5Zgi9fz-lnuGf3rbpCL9ANDDDZy(v=Gm; literal 0 HcmV?d00001 diff --git a/materiały na PPB (wykład)/obrazy/Halstead2.png b/materiały na PPB (wykład)/obrazy/Halstead2.png new file mode 100644 index 0000000000000000000000000000000000000000..26b33e911a0961f1f563179ecf447effff386db9 GIT binary patch literal 10430 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 DtWKU9 literal 0 HcmV?d00001 diff --git a/materiały na PPB (wykład)/obrazy/Halstead3.png b/materiały na PPB (wykład)/obrazy/Halstead3.png new file mode 100644 index 0000000000000000000000000000000000000000..a283ed2f2f60b3ffe975c5405c17b75f04afe337 GIT binary patch literal 8305 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ℜ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
bSxjDLWdYBZk;$H#0; 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

qcR%VObp>gW!6O^9<^F0^T^)^F=lZHp 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 afBz44;=|iQev&r;0000 literal 0 HcmV?d00001 diff --git a/materiały na PPB (wykład)/obrazy/korelacja właściwości.png b/materiały na PPB (wykład)/obrazy/korelacja właściwości.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec8a5e4a18ae1816eba82e8bd8a8dc3759231d4 GIT binary patch literal 34483 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≫xVYVV|W?7?LLZ8?PwHr?+>W9-U*lo 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 OO-f8&v{KkG@P7e#`W0>f literal 0 HcmV?d00001 diff --git a/materiały na PPB (wykład)/obrazy/korelacja.png b/materiały na PPB (wykład)/obrazy/korelacja.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1fa0b7b77736995c128c7eceeee363aea89612 GIT binary patch literal 4117 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 Tvq;on00000NkvXXu0mjf^A-_& literal 0 HcmV?d00001 diff --git a/materiały na PPB (wykład)/obrazy/wypadkowa.png b/materiały na PPB (wykład)/obrazy/wypadkowa.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc3696823b266d03fdd259292f1f90929ce0644 GIT binary patch literal 3205 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