02 JakoscWProcesieid 3637 ppt

background image

Jakość w procesie

Jakość w procesie

wytwarzania

wytwarzania

oprogramowania

oprogramowania

Jarosław Kuchta

Jarosław Kuchta

Dokumentacja i Jakość

Dokumentacja i Jakość

Oprogramowania

Oprogramowania

http://www.eti.pg.gda.pl/katedry/kask/pracownicy/Jaroslaw.Kuchta/DJO

J.Kuchta@eti.pg.gda.pl

background image

Dokumentacja i Jakość
Oprogramowania

2

Jakość w procesie wytwarzania op
rogramowania

Względny koszt wprowadzania

Względny koszt wprowadzania

zmian w zależności od fazy

zmian w zależności od fazy

realizacji projektu

realizacji projektu

background image

Dokumentacja i Jakość
Oprogramowania

3

Jakość w procesie wytwarzania op
rogramowania

Model wzmocnienia

Model wzmocnienia

błędów

błędów

Błędy

Błędy

nowowprowadzone

nowowprowadzone

Błędy

Błędy

wzmocnione 1:x

wzmocnione 1:x

Procent

Procent

wydajnoś

wydajnoś

ci

ci

detekcji

detekcji

błędów

błędów

Błędy

Błędy

przepuszczone

przepuszczone

Błędy

Detekcja

Błędy z poprzedniego etapu

Błędy do następnego etapu

Źródło: Pressman

background image

Dokumentacja i Jakość
Oprogramowania

4

Jakość w procesie wytwarzania op
rogramowania

Efekt wzmocnienia błędów

Efekt wzmocnienia błędów

kontrola jakości przy testowaniu

kontrola jakości przy testowaniu

0

0

0%

0%

0

0

10

10

6

6

0%

0%

4

4

1,5

1,5

25

25

10

10

20

20

%

%

27

27

3

3

25

25

50

50

%

%

0

0

0

0

50

50

%

%

0

0

0

0

50

50

%

%

0

0

0

0

Analiza wymagań

Projektowanie

Implementacja

Testy integracyjne

Testy akceptacyjne

Testy systemowe

1
0

6
4

3
7

1
0

2
7

9
4

4
7

9
4

2
4

1
2

Źródło: Pressman

background image

Dokumentacja i Jakość
Oprogramowania

5

Jakość w procesie wytwarzania op
rogramowania

Efekt wzmocnienia błędów

Efekt wzmocnienia błędów

kontrola jakości w całym procesie

kontrola jakości w całym procesie

0

0

70

70

%

%

0

0

10

10

2

2

50

50

%

%

1

1

1,5

1,5

25

25

5

5

60

60

%

%

10

10

3

3

25

25

50

50

%

%

0

0

0

0

50

50

%

%

0

0

0

0

50

50

%

%

0

0

0

0

Analiza wymagań

Projektowanie

Implementacja

Testy integracyjne

Testy akceptacyjne

Testy systemowe

3

2
1

1
5

5
1
0

2
4

1
2

2
4

6

3

Źródło: Pressman

background image

Dokumentacja i Jakość
Oprogramowania

6

Jakość w procesie wytwarzania op
rogramowania

Porównanie kosztów

Porównanie kosztów

wytwarzania

wytwarzania

Błędy wykryte

Błędy wykryte

Liczba błędów

Liczba błędów

Koszt jednostkowy

Koszt jednostkowy

Koszt sumaryczny

Koszt sumaryczny

Kontrola jakości przy testowaniu

Kontrola jakości przy testowaniu

Przed testowaniem

Przed testowaniem

22

22

6,5

6,5

143

143

Podczas testowania

Podczas testowania

82

82

15

15

1230

1230

Po wydaniu

Po wydaniu

12

12

67

67

804

804

Razem

Razem

2177

2177

Kontrola jakości w całym procesie

Kontrola jakości w całym procesie

Podczas wytwarzania

Podczas wytwarzania

22

22

1,5

1,5

33

33

Przed testowaniem

Przed testowaniem

36

36

6,5

6,5

234

234

Podczas testowania

Podczas testowania

15

15

15

15

225

225

Po wydaniu

Po wydaniu

3

3

67

67

202

202

Razem

Razem

693

693

Źródło: Pressman

background image

Dokumentacja i Jakość
Oprogramowania

7

Jakość w procesie wytwarzania op
rogramowania

Ewolucja polityki

Ewolucja polityki

jakościowej

jakościowej

Kontrola jakości (QC –

Kontrola jakości (QC –

Quality Control

Quality Control

)

)

– lata 1970-te – kontrolowanie jedynie jakości produktu

– lata 1970-te – kontrolowanie jedynie jakości produktu

końcowego

końcowego

Sterowanie jakością (QC –

Sterowanie jakością (QC –

Quality Control

Quality Control

)

)

– lata 1980-te – kontrolowanie jakości produktów

– lata 1980-te – kontrolowanie jakości produktów

pośrednich

pośrednich

Zapewnienie jakości (SQA –

Zapewnienie jakości (SQA –

Software Quality

Software Quality

Assurance

Assurance

)

)

– lata 1990-te – opracowanie procedur zapewniających

– lata 1990-te – opracowanie procedur zapewniających

jakość na każdym etapie

jakość na każdym etapie

Zarządzanie jakością (TQM –

Zarządzanie jakością (TQM –

Total Quality

Total Quality

Management

Management

)

)

– lata 2000 – przeniesienie ciężaru

– lata 2000 – przeniesienie ciężaru

zapewnienia jakości z inżynierów na całą organizację

zapewnienia jakości z inżynierów na całą organizację

(zarządzanie)

(zarządzanie)

background image

Dokumentacja i Jakość
Oprogramowania

8

Jakość w procesie wytwarzania op
rogramowania

Proces dla Quality

Proces dla Quality

Control

Control

Specyfikacja

wymagań

Analiza

Projektowanie

Implementacja

Testowanie

QC

QC

QC

QC

Kontrola jakości produktów
pośrednich jest nieefektywna!

Kontroluje się jakość produktu

po każdym etapie prac

background image

Dokumentacja i Jakość
Oprogramowania

9

Jakość w procesie wytwarzania op
rogramowania

Software Quality

Software Quality

Assurance

Assurance

jest to planowy i usystematyzowany zbiór akcji

jest to planowy i usystematyzowany zbiór akcji

wymaganych dla zapewnienia jakości w

wymaganych dla zapewnienia jakości w

oprogramowaniu

oprogramowaniu

powołuje się

powołuje się

grupę SQA

grupę SQA

(inżynierowie,

(inżynierowie,

kierownicy, klienci, sprzedawcy i inni), która

kierownicy, klienci, sprzedawcy i inni), która

przygląda się powstającemu oprogramowaniu z

przygląda się powstającemu oprogramowaniu z

punktu widzenia klienta:

punktu widzenia klienta:

Czy oprogramowanie odpowiada czynnikom jakości?

Czy oprogramowanie odpowiada czynnikom jakości?

Czy oprogramowanie powstaje zgodnie z wcześniej

Czy oprogramowanie powstaje zgodnie z wcześniej

ustanowionymi standardami?

ustanowionymi standardami?

Czy techniczne dyscypliny odpowiednio wypełniają

Czy techniczne dyscypliny odpowiednio wypełniają

swoje role w aspekcie aktywności SQA?

swoje role w aspekcie aktywności SQA?

background image

Dokumentacja i Jakość
Oprogramowania

10

Jakość w procesie wytwarzania op
rogramowania

Aktywności SQA

Aktywności SQA

Stosowanie metod technicznych

Stosowanie metod technicznych

Przeprowadzanie formalnych przeglądów

Przeprowadzanie formalnych przeglądów

technicznych (

technicznych (

FTR – Formal Technical

FTR – Formal Technical

Review

Review

)

)

Testowanie oprogramowania

Testowanie oprogramowania

Wymuszenie standardów

Wymuszenie standardów

Kontrolowanie zmian

Kontrolowanie zmian

Wykonywanie pomiarów

Wykonywanie pomiarów

Zapisywanie i raportowanie

Zapisywanie i raportowanie

background image

Dokumentacja i Jakość
Oprogramowania

11

Jakość w procesie wytwarzania op
rogramowania

Cele FTR

Cele FTR

wykrycie błędów w funkcjach, logice lub

wykrycie błędów w funkcjach, logice lub

implementacji oprogramowania w dowolnej jego

implementacji oprogramowania w dowolnej jego

reprezentacji,

reprezentacji,

sprawdzenie, czy przeglądane oprogramowanie jest

sprawdzenie, czy przeglądane oprogramowanie jest

zgodne z wymaganiami,

zgodne z wymaganiami,

upewnienie się, że reprezentacja oprogramowania

upewnienie się, że reprezentacja oprogramowania

jest zgodna z wcześniej zdefiniowanymi

jest zgodna z wcześniej zdefiniowanymi

standardami,

standardami,

uzyskanie oprogramowania opracowanego w

uzyskanie oprogramowania opracowanego w

jednolity sposób,

jednolity sposób,

sprawienie, by projekty były łatwiejsze w

sprawienie, by projekty były łatwiejsze w

utrzymaniu.

utrzymaniu.

background image

Dokumentacja i Jakość
Oprogramowania

12

Jakość w procesie wytwarzania op
rogramowania

Rodzaje FTR

Rodzaje FTR

przegląd (

przegląd (

walkthrough

walkthrough

)

)

przejrzenie treści dokumentu zgodnie z jego

przejrzenie treści dokumentu zgodnie z jego

logicznym uporządkowaniem (np. odczytanie

logicznym uporządkowaniem (np. odczytanie

dokumentu)

dokumentu)

inspekcje

inspekcje

przejrzenie dokumentu zgodnie z listą

przejrzenie dokumentu zgodnie z listą

kontrolną

kontrolną

background image

Dokumentacja i Jakość
Oprogramowania

13

Jakość w procesie wytwarzania op
rogramowania

Lista kontrolna

Lista kontrolna

dla specyfikacji

dla specyfikacji

wymagań

wymagań

Czy główne funkcje są zdefiniowane w sposób powiązany i

Czy główne funkcje są zdefiniowane w sposób powiązany i

jednoznaczny?

jednoznaczny?

Czy interfejsy między elementami systemowymi są

Czy interfejsy między elementami systemowymi są

zdefiniowane?

zdefiniowane?

Czy ustalono granice wydajności dla całego systemu oraz

Czy ustalono granice wydajności dla całego systemu oraz

dla każdego jego elementu?

dla każdego jego elementu?

Czy ustalono ograniczenia projektowe dla każdego

Czy ustalono ograniczenia projektowe dla każdego

elementu?

elementu?

Czy wybrane zostało najlepsze rozwiązanie?

Czy wybrane zostało najlepsze rozwiązanie?

Czy rozwiązanie jest technologicznie możliwe?

Czy rozwiązanie jest technologicznie możliwe?

Czy opracowano mechanizm walidacji i weryfikacji

Czy opracowano mechanizm walidacji i weryfikacji

systemu?

systemu?

Czy zachowano spójność pomiędzy wszystkimi elementami

Czy zachowano spójność pomiędzy wszystkimi elementami

systemu?

systemu?

background image

Dokumentacja i Jakość
Oprogramowania

14

Jakość w procesie wytwarzania op
rogramowania

Lista kontrolna dla

Lista kontrolna dla

analizy

analizy

Czy analiza dziedziny problemu jest kompletna,

Czy analiza dziedziny problemu jest kompletna,

zwarta i dokładna?

zwarta i dokładna?

Czy zakończono partycjonowanie problemu?

Czy zakończono partycjonowanie problemu?

Czy model danych odpowiada obiektom danych,

Czy model danych odpowiada obiektom danych,

ich atrybutom i relacjom?

ich atrybutom i relacjom?

Czy wszystkie wymagania znalazły odwzorowanie

Czy wszystkie wymagania znalazły odwzorowanie

w modelu?

w modelu?

Czy wykonano prototyp dla użytkownika?

Czy wykonano prototyp dla użytkownika?

Czy wydajność jest osiągalna w aspekcie

Czy wydajność jest osiągalna w aspekcie

ograniczeń wprowadzanych przez inne elementy

ograniczeń wprowadzanych przez inne elementy

systemu?

systemu?

Czy kryteria walidacyjne są kompletne?

Czy kryteria walidacyjne są kompletne?

background image

Dokumentacja i Jakość
Oprogramowania

15

Jakość w procesie wytwarzania op
rogramowania

Lista kontrolna dla

Lista kontrolna dla

projektowania (1)

projektowania (1)

Czy wymagania softwerowe znalazły odwzorowanie w

Czy wymagania softwerowe znalazły odwzorowanie w

architekturze oprogramowania?

architekturze oprogramowania?

Czy zastosowano odpowiednią modularyzację? Czy moduły

Czy zastosowano odpowiednią modularyzację? Czy moduły

są funkcjonalnie niezależne?

są funkcjonalnie niezależne?

Czy zdefiniowano interfejsy dla modułów i elementów

Czy zdefiniowano interfejsy dla modułów i elementów

systemów zewnętrznych?

systemów zewnętrznych?

Czy struktura danych jest spójna z dziedziną informacji?

Czy struktura danych jest spójna z dziedziną informacji?

Czy struktura danych jest spójna ze specyfikacją

Czy struktura danych jest spójna ze specyfikacją

wymagań?

wymagań?

Czy uwzględniono łatwość pielęgnacji?

Czy uwzględniono łatwość pielęgnacji?

Czy jawnie uwzględniono czynniki jakości?

Czy jawnie uwzględniono czynniki jakości?

background image

Dokumentacja i Jakość
Oprogramowania

16

Jakość w procesie wytwarzania op
rogramowania

Lista kontrolna dla

Lista kontrolna dla

projektowania (2)

projektowania (2)

Czy algorytmy odpowiadają wymaganym funkcjom?

Czy algorytmy odpowiadają wymaganym funkcjom?

Czy algorytmy są logicznie poprawne?

Czy algorytmy są logicznie poprawne?

Czy interfejs jest spójny z projektem architektury?

Czy interfejs jest spójny z projektem architektury?

Czy logiczna złożoność jest rozsądna?

Czy logiczna złożoność jest rozsądna?

Czy określono obsługę błędów i ochronę przed błędami?

Czy określono obsługę błędów i ochronę przed błędami?

Czy lokalne struktury danych są poprawnie zdefiniowane?

Czy lokalne struktury danych są poprawnie zdefiniowane?

Czy zachowano konstrukcje programowania

Czy zachowano konstrukcje programowania

strukturalnego?

strukturalnego?

Czy szczegółowość projektowania jest odpowiednia dla

Czy szczegółowość projektowania jest odpowiednia dla

języka implementacji?

języka implementacji?

Czy uwzględniono łatwość pielęgnacji?

Czy uwzględniono łatwość pielęgnacji?

background image

Dokumentacja i Jakość
Oprogramowania

17

Jakość w procesie wytwarzania op
rogramowania

Lista kontrolna

Lista kontrolna

dla implementacji

dla implementacji

Czy projekt został odpowiednio przetłumaczony

Czy projekt został odpowiednio przetłumaczony

na kod?

na kod?

Czy zachowano zgodność ze standardami

Czy zachowano zgodność ze standardami

kodowania w zakresie stylu języka, komentarzy,

kodowania w zakresie stylu języka, komentarzy,

prologów modułów?

prologów modułów?

Czy nie ma niepoprawnych lub

Czy nie ma niepoprawnych lub

niejednoznacznych komentarzy?

niejednoznacznych komentarzy?

Czy typy danych zostały odpowiednio dobrane?

Czy typy danych zostały odpowiednio dobrane?

Czy stałe fizyczne zostały poprawnie

Czy stałe fizyczne zostały poprawnie

zdefiniowane?

zdefiniowane?

background image

Dokumentacja i Jakość
Oprogramowania

18

Jakość w procesie wytwarzania op
rogramowania

Lista kontrolna

Lista kontrolna

dla testowania (1)

dla testowania (1)

Czy główne fazy testowania zostały poprawnie

Czy główne fazy testowania zostały poprawnie

zidentyfikowane i przeprowadzone?

zidentyfikowane i przeprowadzone?

Czy zachowano zgodność kryteriów walidacji ze

Czy zachowano zgodność kryteriów walidacji ze

specyfikacją wymagań?

specyfikacją wymagań?

Czy główne funkcje zademonstrowano wcześnie?

Czy główne funkcje zademonstrowano wcześnie?

Czy zasoby testów zostały zidentyfikowane i są

Czy zasoby testów zostały zidentyfikowane i są

dostępne?

dostępne?

Czy ustalono sposób zapisywania wyników

Czy ustalono sposób zapisywania wyników

testów?

testów?

Czy moduły sterujące testami i moduły zastępcze

Czy moduły sterujące testami i moduły zastępcze

testów zostały zidentyfikowane?

testów zostały zidentyfikowane?

Czy określono testy obciążeniowe

Czy określono testy obciążeniowe

oprogramowania?

oprogramowania?

background image

Dokumentacja i Jakość
Oprogramowania

19

Jakość w procesie wytwarzania op
rogramowania

Lista kontrolna

Lista kontrolna

dla testowania (2)

dla testowania (2)

Czy przeprowadzono testowanie metodą białej i

Czy przeprowadzono testowanie metodą białej i

czarnej skrzynki?

czarnej skrzynki?

Czy wszystkie niezależne ścieżki logiczne zostały

Czy wszystkie niezależne ścieżki logiczne zostały

przetestowane?

przetestowane?

Czy przypadki testowe zostały zidentyfikowane i

Czy przypadki testowe zostały zidentyfikowane i

wylistowane z oczekiwanymi rezultatami?

wylistowane z oczekiwanymi rezultatami?

Czy obsługa błędów została przetestowana?

Czy obsługa błędów została przetestowana?

Czy wartości graniczne zostały przetestowane?

Czy wartości graniczne zostały przetestowane?

Czy przetestowano timing i wydajność?

Czy przetestowano timing i wydajność?

Czy określono dopuszczalne odchylenia od

Czy określono dopuszczalne odchylenia od

oczekiwanych rezultatów?

oczekiwanych rezultatów?

background image

Dokumentacja i Jakość
Oprogramowania

20

Jakość w procesie wytwarzania op
rogramowania

Proces dla SQA

Proces dla SQA

Specyfikacja

wymagań

Analiza

Projektowanie

Implementacja

Testowanie

FTR

Jakość produktu kontroluje się wielokrotnie

na każdym etapie prac

FTR

FTR

FTR

FTR

Jak dowiodła praktyka SQA

wcale nie zapewnia wysokiej jakości!

background image

Dokumentacja i Jakość
Oprogramowania

21

Jakość w procesie wytwarzania op
rogramowania

Co to jest TQM?

Co to jest TQM?

Total Quality Management

Total Quality Management

– jest to zbiór

– jest to zbiór

działań sprawiających, że każdy członek

działań sprawiających, że każdy członek

organizacji (od dyrektora do sprzątaczki)

organizacji (od dyrektora do sprzątaczki)

rozumie, jakie są oczekiwania klientów tej

rozumie, jakie są oczekiwania klientów tej

organizacji i dąży do spełnienia tych

organizacji i dąży do spełnienia tych

oczekiwań

oczekiwań

Rozumienie i spełnianie oczekiwań

Rozumienie i spełnianie oczekiwań

klientów jest wyzwaniem dla organizacji i

klientów jest wyzwaniem dla organizacji i

wymaga odpowiednich procesów.

wymaga odpowiednich procesów.

background image

Dokumentacja i Jakość
Oprogramowania

22

Jakość w procesie wytwarzania op
rogramowania

Naczelne zasady TQM

Naczelne zasady TQM

Jakość może i musi być zarządzana.

Jakość może i musi być zarządzana.

Każdy ma swojego klienta i swojego dostawcę.

Każdy ma swojego klienta i swojego dostawcę.

Procesy, a nie ludzie stanowią problem.

Procesy, a nie ludzie stanowią problem.

Każdy pracownik jest odpowiedzialny za jakość.

Każdy pracownik jest odpowiedzialny za jakość.

Problemom trzeba zapobiegać, a nie tylko rozwiązywać

Problemom trzeba zapobiegać, a nie tylko rozwiązywać

Jakość musi być mierzona.

Jakość musi być mierzona.

Poprawa jakości musi być stała

Poprawa jakości musi być stała

Standard jakości jest wolny od defektów.

Standard jakości jest wolny od defektów.

Cele są oparte o wymagania, a nie negocjowane.

Cele są oparte o wymagania, a nie negocjowane.

Koszty są w ukryte w całym cyklu życia, a nie tylko w

Koszty są w ukryte w całym cyklu życia, a nie tylko w

wytwarzaniu.

wytwarzaniu.

Kierownictwo musi być zaangażowane i musi przewodzić.

Kierownictwo musi być zaangażowane i musi przewodzić.

Działania na rzecz poprawy jakości muszą być planowane i

Działania na rzecz poprawy jakości muszą być planowane i

organizowane.

organizowane.

background image

Dokumentacja i Jakość
Oprogramowania

23

Jakość w procesie wytwarzania op
rogramowania

Podejście procesowe

Podejście procesowe

TQM

TQM

Specyfikacja

wymagań

Analiza

Projektowanie

Implementacja

Testowanie

QM

QM

QM

QM

QM

TQ

M

Utrzymanie

QM

Zapewnia się jakość procesów

w każdej fazie cyklu życia

background image

Dokumentacja i Jakość
Oprogramowania

24

Jakość w procesie wytwarzania op
rogramowania

TQM w inżynierii

TQM w inżynierii

oprogramowania

oprogramowania

W fazie specyfikacji wymagań konieczne jest określenie

W fazie specyfikacji wymagań konieczne jest określenie

potrzeb wszystkich użytkowników, w tym użytkowników

potrzeb wszystkich użytkowników, w tym użytkowników

informacji generowanej przez oprogramowanie,

informacji generowanej przez oprogramowanie,

użytkowników wprowadzających dane i dostawców

użytkowników wprowadzających dane i dostawców

wewnętrznych.

wewnętrznych.

W fazie analizy i projektowania konieczne jest

W fazie analizy i projektowania konieczne jest

przeglądanie projektów przez użytkowników.

przeglądanie projektów przez użytkowników.

W fazie implementacji konieczne jest przeprowadzanie

W fazie implementacji konieczne jest przeprowadzanie

przeglądów wzajemnych (

przeglądów wzajemnych (

peer review

peer review

).

).

W fazie testowania konieczne jest przeprowadzenie

W fazie testowania konieczne jest przeprowadzenie

testowania przez klientów i ocena dokumentacji.

testowania przez klientów i ocena dokumentacji.

W fazie utrzymania przeprowadza się szkolenia i stale

W fazie utrzymania przeprowadza się szkolenia i stale

doskonali procesy projektowe i relacje z klientami.

doskonali procesy projektowe i relacje z klientami.

background image

Dokumentacja i Jakość
Oprogramowania

25

Jakość w procesie wytwarzania op
rogramowania

Literatura

Literatura

Pressman R.S.,

Pressman R.S.,

Software engineering. A

Software engineering. A

practitioner’s approach

practitioner’s approach

, McGraw-Hill,

, McGraw-Hill,

International Edition, 1992

International Edition, 1992

Górski J. et al.,

Górski J. et al.,

Inżynieria oprogramowania w

Inżynieria oprogramowania w

projekcie informatycznym

projekcie informatycznym

, wyd. Mikom,

, wyd. Mikom,

Warszawa, 2000

Warszawa, 2000

Dahlgaard J. J., Kristensen K., Kanji G. K. -

Dahlgaard J. J., Kristensen K., Kanji G. K. -

Fundamentals of Total Quality Management

Fundamentals of Total Quality Management

,

,

Polish edition by PWN, 2000.

Polish edition by PWN, 2000.

Grudowski P., Kolman R., Meller A., Preihs J. -

Grudowski P., Kolman R., Meller A., Preihs J. -

Zarządzanie jakością (Quality Management)

Zarządzanie jakością (Quality Management)

,

,

Wydawnictwo Politechniki Gdanskiej, 1996.

Wydawnictwo Politechniki Gdanskiej, 1996.


Document Outline


Wyszukiwarka

Podobne podstrony:
02 OperowanieDanymiid 3913 ppt
02 3id 3357 ppt
02 6id 3367 ppt
02 wyklad3id 3850 ppt
02 2id 3352 ppt
11W sObligacje skarbowe 01 02 2008id 13126 ppt
02 MAKROEKONOMIAid 3667 ppt
01 Inwestycje Biz portferowe kryzysy 17 02 081id 2825 ppt
02 Urządzenia sterowe ppt
02 4id 3361 ppt
02 xmlid 3920 ppt
02 3696id 3556 ppt
02 Grawimetriaid 3907 ppt
02 Nerkiid 3685 ppt
02 wyklad1id 3845 ppt
02 ceramikaid 3590 ppt

więcej podobnych podstron