5. PLAN ZAPEWNIENIA JAKOŚCI
5.1. INFORMACJE ORGANIZACYJNE
5.1.1. Streszczenie
5.1.2. Spis treści
5.1.3. Status dokumentu
5.1.4. Zmiany w stosunku do wersji poprzedniej
5.2. ZASADNICZA ZAWARTOŚĆ DOKUMENTU
5.2.1. Cel
Oprogramowanie Hurtowni Sprzętu Komputerowego
Zapewnienie wszystkich zainteresowanych, że dostarczony produkt właściwie realizuje swoje funkcje i odpowiada aktualnym wymaganiom i standardom.
Czytelnicy: Kierownik projektu
PZJO dla fazy wymagań użytkownika i analizy;
PZJO dla fazy projektu architektury;
PZJO dla fazy projektowania i konstrukcji;
PZJO dla fazy budowy, testowania i instalacji oprogramowania.
5.2.2. Referencje, odsyłacze do innych dokumentów
5.2.3. Zarządzanie
Organizacja:
Kierownik projektu/ Standardy komunikacyjne / Plan działań - Michał Kochanowski
Analityk/ Dokument def. wymagań oraz szacowanie złożoności projektu - Michał Kozłowski
Projektant/ Plan zapewnienie jakości - Marcin Kociszewski
Programista/odpowiedzialny za plan testów - Jakub Kozak, Darek Lewicki
Struktura organizacyjna zespołu projektowego- Dariusz Lewicki
Dokumentacja/ Standardy komunikacyjne - Emil Król
Kierownik jednostki komórki zarządzania jakością / Ankieta dotycząca badania wymagań - Jakub Kostynowicz
Zadania:
tworzenie standardów
wdrażanie standardów
ocena produktu
ocena procesu
zatwierdzenie jakości
zbieranie danych
analiza danych
Odpowiedzialności:
KIEROWNIK PROJEKTU:
- Szacowanie czasu i budżetu projektu
- Sporządzenie harmonogramu zadań ( ustalenie kalendarza prac, podział przedsięwzięcia na poszczególne zadania, określenie zasobów potrzebnych do realizacji, określenie kolejności i czasu wykonywania poszczególnych zadań)
- Podział zadań pomiędzy wykonawców" i ich koordynacja
- Śledzenie postępu realizacji w ramach przyjętego planu
- Dostosowanie planu realizacji projektu do zmieniającej się sytuacji
- Składanie raportu o wynikach prac
ANALITYK:
Jest to osoba mająca bezpośredni kontakt z klientem/użytkownikami przyszłego systemu.
Jego zadaniem jest określenie wymagań i budowa modelu systemu.
- Określenie wszystkich funkcji realizowanych przez system - w tym celu analityk
przeprowadza wywiad z przyszłymi użytkownikami systemu. Często jednak użytkownik nie posiada wiedzy na temat możliwości oferowanych przez różne narzędzia i nie jest w stanie sam jasno sprecyzować wymagań. Analityk musi „wydobyć" je z użytkownika.
- Studiowanie środowiska systemu (studiowanie podręczników użytkowania istniejących systemów komputerowych, obserwacja pracy wykonywanej dotychczas bez wspomagania systemu komputerowego)
- Dokumentacja wymagań - opis wymagań funkcjonalnych (operacje wykonywane przez system) oraz niefunkcjonalnych (ograniczenia, przy których system powinien realizować funkcje), sporządzanie słownika pojęć i diagramów przypadków użycia
- Analiza i konsolidacja wymagań (usuwanie sprzeczności i nadmiarowości)
PROJEKTANT:
Osoba odpowiedzialna za realizację oprogramowania.
Przygotowuje szczegółowy opis implementacji systemu w oparciu o wymagania dostarczone przez analityków - praca projektanta jest silniej związana z narzędziami do wytwarzania oprogramowania
- Uszczegółowienie wyników analizy - czyli wybór sposobu implementacji konstrukcji zawartych w modelu (poprawki w diagramach, określenie typów danych)
- Dostosowanie systemu do ograniczeń środowiska implementacji, np. braku dziedziczenia czy metod wirtualnych.
- Opracowanie składowych programu, które nie realizują podstawowych zadań systemu. Funkcje te są konieczne do prawidłowego działania systemu, nie znajdują się jednak w wymaganiach - ( projekt interfejsu użytkownika, sposób przechowywania trwałych danych, zarządzanie pamięcią i czasem procesora)
W zależności od wielkości przedsięwzięcia funkcje: analityka, projektanta i programisty są łączone:
Analityk/projektant i programista - osoba kontaktująca się z klientem przygotowuje nie tylko wymagania, ale również projekt oprogramowania. W takim przypadku od programisty nie wymaga się dużego poziomu zaawansowania
Analityk i projektant/programista - Osoba kontaktująca się z klientem przygotowuje wvmasama- model systemu i co najwyżej wykonuje projekt wysokiego poziomu. Inne osoby są odpowiedzialne za przy gotowanie szczegółowego projektu i implementację
oprogramowania.
PROGRAMISTA:
Osoba implementująca oprogramowanie. W zależności od podziału ról może zajmować się też projektem systemu.
OSOBA WYKONUJĄCA TESTY
- Wykrycie błędów w systemie
- Ocena niezawodności systemu - w tym celu prowadzi się testy statystyczne, pozwalające określić przyczynę najczęstszych błędnych wykonań
Podział testów ze względu na technikę wykonywania:
Tester może wykonywać testy dynamiczne polegające na uruchamianiu fragmentów
programu i porównywaniu wyników z wynikami poprawnymi, oraz-testy statyczne, oparte- na analizie kodu (dowody poprawności, metody nieformalne).
Testy pod obciążeniem - zbadanie wydajności pod pełnym lub nadmiernym obciążeniem (dotyczy zwłaszcza systemów sieciowych)
Testy odporności - sprawdzenie działania w przypadku zajścia niepożądanych zdarzeń (zanik zasilania, wprowadzenie niepoprawnych danych, wy danie sekwencji niepoprawnych poleceń)
OSOBA ODPOWIEDZIALNA ZA KONSERWACJĘ OPROGRAMOWANIA
EKSPERT METODYCZNY - osoba szczególnie dobrze znająca stosowaną metodykę
EKSPERT TECHNICZNY - osoba szczególnie dobrze znająca obsługę narzędzi
5.2.4. Dokumentacja
dla fazy wymagań użytkownika i analizy;
dla fazy projektu architektury;
dla fazy projektowania i konstrukcji;
dla fazy budowy, testowania i instalacji oprogramowania.
Formularz wymagań funkcjonalnych
Formularz zapisu wymagań
Weryfikowalność wymagań niefunkcjonalnych
Słownik
Dokument wymagań na oprogramowanie
Poprawiony dokument opisujący wymagania
Dokument opisujący stworzony projekt
Raporty z informacjami o testowaniu produktu, jego błędach, możliwości modyfikacji, opinie niezależnych kontrolerów, przyszłych użytkowników.
5.2.5. Standardy, praktyki, konwencje i metryki
5.2.5.1. Standardy dokumentacyjne
5.2.5.2. Standardy projektowe
5.2.5.3. Standardy kodowania
5.2.5.4. Standardy komentowania
5.2.5.5. Standardy i praktyki testowania
5.2.5.6. Wybrane metryki ZJO
5.2.5.7. Ustalenia dotyczące sposobu monitorowania zgodności z planem
W trakcie pracy nad systemem użyte zostaną następujące standardy:
IEEE (STD 830-1984) dla specyfikacji wymagań
ISO9001 dla projektu konceptualnego
Terminologia (ISO 8402)
Elementy systemu jakości (ISO 9004)
Niezawodność oprogramowania (IEC/TC 56)
Bezpieczeństwo oprogramowania( ISO/IEC 1508)
5.2.6. Przeglądy i audyty
Identyfikuje techniczne przeglądy, przejścia, inspekcje, audyty mające zastosowanie w tej fazie, oraz cel każdego z nich. Opisuje sposoby monitorowania zgodności tych procedur z planem oraz rolę personelu ZJO w tych procedurach.
Procedury te są wykonywane w celu sprawdzenia zespołu projektowego pod kontem przygotowania merytorycznego jak i technicznego niezbędnego do realizacji projektu.
5.2.7. Testowanie
Produkt podlega testom dynamicznym i statycznym.
Przeprowadzane są testy:
modułów
systemu
akceptacji
Wyniki testów są porównywane i oceniane. Na ich podstawie generowane są raporty które, później podlegają szczegółowej ocenie i analizie.
5.2.8. Raportowanie problemów i akcje korygujące
Każda osoba pracująca nad projektem zgłasza problem do kierownika projektu który, organizuje sposób rozwiązania problemu.
5.2.9. Narzrzędzia, techniki i metody
Podczas tworzenia dokumentacji, użyte zostanie narzędzie, wspomagające tworzenie diagramów UML. Wszystkie dokumenty oparte będą na formacie HTML, tak aby każdy, niezależnie od środowiska pracy, mógł je przeczytać.
5.3.0. Kontrola kodu
Nie dotyczy
5.3.1. Kontrola mediów
Nie dotyczy
5.3.2. Kontrola dostawców
Każdy produkt dostarczony przez dostawców jest sprawdzany pod kontem ogólnie przyjętych norm.
Przedstawienie wszystkich norm aktualnie stosowanych i wymaganych od dostawców.
5.3.3. Zbieranie, pielęgnacja i utrzymanie zapisów
Wszystkie zebrane informacje powinny być przechowywane w formie elektronicznej bądź papierowej przynajmniej przez 2 lata od zakończenia projektu. Powinny być udostępniane w zależności od potrzeb i uprawnień wnioskodawcy.
5.3.4. Szkolenie
5.3.5. Zarządzanie ryzykiem
5.3.6. Przegląd pozostałej części projektu