Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do jakości Oprogramowania

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do jakości Oprogramowania"— Zapis prezentacji:

1 Wprowadzenie do jakości Oprogramowania
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości Oprogramowania

2 Znaczenie jakości systemów informatycznych
Systemy bankowe Systemy medyczne Systemy projektowe Sterowanie ruchem (lotniczy, kolejowy, drogowy) Systemy energetyczne Samochody (zapłon, hamulce, sterowanie) Telefony Sprzęt AGD ... Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

3 Wprowadzenie do jakości oprogramowania
Statystyka projektów Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

4 Wprowadzenie do jakości oprogramowania
Skala problemu średni roczny koszt błędów (USA) ok. 60 mld USD 0,6% PKB 50% użytkownicy, 50% dostawcy oprogramowania 1/3 błędów można by uniknąć złożoność oprogramowania – 106 linii kodu 80% kosztów opracowania – na wykrywanie i usuwanie błędów Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

5 Przykłady skutków błędów
1962 – zboczenie z kursu rakiety nośnej sondy kosmicznej Mariner I 1982 – eksplozja gazociągu transsyberyjskiego – przedawkowania przy terapii radiologicznej aparatem THERAC-25 – USA, Kanada 1988 – pierwsze zarażenie komputerów w Berkeley przez robaka internetowego – brak bezpieczeństwa w systemie Kerberos 1990 – łańcuchowe załamanie komunikacji sieciowej AT&T 1993 – błąd dzielenia Intel Pentium 1995/96 – błąd w komunikacie „ping” 1996 – katastrofa rakiety Ariane 5 1998 – awaria nowojorskiej giełdy towarowej (NYMEX) 1999 – katastrofa sondy marsjańskiej Mars Orbiter 2000 – przedawkowania w National Cancer Institute, Panama City 2000 – problem roku 2000 Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

6 Wprowadzenie do jakości oprogramowania
Co to jest jakość? Stopień w jakim system, komponent lub proces /obiekt spełnia wyspecyfikowane wymagania  Stopień w jakim system, komponent lub proces /obiekt spełnia oczekiwania klienta lub użytkownika  IEEE Std Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

7 Wprowadzenie do jakości oprogramowania
Wymagania systemowe Wymagania systemowe funkcjonalne niezawodnościowe funkcje zasoby dostępność gotowość obsługi interfejsy platformy ochrona przed intruzami czasowe czas reakcji czas oczekiwania porządek zdarzeń H.Krawczyk Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

8 Wprowadzenie do jakości oprogramowania
Wymagania a atrybuty Wymagania Atrybuty jakości funkcjonalne funkcjonalność czasowe wydajność niezawodnościowe wiarygodność ograniczenia elastyczność Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

9 Wprowadzenie do jakości oprogramowania
„Drzewo” jakości Jakość Funkcjonalność Wydajność Wiarygodność Satysfakcja Elastyczność Kompletność funkcjonalna Efektywność wykonania Niezawodność Łatwość użycia Przenośność Odporność na błędy Modyfikowalność Zrozumiałość Złożoność Wydajność interakcji Bezpieczeństwo Łatwość nauki Konfigurowalność Adekwatność Stabilność Łatwość testowania Ochrona Spójność Skalowalność Produktywność Łatwość testowania Łatwość śledzenia Akceptowalność Łatwość testowania Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

10 Wprowadzenie do jakości oprogramowania
Funkcjonalność Funkcjonalność (Functionality) – dopasowanie systemu do potrzeb funkcjonalnych Kompletność funkcjonalna (Functional completness) – stopień pokrycia wymaganych funkcji Złożoność (Complexity) – stopień skomplikowania systemu i jego elementów Adekwatność (Adequacy) – stopień dopasowania wykonywanych funkcji do ich specyfikacji Spójność (Integrity) – stopień dopasowania poszczególnych elementów systemu do siebie Łatwość śledzenia (Traceability) – łatwość orientowania się w sposobie działania systemu Łatwość testowania (Testability) – łatwość sprawdzenia poprawności działania systemu Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

11 Wprowadzenie do jakości oprogramowania
Wydajność Wydajność (Performance) – zbiór cech związanych z osiągami systemu Efektywność wykonania (Execution efficiency) – szybkość działania systemu Wydajność interakcji (Interaction performance) – szybkość komunikacji z użytkownikiem Stabilność (Stability) – odporność systemu na zmiany środowiska (platformy programistycznej, systemu operacyjnego, zmiennych środowiskowych) Skalowalność (Scalability) – podatność systemu na zmianę (zwiększenie) wymagań ilościowych Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

12 Wprowadzenie do jakości oprogramowania
Wiarygodność Wiarygodność (Dependability) - stopień zaufania do systemu Niezawodność (Reliability) - określa, czy system nie upadnie i można korzystać z jego usług Odporność na błędy (Error-tolerance) - stopień tolerancji błędów; Bezpieczeństwo (Safety) - stopień zapobiegania szkodom, jakie system może wyrządzić w otoczeniu Ochrona (Security) - stopień kontroli dostępu do systemu Łatwość testowania (Testability) - zdolność do wykrywania i identyfikacji błędów w systemie Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

13 Wprowadzenie do jakości oprogramowania
Satysfakcja Satysfakcja (Satisfaction) – zespół cech określających stopień zadowolenia użytkownika Łatwość użycia (Ease of use) – łatwość obsługi produktu Zrozumiałość (Understandability) – łatwość zrozumienia produktu wynikająca z zastosowanych konwencji jego opisu Łatwość nauki (Learnability) – nakład pracy wymagany do zdobycia umiejętności posługiwania się produktem Produktywność (Productivity) – stopień wspomagania zadań użytkownika przez system Akceptowalność (Acceptance) – stopień akceptacji przez użytkownika Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

14 Wprowadzenie do jakości oprogramowania
Elastyczność Elastyczność (Flexibility) – umiejętność dopasowania się systemu do zachodzących zmian Przenośność (Portability) – łatwość przystosowania systemu do nowego środowiska lub rozszerzenia środowiska Modyfikowalność (Modifiability) – łatwość wprowadzania zmian w funkcjach systemu Konfigurowalność (Configurability) – łatwość dostosowania systemu do potrzeb użytkownika bez konieczności zmian jego funkcji Łatwość testowania (Ease of testing) – łatwość projektowania i wykonywania testów Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

15 Wagi atrybutów w różnych klasach aplikacji (1)
Klasy aplikacji Specjalistyczne Internetowe Czasu rzeczywistego Wiarygodność 0,3 0,5 1 Bezpieczeństwo Niezawodność Ochrona Odporność na błędy 0,6 Łatwość testowana 0,9 Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

16 Wagi atrybutów w różnych klasach aplikacji (2)
Klasy aplikacji Specjalistyczne Internetowe Czasu rzeczywistego Satysfakcja 0,3 0,9 0,6 Łatwość użycia 0,7 1 0,8 Zrozumiałość 0,2 Łatwość nauki Produktywność Akceptowalność 0,5 Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

17 Wagi atrybutów w różnych klasach aplikacji (3)
Klasy aplikacji Specjalistyczne Internetowe Czasu rzeczywistego Funkcjonalność 0,8 0,9 Kompletność funkcjonalna 1 0,6 Złożoność 0,5 Adekwatność Spćjność 0,7 Łatwość śledzenia 0,4 Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

18 Wagi atrybutów w różnych klasach aplikacji (4)
Klasy aplikacji Specjalistyczne Internetowe Czasu rzeczywistego Elastyczność 0,3 1 Przenośność 0,1 0,2 Modyfikowalność Konfigurowalność 0,7 0,9 Łatwość testowania Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

19 Wagi atrybutów w różnych klasach aplikacji (5)
Klasy aplikacji Specjalistyczne Internetowe Czasu rzeczywistego Wydajność 0,2 0,8 0,4 Skalowalność 0,1 1 Stabilność Wydajność interakcji 0,5 Efektywność wykonania Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

20 Wprowadzenie do jakości oprogramowania
Atrybuty a metryki Jakość Funkcjonalność Wydajność Wiarygodność Satysfakcja Elastyczność Kompletność funkcjonalna Atrybuty – cechy jakościowe produktu, świadczą o jego wartości dla użytkownika Złożoność Metryki – cechy ilościowe, określają sposób oceny poszczególnych atrybutów Adekwatność Spójność Łatwość śledzenia Łatwość testowania Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

21 Wyznaczenie atrybutów
Jakość Funkcjonalność Wydajność Wiarygodność Satysfakcja Elastyczność Kompletność funkcjonalna å × = j i w M A Mj – metryka [0 – 1] Złożoność Adekwatność wj – waga metryki ? Spójność Ai – atrybut [0 – 1] Łatwość śledzenia Łatwość testowania Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

22 Wprowadzenie do jakości oprogramowania
Metryki a miary Liczba zrealizowanych funkcji Kompletność funkcjonalna = Liczba wymaganych funkcji Metryka – to co się mierzy Miara – jak się mierzy [%] [MFLOPS] [KLOC] [0 – 1] ? Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

23 Wprowadzenie do jakości oprogramowania
Miary a pomiary 0,95 ekspert1 0,94 ekspert2 0,96 AVG Miara 0,99 ekspert3 ? 0,92 ekspert4 1 ekspert5 Czy 0,96 to dużo, czy mało? Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

24 Podsumowanie problemów z oceną jakości
Jakość jest pojęciem złożonym Pomiar jest często subiektywny Często brak punktu odniesienia Problem z normalizacją wyniku pomiaru Wagi mogą być arbitralnie ustalone Problem z oceną wyniku Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania

25 Wprowadzenie do jakości oprogramowania
Literatura (2002) Norton Fenton: Software Metrics, Chapman Hall, 1998. John L. Hennesy & David Patterson: Computer Architecture a quantitative approach. Morgan Kaufmann Publishers, Inc, 1996 Pressman R.S., Software engineering. A practitioner’s approach, McGraw-Hill, International Edition, 1992 Górski J. et al., Inżynieria oprogramowania w projekcie informatycznym, wyd. Mikom, Warszawa, 2000 Dokumentacja i Jakość Oprogramowania Wprowadzenie do jakości oprogramowania


Pobierz ppt "Wprowadzenie do jakości Oprogramowania"

Podobne prezentacje


Reklamy Google