Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Inżynieria Oprogramowania

Podobne prezentacje


Prezentacja na temat: "Inżynieria Oprogramowania"— Zapis prezentacji:

1 Inżynieria Oprogramowania
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Inżynieria Oprogramowania Wykład 5 Zarządzanie wymaganiami mgr inż. Radosław Adamus

2 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Problem „kamienia” Potrzebuje kamień. Przynieś mi go. mgr inż. Radosław Adamus

3 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Efekt... Tak, ale to czego chciałem, miało być MAŁYM SZARYM KAMIENIEM mgr inż. Radosław Adamus

4 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Modyfikacja ... Tak, ale chcę aby mały szary kamień był na dodatek OKRĄGŁY mgr inż. Radosław Adamus

5 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Modyfikacja ... Tak, ale ... mgr inż. Radosław Adamus

6 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS ... W końcu może się okazać, że klient cały czas myślał o małym szarym kawałku granitu Może nie był pewien, czego chce, poza tym, że był to mały szary kawałek granitu? A może jego wymagania uległy zmianie pomiędzy dostawą pierwszego (dużego) kamienia a dostawą ostatniego (małego szarego)? Ci programiści po prostu tego nie rozumieją Czy chciał Pan, żeby TO właśnie zrobić? mgr inż. Radosław Adamus

7 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Określenie wymagań Nie jest łatwe, nawet w przypadku dwóch osób i czegoś tak namacalnego jak kamień Systemy informatyczne są ze swej natury nienamacalne, abstrakcyjne i złożone. W ich realizacje są zaangażowane więcej niż dwie osoby. Klient przedstawiając niejasne wymagania „systemu kamienia” wcale może nie mieć złej woli. mgr inż. Radosław Adamus

8 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Roadmap Typy i charakterystyka wymagań Inżynieria wymagań i zarządzanie wymaganiami Metody pozyskiwania wymagań Metody specyfikacji wymagań Model przypadków użycia i jego elementy. mgr inż. Radosław Adamus

9 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Wymaganie Może być definiowane: … od abstrakcyjnego opisu usług lub ograniczeń systemu … do szczegółowej matematycznej specyfikacji funkcjonalności Z punktu widzenia celu wymaganie: Może być podstawą oferty kontraktowej – czyli musi być otwarte na interpretacje Może być podstawą samego kontraktu – czyli musi być jednoznaczne i szczegółowe mgr inż. Radosław Adamus

10 Podstawowe typy wymagań
Wymagania użytkownika Zdania języka naturalnego powiązane z diagramami ukazującymi usługi systemu wraz z ograniczeniami. Pisane dla klientów Wymagania systemowe Dokument o określonej strukturze ustalający szczegóły funkcjonalności systemu, jego usług oraz ograniczeń przy których ma działać. Definiuje co ma być zaimplementowane – może być podstawą kontraktu pomiędzy zleceniodawcą a wykonawcą.

11 Definicje i specyfikacje
Definicja wymagań użytkownika – cech systemu 1. Oprogramowanie musi udostępniać mechanizm reprezentacji i dostępu do zewnętrznych plików tworzonych przez inne narzędzia. Specyfikacja wymagań systemowych 1.1 Użytkownik powinien mieć możliwość określenia typu zewnętrznego pliku 1.2 Każdy zewnętrzny plik może mieć powiązane narzędzie, które może być do niego zastosowane 1.3 Każdy typ zewnętrznego pliku powinien być reprezentowany przez specyficzną ikonę w interfejsie użytkownika 1.4 Użytkownik powinien mieć możliwość definiowana ikony powiązanej z typem zewnętrznego pliku 1.5 Efektem zaznaczenia przez użytkownika ikony reprezentującej zewnętrzny plik powinno być zastosowanie narzędzia powiązanego z typem zewnętrznego pliku.

12 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Inny przykład… Cechy (wymagania użytkownika) Wymagania systemowe Cecha 63 – system wykrywania błędów dostarczy informacji trendu, które pomogą użytkownikowi ocenić status przedsięwzięcia WO63.1 – informacje trendu będą dostarczone w raporcie histogramu, gdzie czas oznaczono n osi x, a liczbę defektów na osi y WO63.2 – użytkownik może wprowadzić okres wyznaczania trendu w jednostkach dni, tygodni lub miesięcy. WO63.3 – raport trendu powinien być zgodny z przykładem pokazanym na rysunku 3.1 (s. 56) mgr inż. Radosław Adamus

13 Wymagania stawiane oprogramowaniu - charakterystyka
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania stawiane oprogramowaniu - charakterystyka Wymagania są tymi „rzeczami”, które należy zdefiniować, aby w pełni opisać co robi system traktowany jako czarna skrzynka. System Wejścia Wyjścia Atrybuty środowiska systemu Funkcje Atrybuty systemu mgr inż. Radosław Adamus

14 Charakterystyka wymagań
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Charakterystyka wymagań Rodzaje wymagań: Wymagania funkcjonalne – zachowanie systemu (jakie akcje ma wykonywać system bez brania pod uwagę ograniczeń) Wymagania niefunkcjonalne – ograniczenia, które mają wpływ na wykonywane zadania systemu. Ograniczenia projektowe – ograniczenia dotyczące projektowania systemu, nie mające wpływu na jego zachowanie ale, które muszą być spełnione, aby dotrzymać zobowiązań technicznych, ekonomicznych lub wynikających z umowy Ograniczenia projektowe – przepisy i normy, według których realizowane jest przedsięwziecie. mgr inż. Radosław Adamus

15 Wymagania funkcjonalne
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania funkcjonalne Określenie wymagania funkcjonalnych obejmuje następujące zadania: Określenie wszystkich rodzajów użytkowników, którzy będą korzystać z systemu. Określenie wszystkich rodzajów użytkowników, którzy są niezbędni do działania systemu (obsługa, wprowadzanie danych, administracja). Dla każdego rodzaju użytkownika określenie funkcji systemu oraz sposobów korzystania z planowanego systemu. Określenie systemów zewnętrznych (obcych baz danych, sieci, Internetu), które będą wykorzystywane podczas działania systemu. Ustalenie struktur organizacyjnych, przepisów prawnych, statutów, zarządzeń, instrukcji, itd., które pośrednio lub bezpośrednio określają funkcje wykonywane przez planowany system. mgr inż. Radosław Adamus

16 Wymagania niefunkcjonalne
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania niefunkcjonalne Opisują ograniczenia, przy których system ma realizować swoje funkcje. Użyteczność (ang. Usability) Wymagany czas szkolenia, czas wykonania poszczególnych zadań, ergonomia interfejsu, pomoc, dokumentacja użytkownika Niezawodność (ang. Reliability) Dostępność, średni czas międzyawaryjny (MTBF), średni czas naprawy (MTTR), dokładność, maksymalna liczba błędów. Efektywność (ang. Performance) Czas odpowiedzi, przepustowość, czas odpowiedzi, konsumpcja zasobów, pojemność. Zarządzalność (ang. Supportability) Łatwość modyfikowania, skalowalność, weryfikowalność, kompatybilność, możliwości konfiguracyjne, serwisowe, przenaszalność. mgr inż. Radosław Adamus

17 Weryfikacja wymagań niefunkcjonalnych
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Weryfikacja wymagań niefunkcjonalnych Wymagania niefunkcjonalne powinny być weryfikowalne, tj. powinna istnieć możliwość sprawdzenia czy system je rzeczywiście spełnia. Np. wymaganie “system ma być łatwy w obsłudze” nie jest weryfikowalne. Cecha Wydajność Zasoby Łatwość użytkowania Niezawodność Przenaszalność Weryfikowalne miary Liczba transakcji obsłużonych w ciągu sekundy Czas odpowiedzi Szybkość odświeżania ekranu Wymagana pamięć RAM Wymagana pamięć dyskowa Czas niezbędny dla przeszkolenia użytkowników Liczba stron dokumentacji Prawdopodobieństwo błędu podczas realizacji transakcji Średni czas pomiędzy błędnymi wykonaniami Dostępność (procent czasu w którym system jest dostępny) Czas restartu po awarii systemu Prawdopodobieństwo zniszczenia danych w przypadku awarii Procent kodu zależnego od platformy docelowej Liczba platform docelowych Koszt przeniesienia na nową platformę mgr inż. Radosław Adamus

18 Ograniczenia projektowe
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Ograniczenia projektowe Ten rodzaj wymagań nakłada ograniczenia na projekt systemu lub proces, którego używamy do budowy. Produkt musi spełniać normę ISO 601 Proces wytwarzania musi być zgodny ze standardem DOD Mają często negatywny wpływ na elastyczność projektantów Użyj systemu Oracle, programuj w Visual Basic, użyj biblioteki klas XYZ. mgr inż. Radosław Adamus

19 Wymagania a inżynieria wymagań
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania a inżynieria wymagań Wymagania – opis usług i ograniczeń systemu generowany w procesie inżynierii wymagań Inżynieria wymagań – proces pozyskiwania, analizowania, dokumentowania oraz weryfikacji wymagań ... czyli zarządzania wymaganiami mgr inż. Radosław Adamus

20 Dlaczego inżynieria wymagań? (1)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dlaczego inżynieria wymagań? (1) Niezbędna umiejętność – pozyskiwanie wymagań od użytkowników i klientów. Zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie tych celów. Klient rzadko wie, jakie wymagania zapewnią osiągniecie jego celów. Jest to tak naprawdę proces, konstrukcji zbioru wymagań zgodnie z postawionymi celami. Dodatkowo zleceniodawcy i użytkownicy to często inne osoby. Głos zleceniodawców może być w tej fazie decydujący, chociaż nie zawsze potrafią oni właściwie przewidzieć potrzeby przyszłych użytkowników. mgr inż. Radosław Adamus

21 Dlaczego inżynieria wymagań? (2)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dlaczego inżynieria wymagań? (2) Organizacja i dokumentowanie wymagań Setki, jeżeli nie tysiąca wymagań jest prawdopodobnie związanych z systemem Według klienta prawdopodobnie wszystkie z nich są najważniejsze w 100%. Większość z nas nie może pamiętać więcej niż kilkadziesiąt informacji jednocześnie. mgr inż. Radosław Adamus

22 Dlaczego inżynieria wymagań? (3)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dlaczego inżynieria wymagań? (3) Śledzenie, kontrola dostępu i weryfikacja wymagań Którzy członkowie zespołu są odpowiedzialni za wymaganie nr 278, a którzy mogą je zmodyfikować lub usunąć? Jeżeli wymaganie nr 278 będzie zmodyfikowane, jaki to będzie miało wpływ na inne wymagania? Kiedy możemy być pewni, że ktoś napisał kod w systemie, spełniający wymaganie nr 278 i które testy z ogólnego zestawu testów są przeznaczone do sprawdzenia, że wymaganie rzeczywiście zostało spełnione? mgr inż. Radosław Adamus

23 Zarządzanie wymaganiami
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Zarządzanie wymaganiami Zarządzanie wymaganiami dotyczy procesu translacji potrzeb klientów w zbiór kluczowych cech i własności systemu. Następnie ten zbiór jest przekształcany w specyfikację funkcjonalnych i niefunkcjonalnych wymagań. Specyfikacja jest następnie przekształcana w projekt, procedury testowe i dokumentację użytkownika. mgr inż. Radosław Adamus

24 Zarządzanie wymaganiami i traceability
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Zarządzanie wymaganiami i traceability Problem Potrzeby użytkowników Przestrzeń problemu Cechy i własności Przestrzeń rozwiązania Traceability Wymagania Zarządzanie wymaganiami dotyczy procesu translacji wymagań klientów w zbiór kluczowych potrzeb i cech systemu. Następnie ten zbiór (cech i potrzeb) jest przekształcany w specyfikację funkcjonalnych i niefunkcjonalnych wymagań. Ta szczegółowa specyfikacja jest następnie przekształcana w projekt, procedury testowe i dokumentację użytkownika. „Traceability” pozwala na: Oszacowanie wpływu zmiany w wymaganiach na projekt. Oszacowanie wpływu jaki na wymagania będzie miał „zawalony” test (jeżeli test nie został zdany wymagania mogą nie być spełnione) Zarządzanie ramami projektu Zweryfikowanie czy wszystkie wymagania zostały spełnione przez implementację systemu Zweryfikowanie czy system robi tylko to co miał robić. Zarządzanie zmianami. Procedury testowe Projekt Dokumentacja użytkownika mgr inż. Radosław Adamus

25 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Traceability Oszacowanie wpływu zmiany w wymaganiach na projekt. Oszacowanie wpływu jaki na wymagania będzie miał „zawalony” test (jeżeli system nie przeszedł testu wymagania mogą nie być spełnione) Zarządzanie ramami projektu Zweryfikowanie czy wszystkie wymagania zostały spełnione przez implementację systemu Zweryfikowanie czy system robi tylko to co miał robić. Zarządzanie zmianami. Cecha Wymaganie Projekt Testy Dok. użytk. mgr inż. Radosław Adamus

26 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Pozyskiwanie wymagań mgr inż. Radosław Adamus

27 Bariery pozyskiwania wymagań
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Bariery pozyskiwania wymagań Syndrom „tak, ale” „Tak, ale hmmmm, teraz kiedy go już widzę, czy będzie można...? Czy nie lepiej byłoby, gdyby...? Przecież jeżeli..., to trudno będzie...” Syndrom „nieodkrytych ruin” Syndrom „użytkownik i programista” Użytkownicy, nie wiedzą, czego chcą, lub wiedzą, co chcą, ale nie mogą tego wyrazić. Użytkownicy uważają, że wiedzą, czego chcą, dopóki programiści nie dadzą im tego, o czym mówili, że chcą. Analitycy uważają, że rozumieją problemy użytkownika lepiej niż on sam. Wszyscy uważają, że inni mają określone motywacje polityczne. Jak można się przed tym bronić? mgr inż. Radosław Adamus

28 Przykładowe techniki pozyskiwania wymagań
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Przykładowe techniki pozyskiwania wymagań Śledzenie (ang. Shadowing) Wywiady (ang. Interviewing) Warsztaty pozyskiwania wymagań (ang. Focus groups) Przeglądy i ankiety (ang. Surveys) Instruowanie przez użytkowników (ang. User instructions) Prototypowanie (ang. Prototyping) mgr inż. Radosław Adamus

29 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Shadowing - śledzenie Polega na obserwowaniu użytkownika podczas wykonywania przez niego codziennych zadań w rzeczywistym środowisku. Rodzaje – pasywne i aktywne Zalety Informacja z pierwszej ręki w odpowiednim kontekście Łatwiejsze zrozumienie celu określonego zadania Możliwość zebrania nie tylko informacji ale i innych elementów środowiska (np. dokumenty, zrzuty ekranowe istniejącego rozwiązania) Zebranie informacji na temat istniejącego rozwiązania oraz tego czy i w jaki sposób jest ono frustrujące dla użytkowników Wady Nieodpowiednie dla zadań wykonywanych sporadycznie, zadań związanych z zarządzaniem, zadań długoterminowych, zadań nie wymagających działania użytkowników. mgr inż. Radosław Adamus

30 Interviewing - wywiady
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Interviewing - wywiady Spotkanie członka zespołu projektowego z użytkownikiem lub klientem Zalety Można uzyskać dużo informacji o problemach i ograniczeniach obecnej sytuacji, która ma być zmieniona przez nowy system. Daje możliwość uzyskania wielu informacji, które niekoniecznie można uzyskać przy wykorzystaniu techniki śledzenia. Wady Zależna od umiejętności i zaangażowania obu stron mgr inż. Radosław Adamus

31 Focus groups - warsztaty pozyskiwania wymagań
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Focus groups - warsztaty pozyskiwania wymagań Sesja w której wymagania ustala się w większej grupie (np. burza mózgów, odgrywanie ról, itp.) Zalety: Pozwala na uzyskanie szczegółowych informacji o szerszym kontekście aktywności biznesowych. Brak informacji u jednego z uczestników może być uzupełniona przez pozostałych. Wady: Wymaga zebrania większej grupy w jednym miejscu (rozproszenie geograficzne) Wymaga umiejętności prowadzenia dyskusji przez prowadzącego. mgr inż. Radosław Adamus

32 Surveys – przeglądy, pomiary (1)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Surveys – przeglądy, pomiary (1) Zbiór pytań utworzony w celu zebrania określonych informacji Kwestionariusze Wymagane przy rejestracji Informacje zwrotne Arkusze badania poziomu zadowolenia z produktu Zalety Anonimowe wyrażanie swojego zdania Odpowiedzi tabelaryzowane i łatwe w analizie Wady Pracochłonne Wymagana profesjonalna wiedza w celu tworzenia i analizy mgr inż. Radosław Adamus

33 Surveys – przeglądy, pomiary (2)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Surveys – przeglądy, pomiary (2) Może być pomocne w pozyskaniu następujących informacji Struktura organizacyjna, polityka działania, praktyki stosowane w pracy Frustracje związane z wykonywana pracą Wymagania specjalne związane z oprogramowaniem, sprzętem Efektywność programu szkoleniowego Stopień zadowolenia z produktu mgr inż. Radosław Adamus

34 User instructions – instruowanie przez użytkowników (1)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS User instructions – instruowanie przez użytkowników (1) W technice tej użytkownicy instruują przeprowadzającego badanie w sposobie w jaki wykonują określone zadania. Zalety Widzenie procesu z perspektywy użytkownika Zebranie informacji na temat doświadczenia pojedynczych osób Wady Może być czasochłonne Może być frustrująca dla badacza, jeżeli użytkownik nie jest przyzwyczajony do uczenia kogoś Różne osoby mogą wykonywać to samo zadanie w różny sposób mgr inż. Radosław Adamus

35 User instructions – instruowanie przez użytkowników (2)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS User instructions – instruowanie przez użytkowników (2) Może być pomocne w pozyskaniu następujących informacji Projekt interfejsu użytkownika Wymagania związane z procesem szkoleniowym Kryteria wydajnościowe systemu Wpływ środowiska na wykonywane zadania mgr inż. Radosław Adamus

36 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Specyfikacja wymagań Czy wymaganie nr jest sprzeczne z wymaganiem nr , a wymaganie 22.1 jest powiązane z wymaganiem 14.2? mgr inż. Radosław Adamus

37 Metody specyfikacji wymagań
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Metody specyfikacji wymagań Język naturalny - najczęściej stosowany. Wady: niejednoznaczność powodująca różne rozumienie tego samego tekstu; elastyczność, powodująca wyrazić te same treści na wiele sposobów. Utrudnia to wykrycie powiązanych wymagań i powoduje trudności w wykryciu sprzeczności. Formalizm matematyczny. Stosuje się rzadko (dla specyficznych celów). Język naturalny strukturalny. Język naturalny z ograniczonym słownictwem i składnią. Tematy i zagadnienia wyspecyfikowane w punktach i podpunktach. mgr inż. Radosław Adamus

38 Metody specyfikacji wymagań
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Metody specyfikacji wymagań Tablice, formularze. Wyspecyfikowanie wymagań w postaci (zwykle dwuwymiarowych) tablic, kojarzących różne aspekty (np. tablica ustalająca zależność pomiędzy typem użytkownika i rodzajem usługi). Diagramy blokowe: forma graficzna pokazująca cykl przetwarzania. Diagramy kontekstowe: ukazują system w postaci jednego bloku oraz jego powiązania z otoczeniem, wejściem i wyjściem. Model przypadków użycia: poglądowy sposób przedstawienia aktorów i funkcji systemu. Uważa się go za dobry sposób specyfikacji wymagań funkcjonalnych. mgr inż. Radosław Adamus

39 Dokument Specyfikacji Wymagań Oprogramowania (SWO)
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dokument Specyfikacji Wymagań Oprogramowania (SWO) Wymagania powinny być zebrane w dokumencie – specyfikacji wymagań oprogramowania. Dokument ten powinien być podstawą do szczegółowego kontraktu między klientem a producentem oprogramowania. Powinien także pozwalać na weryfikację stwierdzającą, czy wykonany system rzeczywiście spełnia postawione wymagania. Powinien to być dokument zrozumiały dla obydwu stron. Tekstowy dokument SWO jest najczęściej powiązany z innymi formami specyfikacji wymagań. mgr inż. Radosław Adamus

40 Zawartość dokumentu SWO
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Zawartość dokumentu SWO Streszczenie Spis treści Status dokumentu (roboczy, 1-sza faza, zatwierdzony, ...) Zmiany w stosunku do wersji poprzedniej Informacje organizacyjne 1. Wstęp 1.1. Cel 1.2. Zakres 1.3. Definicje, akronimy i skróty 1.4. Referencje, odsyłacze do innych dokumentów 1.5. Krótki przegląd 2. Ogólny opis 2.1. Walory użytkowe i przydatność projektowanego systemu 2.2. Ogólne możliwości projektowanego systemu 2.3. Ogólne ograniczenia 2.4. Charakterystyka użytkowników 2.5. Środowisko operacyjne 2.6. Założenia i zależności 3. Specyficzne wymagania 3.1. Wymagania co do możliwości systemu 3.2. Przyjęte lub narzucone ograniczenia. Przykładowy spis treści mgr inż. Radosław Adamus

41 Model Przypadków Użycia
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Model Przypadków Użycia mgr inż. Radosław Adamus

42 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Zachowanie systemu Zachowanie systemu jest opisem tego jak system działa i reaguje. Jest to widoczny z zewnątrz przejaw aktywności systemu. Model przypadków użycia opisuje zachowanie systemu. Model przypadków użycia opisuje: System Jego środowisko Związki pomiędzy systemem a jego środowiskiem mgr inż. Radosław Adamus

43 Podstawowe elementy modelu przypadków użycia.
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Podstawowe elementy modelu przypadków użycia. Przypadki użycia Aktorzy Specyfikacje przypadków użycia Przypadek użycia Aktor Reprezentuje sekwencję operacji inicjowaną przez aktora, niezbędnych do wykonania zadania zleconego (zainicjowanego) przez aktora, np. potwierdzenie pisma, złożenie zamówienia, itp. Reprezentuje rolę, którą może grać w sytemie jakiś jego użytkownik; (np. kierownik, urzędnik, klient) Aktorem jest dowolny byt zewnętrzny, który uczestniczy w interakcji z systemem. Każdy potencjalny aktor może wchodzić w interakcję z systemem na pewną liczbę jemu właściwych sposobów. Każdy z tych sposobów nosi nazwę przypadku użycia i reprezentuje przepływ operacji w systemie związany z obsługą zadania zleconego przez aktora w procesie interakcji. Przypadek użycia – Reprezentuje sekwencję operacji, niezbędnych do wykonania zadania zleconego przez aktora, np. potwierdzenie pisma, złożenie zamówienia, itp. Specyfikacja przypadku użycia – szczegółowy opis działania systemu dla określonego przypadku użycia mgr inż. Radosław Adamus

44 Aktor - konkretny byt czy rola?
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Aktor - konkretny byt czy rola? Aktor modeluje grupę osób pełniących pewną rolę, a nie konkretną osobę. Użytkownik Aktor Przypadek użycia Może grać rolę zleca Jan Iksiński Administrator systemu Przeładowanie systemu Adam Malina Pracownik Wejście z kartą i kodem Tworzenie modelu przypadków użycia wymaga od analityka określenia wszystkich aktorów związanych z wykorzystywaniem projektowanego systemu, czyli określenia “przyszłych użytkowników systemu”. Zazwyczaj aktorem jest osoba, ale może nim być także pewna organizacja (np. biuro prawne) lub inny system komputerowy. Aktor modeluje grupę osób pełniących pewną rolę, a nie konkretną osobę. Jedna osoba może wchodzić w interakcję z systemem z pozycji wielu aktorów; np. być zarówno sprzedawcą, jak i klientem. I odwrotnie, jeden aktor może odpowiadać wielu konkretnym osobom, np. aktor “strażnik budynku”. Aktor jest tu pierwotną przyczyną napędzającą przypadki użycia. Jest on sprawcą zdarzeń powodujących uruchomienie przypadku użycia, jak też odbiorcą informacji wyprodukowanych przez przypadki użycia. Uzyskanie informacji ogólnych Gość Osoba informowana Konkretny klient Klient Wypłata z konta mgr inż. Radosław Adamus

45 Diagram przypadków użycia – kontekst systemu
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Diagram przypadków użycia – kontekst systemu Opisuje funkcje systemu w terminach przypadków użycia. Rejestracja Student TworzenieTerminarzaKursów Pracownik Dziekanatu Zarządzanie studentami mgr inż. Radosław Adamus

46 Analiza i Projektowanie Systemów Informatycznych - wykład 2
Notacja KIS Rejestracja Przypadek użycia Student Aktor Interakcja. Blok ponownego użycia weryfikacja klienta Przypadek użycia: Powinien mieć unikalną nazwę, opisującą przypadek użycia z punktu widzenia jego zasadniczych celów. Czy lepiej jest stosować nazwę opisującą czynność (“wypłata pieniędzy”) czy polecenie (“wypłać pieniądze”) - zdania są podzielone. Aktor: Powinien mieć unikalną nazwę. Interakcja: Pokazuje interakcję pomiędzy przypadkiem użycia a aktorem. Blok ponownego użycia: Pokazuje fragment systemu, który jest używany przez kilka przypadków użycia; może być oznaczony jako samodzielny przypadek użycia. Relacja typu <<include>> (<<use>>) lub <<extend>>: Pokazuje związek zachodzący między dwoma przypadkami użycia lub przypadkiem użycia a blokiem ponownego użycia. Nazwa systemu wraz z otoczeniem systemu: Pokazuje granicę pomiędzy systemem a jego otoczeniem <<include>> Zależności (pomiędzy przypadkami użycia) <<extends>> mgr inż. Radosław Adamus

47 Diagram przypadków użycia - przykład
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Diagram przypadków użycia - przykład Automat do sprzedaży papierosów uzupełnienie towaru zakup paczki papierosów operacje pieniężne klient sporządzenie raportów operator kontroler mgr inż. Radosław Adamus

48 Dokumentacja przypadków użycia
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dokumentacja przypadków użycia Dokumentacja przypadków użycia powinna zawierać: 1. Diagramy przypadków użycia (aktorzy, przypadki użycia i relacje zachodzące między przypadkami) 2. Krótki, ogólny opis każdego przypadku użycia: - jak i kiedy przypadek użycia zaczyna się i kończy - opis interakcji przypadku użycia z aktorami, włączając w to kiedy interakcja ma miejsce i co jest przesyłane. - kiedy i do czego przypadek użycia potrzebuje danych zapamiętanych w systemie, lub jak i kiedy zapamiętuje dane w systemie - wyjatki występujące przy obsłudze przypadku - specjalne wymagania, np. czas odpowiedzi, wydajność - jak i kiedy używane są pojęcia dziedziny problemowej 3. Opis szczegółowy każdego przypadku użycia - scenariusze - diagram aktywności mgr inż. Radosław Adamus

49 Ciąg zdarzeń (przepływ sterowania) dla przypadku użycia
Analiza i Projektowanie Systemów Informatycznych - wykład 2 Ciąg zdarzeń (przepływ sterowania) dla przypadku użycia KIS Zawiera najważniejsze informacje, będące wynikiem prac nad opracowaniem przypadku użycia Powinien opisywać przepływ zdarzeń w przypadku użycia, w taki sposób, aby każdy mógł łatwo zrozumieć istotę działania Ciąg zdarzeń: Zawiera najważniejsze informacje, będące wynikiem prac nad opracowaniem przypadku użycia. Powinien opisywać przepływ zdarzeń w przypadku użycia, w taki sposób, aby każdy mógł łatwo zrozumieć istotę działania. Zawartość opisu przypadku użycia (ciągu zdarzeń) – wskazówki (RUP): Opisz jak przypadek użycia się zaczyna i jak kończy Opisz jakie dane są wymieniane pomiędzy aktorem i przypadkiem użycia Nie opisuj szczegółów interfejsu użytkownika, chyba że jest to istotne z punktu widzenia zrozumienia zachowania systemu. Opisz przepływ sterowania a nie tylko samą funkcjonalność systemu w danym przypadku użycia. Aby to osiągnąć spróbuj zaczynać opis od zwrotu typu: „Kiedy aktor …”. Opisz tylko zdarzenia, które należą do przypadku użycia nie opisuj tego, co się dzieje poza granicami systemu. Unikaj zbyt ogólnikowych zwrotów typu: „na przykład” czy „informacja”, „pewne dane” Ciąg zdarzeń powinien być opisany na tyle szczegółowo, aby odpowiadał na wszystkie pytania dotyczące tego „co się dzieje w tej sytuacji”. Dodatkowo, należy pamiętać o tym, że osoba projektująca testy będzie wykorzystywała ten tekst w trakcie projektowania przypadków testowych. mgr inż. Radosław Adamus

50 Ciągi zdarzeń (sterowania) dla przypadku użycia - scenariusze
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Ciągi zdarzeń (sterowania) dla przypadku użycia - scenariusze Podstawowy ciąg zdarzeń Alternatywne ciągi zdarzeń Zwykłe warianty Przypadki szczególne Sytuacje wyjątkowe Podstawowy ciąg zdarzeń Przypadek szczególny Sytuacja wyjątkowa Podstawowy ciąg zdarzeń jak wygląda standardowa realizacja przypadku użycia Alternatywne ciągi zdarzeń Aktor decyduje o działaniu wybierając jedną z dostępnych opcji Podciągi zdarzeń zależne od wartości z poprzednich przepływów Podciągi zdarzeń zależne od typy przetwarzanych danych Sytuacje wyjątkowe Obsługa błędów Obsługa przekroczeń założonego czasu Wariant mgr inż. Radosław Adamus

51 Ciągi zdarzeń - przykład
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Ciągi zdarzeń - przykład Przypadek użycia: Wybieranie metody wypłaty Podstawowy ciąg zdarzeń Przypadek użycia rozpoczyna się w momencie, gdy Pracownik zgłasza do systemu chęć wyboru metody wypłaty. 1. System prosi Pracownika o wybranie metody wypłaty (w kasie, droga pocztowa lub przelewem). 2. Pracownik wybiera metodę wypłaty. 3. Jeżeli Pracownik wybrał wypłatę w kasie, żadne dodatkowe informacje nie są potrzebne. - Jeżeli Pracownik wybrał wypłatę drogą pocztową, system prosi użytkownika o podanie adresu, na jaki mają być przesyłane pieniądze. - Jeżeli Pracownik wybrał wypłatę w postaci przelewu bankowego, system prosi o podanie nazwy banku i numeru konta. 4. Po podaniu przez Pracownika wymaganych informacji system uaktualnia informacje o Pracowniku. mgr inż. Radosław Adamus

52 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Scenariusze Liczba scenariuszy jest zawsze znacznie większa niż liczba przypadków użycia. Średnio skomplikowany system ma ok. kilkudziesięciu przypadków użycia, z których każdy rozwija się nawet do kilkudziesięciu scenariuszy. Przypadek użycia: Wybieranie metody wypłaty Warianty: Wybranie wypłaty w kasie Wybranie wypłaty drogą pocztową Wybranie wypłaty przelewem Pracownik nie znaleziony mgr inż. Radosław Adamus

53 Modelowanie zachowania - Diagramy aktywności
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Modelowanie zachowania - Diagramy aktywności W modelu przypadków użycia graficznie obrazuje działania wykonywane w danym przypadku użycia. Jest to diagram przepływu, który można wykorzystywać do obrazowania przepływu pracy (workflow), sterowania, zdarzeń, itp. Stan początkowy Aktywność Stan końcowy Aktywność – reprezentuje wykonywanie pewnego działania, lub kroku w przepływie pracy Blok decyzyjny – sprawdzenie warunków (ang. guard condition). W wyniku wybierana jest jedno z alternatywnych przejść. Bloku można użyć również w przypadku, gdy zbiegają się alternatywne wątki. Przejście, z zasady nie opisywane, ponieważ z reguły oznacza zakończenie aktywności; może być opatrzone warunkiem, może też być oznaczone symbolem iteracji; akcje opisujące przejścia powinny być raczej dołączone do którejś z aktywności. Sztabka synchronizującą (synchronization bar); może być typu “fork” (rozdzielenie jednej operacji na kilka przebiegających równolegle) lub typu “join” (złączenie kilku operacji równoległych w jedną). Blok decyzyjny Sztabka synchronizująca Przejście mgr inż. Radosław Adamus

54 Diagram aktywności - przykład
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Diagram aktywności - przykład Znajdź napój [ Kawa znaleziona ] [ Brak napoju ] Nalej sobie (fork) wody [ Herbata znaleziona ] Zrób herbatę Nasyp kawę do Nalej wody do Weź fliżankę filtru zbiornika Włóż filtr do ekspresu Nalej kawę Wypij (join) Włącz ekspres Parzenie kawy mgr inż. Radosław Adamus

55 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Swimlanes Klient Dział Sprzedaży Magazyn Wystaw zamówienie Pobierz zamówienie Skompletuj zamówienie Płać Diagramy aktywności opisują przepływy operacji, ale nie specyfikują, kto jest odpowiedzialny za ich wykonanie: którzy ludzie czy które komórki organizacyjne (z perspektywy pojęciowej). Wygodniejszym sposobem przenoszenia informacji tego rodzaju jest grupowanie aktywności odpowiednio do odpowiedzialności i umieszczanie ich w regionach rozdzielonych pionowymi liniami (jak na poprzedniej folii). Regiony, z powodu swojego wyglądu, są traktowane jak tory dla przepływów (tory pływackie) (swimlanes). Nazwy regionów odpowidają nazwom osób, komórek organizacyjnych. Wyślij to, co zamówiono Pamiętaj zamówienie mgr inż. Radosław Adamus

56 Kroki konstrukcji modelu przypadków użycia
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Kroki konstrukcji modelu przypadków użycia Krok Udokumentowany w: 1 Sporządzenie słownika pojęć Słownik pojęć 2 Określenie aktorów Dokument opisu aktorów 3 Określenie przypadków użycia 4 Tworzenie opisu każdego przypadku użycia plus: podział na nazwane części znalezienie wspólnych części w różnych przypadkach użycia Diagram przypadków użycia + Specyfikacje przypadków użycia Konstrukcja modelu przypadków użycia opiera się na kilku krokach i wymaga ścisłej współpracy z przyszłym użytkownikiem, co implikuje zasadę: “nie opisuj przypadków użycia w sposób, który nie jest łatwo zrozumiały dla użytkownika”. mgr inż. Radosław Adamus

57 Sporządzanie słownika pojęć
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Sporządzanie słownika pojęć Słownik dotyczy dziedziny problemowej Tworzenie go polega na wyłowieniu wszystkich terminów z wymagań użytkownika. Terminy mogą odnosić się do aktorów, przypadków użycia, obiektów, operacji, zdarzeń, itp. Terminy w słowniku powinny być zdefiniowane w sposób precyzyjny i jednoznaczny. Posługiwanie się terminami ze słownika powinny być regułą przy opisie każdego kolejnego problemu, sytuacji czy modelu. Przykład: Konto - pojedyncze konto w banku, w stosunku do którego wykonywane są bieżące transakcje. Konta mogą być różnych typów, a w szczególności: konta indywidualne, małżeńskie, firmowe i inne. Każdy klient może posiadać więcej niż jedno konto. Na co należy zwrócić uwagę przy kwalifikowaniu terminów do słownika: na rzeczowniki - mogą one oznaczać aktorów lub byty z dziedziny problemowej na frazy opisujące funkcje, akcje, zachowanie się - mogą one być podstawą wyróżnienia przypadków użycia. mgr inż. Radosław Adamus

58 Identyfikacja aktorów
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja aktorów Aby poprawnie określić aktorów należy odpowiedzieć na następujące pytania: Jaka grupa użytkowników potrzebuje wspomagania ze strony systemu (np. osoba wysyłająca korespondencję)? Jacy użytkownicy są konieczni do tego, aby system działał i wykonywał swoje funkcje (np. administrator systemu)? Z jakich elementów zewnętrznych (innych systemów, komputerów, czujników, sieci, itp.) musi korzystać system, aby realizować swoje funkcje. Po wyszukaniu aktorów, należy ustalić: Nazwę dla każdego aktora/roli, Zakresy znaczeniowe dla poszczególnych nazw aktorów oraz relacje pomiędzy zakresami (np. sekretarka  pracownik administracji  pracownik  dowolna osoba). Niekiedy warto ustalić hierarchię dziedziczenia dostępu do funkcji systemu dla aktorów. Ustalanie potencjalnych aktorów musi być powiązane z ustalaniem granic systemu, tj. odrzucaniem obszarów dziedziny problemowej, którymi system nie będzie się zajmować (zakres odpowiedzialności systemu). mgr inż. Radosław Adamus

59 Identyfikacja przypadków użycia
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja przypadków użycia Dla każdego aktora, znajdź funkcje (zadania), które powinien wykonywać w związku z jego działalnością w zakresie zarówno dziedziny przedmiotowej, jak i wspomagania działalności systemu informacyjnego. Staraj się powiązać w jeden przypadek użycia zespół funkcji realizujących podobne cele. Unikaj rozbicia jednego przypadku użycia na zbyt wiele pod-przypadków. Nazwy dla przypadków użycia: powinny być krótkie, ale jednoznacznie określające charakter zadania lub funkcji. Nazwy powinny odzwierciedlać czynności z punktu widzenia aktorów, a nie systemu, np. “wpłacanie pieniędzy”, a nie “przyjęcie pieniędzy od klienta”. Przypadki użycie nie powinny być zbyt szczegółowe. Rozdrobnienie typu: Usuwanie Studenta, Dodawanie Studenta nie powinny być osobnymi przypadkami użycia. Lepiej, jeżeli jest to jeden, większy przypadek użycia – Zarządzanie Studentem. Opisz przypadki użycia przy pomocy zdań w języku naturalnym, używając terminów ze słownika pojęć. mgr inż. Radosław Adamus

60 Identyfikacja przypadków użycia c.d.
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja przypadków użycia c.d. Uporządkuj aktorów i przypadki użycia w postaci diagramu przypadków użycia. Niektóre z powstałych w ten sposób przypadków użycia mogą być mutacjami lub szczególnymi przypadkami innych przypadków użycia. Przeanalizuj powiązania aktorów z przypadkami użycia i ustal, które z nich są zbędne lub mogą być uogólnione. Wyodrębnij “przypadki bazowe”, czyli te, które stanowią istotę zadań, są normalnym, standardowym użyciem. Pomiń czynności skrajne, wyjątkowe, uzupełniające lub opcjonalne. Przypadki użycie nie powinny być zbyt szczegółowe. Rozdrobnienie typu: Usuwanie Studenta, Dodawanie Studenta nie powinny być osobnymi przypadkami użycia. Lepiej, jeżeli jest to jeden, większy przypadek użycia – Zarządzanie Studentem. Nazwij te “przypadki bazowe”. Ustal powiązania “przypadków bazowych” z innymi przypadkami, poprzez ustalenie ich wzajemnej zależności: sekwencji czy alternatywy. mgr inż. Radosław Adamus

61 Identyfikacja przypadków użycia c.d.
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja przypadków użycia c.d. Dodaj zachowania skrajne, wyjątkowe, uzupełniające lub opcjonalne. Ustal powiązanie “przypadków bazowych” z tego rodzaju zachowaniem. Może ono być także powiązane w pewną strukturę. Staraj się, aby bloki specyfikowane wewnątrz każdego przypadku użycia nie były zbyt ogólne lub zbyt szczegółowe. Zbyt szczegółowe bloki utrudniają analizę. Zbyt ogólne bloki zmniejszają możliwość wykrycia bloków ponownego użycia. Struktura nie może być zbyt duża i złożona. Staraj się wyizolować bloki ponownego użycia. Przeanalizuj podobieństwo nazw przypadków użycia, podobieństwo nazw i zachowania bloków ponownego użycia występujących w ich specyfikacji. Wydzielenie bloku ponownego użycia może być powiązane z określeniem bardziej ogólnej funkcji lub dodaniu nowej specjalizacji do istniejącej funkcji. mgr inż. Radosław Adamus

62 Specyfikacja przypadku użycia
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Specyfikacja przypadku użycia Nazwa Krótki opis Opis ciągów zdarzeń (przepływu sterowania) Powiązania z innymi przypadkami użycia Diagramy aktywności (ew. stanu) Diagramy przypadków użycia Wymagania specjalne Warunki wejściowe (ang. pre-conditions) Warunki wyjściowe (ang. post-conditions) Inne diagramy Nazwa – powinna określać co jest wynikiem interakcji z użytkownikiem, nazwa może być kilkuwyrazowa, nazwy nie powinny się powtarzać, Krótki opis – krótki (kilkulinijkowy) opis roli i celu przypadku użycia Opis ciągów zdarzeń (przepływu sterowania) – tekstowy opis działania systemu związanego z przypadkiem użycia. Ciągów zdarzeń może być wiele (np. Podstawowy ciąg zdarzeń, alternatywne ciągi zdarzeń) Powiązania z innymi przypadkami użycia – związki pomiędzy przypadkami użycia typu <<include>> oraz <<extends>> Diagramy aktywności – graficzny opis przepływu sterowania Diagramy przypadków użycia – graficzna prezentacja związków, w które zaangażowany jest opisywany przypadek użycia Wymagania specjalne – tekstowy opis wszystkich wymagań związanych z przypadkiem użycia, które nie są wyrażone w modelu (np. wymagania niefunkcjonalne), a które powinny być brane pod uwagę w procesie projektowania i implementacji systemu. Warunki wejściowe – definicja warunków, które musza być spełnione aby uruchomić dany przypadek użycia Warunki wyjściowe – definicja warunków jakie spełnia system, po zakończeniu przypadku użycia. Inne diagramy – dodatkowa ilustracja przypadków użycia, ręczne rysunki, zrzuty ekranów użytkownika. mgr inż. Radosław Adamus

63 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Podsumowanie Zarządzanie wymaganiami - pozyskiwanie, analizowanie, dokumentowanie oraz weryfikacja wymagań Wymagania: funkcjonalne i niefunkcjonalne Pozyskiwanie wymagań jest procesem trudnym, wymagającym odpowiedniego przygotowania mgr inż. Radosław Adamus

64 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Do poczytania Dąbrowski, Subieta: Podstawy Inżynierii Oprogramowania, rozdział 3. Wiecej nt. zarządzania wymaganiami: Leffingwell D., Widrig D., Zarządzanie wymaganiami, WNT, Wa-wa, 2003. Model przypadków użycia: Booch G., Rumbaugh J., Jacobson I.: UML przewodnik użytkownika, WNT, Wa-wa, 2001. Spis praw użytkownika (A Computer User’s Manifesto) - mgr inż. Radosław Adamus

65 Analiza i Projektowanie Systemów Informatycznych - wykład 2
KIS Dokumenty/Narzędzia Rekomendowana przez IEEE struktura dokumentu wymagań (IEEE recommended practice for software requirements specifications IEEE Std ) Rational Requisite Pro www-306.ibm.com/software/rational – narzędzie do zarządzania wymaganiami. mgr inż. Radosław Adamus

66 Na koniec metafora ... ku przestrodze
Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Na koniec metafora ... ku przestrodze To co klient zamówił To co analityk zrozumiał To co projekt opisywał To co zrobili programiści Projekt po uruchomieniu I wdrożeniu To, za co zapłacił klient To, czego klient potrzebował Praktyczne zastosowanie projektu mgr inż. Radosław Adamus


Pobierz ppt "Inżynieria Oprogramowania"

Podobne prezentacje


Reklamy Google