3 Kryteria jakosci oprogramowania

background image

Jakość oprogramowania

 Co to jest oprogramowanie?

 Specyfika produktu programowego

 Modele jakości oprogramowania

 Kryteria jakości oprogramowania

 Metryki jakości

background image

Co to jest oprogramowanie?

Oprogramowanie to efekt pracy ludzkiego umysłu,
obejmuj
ący programy, procedury, zasady i wszelkie
dokumenty zwi
ązane, dotyczące obsługiwania
systemu przetwarzania danych

ISO 2382-1:1984



Wyrób programowy to kompletny zestaw
programów komputerowych, procedur, danych i
dokumentów związanych, dostarczany
użytkownikowi.



Jednostka programowa to dowolna część wyrobu
programowego identyfikowalna podczas
konkretnego etapu opracowywania.

background image

Software vs. Hardware (1)

Oprogramowanie stanowi algorytmiczny zapis
zło
żonych procesów ekonomicznych, społecznych,
technologicznych, itp. (produkt niematerialny)

Zmiany w oprogramowaniu wydają się być łatwiejsze
(zmiana kodu jest łatwiejsza ni
ż naprawa sprzętu)

Wiele problemów sprzętowych rozwiązuje się przez
modyfikacje oprogramowania (np. poprzez
aktualizacj
ę sterowników urządzenia)

background image

Software - Hardware (2)

Oprogramowanie jest często elementem
integruj
ącym system lub wiele systemów, co
zwi
ększa jego złożoność

Oprogramowanie odpowiada najczęściej za te
elementy systemu, które kontaktuj
ą się
bezpo
średnio z użytkownikiem i przez to jest
nara
żone na zmiany wymagań i krytykę użytkownika

Wytwarzanie oprogramowania jest stosunkowo
młod
ą dyscypliną – stąd niewielu menedżerów
rozumie i docenia potrzeb
ę zapewnienia jakości
tworzonego oprogramowania

background image

Software - Hardware (3)

Dyscypliny związane z oprogramowaniem nie są
ugruntowane w naukach naturalnych - brak jest
technik testowania i projektowania (nie ma do tego
uniwersalnych instrukcji)

Oprogramowanie jest w całości wymyślane przez
ludzi, st
ąd jego jakość zależy w dużej mierze od
jako
ści „twórców”

Oprogramowanie nie ma postaci materialnej
dlatego charakteryzuje si
ę inną krzywą
niezawodno
ści:

background image

Niezawodność oprogramowania

Czas

Intensywność uszkodzeń

produkty materialne

oprogramowanie

Dojrzewanie

Stabilizacja

Zużycie

background image

Jakość oprogramowania

Jakość oprogramowania to ogół cech i właściwości
programu decyduj
ących o jego zdolności do
zaspokojenia stwierdzonych lub przewidywanych
potrzeb u
żytkownika

ISO 9000-3

Jakość oprogramowania to stopień w jakim
oprogramowanie posiada po
żądaną kombinację
cech

IEEE 610.12

background image

Jakość oprogramowania

Jakość oprogramowania to:

jakość wymagań +

jakość projektu +

jakość wykonania +

jakość użytkowania +

background image

Kryteria jakości oprogramowania

Jest wiele modeli jakości oprogramowania, np.



Model McCall’a (1977)



Model Boehm’a (1978)



Model FURPS



Model Dromey’a



Inne

Opisują one kryteria jakości jako postulowane cechy,
które powinno posiada
ć oprogramowanie wysokiej
jako
ści.

Modele te dotyczą głownie produktów końcowych -
programów.

background image

Pionierskie modele jakości oprogramowania

Do pionierskich modeli jakości oprogramowania, na
których bazuje wi
ększośćźniejszych modeli,
nale
żą modele McCall'a i Boehm'a.



Jako pierwsze nakierowały one uwagę na potrzebę
współpracy między użytkownikiem a developerem,
poprzez wskazanie konkretnych czynników jakości,
odzwierciedlających wspólne priorytety użytkowników
i developerów oprogramowania.



Model McCall'a wyróżnia 3 główne perspektywy
definiujące jakość produktu: możliwość wprowadzania
zmian, adaptacyjność w różnych środowiskach,
możliwe do wykonania operacje. Perspektywy te stały
się fundamentem dla wszystkich modeli jakości.

background image

Kryteria jakości oprogramowania

(charakterystyka jakości zewnętrznej i wewnętrznej)

Jakość oprogramowania można opisać od strony
cech wpływaj
ących na jego jakość „techniczną
(jako konkretnego produktu) a zarazem po
średnio
(„przy okazji”) wpływaj
ących na zadowolenie
u
żytkownika.



Funkcjonalność



Niezawodność



Użyteczność



Skuteczność



Pielęgnowalność (utrzymywalność)



Przenośność

background image

Funkcjonalność

Charakterystyki szczegółowe:



odpowiedniość



wpływa na odpowiedniość produktu dla danego zastosowania
i obecność w produkcie określonego zbioru funkcji



dokładność



wpływa na poprawność i zgodność rezultatów ze specyfikacją



Integralność (współdziałanie)



wpływa na zdolność do współpracy z systemem i innymi
programami



zgodność



wpływa na zgodność z przyjętymi normami, przepisami, itp.



bezpieczeństwo



wpływa na zdolność zabezpieczenia danych i programów
przed niepowołanym dostępem

background image

Niezawodność

Charakterystyki szczegółowe:



dojrzałość



wpływa na ilość pojawiających się błędów i defektów w
działaniu programu



odporność



wpływa na zdolność zachowania określonego poziomu
działania w sytuacji awaryjnej



Odtwarzalność (odzyskiwalność)



wpływa na zdolność do odtworzenia określonego poziomu
działania bezpośrednio po zajściu sytuacji awaryjnej

background image

Użyteczność

Charakterystyki szczegółowe:



zrozumiałość



wpływa na wysiłek niezbędny do poznania koncepcji i logiki
użytkowania programu

(np. kwestia jasnego wyjaśnienia użytkownikowi do czego
służą poszczególne elementy programu)



prostota



wpływa na wysiłek niezbędny do nauczenia się programu

(np. kwestia przejrzystego interfejsu)



operatywność



wpływa na wysiłek niezbędny do operowania i sterowania
programem

(np. kwestia uporządkowanego interfejsu)

background image

Skuteczność

Charakterystyki szczegółowe:



Przepustowość (czas reakcji)



wpływa na czasy odpowiedzi i przetwarzania podczas
wykonywania funkcji

(np. kwestia optymalności zastosowanych algorytmów)



zasobochłonność



wpływa na ilość i czas wykorzystania zasobów w trakcie
wykonywania funkcji

(np. kwestia czyszczenia niepotrzebnych danych
pomocniczych z pamięci)

background image

Pielęgnowalność

Charakterystyki szczegółowe:



analizowalność



wpływa na wysiłek potrzebny do dokonania analizy przyczyn błędów
lub identyfikacji komponentów do wymiany

(np. kwestia dokładnej obsługi wyjątków)



modyfikowalność



wpływa na wysiłek potrzebny do dokonania modyfikacji

(np. kwestia modułowości programu)



Stabilność



wpływa na poziom ryzyka związanego z efektami ubocznymi
modyfikacji

(np. czy naprawienie jednego błędu nie spowoduje innego)



testowalność



wpływa na wysiłek potrzebny do walidacji zmodyfikowanego
oprogramowania (jak bardzo skomplikowane jest sprawdzenie
poprawności działania całego programu)

background image

Przenośność

Charakterystyki szczegółowe:



adaptowalność



wpływa na zdolność adaptacji programu dla różnych środowisk bez
stosowania dodatkowych działań poza niezbędnymi (np. czy działanie
programu jest możliwe w różnych systemach operacyjnych)



instalowalność



wpływa na wysiłek potrzebny do zainstalowania oprogramowania w
określonym środowisku (np. czy klient będzie musiał sam dochodzić jak
zainstalować program)



koegzystencja



Wpływa na współistnienie jednego rodzaju oprogramowania z innym
oprogramowaniem w tym samym środowisku (np. czy działanie jednego
programu nie zaburzy działania innego)



zgodność



zgodność z przyjętymi standardami, normami, przepisami, itp. odnoszącymi
się do przenośności



zastępowalność



wpływa na zdolność i wysiłek niezbędny do zastosowania programu zamiast
określonego oprogramowania w danym środowisku (np. dany program może
być tańszym substytutem innego programu)

background image

Przykładowe zagadnienia dla charakterystyk jakości

zewnętrznej i wewnętrznej

Charakterystyka

Pytania

Funkcjonalność

1. Czy oprogramowanie realizuje zadania w odpowiedni sposób?
2. Czy uzyskane rezultaty są zgodne z oczekiwaniami?
3. Czy system współdziała z innymi systemami?
4. Czy oprogramowanie posiada skuteczne mechanizmy autoryzacji?

Niezawodność

1. Czy oprogramowanie potrafi odpowiednio zareagować na wystąpienie błędu?
2. Czy oprogramowanie kontynuuje pracę oraz daje możliwość odzyskania informacji po

wystąpieniu błędu?

3. Czy większość błędów została wykryta i usunięta podczas rozwoju oprogramowania?

Użyteczność

1. Czy użytkownik uważa oprogramowanie za łatwe w obsłudze?
2. Czy użytkownik szybko uczy się obsługi oprogramowania?
3. Czy obsługa systemu wymaga dużego wysiłku użytkownika?
4. Czy interfejs jest przyjazny użytkownikowi?

Skuteczność

1. Jak szybko oprogramowanie reaguje na polecenia użytkownika?
2. W jaki sposób oprogramowanie wykorzystuje zasoby?

Utrzymywalność

1. Czy łatwo jest zdiagnozować błędy?
2. Czy zmodyfikowanie oprogramowania sprawia trudności?
3. Czy wprowadzenie zmian wpływa na dotychczasową funkcjonalność?
4. Czy łatwo jest przetestować oprogramowanie?

Przenaszalność

1. Czy oprogramowanie może zostać przeniesione do innego środowiska?
2. Czy oprogramowanie jest zgodne ze standardami dotyczącymi przenaszalności?
3. Czy dane oprogramowanie może zastąpić inne?
4. Czy instalacja oprogramowania sprawia trudności?

background image

Kryteria jakości oprogramowania

(charakterystyka jakości użytkowej)

Jakość oprogramowania można również opisać patrząc tylko
oczami u
żytkownika, czyli od strony cech bezpośrednio
wpływaj
ących przede wszystkim na stosunek użytkownika do
programu.



Wydajność



Czy program umożliwia użytkownikowi realizację
zaplanowanych celów



Produktywność



Jak bardzo program zwiększa produktywność użytkownika



Bezpieczeństwo



Czy użytkownik czuje się bezpiecznie i komfortowo



Satysfakcja



Czy użytkownik jest zadowolony z korzystania z programu

background image

Kryteria jakości oprogramowania

(charakterystyka jakości użytkowej)

Charakterystyka

Pytanie

Wydajność

1. Ile z założonych celów jest osiągane?
2. Jaka jest częstotliwość pojawienia się błędu?
3. Jaki procent z całkowitej ilości rozpoczętych działań zostaje doprowadzony do końca?

Produktywność

1. Ile czasu zajmuje wykonanie określonej czynności, przetworzenie informacji
wejściowej przez oprogramowanie?
2. Jak produktywni są użytkownicy oprogramowania (liczba zadań ukończonych w danej
jednostce czasu)?
3. Jakie koszty generują użytkownicy wykorzystujący oprogramowanie?
4. Jaka jest wydajność użytkownika w porównaniu z wydajnością eksperta?

Bezpieczeństwo

1. Czy wykorzystanie danego oprogramowania ma wpływ na zdrowie i komfort pracy
użytkownika?
2. Jak często oprogramowanie powoduje straty finansowe?
3. Jaka jest częstotliwość awarii systemu?

Satysfakcja

1. W jakim stopniu użytkownik jest usatysfakcjonowany korzystaniem z
oprogramowania?
2. W jakim stopniu możliwości oprogramowania satysfakcjonują jego użytkownika?
3. Jaka liczba potencjalnych użytkowników zdecyduje się wykorzystać dane
oprogramowanie?


Wyszukiwarka

Podobne podstrony:
3 Kryteria jakosci oprogramowania
3 Kryteria jakosci oprogramowania
22(45) Zapewnienie jakości oprogramowaniaid 29565 ppt
Zarządzania jakością oprogramowania
OCENA JAKOŚCI OPROGRAMOWANIA INŻYNIERSKIEGO PRZEZ UŻYTKOWNIKÓW
@PSI W15a Jakość oprogramowania
523, Jakość Oprogramowania, Jakość Oprogramowania
Podstawu Automatyki wyk7(kryteria jakości)
OCENA JAKOŚCI OPROGRAMOWANIA INŻYNIERSKIEGO PRZEZ UŻYTKOWNIKÓW
NAJG6, KRYTERIA OCENY JAKOSCI EKSPERYMENTU
0 Kryteria oceny JAKOŚCI USŁUG
standardy oprogramowania, Zapewnienie jakości
jakość 1a rozdz, WAT, semestr IV, Inżynieria oprogramowania
informatyka inzynieria oprogramowania jak zapewnic jakosc tworzonym aplikacjom bogdan bereza jarocin

więcej podobnych podstron