Wymagania pozafunkcjonalne Opracowanie: dr inż. M. Ochodek?
Plan wykładu Wymagania pozafunkcjonalne ISO 25010:2011 Jakość użycia produktu Jakość produktu
Wymagania pozafunkcjonalne Wymagania pozafunkcjonalne, nie są bezpośrednio związane z funkcjami aplikacji. Opisują własności (cechy, charakterystyki) produktu, np. oprogramowania.
Motywacja Przepustowość drogi?
Charakterystyki dobrej specyfikacji Poprawna; Jednoznaczna; Kompletna; Spójna; Uporządkowana według ważności; Weryfikowalna; Modyfikowalna; Spełnienie wygórowanych wymagań pozafunkcjonalnych jest często kosztowne, dlatego należy specyfikować je racjonalnie... Umożliwiająca śledzenie zależności. Zadbaj aby wymagania pozafunkcjonalne były mierzalne! (unikaj stwierdzeń typu: system ma być wydajny...)
Wymaganie pozafunkcjonalne Dobre to znaczy jakie?
Wymagania pozafunkcjonalne NFR: Stwierdzenie System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności? MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie ID System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. np. 123, NFR12 Kategoria np. bezpieczeństwo IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie ID System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. np. 123, NFR12 Kategoria np. bezpieczeństwo IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna? Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie ID System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. np. 123, NFR12 Kategoria np. bezpieczeństwo Ważność/Złożoność np. H/L/M IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie ID System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. np. 123, NFR12 Kategoria np. bezpieczeństwo Ważność/Złożoność np. H/L/M IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna? Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie ID System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. np. 123, NFR12 Kategoria np. bezpieczeństwo Ważność/Złożoność np. H/L/M (?) Metoda weryfikacji np. serwer testowy o parametrach itp.. IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie ID System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. np. 123, NFR12 Kategoria np. bezpieczeństwo Ważność/Złożoność np. H/L/M (?) Metoda weryfikacji np. serwer testowy o parametrach itp.. IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne NFR: Stwierdzenie ID System powinien generować raport roczny sprzedaży w ciągu maksymalnie 20 minut. np. 123, NFR12 Kategoria np. bezpieczeństwo Ważność/Złożoność np. H/L/M (?) Metoda weryfikacji np. serwer testowy o parametrach itp.. IEEE Poprawna Jednoznaczna Kompletna Spójna Priorytetyzowalna Weryfikowalna Modyfikowalna Um. śledzenie zależności MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Wymagania pozafunkcjonalne Definicja poprzez rozwiązanie np. bezpieczeństwo połączenie szyfrowane np. HTTPS Definicja poprzez stosowanie praktyki np. łatwość operowania warsztaty GUI
Kategorie Kategorie wymagań pozafunkcjonalnych np. bezpieczeństwo, odporność na błędy, wydajność lista lub hierarchia Category_1 NFR1 NFR2 NFR3 Category_1 SubCategory_1.1 SubCategory_1.2 NFR1 NFR2 NFR3 NFR4 NFR5 Category_2 Category_2
Trzy siły w projekcie Inwestor Użytkownicy Dostawca
Typowy przepływ zainteresowania wymaganiami Użytkownicy Inwestor Dostawca
Rodzaje wymagań Wiążące (ang. binding) Z kontraktu / umowy Inwestor Użytkownicy Dostawca
Rodzaje wymagań Wiążące (ang. binding) Z kontraktu / umowy Niewiążące (ang. Notbinding) Implicite, oczekiwania Inwestor Użytkownicy Dostawca
Rodzaje wymagań Wiążące (ang. binding) Z kontraktu / umowy Niewiążące (ang. Notbinding) Implicite, oczekiwania Te które, zapewnione są mimo braku w kontrakcie np. dla dobra dalszego rozwoju Użytkownicy Inwestor Dostawca
Jakość produktu i jakość użycia produktu ISO 25010:2011 Produkt Ludzie wspomagani przez produkt
Jakość produktu i jakość użycia produktu ISO 25010:2011 Rzadko spotykane podejście do specyfikowania wymagań pozafunkcjonalnych. Nie określamy jaki ma być produkt, ale jak ma wpłynąć na nasze funkcjonowanie. Produkt Ludzie wspomagani przez produkt
Jakość użycia produktu
Jakość użycia produktu Efektywność Wydajność pracy Satysfakcja Redukcja ryzyka Dopasowanie do kontekstu Ludzie wspomagani przez produkt
Jakość użycia produktu Efektywność Wydajność pracy Satysfakcja Dokładność i kompletność z jaką użytkownicy osiągają określone cele. Redukcja ryzyka Dopasowanie do kontekstu Ludzie wspomagani przez produkt
Jakość użycia produktu Efektywność Wydajność pracy Satysfakcja Redukcja ryzyka Dopasowanie do kontekstu Ilość zasobów (czas pracy, materiały, pieniądze) potrzebna do tego, by użytkownicy mogli osiągać swoje cele z określoną dokładnością i kompletnością. Ludzie wspomagani przez produkt
Jakość użycia produktu Efektywność Wydajność pracy Satysfakcja Redukcja ryzyka Dopasowanie do kontekstu Redukcja ryzyka ekonomicznego Redukcja ryzyka związanego z życiem i zdrowiem Redukcja ryzyka wpływu na środowisko
Jakość produktu i jakość użycia produktu ISO 25010:2011 Produkt Ludzie wspomagani przez produkt
Jakość produktu
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Produkt
Pytanie Które z charakterystyk wydają się Państwu najważniejsze i najbardziej problematyczne z punktu widzenia dostawcy, inwestora i użytkownika? Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Funkcjonalna kompletność Funkcjonalna poprawność Funkcjonalna odpowiedniość
Jakość produktu Odpowiedniość funkcjonalna Stopień w jakim zbiór funkcji pokrywa wszystkie określone zadania Wydajność i cele użytkownika. Kompatybilność Jeśli funkcja Użyteczność F ułatwia osiągnięcie celu C, to funkcja F pokrywa cel C. Niezawodność Bezpieczeństwo Stopień w jakim funkcje programu ułatwiają osiągnięcie określonych zadań i celów. Łatwość utrzymania Przenośność Problem Funkcjonalna kompletność Funkcjonalna poprawność Funkcjonalna odpowiedniość kompletność odpowiedniość Wymagania funkcjonalne
Czy ten rower jest odpowiedni?
Funkcjonalne dopasowanie Wydajność Kompatybilność Bezpieczeństwo Łatwość utrzymania Przenośność Jakość produktu Wymaganą dokładność należy określić. Stopień w jakim produkt lub Użyteczność system dostarcza poprawne wyniki z wymaganą Niezawodność dokładnością. Kompletność funkcji Poprawność funkcji Odpowiedniość funkcji 2 π = -1 2 π = 6,3
Funkcjonalne dopasowanie Wydajność Kompatybilność Bezpieczeństwo Łatwość utrzymania Przenośność Jakość produktu Wymaganą dokładność należy określić. Stopień w jakim produkt lub Użyteczność system dostarcza poprawne wyniki z wymaganą Niezawodność dokładnością. Kompletność funkcji Poprawność funkcji Wynagrodzenie dla recenzenta za recenzję ma być prezentowane Odpowiedniość z dokładnością dwóch funkcji miejsc po przecinku w walucie PLN np. 2,45PLN. Wynagrodzenie dla recenzenta za miesiąc pracy podsumowujące wszystkie recenzje ma być 2 π = -1 2 π = 6,3 zaokrąglane do pełnych złotych i tak prezentowane np. 100 PLN.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Charakterystyka czasowa Zużycie zasobów Rezerwa wydajności
Jakość produktu Odpowiedniość funkcjonalna Stopień w jakim czas odpowiedzi i czas przetwarzania oraz Wydajność przepustowość produktu lub Kompatybilność systemu spełniają wymagania. Użyteczność Niezawodność Bezpieczeństwo Charakterystyka czasowa Zużycie zasobów Rezerwa wydajności Czas Łatwość między utrzymania zatwierdzeniem dodania nowego dokumentu o wielkości Przenośność 5 MB, a wyświetleniem potwierdzenia systemu o poprawnym dodaniu nie powinien być dłuższy niż 5 minut.
Czas odpowiedzi Typ operacji Sytuacje wyjątkowe Granice pomiaru Tolerowalny czas Uzasadnienie czasu Orientacyjna platforma sprzętowa Graniczne obciążenie Motywacja
Przepustowość Czas przetwarzania określonych operacji Przedmiot pomiaru Typowe obciążenie innymi operacjami Orientacyjna platforma sprzętowa Średnia przepustowość Skrajne przepustowości Obiekty przetwarzane
Jakość produktu Stopień Odpowiedniość spełnienia wymagań dotyczących funkcjonalna ilości i typów zasobów wykorzystywanych Wydajność przez produkt lub Kompatybilność system podczas wykonywania jego funkcji. Użyteczność Charakterystyka czasowa Zużycie zasobów Niezawodność Rezerwa wydajności System Bezpieczeństwo powienien obsługiwać co najmniej 125 użytkowników jednocześnie modyfikujących dane systemu na następującym sprzęcie: 1 procesor RISC 64-bit Power5 Łatwość 1.65 utrzymania GHZ, 2 GB RAM, 1 wirtualny interfejs sieciowy Ethernet 1Gb/s, zbiór dysków Przenośność twardych o łącznej pojemności 2TB pracujących w mirroringu (osobne 2TB) w technologii 2Gb/s Fibre Channel.
Jakość produktu Funkcjonalne dopasowanie Wydajność Stopień w jakim maksymalne Kompatybilność ograniczenia nałożone na parametry Użyteczność produktu lub systemu spełniają wymagania. Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Charakterystyka czasowa Zużycie zasobów Rezerwa wydajności Zazwyczaj nie wymaga dodatkowej specyfikacji
Przykładowe wzoce wymagań Czas między <pobudzenie> a <odpowiedź systemu> nie powinien być nigdy dłuższy niż <ilość czasu>. Czas oczekiwania <wskazać aktora> na realizację <wskazać operację> w <liczba>% przypadków nie powinien być dłuższy niż <ilość czasu>. System powinien działać poprawnie przy założeniu, że dostępne są następujące ilości zasobów <typ zasobu> - nie więcej niż <liczba i jednostka miary>.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Współistnienie Interoperacyjność
Bezpieczeństwo Łatwość utrzymania Przenośność Jakość produktu Stopień Odpowiedniość w jakim produkt może skutecznie funkcjonalna realizować wymagane od Wydajność niego funkcje podczas współdzielenia Kompatybilność z innymi produktami wspólnego środowiska i zasobów, Użyteczność bez szkodliwego wpływu na jakikolwiek Niezawodność inny produkty. Współistnienie Interoperacyjność Nasz system Inne systemy
Przykłady wymagań System powinien bez problemu równolegle pracować z następującymi aplikacjami: Norton AntyVirus 2009, QK SMTP Server w dowolnej wersji. Użytkownicy systemu muszą mieć zagwarantowaną możliwość jednoczesnego i bezkolizyjnego korzystania zarówno z systemu, jak i następujących aplikacji: MS Office 2007, Lotus Notes 7.0.
Jakość produktu Odpowiedniość funkcjonalna Stopień w jakim dwa lub więcej Wydajność systemy, produkty lub komponenty mogą Kompatybilność wymieniać dane i przetwarzać je. Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Nasz system Współistnienie Interoperacyjność Inne systemy
Przykłady wymagań System ma współpracować z następującymi systemami: Krajowy Rejestr Matur (KReM), System płatności VISA Card.
Przykładowe wzoce wymagań System powinien bez problemu równolegle pracować z następującymi aplikacjami: <wskazać aplikację>. Budowany system ma współdziałać z następującymi systemami: <wskazać systemy>. Budowany system ma wczytywać pliki w następujących formatach: <wskazać format pliku> w wersji <wskazać wersję formatu>.
Jakość produktu Funkcjonalne dopasowanie Rozpoznawalność zastosowania Wydajność Łatwość nauczenia Kompatybilność Użyteczność Łatwość operowania Niezawodność Ochrona użytkownika przed błędami Bezpieczeństwo Estetyka interfejsu użytkownika Łatwość utrzymania Ułatwienie dostępności Przenośność
Jakość produktu Odpowiedniość funkcjonalna Stopień w jakim użytkownicy mogą rozpoznać czy produkt lub system Wydajność odpowiada ich Kompatybilność potrzebom. Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Rozpoznawalność zastosowania Łatwość nauczenia Łatwość operowania Ochrona użytkownika przed błędami Estetyka interfejsu użytkownika Ułatwienie dostępności Dotyczy tylko COTS. Marketing. Trudno wyspecyfikować.
Jakość produktu Stopień Odpowiedniość w jakim produkt lub system funkcjonalna może być wykorzystany przez określonych Wydajność użytkowników w celu osiągnięcia określonych Kompatybilność celów związanych z nauczeniem się korzystania Użyteczność z produktu lub systemu Niezawodność w skuteczny, wydajny, wolny Bezpieczeństwo od ryzyka i satysfakcjonujący sposób we Łatwość utrzymania wskazanym kontekście użycia. Przenośność Rozpoznawalność zastosowania Łatwość nauczenia Łatwość operowania Ochrona użytkownika przed błędami Estetyka interfejsu użytkownika Ułatwienie dostępności Trudne do bezpośredniego wyspecyfikowania. współfinansowany Wymagania przez Unię Europejską w ramach pośrednie: środków Europejskiego Funduszu Społecznego Włączenie użytkowników do procesu projektowania. Iteracyjny rozwój oprogramowania (wiele wdrożeń pośred.). MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Przykłady wymagań Użytkownik końcowy będzie w stanie poprawnie korzystać z 90% dostępnych funkcji systemu po 3 godzinach pracy z oprogramowaniem bez dodatkowego szkolenia.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Stopień Użyteczność w jakim produkt lub system umożliwia łatwe Niezawodność operowanie i sterowanie nim. Bezpieczeństwo Łatwość utrzymania Przenośność Rozpoznawalność zastosowania Łatwość nauczenia Łatwość operowania Ochrona użytkownika przed błędami Estetyka interfejsu użytkownika Ułatwienie dostępności Trudne do bezpośredniego wyspecyfikowania. współfinansowany Wymagania przez Unię Europejską w ramach pośrednie: środków Europejskiego Funduszu Społecznego Włączenie użytkowników do procesu projektowania. Iteracyjny rozwój oprogramowania (wiele wdrożeń pośred.). MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Przykłady wymagań Użytkownik końcowy będzie w stanie wywołać 80% dostępnych funkcji za pomocą skrótów klawiaturowych. Użytkownik końcowy będzie w stanie wywołać każdą dostępną funkcję w nie więcej niż 4 kliknięciach myszką.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Stopień w jaki system chroni użytkowników Użyteczność przed popełnieniem błędów. Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Rozpoznawalność zastosowania Łatwość nauczenia Łatwość operowania Ochrona użytkownika przed błędami Estetyka interfejsu użytkownika Ułatwienie dostępności
Przykłady wymagań System ma umożliwiać wycofanie ostatniej operacji. System ma prosić o potwierdzenie wykonania wszystkich nieodwracalnych operacji. System ma sprawdzać poprawność semantyczną danych i informować użytkownika o swoich podejrzeniach.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Stopień w jakim interfejs użytkownika Niezawodność pozwala użytkownikowi Bezpieczeństwo na miła i satysfakcjonującą interakcję. Łatwość utrzymania Przenośność Rozpoznawalność zastosowania Łatwość nauczenia Łatwość operowania Ochrona użytkownika przed błędami Estetyka interfejsu użytkownika Ułatwienie dostępności Trudne do bezpośredniego wyspecyfikowania. współfinansowany Wymagania przez Unię Europejską w ramach pośrednie: środków Europejskiego Funduszu Społecznego Włączenie użytkowników do procesu projektowania. Zatrudnienie ekspertów od interfejsu użytkownika MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Jakość produktu Funkcjonalne dopasowanie Wydajność Stopień Kompatybilność w jakim produkt lub system może być wykorzystany Użyteczność przez ludzi o bardzo różnych cechach Niezawodność i możliwościach do osiągnięcia Bezpieczeństwo określonego celu w określonym kontekście użycia. Łatwość utrzymania Przenośność Rozpoznawalność zastosowania Łatwość nauczenia Łatwość operowania Ochrona użytkownika przed błędami Estetyka interfejsu użytkownika Ułatwienie dostępności
Przykłady wymagań System ma być dostępny również dla osób niedowidzących. System ma umożliwiać skorzystanie z funkcjonalności również osobom z upośledzeniem rozpoznawania barw.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Dojrzałość Dostępność techniczna Tolerancja uszkodzeń Odtwarzalność
Jakość produktu Wydaje Funkcjonalne się nadmiarowe dopasowanie w kontekście dostępności technicznej. Wydajność Kompatybilność Stopień w jakim system spełnia Użyteczność potrzeby w zakresie niezawodności Niezawodnośćw normalnych Bezpieczeństwo warunkach pracy. Łatwość utrzymania Przenośność Dojrzałość Dostępność techniczna Tolerancja uszkodzeń Odtwarzalność
Jakość produktu Odpowiedniość funkcjonalna System musi być dostępny dla wszystkich użytkowników od godziny 6:00 do 22:00 (CET) we wszystkie dni tygodnia przez cały rok. Wydajność Kompatybilność Stopień w jakim system, produkt Użyteczność lub komponent jest sprawny i dostępny Niezawodność kiedykolwiek jest Bezpieczeństwo potrzebny. Łatwość utrzymania Przenośność Dojrzałość Dostępność techniczna Tolerancja uszkodzeń Odtwarzalność
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Stopień w jakim system, produkt lub komponent Użyteczność działa zgodnie z przeznaczeniem Niezawodność pomimo wad sprzętu lub oprogramowania. Bezpieczeństwo Łatwość utrzymania Przenośność Zdarzenie Dojrzałość Dostępność techniczna Tolerancja uszkodzeń Odtwarzalność Alternatywne działanie
Przykłady wymagań W przypadku wystąpienia zbyt dużego obciążenia serwera zapytaniami użytkowników, system powinien wyświetlić informację o tymczasowym braku dostępu do systemu, powinien również powiadomić administratora, wysyłając wiadomość e-mail na adres administrator@budowany.system.pl. W razie awarii systemu KReM system ma umożliwiać ręczne wprowadzanie wyników egzaminów maturalnych.
Jakość produktu Odpowiedniość funkcjonalna W razie awarii systemu ma umożliwiać odtworzenie danych i stanu systemu w ciągu 2 godzin. Wydajność Kompatybilność Stopień w jakim, w przypadku awarii lub przerwania, Użyteczność produkt lub system może odtworzyć Niezawodność dane bezpośrednio naruszone przez tę awarię i Bezpieczeństwo przywrócić pożądany stan systemu. Łatwość utrzymania Przenośność Awaria Dojrzałość Dostępność techniczna Tolerancja uszkodzeń Odtwarzalność Zakres i czas odtworzenia danych
Przykładowe wzoce wymagań System musi być dostępny dla <wskazać użytkowników> w okresie <podać czas>. W przypadku wystąpienia <opis zdarzenia> system powinien <opis zachowania>. W przypadku wystąpienia <opis zdarzenia> system powinien przywrócić swoją zdolność działania w zakresie <wskazać funkcjonalność> w ciągu <wskazać czas>.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Poufność danych Integralność Niezaprzeczalność Identyfikowalność Autentyczność
Jakość produktu Funkcjonalne dopasowanie Stopień w jakim produkt lub system zapewnia, Wydajność że dane są dostępne tylko Kompatybilność dla upoważnionych osób. Użyteczność Niezawodność Bezpieczeństwo Przenośność Poufność danych Integralność Niezaprzeczalność Identyfikowalność System Łatwość ma utrzymania mieć dodatkową funkcjonalność dotyczącą Autentyczność zarządzania prawami dostępu i egzekwowania tych praw.
Jakość produktu Stopień Odpowiedniość w jakim system, produkt lub funkcjonalna komponent zapobiega nieautoryzowanej Wydajność modyfikacji programu Kompatybilność komputerowego lub danych. Użyteczność Niezawodność Bezpieczeństwo Przenośność Poufność danych Integralność Niezaprzeczalność Identyfikowalność System musi uniemożliwiać wprowadzenie jakichkolwiek zmian w treści Łatwość zatwierdzonego utrzymania dokumentu przez użytkowników Autentyczność oraz przez Administratora.
Jakość produktu Funkcjonalne dopasowanie Stopień w jakim można udowodnić Wydajność podjęcie działań lub wystąpienie Kompatybilność zdarzeń, tak by nie można było zaprzeczyć Użytecznośćich wystąpieniu. Niezawodność Bezpieczeństwo Poufność danych Integralność Niezaprzeczalność Identyfikowalność System ma być wyposażony w rejestr działań i zdarzeń Łatwość utrzymania Autentyczność umożliwiający udowodnienie ich wystąpienia. Rejestr ma obejmować Przenośność historię ostatnich... dni i rejestrować następujące działania i zdarzenia:
Kompatybilność Użyteczność Niezawodność Przenośność Jakość produktu System ma być wyposażony w rejestr podmiotów podejmujących Odpowiedniość następujące funkcjonalna działania:... Wydajność Rejestr ma obejmować historię ostatnich... dni. Poufność danych Stopień w jakim można Bezpieczeństwo zidentyfikować podmiot, który podjął Łatwość utrzymania dane działania. Integralność Niezaprzeczalność Identyfikowalność Autentyczność
Jakość produktu Odpowiedniość funkcjonalna Dostęp do systemu powinien być chroniony hasłem ustawianym indywidualnie przez każdego użytkownika. Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Stopień w jakim można dowieść autentyczność Łatwość utrzymania podmiotu lub zasobu. Przenośność Poufność danych Integralność Niezaprzeczalność Identyfikowalność Autentyczność
Przykładowe wzoce wymagań System powinien być odporny na następujące próby nielegalnego dostępu: <wskazać typy nielegalnego dostępu>. System powinien zapisywać informacje o następujących zdarzeniach naruszających bezpieczeństwo: <opis zdarzeń>, dokumentując każde w nich w następujący sposób: <opis danych zdarzenia>. Dane dotyczące <wskazać dane> mają być jawne/dostęp do nich mają wszyscy użytkownicy systemu.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Modularność Łatwość re-użycia Łatwość analizy Łatwość modyfikacji Łatwość testowania
Jakość produktu Funkcjonalne dopasowanie Wydajność Stopień w jakim system lub Kompatybilność aplikacja jest stworzona z osobnych Użyteczność komponentów takich, że zmiana Niezawodność jednego ma minimalny wpływ na zmianę drugiego Bezpieczeństwo Łatwość utrzymania Przenośność Modularność Łatwość re-użycia Łatwość analizy Łatwość modyfikacji Łatwość testowania
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Stopień Użyteczność w jakim część sytemu może Niezawodność być wykorzystana w innym systemie, lub do budowania Bezpieczeństwo innych systemów, modułów. Łatwość utrzymania Przenośność Modularność Łatwość re-użycia Łatwość analizy Łatwość modyfikacji Łatwość testowania
Jakość produktu Funkcjonalne dopasowanie Wydajność Stopień Kompatybilność efektywności i wydajności z jakim istnieje możliwość oceny wpływu Użyteczność zmiany na produkt lub system Niezawodność lub diagnozy produktu w celu znalezienia Bezpieczeństwo przyczyn błędów lub części, Łatwość które mają utrzymania być zmienione. Przenośność Modularność Łatwość re-użycia Łatwość analizy Łatwość modyfikacji Łatwość testowania
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Stopień w jaki system lub program Użyteczność mogą być efektywnie i wydajnie zmienione Niezawodność tak aby nie wprowadzić innych Bezpieczeństwo błędów i nie pogorszyć jakości produktu. Łatwość utrzymania Przenośność Modularność Łatwość re-użycia Łatwość analizy Łatwość modyfikacji Łatwość testowania
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Stopień efektywności z jakim można Niezawodność ustalić kryteria testów dla systemu, produktu Bezpieczeństwo lub komponentu oraz na ile Łatwość można utrzymania stwierdzić, że kryteria zostały spełnione na podstawie Przenośność wykonania testów. Modularność Łatwość re-użycia Łatwość analizy Łatwość modyfikacji Łatwość testowania
Przykłady wymagań System powinien rejestrować wszystkie operacje na bazie danych w dzienniku bazy danych. Dostosowanie systemu do nowych rozporządzeń prawnych nie powinno trwać dłużej niż 2 dni robocze od momentu uchwalenia rozporządzenia przez odpowiednie organy. System powinien posiadać automatyczne testy wydajnościowe symulujące jednoczesną pracę 1000 użytkowników wykonujących losowe operacje (z czego połowa byłaby operacjami modyfikacji danych).
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Użyteczność Niezawodność Bezpieczeństwo Łatwość utrzymania Przenośność Łatwość adaptacji Łatwość instalacji Łatwość zamiany
Jakość produktu Funkcjonalne dopasowanie Stopień Wydajność w jakim produkt lub system Kompatybilność może być efektywnie i wydajnie Użyteczność zaadaptowany do innych lub zmieniających się Niezawodność warunków sprzęt, oprogramowanie, Bezpieczeństwowyposażenie, inne elementy Łatwość utrzymania środowiska/kontekstu. Przenośność Łatwość adaptacji Łatwość instalacji Łatwość zamiany
Jakość produktu Funkcjonalne Stopień w dopasowanie jakim efektywnie i wydajnie produkt lub system mogą być z sukcesem Wydajnośćzainstalowane i odinstalowane w danym Kompatybilność środowisku. Użyteczność Przez kogo? Jak? Co jest Niezawodność potrzebne? Kiedy? Bezpieczeństwo Łatwość adaptacji Łatwość instalacji Łatwość zamiany Np. Każda Łatwość nowa utrzymania wersja powinna instalować się automatycznie, a sprawdzanie czy są nowsze Przenośność wersje powinno następować po uruchomieniu aplikacji.
Jakość produktu Funkcjonalne dopasowanie Wydajność Kompatybilność Stopień w jakim produkt może być Użyteczność zastąpiony innym produktem dla realizacji Niezawodność tego samego celu w Bezpieczeństwo danym środowisku. Łatwość utrzymania Przenośność Łatwość adaptacji Łatwość instalacji Łatwość zamiany
Przykładowe wzoce wymagań System powinien móc działać w następujących środowiskach: <opis środowiska>. System powinien się instalować automatycznie i nie powinno to trwać dłużej niż <liczba i jednostka czasu>. System powinien instalować się w następujący sposób <opis>.
Funkcjonalne <-> Pozafunkcjonalne UC1: Zgłoś artykuł Poziom: Użytkownika Aktor główny: Autor Scenariusz główny: 1. Autor wybiera opcję zgłoszenia artykułu. 2. System prosi o podanie danych artykułu. 3. Autor podaje wymagane dane na temat artykułu. 4. System informuje o pomyślnym zgłoszeniu artykułu. Scenariusze alternatywne i rozszerzenia: 1.A. Author chciałby zgłosić zmienioną wersję artykułu. 1.A.1. Autor wybiera opcję ponownego zgłoszenia swoich artykułów. 1.A.2. System prezentuje artykuły zgłoszone dotychczas przez Autora. 1.A.3. Autor wybiera jeden z artykułów oraz opcję jego ponownego zgłoszenia. 1.A.4. Przejdź do kroku 2. Sytuacje wyjątkowe: 3.A. Nie podano wszystkich wymaganych danych. 3.A.1. System informuje o błędzie. 3.A.2. Przejdź do kroku 2.
Funkcjonalne <-> Pozafunkcjonalne UC1: Zgłoś artykuł Poziom: Użytkownika Aktor główny: Autor Scenariusz główny: 1. Autor wybiera opcję zgłoszenia artykułu. 2. System prosi o podanie danych artykułu. 3. Autor podaje wymagane dane na temat artykułu. 4. System informuje o pomyślnym zgłoszeniu artykułu. Scenariusze alternatywne i rozszerzenia: 1.A. Author chciałby zgłosić zmienioną wersję artykułu. 1.A.1. Autor wybiera opcję ponownego zgłoszenia swoich artykułów. 1.A.2. System prezentuje artykuły zgłoszone dotychczas przez Autora. 1.A.3. Autor wybiera jeden z artykułów oraz opcję jego ponownego zgłoszenia. 1.A.4. Przejdź do kroku 2. Sytuacje wyjątkowe: 3.A. Nie podano wszystkich wymaganych danych. 3.A.1. System informuje o błędzie. 3.A.2. Przejdź do kroku 2. Poufność danych, integralność Niezaprzeczalność, identyfikowalność Ułatwienie dostępu Interoperacyjność Łatwość operowania Charakterystyka czasowa
Funkcjonalne <-> Pozafunkcjonalne UC1: Zgłoś artykuł Poziom: Użytkownika Aktor główny: Autor Scenariusz główny: 1. Autor wybiera opcję zgłoszenia artykułu. 2. System prosi o podanie danych artykułu. 3. Autor podaje wymagane dane na temat artykułu. 4. System informuje o pomyślnym zgłoszeniu artykułu. Scenariusze alternatywne i rozszerzenia: 1.A. Author chciałby zgłosić zmienioną wersję artykułu. 1.A.1. Autor wybiera opcję ponownego zgłoszenia swoich artykułów. 1.A.2. System prezentuje artykuły zgłoszone dotychczas przez Autora. 1.A.3. Autor wybiera jeden z artykułów oraz opcję jego ponownego zgłoszenia. 1.A.4. Przejdź do kroku 2. Sytuacje wyjątkowe: 3.A. Nie podano wszystkich wymaganych danych. 3.A.1. System informuje o błędzie. 3.A.2. Przejdź do kroku 2. NFR1: Użytkownik nie jest uwierzytelniony NFR2: Użytkownik nie ma praw do zgłaszania artykułu NFR3: System ma rejestrować wszystkie operacje CRUD wykonywane na artykule NFR4: System ma umożliwić odczytanie głosowe treści strony NFR5: System ma pobierać informacje o autorze z GoogleScholar System ma umożliwiać filtrowanie i sortowanie danych prezentowanych w formie tabelarycznej
Funkcjonalne <-> Pozafunkcjonalne UC1: Zgłoś artykuł Poziom: Użytkownika Aktor główny: Autor Scenariusz główny: 1. Autor wybiera opcję zgłoszenia artykułu. 2. System prosi o podanie danych artykułu. 3. Autor podaje wymagane dane na temat artykułu. 4. System informuje o pomyślnym zgłoszeniu artykułu. Scenariusze alternatywne i rozszerzenia: 1.A. Author chciałby zgłosić zmienioną wersję artykułu. 1.A.1. Autor wybiera opcję ponownego zgłoszenia swoich artykułów. 1.A.2. System prezentuje artykuły zgłoszone dotychczas przez Autora. 1.A.3. Autor wybiera jeden z artykułów oraz opcję jego ponownego zgłoszenia. 1.A.4. Przejdź do kroku 2. Sytuacje wyjątkowe: 3.A. Nie podano wszystkich wymaganych danych. 3.A.1. System informuje o błędzie. 3.A.2. Przejdź do kroku 2. NFR1: Użytkownik nie jest uwierzytelniony NFR2: Użytkownik nie ma praw do zgłaszania artykułu NFR3: System ma rejestrować wszystkie operacje CRUD wykonywane na artykule NFR4: System ma umożliwić odczytanie głosowe treści strony NFR5: System ma pobierać informacje o autorze z GoogleScholar System ma umożliwiać filtrowanie i sortowanie danych prezentowanych w formie tabelarycznej
Funkcjonalne <-> Pozafunkcjonalne Charakteryzują Funkcjonalne Pozafunkcjonalne Dodają nowe
Funkcjonalne <-> Pozafunkcjonalne FR / NFR NFR1 NFR2 UC1 X UC2 X X MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Podsumowanie Wymagania Funkcjonalne = Co? Pozafunkcjonalne = Jak? ISO25000 źródło kategorii, dobra praktyka Wymagania pozafunkcjonalne Stwierdzenie, ID, Priorytet, Złożoność IEEE Weryfikowalność, Pomiar, Akceptacja Wymagania funkcjonalne <-> pozafunkcjonalne MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE I SPECJALISTYCZNE KURSY I SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE
Dziękuję za uwagę