350 likes | 497 Views
Analiza systemów informatycznych Wykład 3. Zbieranie wymagań. Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-asi. Struktura SRS. IEEE Std 830-1998. 1.2 Zakres produktu (wizja produktu). 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne
E N D
Analiza systemów informatycznych Wykład 3 Zbieranie wymagań Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-asi
Struktura SRS IEEE Std 830-1998 1.2 Zakres produktu (wizja produktu) 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 4. Wymagania pozafunkcjonalne Dodatki Indeks J.Nawrocki, Zbieranie wymagań
Strategia zbierania wymagań Szerokość przed głębokością: Oszczędzaj swoją energię opracowując najpierw ogólne omówienie wymagań, a dopiero potem dodając szczegóły. S.Adolph, P.Bramble, A.Cockburn, A.Pols Patterns for effective use cases Addison-Wesley, 2002 Strategia spiralna: Opracowuj wymagania iteracyjnie z każdą iteracją zwiększając precyzję i dokładność opisu. J.Nawrocki, Zbieranie wymagań
Struktura SRS i proces zbierania wymagań IEEE Std 830-1998 Zakres Ogólny opis Kluczowe wymagania Kluczowe wymagania Doskonalenie wymagań* 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 4. Wymagania pozafunkcjonalne Dodatki Indeks J.Nawrocki, Zbieranie wymagań
Strategia zbierania wymagań S.Adolph, P.Bramble, A.Cockburn, A.Pols Patterns for effective use cases Addison-Wesley, 2002 Czas zakończenia: Zakończ opracowywanie wymagań, gdy są kompletne i spełniają potrzeby zainteresowanych stron. J.Nawrocki, Zbieranie wymagań
Plan wykładu • Zespół • Zakres produktu • Ogólny opis produktu • Kluczowe wymagania i ich doskonalenie • Pozostałe dobre praktyki • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Zbieranie wymagań
Plan wykładu • Zespół • Zakres produktu • Ogólny opis produktu • Kluczowe wymagania i ich doskonalenie • Pozostałe dobre praktyki • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Zbieranie wymagań
Zespół Zrównoważony zespół: Włącz do zespołu ludzi różnych specjalności. Upewnij się, że zespół zawiera zarówno informatyków, jak i użytkowników końcowych. S.Adolph, P.Bramble, A.Cockburn, A.Pols Patterns for effective use cases Addison-Wesley, 2002 Zidentyfikuj udziałowców systemu i skonsultuj się z nimi. J.Nawrocki, Zbieranie wymagań
Metoda FAST / JAD „Klient” Informatycy Prowadzący Sekretarz FAST = Facilitated Application Specification Technique JAD Joint Application Development J.Nawrocki, Zbieranie wymagań
Zespół S.Adolph, P.Bramble, A.Cockburn, A.Pols Patterns for effective use cases Addison-Wesley, 2002 Mały zespół redakcyjny: Ogranicz liczbę osób dopracowujący dowolny produkt do jedynie 2-3 osób. J.Nawrocki, Zbieranie wymagań
Metoda FAST / JAD „Klient” Prowadzący Analityk FAST = Facilitated Application Specification Technique JAD Joint Application Development Architekt J.Nawrocki, Zbieranie wymagań
Zespół S.Adolph, P.Bramble, A.Cockburn, A.Pols Patterns for effective use cases Addison-Wesley, 2002 Zaangażowany zespół: Jeśli tylko możliwe włącz do aktywnej pracy nad wymaganiami przedstawicieli klienta i innych udziałowców przedsięwzięcia, np. architekta. J.Nawrocki, Zbieranie wymagań
Plan wykładu • Zespół • Zakres produktu • Ogólny opis produktu • Kluczowe wymagania i ich doskonalenie • Pozostałe dobre praktyki • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Zbieranie wymagań
Schemat kroku w procesie zbierania wymagań Prolog Spotkanie Epilog J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. zakresu produktu 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Krótka charakterystyka klienta 5’ 2 Na czym polega problem? 15’ 3 Kogo ten problem dotyczy? 5’ 4 Implikacje problemu 10’ 5 Koncepcja rozwiązania problemu 10’ 6 Sprawy organizacyjne 10’ Prolog Spotkanie Epilog Jak będzie wyglądał epilog? Kiedy raport i kiedy jego ew. zatw.? J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. zakresu produktu Info dla klienta: Cel spotkania (zakres) + prop. agendy Pytania: Kto przyjdzie? Ile czasu? (<90’) Termin i miejsce? 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Krótka charakterystyka klienta 5’ 2 Na czym polega problem? 15’ 3 Kogo ten problem dotyczy? 5’ 4 Implikacje problemu 10’ 5 Koncepcja rozwiązania problemu 10’ 6 Sprawy organizacyjne 10’ Prolog Spotkanie Epilog J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. zakresu produktu Info dla klienta: Cel spotkania (zakres) + prop. agendy Pytania: Kto przyjdzie? Ile czasu? (<90’) Termin i miejsce? 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Krótka charakterystyka klienta 5’ 2 Na czym polega problem? 15’ 3 Kogo ten problem dotyczy? 5’ 4 Implikacje problemu 10’ 5 Koncepcja rozwiązania problemu 10’ 6 Sprawy organizacyjne 10’ Prolog Spotkanie Epilog Raport: Tytuł projektu. Kiedy i gdzie było spotkanie. Lista obecności. Ustalenia dot. terminu ew. zatw. zakresu. Zakres. Prośba: Decyzja dot. zatw. zakresu + opinia o realizowalności J.Nawrocki, Zbieranie wymagań
Realizowalność Oceń realizowalność systemu. Realizowalność techniczna Realizowalność biznesowa J.Nawrocki, Zbieranie wymagań
Dobre rady Zapisuj źródła wymagań. • Nagrywać spotkanie (o ile uczestnicy się zgodzą). • Zakres powinien być krótki (najlepiej 1 strona A4). • Notować „źródła wiedzy” (osoby, strony www, książki, ustawy i rozporządzenia itp.) J.Nawrocki, Zbieranie wymagań
Plan wykładu • Zespół • Zakres produktu • Ogólny opis produktu • Kluczowe wymagania i ich doskonalenie • Pozostałe dobre praktyki • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. opisu produktu 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Przypomnienie zakresu produktu 5’ 2 Kontekst funkcjonowania 10’ 3 Charakterystyka użytkowników 15’ 4 Główne funkcje produktu 30’ 5 Ograniczenia 10’ 6 Założenia i zależności 10’ 7 Sprawy organizacyjne 5’ Prolog Spotkanie Epilog Raport: jak dla zakresu + zarys dokumentu SRS. Prośba: Decyzja dot. zatw. zakresu + opinia o realizowalności J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. opisu produktu Kieruj się potrzebami biznesowymi przy zbieraniu wymagań. 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Przypomnienie zakresu produktu 5’ 2 Kontekst funkcjonowania 10’ 3 Charakterystyka użytkowników 15’ 4 Główne funkcje produktu 30’ 5 Ograniczenia 10’ 6 Założenia i zależności 10’ 7 Sprawy organizacyjne 5’ J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. opisu produktu Zdefiniuj środowisko, w którym ma działać budowany system. 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Przypomnienie zakresu produktu 5’ 2 Kontekst funkcjonowania 10’ 3 Charakterystyka użytkowników 15’ 4 Główne funkcje produktu 30’ 5 Ograniczenia 10’ 6 Założenia i zależności 10’ 7 Sprawy organizacyjne 5’ J.Nawrocki, Zbieranie wymagań
Dobre rady Rozdz. 3 (4) może zwierać jedno zdanie: Do tej pory nie zebrano jeszcze szczegółowych wymagań funkcjonalnych (pozafunkcjonalnych). Na bieżąco aktualizować: 1.3 Definicje, akronimy i skróty 1.4 Odwołania do literatury J.Nawrocki, Zbieranie wymagań
Plan wykładu • Zespół • Zakres produktu • Ogólny opis produktu • Kluczowe wymagania i ich doskonalenie • Pozostałe dobre praktyki • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Zbieranie wymagań
Metoda FAST / JAD „Klient” Prowadzący Analityk >= 2 sesje: Z punktu widzenia klienta + architekta Biznes Technologia Architekt J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. kluczowych wymagań - klient 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Przypomnienie zakresu produktu 5’ 2 Przypomnienie opisu produktu 10’ 3 Identyfikacja funkcji kluczowych dla biznesowej misji systemu 15’ 4 Specyfikacja przypadków użycia 60’ 5 Specyfikacja wymagań pozafunkc. 20’ 6 Sprawy organizacyjne 5’ Prolog Spotkanie Epilog Raport: jak dla zakresu + nowa wersja dokumentu SRS. Prośba: Decyzja dot. zatw. zakresu + opinia o realizowalności J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. kluczowych wymagań - architekt 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Przypomnienie zakresu produktu 5’ 2 Przypomnienie opisu produktu 10’ 3 Identyfikacja funkcji najtrudniejszych do realizacji 15’ 4 Specyfikacja przypadków użycia 60’ 5 Specyfikacja wymagań pozafunkc. 20’ 6 Sprawy organizacyjne 5’ Prolog Spotkanie Epilog J.Nawrocki, Zbieranie wymagań
Agenda spotkania dot. doskonalenia wymagań 0 Sprawdzenie obecności i zatw. agendy 5’ 1 Przypomnienie zakresu produktu 5’ 2 Przypomnienie opisu produktu 10’ 3 Przypomnienie najważniej. funkcji 15’ 4 Identyfikacja kolejnych ważn. funkcji 15’ 5 Specyfikacja przypadków użycia 45’ 6 Specyfikacja wymagań pozafunkc. 20’ 7 Sprawy organizacyjne 5’ Prolog Spotkanie Epilog J.Nawrocki, Zbieranie wymagań
Plan wykładu • Zespół • Zakres produktu • Ogólny opis produktu • Kluczowe wymagania i ich doskonalenie • Pozostałe dobre praktyki • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Zbieranie wymagań
Klasyfikacja dobrych praktyk Podst. Pośred. Zaaw. 36 21 9 8 - - 6 6 1 5 2 1 4 1 - 3 3 - 4 3 1 4 3 2 2 3 4 Dokument SRS Zbieranie wymagań Analiza i negocjacja wymag. Opisywanie wymagań Modelowanie systemu Walidacja wymagań Zarządzanie wymaganiami IW dla systemów krytycznych J.Nawrocki, Zbieranie wymagań
Praktyki podstawowe Oceń realizowalność systemu Bądź świadom organizacyjnych i politycznych uwarunkowań Zidentyfikuj udziałowców systemu i skonsultuj się z nimi Zapisuj źródła wymagań Zdefiniuj środowisko działania systemu Kieruj się potrzebami biznesowymi przy zbieraniu wymagań Krokodyla daj mi luby! J.Nawrocki, Zbieranie wymagań
Praktyki pośrednie i zaawansowane Szukaj uwarunkowań dziedzinowych Zapisuj uzasadnienie wymagań (przyp.uż.) Zbieraj wymagania z różnych punktów widzenia Prototypuj trudne do zrozumienia wymag. Stosuj scenariusz do zbierania wymagań Zdefiniuj procesy operacyjne (biznesowe) * * * Wykorzystuj wymagania powtórnie Krokodyla daj mi luby! J.Nawrocki, Zbieranie wymagań
Podsumowanie • Kroki zbierania wymagań: • Zakres • Opis produktu • Kluczowe • Doskonalenie • Spotkania: rola prologu i epilogu • Praktyki Sommerville’a-Sawyera: prawie wszystkie podstawowe Wreszcie! J.Nawrocki, Zbieranie wymagań
Ocena wykładu • 1. Wrażenie ogólne (1 - 6) • 2. Za szybko czy za wolno? • 3. Czy dowiedziałeś się czegoś ważnego? • 4. Co i jak poprawić? J.Nawrocki, Zbieranie wymagań