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

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

Wytwarzanie, integracja i testowanie systemów informacyjnych

Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski

Jakość jest najważniejszym kryterium oceny przydatności produktów dla klienta, a to właśnie klient umożliwia funkcjonowanie wytwórcy tych produktów

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

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

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

Wymiarowanie projektu informatycznego

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

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

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

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

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski

Dlaczego testowanie jest ważne?

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

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

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Zasady organizacji projektów informatycznych

Kuchta Jarosław Jakość Oprogramowania. Modele dojrzałości procesu wytwarzania oprogramowania CMM/CMMI

Kontrola jakości artefaktów

Testowanie i walidacja oprogramowania

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

Maciej Oleksy Zenon Matuszyk

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

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

Autor: Artur Lewandowski. Promotor: dr inż. Krzysztof Różanowski

Faza Określania Wymagań

PLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Wykład 1 Inżynieria Oprogramowania

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

Process Analytical Technology (PAT),

Zarządzanie projektem informatycznym

Michał Gadomski. Grzegorz Poręcki

Testowanie oprogramowania

Jak? Za ile? Kiedy? (plany),

INŻYNIERIA OPROGRAMOWANIA Jakość w projekcie informatycznym - normy

Załącznik nr 19 do Umowy nr... z dnia... Plan Testów Systemu. Projekt ZEFIR 2

Szczegółowy plan szkolenia

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W CSIZS

Najwyżej ocenione raporty dla Mr Buggy 4

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Inżynieria oprogramowania wykład III Faza strategiczna

Scrum i nie tylko : teoria i praktyka w metodach Agile / Krystian Kaczor. Wyd. 2. Warszawa, Spis treści

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

INŻYNIERIA OPROGRAMOWANIA Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny

Metodyka projektowania komputerowych systemów sterowania

Jakość w procesie wytwarzania oprogramowania

Zarządzanie jakością

Wprowadzenie do jakości systemów informatycznych

Overlord - Plan testów

Wprowadzenie do systemów informacyjnych

Wykład I. Wprowadzenie do baz danych

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

Wyznaczanie minimalnej odważki jako element kwalifikacji operacyjnej procesu walidacji dla wagi analitycznej.

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W SI EKSMOON

Dojrzałość i pomiar procesu testowego

Zapewnienie bezpieczeństwa w całym cyklu życia aplikacji (czyli dlaczego lepiej zapobiegać chorobom, niż leczyć je w zaawansowanym stadium)

ZAŁĄCZNIK NR 3 OPIS PRZEDMIOTU ZAMÓWIENIA DOTYCZĄCY WDROŻENIA PLATFORMY ZAKUPOWEJ

Promotor: dr inż. Krzysztof Różanowski

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wykorzystanie inżynierskich metod pomiaru rozmiaru oprogramowania Wisła, r.

FAZA STRATEGICZNA. Podstawowe hasło: Nie skupiać się na szczegółach! (na razie) Czynności w fazie strategicznej: Decyzje strategiczne:

Wstęp do zarządzania projektami

Zarządzanie projektem informatycznym

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Zakres wykładu. Podstawy InŜynierii Oprogramowania

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

Model jakości McCalla

Tworzenie przypadków testowych

Kwestionariusz dotyczący działania systemów teleinformatycznych wykorzystywanych do realizacji zadań zleconych z zakresu administracji rządowej

SLA ORAZ ZASADY ŚWIADCZENIA WSPARCIA I HELPDESK. Wykonawca zobowiązuje się do świadczenia Usług Wsparcia i Helpdesk w odniesieniu do Systemu.

Etapy życia oprogramowania

IO - inżynieria oprogramowania

Zarządzanie procesami w Twojej firmie Wygodne. Mobilne. Sprawdzone.

CMM. Capability Maturity Model for Software. Capability Maturity Model for Software - Strona 1 z 6

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Usługa: Audyt kodu źródłowego

Informator techniczny

Wymiarowanie projektów informatycznych Metoda punktów funkcyjnych.

STANDARDY I KRYTERIA OCENY JAKOŚCI PROGRAMÓW PROMOCJI ZDROWIA I PROFILAKTYKI W RAMACH SYSTEMU REKOMENDACJI

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

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

ZŁOŻONOŚĆ schematów aplikacyjnych UML i GML

produkować, promować i sprzedawać produkty, zarządzać i rozliczać przedsięwzięcia, oraz komunikować się wewnątrz organizacji.

Wstęp do zarządzania projektami

Projekt Kompetencyjny - założenia

Web frameworks do budowy aplikacji zgodnych z J2EE

Serwis rozdzielnic niskich napięć MService Klucz do optymalnej wydajności instalacji

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

INŻYNIERIA OPROGRAMOWANIA

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

Tom 6 Opis oprogramowania

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Opis metodyki i procesu produkcji oprogramowania

Pytania próbne ISTQB CTFL

PROCEDURA OBSŁUGI INCYDENTÓW I WNIOSKÓW NA REALIZACJĘ USŁUG W SYSTEMACH INFORMATYCZNYCH. załącznik do ZR 154/2014 z dnia 22 grudnia 2014 roku

Transkrypt:

Zarządzanie jakością i metryki oprogramowania Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik, kwiecień 2002 Zapewnienie jakości produktu informatycznego Pomiar jako główny element technik zapewniania jakości Statystyczna kontrola procesu (jedna z podstaw sukcesu gospodarczego Japonii) Zapewnienie jakości w oprogramowaniu: zbiorczy termin odnoszący się do zestawu mgliście zdefiniowanych działań, w związku z którymi większość ludzi nie dostrzega żadnej potrzeby dokonywania pomiarów Norman Fenton Plan Zapewnienie jakości produktu informatycznego Podstawowe parametry mierzalne Wybrane normy i standardy Podsumowanie Podstawowe parametry mierzalne Koszt i nakład pracy Wydajność ludzi Oprogramowanie Niezawodność Wydajność Złożoność Dojrzałość procesu wytwarzania Zapewnienie jakości produktu informatycznego Zapewnienie jakości (quality assurance): Działanie związane z dostarczeniem wszystkim zainteresowanym dowodów wystarczających do powstania przekonania, że funkcja jakości jest realizowana poprawnie Zaplanowany i systematyczny ogół wszystkich działań niezbędnych do wytworzenia odpowiednio silnego zaufania, że element lub produkt odpowiada ustalonym względem niego wymaganiom technicznym norma IEEE 729 (1983) Podstawowe parametry mierzalne użycie działanie produktu retrospekcja produktu czynniki użyteczność niezawodność efektywność wielokrotne wykorzystanie pielęgnowalność przenośność testowalność kryteria komunikatywność dokładność spójność efektywność urządzeń dostępność kompletność strukturalność zwartość niezal. od urządzeń czytelność autoopisowość śladowość METRYKI 1

Plan Wstęp: Elementy pomiaru oprogramowania Pomiary gęstości defektów Pomiary wielkości nauka o programach Halsteada liczba cyclomatyczna McCabea model COCOMO modelowanie regresyjne Szacowanie funkcjonalności metoda punktów funkcyjnych Dojrzałość procesu wytwarzania - model CMM M = Pomiary gęstości defektów metryka gęstości defektów liczba defektów odkrytych w C rozmiar C Problemy: wyraża jakość programu czy może rzetelność testów? brak zgody co do definicji defektu brak zgody co do sposobu pomiaru rozmiaru kodu Elementy pomiaru oprogramowania Pomiar: Proces, w którym atrybutom elementów świata rzeczywistego przydzielane są liczby lub symbole w taki sposób, aby scharakteryzować te atrybuty według jasno określonych zasad. Jednostki przydzielone atrybutom nazywamy ich miarą. LOC (Line of Code): jednostka miary długości programu (ale nie złożoności ani nawet rozmiaru) M = Pomiary gęstości defektów metryka gęstości defektów liczba defektów odkrytych w C rozmiar C Mimo to: standard de facto formalne definicje na użytek wewnętrzny poszukiwanie możliwości porównania zewnętrznego Elementy pomiaru oprogramowania Elementy przedmioty pomiaru: procesy (projektownie, kodowanie, pierwsze trzy miesiące) produkty (kod źródłowy, specyfikacja, modyfikacja, plan testów, podręcznik użytkownika, pakiet instalacyjny) zasoby (osoby, zespoły, oprogramowanie, infrastruktura, biura) Mierzone atrybuty: wewnętrzne zewnętrzne Pomiary wielkości Metryki długości kodu źródłowego: LOC LinesofCode KLOC Kilo Lines of Code Liczba instrukcji Liczba instrukcji wykonywalnych (bez deklaracji) DSI Delivered Source Instruction Problemy: mierzalne na etapie implementacji trudne do wcześniejszego prognozowania wielkość długość (co ze złożonością?) 2

Nauka o programach Halsteada Halstead s software science n 1 liczba różnych operatorów n 2 liczba różnych operandów N 1 całkowita liczba wystąpień operatorów N 2 całkowita liczba wystąpień operandów Wysiłek: E = n 1 N 2 (N 1 + N 2 ) log(n 1 + n 1 ) / 2n 2 Czas: T E / 18 [s] oraz wiele innych wskaźników... (http://yunus.hun.edu.tr/~sencer/complexity.html) Model COCOMO Constructive Cost Model nakład pracy = a * rozmiar b [osobomiesiące] rozmiar = KDSI kilo DSI (Delivered Source Instructions) system ograniczony a = 2,4 b = 1,05 system częściowo wydzielony a = 3,0 b = 1,12 system wbudowany a = 3,6 b = 1,2 Liczba cyklomatyczna McCabe a McCabe s cyclomatic number Model COCOMO Constructive Cost Model M = liczba niezależnych dróg w schemacie blokowym czas = a * nakład-pracy b [miesiące] M = liczba decyzji w programie + 1 system ograniczony a = 2,5 b = 0,38 system częściowo wydzielony a = 2,5 b = 0,45 system wbudowany a = 2,5 b = 0,32 WADA: wymagana znajomość rozmiaru kodu (jeden problem prognostyczny zastępujemy innym) Problemy: Niektórzy twierdzą, że metryki te nie są lepsze niż LOC! log E (nakład pracy) 10000 Model regresyjny b = nachylenie nie pozwalają przewidzieć nakładu pracy, niezawodności, pielęgnowalności mierzalne na etapie implementacji wciąż zbyt uproszczone (nie uwzględniają złożoności przepływów danych, zagnieżdżenia itd..) 1000 100 log a 10 log E = log a + b * log S E = a * S b 1K 10K 100K 1000K 10000K log S (rozmiar) 3

Szacowanie funkcjonalności Metoda punktów funkcyjnych Albrechta FP = UFC * TCF UFC pierwotna liczba punktów funkcyjnych: ważona liczba wejść, wyjść, logicznych plików głównych (pamięć danych), plików interfejsowych i usług TCF współczynnik złożoności technicznej: dodatkowy wpływ 14 innych czynników International Function Point User Group Model dojrzałości procesu wytwarzania CMM poziom 1: początkowy Dojrzałość procesów wytwarzania poziom 2: powtarzalny poziom 3: zdefiniowany poziom 4: zarządzany poziom 5: optymalizujący Szacowanie funkcjonalności Metoda punktów funkcyjnych Albrechta Metoda precyzyjna Prognoza uzyskiwana na podstawie specyfikacji NIE TRZEBA PROGNOZOWAĆ ROZMIARU Zastosowania: metryka rozmiaru (zamiast LOC), wydajności programistów, metryki gęstości defektów Podważana sensowność użycia TCF WADA: metoda skomplikowana i trudna w użyciu Rodzaje problemów: usterka (defekt) wada w produkcie powstała na skutek błędu człowieka awaria odstępstwo systemu od wymaganego zachowania incydent niepożądane zdarzenie zaobserwowane podczas pracy systemu, mogące być skutkiem awarii (ale niekoniecznie!) Dojrzałość procesów wytwarzania Cel: Poprawa procesów programowych (SPI Software Process Improvement) Model dojrzałości procesu wytwarzania (CMM - Capability Maturity Model) CarnegieMellonUniv. zastosowanie: Dept. Obrony USA Rejestrowane informacje: Lokalizacja Czas Tryb Skutek Mechanizm Przyczyna Natężenie Koszt ortogonalna baza cech 4

Raport o incydencie: Lokalizacja id komputera, nr seryjny, platforma Czas data i godzina wystąpienia incydentu Tryb komunikat o błędzie Skutek np. utrata danych, załamanie systemu Mechanizm np. poprzedzające komendy klawiatury Przyczyna próba diagnozy Natężenie nieznaczny / powazny / krytyczny Koszt koszt naprawy + utraconych danych Podsumowanie Rola metryk w zarządzaniu jakością Cele: polepszenie oceny nakładów na produkcję oprogramowania ocena wydajności programistów ocena i kontrola jakości końcowego produktu Raport o usterce: Lokalizacja id modułu lub dokumentu Czas faza w której usterkę wprowadzono Tryb sposób wykrycia usterki Skutek opis awarii będącej skutkiem usterki Mechanizm jak usterka powstała i jak ją wykryto Przyczyna na czym polegał błąd człowieka Natężenie czy może prowadzić do awarii (jakiej) Koszt koszt lokalizacji i skorygowania Wybrane normy i standardy ISO 9001: Standard kontroli jakości nie odnosi się do żadnej konkretnej branży ISO 9003 wersja ISO 9001 dotycząca oprogramowania TickIT uregulowanie brytyjskie, oparte na ISO 9003 5