Wprowadzenie do jakości systemów informatycznych

Podobne dokumenty
Model jakości McCalla

Jakość w procesie wytwarzania oprogramowania

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Goal Question Metrics. Jarosław Kuchta Jakość Systemów Informatycznych

Inżynieria wymagań. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Maciej Oleksy Zenon Matuszyk

Testowanie oprogramowania. Piotr Ciskowski

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Systemy bezpieczne i FTC. dr inż. Krzysztof Berezowski 220/C3 tel

Modelowanie i analiza systemów informatycznych

Zasady organizacji projektów informatycznych

Przypadki użycia. Czyli jak opisywać funkcjonalność. Jerzy Nawrocki Mirosław Ochodek

Testowanie oprogramowania. Wykład 1 dlaczego testowanie jest niezbędne czym jest testowanie ogólne zasady testowania

Etapy życia oprogramowania

Inżynieria oprogramowania (Software Engineering) Wykład 1

Metodyka projektowania komputerowych systemów sterowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Egzamin / zaliczenie na ocenę*

Plan. Zapewnienie jakości produktu informatycznego. Zarządzanie jakością i metryki oprogramowania. Podstawowe parametry mierzalne

Projekt Kompetencyjny - założenia

Dlaczego testowanie jest ważne?

Wykład 7. Projektowanie kodu oprogramowania

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Podstawowe zasady użyteczności i ich wpływ na biznes

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Testowanie oprogramowania

Wykład 1 Inżynieria Oprogramowania

Wprowadzenie do systemów informacyjnych

PRZEWODNIK PO PRZEDMIOCIE

Projekt. Prince2 PRoject. IN Controlled Environments PROCESY KOMPONENTY TECHNIKI

Użyteczność stron internetowych

Wytwórstwo oprogramowania. michał możdżonek

Koncepcja systemu zarządzania jakością w dużym projekcie informatycznym zgodnie z normą ISO/IEC 9001:2008

Jak należy rozumieć jakość architektury korporacyjnej? Prof. SGH, dr hab. Andrzej Sobczak

Opis metodyki i procesu produkcji oprogramowania

Testy poziom po poziomie

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Testowanie i walidacja oprogramowania

Testowanie wymagań KAROLINA ZMITROWICZ, RADOSŁAW SMILGIN

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Jarosław Kuchta. Projektowanie Aplikacji Internetowych. Wprowadzenie

Zarządzanie ryzykiem w projektach informatycznych. Marcin Krysiński marcin@krysinski.eu

Systemy wbudowane. Paweł Pełczyński

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Jakość oprogramowania część 2 Zapewnianie jakości oprogramowania

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Strategia testów mająca doprowadzić do osiągnięcia pożądanych celów

Od pomysłu do podpisania umowy. Izabela Adamska

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Michał Gadomski. Grzegorz Poręcki

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Czujniki obiektowe Sterowniki przemysłowe

Walidacja metod wykrywania, identyfikacji i ilościowego oznaczania GMO. Magdalena Żurawska-Zajfert Laboratorium Kontroli GMO IHAR-PIB

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Marketing usług logistycznych

BADANIA SYSTEMÓW STEROWANIA RUCHEM KOLEJOWYM W PROCESIE ICH CERTYFIKACJI

Kontrola jakości artefaktów

OD JAKOŚCI DO TRWAŁOŚCI REZULTATÓW W PROJEKTACH ERASMUS+

PRZEWODNIK PO PRZEDMIOCIE

Przegląd rodziny produktów. InspectorP64x Konfigurowalna. Programowalna. Ekonomiczna. Szybka. SYSTEMY WIZYJNE 2D

Wdrażanie systemów zarządzania w małych, średnich i dużych przedsiębiorstwach. prof. PŁ dr hab. inż. Andrzej Szymonik 2015/2016

Opis przedmiotu zamówienia

Spis treúci. 1. Wprowadzenie... 13

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

UPEDU: Rozpoznanie wymagań (ang. requirements discipline)

Narzędzia CASE dla.net. Łukasz Popiel

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Zastosowanie darmowych rozwiązań do testów użyteczności aplikacji internetowych

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Warsztaty FRAME. Sygnatura warsztatu: W1 (W3) Czas trwania: 3 dni

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

SPECYFIKACJA WYMAGAŃ

PRZEWODNIK PO PRZEDMIOCIE

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

Przyszłość to technologia

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

HCI Human Computer Interaction

UPEDU: Testowanie (ang. Testing discipline)

Nieprawidłowości w wymiarowaniu punktami funkcyjnymi

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Sukces vs porażka. Sukces. Porażka

Wykorzystanie technologii informacyjnych do zarządzania łańcuchami i sieciami dostaw w warunkach globalizacji rynku żywności

Zarządzanie jakością

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Zakres prac implementacja VPLEX i ViPR dla środowiska macierzy VNX 5800

INKS105 ( INK9117 ) Podstawy inżynierii oprogramowania

Problematyka użyteczności serwisów internetowych

Trackery Leica Absolute

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Wymagania pozafunkcjonalne

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Transkrypt:

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania Wprowadzenie do jakości systemów informatycznych http://www.eti.pg.gda.pl/katedry/kask/pracownicy/jaroslaw.kuchta/jakosc J.Kuchta@eti.pg.gda.pl

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... JSI/JO Wprowadzenie do jakości 2

Statystyka projektów 60% 50% 40% 30% 20% Zakończonych sukcesem Z przekroczeniem budżetu/harmonogramu Zakończonych niepowodzeniem 10% 0% 1994 1996 1998 2002 2002 2004 JSI/JO Wprowadzenie do jakości 3

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 10 6 linii kodu 80% kosztów opracowania na wykrywanie i usuwanie błędów JSI/JO Wprowadzenie do jakości 4

Przykłady skutków błędów 1962 zboczenie z kursu rakiety nośnej sondy kosmicznej Mariner I 1982 eksplozja gazociągu transsyberyjskiego 1985-87 przedawkowania przy terapii radiologicznej aparatem THERAC-25 USA, Kanada 1988 pierwsze zarażenie komputerów w Berkeley przez robaka internetowego 1988-96 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 JSI/JO Wprowadzenie do jakości 5

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. 610-1990 JSI/JO Wprowadzenie do jakości 6

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

Wymagania a atrybuty Wymagania funkcjonalne czasowe niezawodnościowe ograniczenia Atrybuty jakości funkcjonalność wydajność wiarygodność elastyczność JSI/JO Wprowadzenie do jakości 8

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

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 JSI/JO Wprowadzenie do jakości 10

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 JSI/JO Wprowadzenie do jakości 11

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 JSI/JO Wprowadzenie do jakości 12

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 JSI/JO Wprowadzenie do jakości 13

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 JSI/JO Wprowadzenie do jakości 14

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

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,7 1 0,2 Łatwość nauki 0,3 1 0,6 Produktywność 1 0,8 1 Akceptowalność 0,6 0,7 0,5 JSI/JO Wprowadzenie do jakości 16

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

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

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 0 Stabilność 0,1 1 0 Wydajność interakcji 0,4 0,8 0,5 Efektywność wykonania 0,2 0,4 1 JSI/JO Wprowadzenie do jakości 19

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

Wyznaczenie atrybutów Jakość Funkcjonalność Wydajność Wiarygodność Satysfakcja Elastyczność Kompletność funkcjonalna Złożoność Adekwatność Spójność Łatwość śledzenia A i = j M j j w w j j M j metryka [0 1] w j waga metryki? A i atrybut [0 1] Łatwość testowania JSI/JO Wprowadzenie do jakości 21

Metryki a miary Kompletność funkcjonalna = Metryka to co się mierzy Liczba zrealizowanych funkcji Liczba wymaganych funkcji Miara jak się mierzy [0 1]? [%] [MFLOPS] [KLOC] JSI/JO Wprowadzenie do jakości 22

Miary a pomiary 0,95 ekspert 1 0,94 ekspert 2 Miara 0,96 AVG 0,99 ekspert 3? 0,92 ekspert 4 1 ekspert 5 Czy jakość = 0,6 to dużo, czy mało? JSI/JO Wprowadzenie do jakości 23

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 JSI/JO Wprowadzenie do jakości 24

Literatura http://www.nist.gov/public_affairs/releases/n02-10.htm (2002) http://www.galorath.com/wp/software-project-failure-costsbillions-better-estimation-planning-can-help.php 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 JSI/JO Wprowadzenie do jakości 25