1 Analiza i walidacja wymagań(c) J.Nawrocki Lecture 5 Analiza systemów informatycznych Wykład 8 Analiza i walidacja wymagań Req. Eng. & Project Manag.
2 Analiza i negocjacja wymagań Walidacja wymagań Agenda Analiza i negocjacja wymagań Walidacja wymagań Szacowanie liczby defektów Introduction XPrince Team Project Lifecycle The Analyst Role The Architect Role The Project Manager Role Scaling up Conclusions J.Nawrocki, Analiza i walidacja
3 Analiza i negocjacja wymagańAgenda Analiza i negocjacja wymagań Walidacja wymagań Szacowanie liczby defektów Introduction XPrince Team Project Lifecycle The Analyst Role The Architect Role The Project Manager Role Scaling up Conclusions J.Nawrocki, Analiza i walidacja
4 Klasyfikacja dobrych praktykPodst. Pośred. Zaaw. 8 6 5 4 3 2 36 - 6 2 1 3 21 - 1 2 4 9 Dokument SRS Zbieranie wymagań Analiza i negocjacja wymag. Opisywanie wymagań Modelowanie systemu Walidacja wymagań Zarządzanie wymaganiami IW dla systemów krytycznych J.Nawrocki, Analiza i walidacja
5 Zdefiniuj granice systemuPraktyki podstawowe Analiza i negocjacja Zdefiniuj granice systemu System Person 1 Person 2 Institution Device Wymagania dot. procesu Wymagania dot. systemu Wymagania dot. oprogramowania J.Nawrocki, Analiza i walidacja
6 Zdefiniuj granice systemu Stosuj listy kontrolne do analizy wymagańPraktyki podstawowe Analiza i negocjacja Zdefiniuj granice systemu Stosuj listy kontrolne do analizy wymagań J.Nawrocki, Analiza i walidacja
7 Przykład listy kontrolnejAnaliza granic systemu Czy wymaganie implikuje konieczność podejmowania decyzji w oparciu o niekompletną lub niepewną informację? Czy implementacja wymagania będzie wymagała informacji, która jest poza bazą danych budowanego systemu? Czy wymaganie jest związane z kluczową funkcjonalnością systemu? Czy wymaganie jest związane z funkcjonalnością lub wydajnością zewnętrznego sprzętu? J.Nawrocki, Analiza i walidacja
8 Inny przykład listy kontrolnejIEEE Std a) Poprawne; b) Jednoznaczne; c) Kompletne; d) Spójne; e) Z informacją o ważności i stabilności; f) Weryfikowalne; g) Modyfikowalne; h) Umożliwiające śledzenie wpływu zmian. J.Nawrocki, Analiza i walidacja
9 Lista kontrolna dla przypadków użyciaCzy jest uzgodniona klarowna wizja systemu? Czy są widoczne granice systemu? Czy jest jasna charakterystyka użytkowników końcowych? Czy wszystkie przypadki użycia z poziomu użytkownika mają cechy istotnych dla niego transakcji? Czy każdy przypadek użycia ma kompletny pojedynczy cel? Czy jego nazwa jest jasna i odzwierciedla cel? Czy alternatywy tworzą zbiór wyczerpujący? Czy przypadki użycia opisują jedynie zachowanie? Czy upiększenia są właściwie użyte? Czy warunki są wykrywalne? J.Nawrocki, Analiza i walidacja
10 Zdefiniuj granice systemu Stosuj listy kontrolne do analizy wymagańPraktyki podstawowe Analiza i negocjacja Zdefiniuj granice systemu Stosuj listy kontrolne do analizy wymagań Zapewnij narzędzia wspomagające negocjacje Planując przygotuj się na konflikty i ich rozwiązywanie Przypisz priorytety wymaganiom J.Nawrocki, Analiza i walidacja
11 Klasyfikuj wymagania korzystając z podejścia wielowymiarowegoPraktyki pośrednie Analiza i negocjacja Klasyfikuj wymagania korzystając z podejścia wielowymiarowego System, User interface, Database, Communications, Security J.Nawrocki, Analiza i walidacja
12 Klasyfikuj wymagania korzystając z podejścia wielowymiarowegoPraktyki pośrednie Analiza i negocjacja Klasyfikuj wymagania korzystając z podejścia wielowymiarowego System, User interface, Database, Communications, Security Korzystaj z macierzy interakcji, aby wykryć konflikty i nakładanie się wymagań. J.Nawrocki, Analiza i walidacja
13 Macierz interakcji W1 W2 W3 W4 W5 W1 W2 W3 W4 W5J.Nawrocki, Analiza i walidacja
14 Macierz interakcji 0 – brak problemu 1 – konflikt W1 W2 W3 W4 W5 W1 W2J.Nawrocki, Analiza i walidacja
15 Macierz interakcji 0 – brak problemu 1 – konflikt 1 W1 W2 W3 W4 W5 W1J.Nawrocki, Analiza i walidacja
16 Macierz interakcji 0 – brak problemu 1 – konflikt 1 W1 W2 W3 W4 W5 W1J.Nawrocki, Analiza i walidacja
17 Macierz interakcji 0 – brak problemu 1 – konflikt 100 – nakładanie sięW W W W W5 1 W1 W2 W3 W4 W5 J.Nawrocki, Analiza i walidacja
18 Macierz interakcji 0 – brak problemu 1 – konflikt 100 – nakładanie sięW W W W W5 1 100 W1 W2 W3 W4 W5 J.Nawrocki, Analiza i walidacja
19 Macierz interakcji 0 – brak problemu 1 – konflikt 100 – nakładanie sięW W W W W5 1 100 W1 W2 W3 W4 W5 J.Nawrocki, Analiza i walidacja
20 Macierz interakcji 0 – brak problemu 1 – konflikt 100 – nakładanie sięW W W W W5 1 100 102 1 201 101 W1 W2 W3 W4 W5 J.Nawrocki, Analiza i walidacja
21 Macierz interakcji 0 – brak problemu 1 – konflikt 100 – nakładanie sięW W W W W5 1 100 102 1 201 101 W1 W2 W3 W4 W5 J.Nawrocki, Analiza i walidacja
22 Praktyki zaawansowaneAnaliza i negocjacja Oceń ryzyko wymagań Wydajność, bezpieczeństwo, proces tworzenia oprogramowania, technologia implementacji, baza danych, harmonogram, stabilność. J.Nawrocki, Analiza i walidacja
23 Walidacja wymagań Agenda Analiza i negocjacja wymagańSzacowanie liczby defektów Introduction XPrince Team Project Lifecycle The Analyst Role The Architect Role The Project Manager Role Scaling up Conclusions J.Nawrocki, Analiza i walidacja
24 Klasyfikacja dobrych praktykPodst. Pośred. Zaaw. 8 6 5 4 3 2 36 - 6 2 1 3 21 - 1 2 4 9 Dokument SRS Zbieranie wymagań Analiza i negocjacja wymag. Opisywanie wymagań Modelowanie systemu Walidacja wymagań Zarządzanie wymaganiami IW dla systemów krytycznych J.Nawrocki, Analiza i walidacja
25 Praktyki podstawowe WalidacjaSprawdź, czy dokument specyfikacji wymagań jest zgodny z przyjętym standardem Zorganizuj formalną inspekcję wymagań J.Nawrocki, Analiza i walidacja
26 Inspekcja (inspection) = Najbardziej sformalizowana postać przegląduPrzegląd (review) = Analiza artefaktu (np.kodu, dokumentu) realizowana przez grupę osób. Inspekcja (inspection) = Najbardziej sformalizowana postać przeglądu Artefakt J.Nawrocki, Analiza i walidacja
27 Przekazywanie informacjiRola przeglądów Zapewnianie jakości Przekazywanie informacji J.Nawrocki, Analiza i walidacja
28 Inspekcje Fagana Sesja przeglądu Projektant Implementator ModeratorTester J.Nawrocki, Analiza i walidacja
29 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) Inspekcje Fagana Projektant Implem. Moderator Tester Review session 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) 4. Naprawa 5. Sprawdzenie J.Nawrocki, Analiza i walidacja
30 Specyfikacje zewnętrzne (funkcje) Specyfikacje wewnętrzne (moduł) - I0 Inspekcje Fagana Cykl życia Specyfikacje zewnętrzne (funkcje) Specyfikacje wewnętrzne (moduł) - I0 Specyfikacje logiki przetw - I1 inspek projek Projekt Kodowanie (logika) - I2 inspek kodu Testowanie jednostkowe Kod Test Test funkcji (zewn.), składnika, systemu J.Nawrocki, Analiza i walidacja
31 Oszczędności (godz/KLOC): I1: 94 I2 : 51 I3 : -20Inspekcje Fagana Design Code Unit test I1 I2 I3 Oszczędności (godz/KLOC): I1: 94 I2 : 51 I3 : -20 J.Nawrocki, Analiza i walidacja
32 Omówienie (zespół) 500 niepotrzebne Przygotowanie (indyw.) 100 125 Inspekcje Fagana Prędkość (loc/h) I1 I2 Omówienie (zespół) niepotrzebne Przygotowanie (indyw.) Inspekcja (zespół) Naprawa Sprawdzenie Spotkanie inspekcyjne <= 2 godz 1 - 2 spotkania na dzień J.Nawrocki, Analiza i walidacja
33 Czy wszystkie stałe są zdefiniowane? Inspekcje Fagana Lista kontrolna dla inspekcji projektu Czy wszystkie stałe są zdefiniowane? Czy w trakcie manipulacji kolejką może wystąpić przerwanie? Jeśli tak, to czy kolejka jest ujęta w rejon krytyczny? Czy rejestry są odtwarzane przy wyjściu? Czy wszystkie liczniki są odpowiednio inicjowane (0 lub 1)? Czy są literały numeryczne, które powinny być zastąpione stałymi symbolicznymi? Czy wszystkie bloki na schemacie są potrzebne Missing Wr Ex J.Nawrocki, Analiza i walidacja
34 Akceptacja. Żadne modyfikacje nie są konieczne. Decyzja Akceptacja. Żadne modyfikacje nie są konieczne. Akceptacja warunkowa. Są pewne defekty, ale dodatkowa inspekcja nie jest potrzebna (kierownik projektu sprawdzi, czy wprowadzono poprawki). Odrzucenie. Są poważne defekty i będzie potrzebna dodatkowa inspekcja. J.Nawrocki, Analiza i walidacja
35 Praktyki podstawowe WalidacjaSprawdź, czy dokument specyfikacji wymagań jest zgodny z przyjętym standardem Zorganizuj formalną specyfikację wymagań Wykorzystuj w przeglądach wymagań ekspertów z różnych dziedzin Opracuj listy kontrolne dla walidacji J.Nawrocki, Analiza i walidacja
36 Inny przykład listy kontrolnejIEEE Std a) Poprawne; b) Jednoznaczne; c) Kompletne; d) Spójne; e) Z informacją o ważności i stabilności; f) Weryfikowalne; g) Modyfikowalne; h) Umożliwiające śledzenie wpływu zmian. J.Nawrocki, Analiza i walidacja
37 Praktyki pośrednie WalidacjaWykorzystuj prototypy do walidacji wymagań J.Nawrocki, Analiza i walidacja
38 Ekran prototypu wygenerowanego przez UC WorkbenchJ.Nawrocki, Analiza i walidacja
39 Praktyki pośrednie WalidacjaWykorzystuj prototypy do walidacji wymagań Napisz roboczą wersję podręcznika użytkownika Zaproponuj przypadki testowe dotyczące wymagań J.Nawrocki, Analiza i walidacja
40 Praktyki zaawansowaneWalidacja Parafrazuj modele systemu J.Nawrocki, Analiza i walidacja
41 Szacowanie liczby defektówAgenda Analiza i negocjacja wymagań Walidacja wymagań Szacowanie liczby defektów Introduction XPrince Team Project Lifecycle The Analyst Role The Architect Role The Project Manager Role Scaling up Conclusions J.Nawrocki, Analiza i walidacja
42 Capture-Recapture Ile ryb jest w stawie?J.Nawrocki, Analiza i walidacja
43 Capture-Recapture 1 Złap próbkę ryb J.Nawrocki, Analiza i walidacja
44 Capture-Recapture 1 Złap próbkę ryb 2 Oznacz jeJ.Nawrocki, Analiza i walidacja
45 Capture-Recapture 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść jeJ.Nawrocki, Analiza i walidacja
46 4 Złap jeszcze jedną grupęCapture-Recapture 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę J.Nawrocki, Analiza i walidacja
47 4 Złap jeszcze jedną grupę 5 Ile oznakowanych?Capture-Recapture 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych? J.Nawrocki, Analiza i walidacja
48 20 30 5 Capture-Recapture 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je4 Złap jeszcze jedną grupę 5 Ile oznakowanych? 20 30 5 J.Nawrocki, Analiza i walidacja
49 20 30 5 Capture-Recapture 1 Złap próbkę ryb Total = 2 Oznacz je20 * 30 / 5 = 120 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych? 20 30 5 J.Nawrocki, Analiza i walidacja
50 Liczba defektów = A * B / CCapture-Recapture Artefakt A B C Liczba defektów = A * B / C If C = 0 ... J.Nawrocki, Analiza i walidacja
51 Więcej niż 2 recenzentówCapture-Recapture Więcej niż 2 recenzentów B A Znalazł najwięcej unikatowych defektów Pozostali Liczba defektów = A * B / C J.Nawrocki, Analiza i walidacja
52 At last! Podsumowanie Analiza wymagań: Listy kontrolneNegocjacja wymagań Walidacja wymagań: Przeglądy Capture-Recapture Prototypy typu mockup J.Nawrocki, Analiza i walidacja
53 ? Pytania? J.Nawrocki, Analiza i walidacja (c) J.Nawrocki Lecture 5Req. Eng. & Project Manag.
54 3. Czego ważnego dowiedziałeś się na wykładzie? 4. Co poprawić i jak?Ocena jakości 1. Wrażenie ogólne? (1 - 6) 2. Tempo wykładu? 3. Czego ważnego dowiedziałeś się na wykładzie? 4. Co poprawić i jak? J.Nawrocki, Analiza i walidacja