ISO: IEEE:

Transkrypt

ISO: IEEE:
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - normy
Wykład 5 (1)
ISO:
Ogólne dot. jakości:
ISO 8402
- terminologia
ISO 9000
- wytyczne dotyczące wyboru modelu
ISO 9001/3 - modele systemu jakości
Dot. oprogramowania:
ISO 9126
Information Technology - Software Product Evaluation - Quality Characteristics
and Guidelines for their Use
ISO 9000-3
Quality management and quality assurance standards - Part 3: Guidelines for the
application of ISO 9001:1994 to the development, supply, installation and
maintenance of computer software
ISO 12207
Information Technology - Software life cycle processes
ISO TR 15504
SPICE Software Process Improvement and Capability Determination
ISO 12119
Software Packages - Quality Requirements and Testing
Wykład 5 (2)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - wstęp
IEEE:
IEEE 730,
IEEE 983
– planowanie procesu zapewnienia jakości
IEEE 1008
– testowanie jednostkowe
IEEE 1012
– weryfikacja i walidacja (atestowanie)
IEEE 1028
– przeprowadzanie przeglądów i audytów
1
Wykład 5 (3)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - wstęp
Zalecenia normy ISO 9001:2000 – podstawowe
założenia polityki jakości
•Ukierunkowanie na klienta (również klient wewnętrzny)
•Przywództwo (budowa wizji, identyfikacja wartości)
•Zaangażowanie ludzi (satysfakcja, motywacja, szkolenia)
•Podejście procesowe (koncentracja na poszczególnych krokach procesu i
relacjach pomiędzy tymi krokami, pomiary)
•Podejście systemowe (całe otoczenie procesu wytwórczego)
•Ciągłe doskonalenie (doskonalenie stanu obecnego, ewolucja a nie rewolucja)
•Rzetelna informacja (zbieranie i zabezpieczanie danych do podejmowania
obiektywnych decyzji)
•Partnerstwo dla jakości (bliskie związki producentów z klientami)
Wykład 5 (4)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym – ISO 9001:2000
Zasada ciągłego doskonalenia – koło Deminga:
Planuj -> Wykonaj -> Sprawdź -> Usprawnij (org. działaj)
Podstawowe wymagania normy w zakresie wdrożenia systemu jakości:
- zidentyfikować procesy,
- określić sekwencję tych procesów i ich wzajemne oddziaływanie,
- określić kryteria i metody potrzebne do zapewnienia skuteczności przebiegu i
nadzorowania tych procesów,
- zapewnić dostępność zasobów i informacji niezbędnych do wspomagania przebiegu i
monitorowania tych procesów,
- monitorować, mierzyć i analizować te procesy,
- wdrażać działania niezbędne do osiągnięcia zaplanowanych wyników i ciągłego
doskonalenia tych procesów.
2
Wykład 5 (5)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - ISO 9001:2000
Zawartość normy:
4.1. Wymagania ogólne
• Ogólne działania prowadzone w zakresie zapewnienia jakości
4.2. Wymagania dotyczące dokumentacji
4.2.1. Wymagania ogólne
Dokumentacja powinna zawierać:
• Udokumentowane deklaracje polityki jakości i celów dot. Jakosci,
• Księge jakości,
• Udokumentowane minimum procedur wymaganych postanowieniami normy
• Dokumenty potrzebne do zapewnienia skutecznego planowania, przebiegu i
nadzorowania jej procesów
• Zapisy wymagane normą
Dokumentacja może mieć dowolną formę i rodzaj nośnika
Wykład 5 (6)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - ISO 9001:2000
4.2.2. Księga jakości
Zawartość:
• Zakres systemu zarządzania jakością, łącznie ze szczegółami dotyczącymi
wszelkich wyłączeń i ich uzasadnienia
• Udokumentowane ustanowione procedury lub powołanie się na nie,
• Opis wzajemnego oddziaływania między procesami SZJ
4.2.3. Nadzór nad dokumentami:
Wymóg ustanowienia udokumentowanej procedury nadzoru dotyczącego:
• Zatwierdzania dokumentów pod kątem ich adekwatnosci zanim zostaną wydane
• Przeglądu dokumentów i ich aktualizowania
• Zapewnienia, że zidentyfikowano zmiany i aktualny status dokumentów,
• Zapewnienie dostępności dokumentów w miejscach ich użytkowania,
• Zapewnienia, że dokumenty są czytelne i łatwe do zidentyfikowania,
• Zapobiegania niezamierzonemu stosowaniu nieaktualnych dokumentów
3
Wykład 5 (7)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - ISO 9001:2000
4.2.4. Nadzór nad zapisami
Zapisy – wszelkie informacje dokumentujące działanie systemu wykorzystywane jako
dowody skuteczności działania SZJ, np. plany realizacji, harmonogramy prac,
zgłoszenia błędów, raporty weryfikacji, raporty testowania, raporty z przeglądów
zarządzania, przeglądów wymagań itp.
Wymaganie ustanowienia procedury w celu określenia nadzoru potrzebnego do
identyfikacji, przechowywania, zabezpieczania wyszukiwania i zachowywania
przez określony czas zapisów
5. Odpowiedzialność kierownictwa
5.1. Zaangażowanie kierownictwa
• Zakres obowiązków kierownictwa:
• Zakomunikowanie znaczenia spełnienia wymagań klientów,
• Ustanowienie polityki jakości,
• Przeprowadzanie przeglądów zarządzania,
• Zapewnienie dostępności zasobów
Wykład 5 (8)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - ISO 9001:2000
5.2. Orientacja na klienta
Najwyższe kierownictwo powinno zapewnić, że wymagania klienta zostały określone i
spełnione w celu większego zadowolenia klienta
5.3. Polityka jakości
• Zapewnienie znajomości polityki jakości w organizacji
• Wykonywanie ciągłych przeglądów w celu weryfikacji przydatności
5.4. Planowanie
5.4.1. Cele dotyczące jakości
• Wymóg ustanowienia mierzalnych celów dot. jakości dla poszczególnych funkcji w
organizacji
5.4.2. Planowanie systemu zarządzania jakością
• Wymóg planowania działań dotyczących wdrażania i udoskonalania SZJ
5.5. Odpowiedzialność, uprawnienia i komunikacja
• Wymóg zapewnienia, że odpowiedzialność i uprawnienia są określone i
zakomunikowane w organizacji
4
Wykład 5 (9)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym - ISO 9001:2000
5.5.2. Przedstawiciel kierownictwa
Najwyższe kierownictwo powinno wyznaczyć członka kierownictwa wyposażonego w
odpowiednią odpowiedzialność i uprawnienia dla:
• Zapewnienia, że procesy ZJ są ustanowione, wdrożone i utrzymywane,
• Przedstawiania najwyższemu kierownictwu sprawozdań dot. funkcjonowania SZJ.
• Zapewnienia upowszechnienia w całej organizacji świadomości dot. wymagań
klienta
5.6. Przegląd zarządzania
• Wymóg przeprowadzania przeglądu SZJ w określonych odstępach czasu.
• Należy utrzymywać zapisy z przeglądu zarządzania
6. Zarządzanie zasobami
6.2. Zasoby ludzkie
6.2.2. Kompetencja świadomość i szkolenie
• Określenie niezbędnych kompetencji personelu wykonującego czynności mające
wpływ na jakość
Wykład 5 (10)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym – ISO 9001:2000
• Zapewnienie wykonywania szkoleń dot. SZJ,
• Ocenianie skuteczności szkoleń,
• Zapewnienie uświadomienia personelowi wagi swoich działań dla osiągania celów
zapewnienia jakości
• Utrzymywanie odpowiednich zapisów dotyczących szkoleń
6.3. Infrastruktura
6.4. Środowisko pracy
7. Realizacja wyrobu
7.1. Planowanie realizacji wyrobu
7.2. Procesy związane z klientem
7.2.1. Określenie wymagań dotyczących wyrobu
7.2.1. Przegląd wymagań dotyczących wyrobu
7.2.3. Komunikacja z klientem
5
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym – ISO 9001:2000
Wykład 5 (11)
7.3. Projektowanie i rozwój
7.3.1. Planowanie projektowania i rozwoju
7.3.2. Dane wejściowe do projektowania i rozwoju
•
Wymagania funkcjonalne i dotyczące parametrów,
•
Mające zastosowanie wymagania ustawowe i przepisów,
•
Jeśli ma to zastosowanie – informacje z poprzednich podobnych projektów
•
Wymagania powinny być kompletne, jednoznaczne i niesprzeczne
Należy dokonywać przeglądu danych wejściowych pod kątem ich adekwatności oraz
utrzymywać odpowiednie zapisy
7.3.3. Dane wyjściowe z projektowania i rozwoju
•
Przedstawić dane wyjściowe w formie umożliwiającej weryfikacje w kontekście
danych wejściowych. Dane te powinny:
•
Spełniać wymagania danych wejściowych,
•
Zawierać kryteria przyjęcia wyrobu lub powoływać się na nie
•
Specyfikować właściwości wyrobu, które są istotne dla jego bezpieczeństwa
Wykład 5 (12)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym – ISO 9001:2000
7.3.4. Przegląd projektowania i rozwoju
7.3.5. Weryfikacja projektowania i rozwoju
7.3.6. Walidacja projektowania i rozwoju
7.3.7. Nadzorowanie zmian w projektowaniu i rozwoju
7.4. Zakupy
...
7.5. Produkcja i dostarczanie usług
7.5.1. Nadzorowanie produkcji i dostarczania usług
7.5.2. Walidacja procesów produkcji i dostarczania usług
7.5.3. Identyfikacja i identyfikowalność
7.5.4. Własność klienta
7.5.5. Zabezpieczenie wyrobu
7.6. Nadzorowanie wyposażenia do monitorowania i pomiarów
6
Wykład 5 (13)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym – ISO 9001:2000
8. Pomiary, analiza i doskonalenie
8.2. Monitorowanie i pomiary
8.2.1. Zadowolenie klienta
8.2. Audyt wewnętrzny
8.2.3. Monitorowanie i pomiary procesów
•
Należy ustanowić metody monitorowania i pomiarów procesów mogące wykazać
zdolność procesów do osiągania zaplanowanych celów.
8.2.3. Monitorowanie i pomiary wyrobu
•
Prowadzić monitorowanie i pomiary parametrów wyrobu w celu weryfikacji czy
zostały spełnione wymagania dot. Wyrobu. Należy to przeprowadzić na
odpowiednich etapach wytwarzania wyrobu.
•
Należy utrzymywać dowód spełnienia kryteriów przyjęcia wyrobu
8.3. Nadzór nad wyrobem niezgodnym
•
Zapewnić aby wyrób niezgodny został zidentyfikowany tak aby zapobiec jego
niezamierzonemu użyciu lub dostawie. Nadzór i związaną z tym
odpowiedzialność określić w ustanowionej procedurze.
Wykład 5 (14)
INŻYNIERIA OPROGRAMOWANIA
Jakość w projekcie informatycznym – ISO 9001:2000
•
Należy utrzymywać zapisy dotyczące charakteru niezgodności oraz wykonanych
działań z wyrobem niezgodnym
•
Jeśli wyrób zostanie poprawiony to należy poddać go ponownej weryfikacji
8.4. Analiza danych
8.5. Doskonalenie
8.5.1. Ciągłe doskonalenie
8.5.2. Działania korygujące
8.5.3. Działania zapobiegawcze
7
Wykład 5 (15)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Capability Maturity Model == Model Dojrzałości Procesu
Wytwarzania
Software Engineering Institute, Carnegie Melon University, USA, 1995
Cel:
Uzyskanie metody oceny potencjalnych wytwórców oprogramowania dla
Departamentu Obrony USA (cel początkowy),
Stworzenie schematu stopniowego doskonalenia i oceny dojrzałości procesu
wytwarzania.
Poziomy dojrzałości:
Początkowy -> Powtarzalny -> Zdefiniowany -> Zarządzany -> Optymalizujący)
Podobnie jak TQM i ISO 9001:2000 bazuje na zdefiniowaniu
procesów składowych zachodzących przy produkcji
oprogramowania
Wykład 5 (16)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Zastosowania CMM:
• Ocena kultury wytwarzania dostawców oprogramowania,
• Ocena podwykonawców,
• Wewnętrzna ocena poziomu zaawansowania organizacji w zakresie
zarządzania
• Określanie polityki zarządzania w zakresie doskonalenia organizacji
• Jako wzorzec przy ustanawianiu wzorców działań i procedur w zakresie
wytwarzania oprogramowania
8
Wykład 5 (17)
INŻYNIERIA OPROGRAMOWANIA
Charakterystyka poziomów dojrzałości:
1. Początkowy
Działania chaotyczne, brak lub nieliczne zidentyfikowane procesy.
Brak planowania i instrukcji działania w określonych zakresach.
Sukces zależy od indywidualnych wysiłków, talentów i
zaangażowania.
2. Powtarzalny
Zdefiniowane procesy zarządzania dla śledzenia kosztów,
harmonogramu i funkcjonalności. Zorganizowane wykorzystanie
doświadczeń uzyskanych przy wcześniejszych projektach o
podobnym charakterze.
3. Zdefiniowany
Działania zarządcze i wytwórcze zostały udokumentowane,
ustandaryzowane i skoordynowane w spójnym procesie
wytwórczym
4. Zarządzany
Wprowadzono monitorowanie i pomiary procesu i wyrobu. Wyniki
pomiarów wykorzystywane do bieżącej korekty procesu i wyrobu.
5. Optymalizujący
Wdrożone stałe udoskonalanie procesu poprzez analizę statystyk z
pomiarów procesu oraz wdrażanie nowych rozwiązań
organizacyjnych.
Wykład 5 (18)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Poziom dojrzałości a przewidywalność procesu wytwórczego:
• Zmniejszenie obciążenia
wartości średniej szacunku
kosztów
• Zmniejszenie wariancji
szacowania kosztów
• Zmniejszenie faktycznych
średnich kosztów
9
Wykład 5 (19)
INŻYNIERIA OPROGRAMOWANIA
Pomiary dojrzałości:
• Listy kontrolne dot. cech charakteryzujących kolejne poziomy dojrzałości.
• Cechy oceniane ilościowo.
• Suma ocen częściowych określa w jakim stopniu dany poziom został osiągnięty
Przykład listy dla poziomu Początkowego:
• Brak harmonogramu działania,
• Brak instrukcji wykonywania typowych działań,
• Brak ogólnego uzgodnionego schematu działania,
• Niezapewnienie poufności,
• Brak stanowiska kierownika projektu
• Stopniowa niekontrolowana zmiana wymagań,
• Brak doświadczenia zespołu,
• Niekontrolowany rozrost projektów,
• Brak konsultantów
Wykład 5 (20)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Kluczowy Obszar Procesów – zestaw powiązanych aktywności wykonywanych w
celu podniesienia poziomu dojrzałości. KOP są zdefiniowane dla wszystkich
poziomów od 2
Powtarzal
-ny
Zarządzanie wymaganiami
Planowanie projektów
Śledzenie projektu
Zarządzanie podwykonawstwem
Zapewnienie jakości
Zarządzanie konfiguracją
Zorganizowane zbieranie i analiza wymagań
Planowanie działań i etapów
Ciągła analiza stanu aktualnego vs. harmonogram
Wybór, weryfikacja i nadzór nad podwykonawcami
Weryfikacja, walidacja i certyfikacja
Zapewnienie integralności produktu w jego cyklu życia
Zdefiniowany
Definiowanie odpowiedzialności
Definiowanie procesów
Prowadzenie procesów inź.
Planowanie i prowadzenie szkoleń
Koordynowanie grup
Przeglądy partnerskie
Określanie ról i zakresów obowiązków dot. (dopowiedzialności) w
zakresie nadzoru procesów
Rozwijanie wiedzy i umiejętności zespołu
Zarządza
ny
Ilościowe zarządzanie procesami
Zarządzanie jakością
Mierzenie i ilościowa ocena wydajnosci procesów
Rozwijanie i wdrażanie polityki jakości produktu
Optymalizujący
Zapobieganie defektom
Zarządzanie zmianami technologii
Zarządzanie doskonaleniem procesu
Identyfikowanie i śledzenie źródeł defektów
Identyfikowanie, ocena i wdrażanie użytecznych technologii
Działanie mające na celu stałe zwiększanie wydajności procesu
Określanie zakresu i kanałów wymiany informacji oraz zasad
współpracy
Wczesne i obiektywne identyfikowanie defektów
10
Wykład 5 (21)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Podział kluczowych obszarów procesów na kategorie:
Wykład 5 (22)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Struktura CMM:
Poziomy dojrzałości
Kluczowe obszary procesu – grupy
aktywności niezbędne do osiagnięcia
celów istotnych dla danego poziomu
dojrzałości
Cele – wyniki spodziewane w rezultacie
prawidłowego wdrożenia praktyk z
obszaru procesu. Osiągnięcie celów jest
konieczne dla spełnienia KPA
Cechy wspólne – atrybuty związane z
wdrożeniem KPA, grupują aktywności
związane z KPA
Kluczowe praktyki – działania
przyczyniające się do spełnienia KPA
11
Wykład 5 (23)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Wspólne cechy KPA:
Commit to Perform
Zobowiązanie do
wykonywania
Działania, które organizacja musi podjąć aby zapewnić, że proces
musi być ustanowiony i będzie trwale wykonywany, Zwykle
obejmuje ustanawianie polityki organizacji, akceptację i
nadzorowanie ze strony najwyższego zarządu.
Ability to Perform
Zdolność do wykonania
Opisuje warunki wstępne niezbędne do wdrożenia procesu, Zwykle
obejmuje zasoby, niezbędne struktury organizacyjne oraz szkolenia
Activities Performed
Czynności wykonywane
Opisuje role i procedury niezbędne do wdrożenia obszaru
kluczowego. Zwykle obejmuje planowanie, opracowywanie
procedur, wykonanie, śledzenie i podejmowanie akcji korekcyjnych
Measurement and Analysis
Pomiary i analiza
Opisuje potrzebę mierzenia parametrów procesu oraz analizowanie
wyników. Zwykle zawiera przykłady pomiarów dla określenia
statusu i efektywności procesu
Verifying Implementation
Weryfikacja
Opisuje procedury weryfikacyjne sprawdzające zgodność
faktycznych działań z ustanowionym procesem
Wykład 5 (24)
INŻYNIERIA OPROGRAMOWANIA
Model SEI – Capability Maturity Model
Projektowanie
procesów:
CMM traktuje projektowanie
procesów podobnie jak
projektowanie i wykonanie
oprogramowania:
•Wymagania co do procesu,
•Określenie jak proces będzie
zdefiniowany i opisany,
•Wykonanie projektu procesu,
•Weryfikacja procesu,
•Wdrożenie procesu
12

Podobne dokumenty