Inynieria oprogramowania II Wymagania pozafunkcjonalne Jerzy Nawrocki Jerzy
















































- Slides: 48
Inżynieria oprogramowania II Wymagania pozafunkcjonalne Jerzy Nawrocki Jerzy. Nawrocki@put. poz nan. pl
Inżynieria oprogramowania II Cykl życia wg XPrince 16. 10 Przyg. założ. proj. 27. 11 Inicjowa nie projektu 23. 01 8. 04 27. 05 17. 06 8. 07 Architek- Wydanie Zamkn. tura 1 2 3 Projektu Wymagania pozafunkcjonalne (2)
Inżynieria oprogramowania II Główne rezultaty inicjowania projektu Inicjowanie projektu Business Process Reengineering Wymagania pozafunkcjonalne Role (Aktorzy) Zarys wymagań funkcjonalnych Zarys architektury Plan przedsięwzięcia Wymagania pozafunkcjonalne (3)
Inżynieria oprogramowania II Plan przedsięwzięcia • Kiedy? • Za ile? Wymagania pozafunkcjonalne (4)
Inżynieria oprogramowania II Od czego zależy termin zakończenia? Wymagania pozafunkcjonalne Zakres funkcjonalny Zespół Plan przedsięwzięcia Wymagania pozafunkcjonalne (5)
Inżynieria oprogramowania II Główne rezultaty inicjowania projektu Inicjowanie projektu Business Process Reengineering Wymagania pozafunkcjonalne Role (Aktorzy) Zarys wymagań funkcjonalnych Zarys architektury Plan przedsięwzięcia Wymagania pozafunkcjonalne (6)
Inżynieria oprogramowania II Cel wykładu Jak specyfikować wymagania pozafunkcjonalne na etapie inicjowania projektu? Wymagania pozafunkcjonalne (7)
Inżynieria oprogramowania II Jakość produktu a jakość użycia produktu Produkt Ludzie wspomagani przez produkt Wymagania pozafunkcjonalne (8)
Inżynieria oprogramowania II Jakość w cyklu życia Proces rozwoju Jakość proces u Produkt programistyczny Wpływ a na Wewn. atrybut y jakości Wpływ a na Zewn. atrybut y jakości Wpływ a na Efekt używania produktu Atrybuty jakości dot. użycia Wymagania pozafunkcjonalne (9)
Inżynieria oprogramowania II Wprowadzenie do ISO 9126: Software Engineering – Product Quality Part 1: Quality Model Part 2: External Metrics Part 3: Internal Metrics Part 4: Quality-in-use Metrics Wymagania pozafunkcjonalne (10)
Inżynieria oprogramowania II Charakterystyki zewnętrzne Funkcjonalność Niezawodność Użyteczność Wydajność Łatwość utrzymania Przenośność Wymagania pozafunkcjonalne (11)
Inżynieria oprogramowania II Plan wykładu • Funkcjonalność • Niezawodność • Użyteczność • Wydajność • Łatwość utrzymania • Przenośność • Od ISO 9126 do wymagań pozafunkcjonalnych Wymagania pozafunkcjonalne (12)
Inżynieria oprogramowania II Funkcjonalność Funkcjonalne zachowanie się systemu • Odpowiedniość Działanie systemu odpowiednie do wyspecyfikowanych wymagań i dające sensowne wyniki Wymagania pozafunkcjonalne (13)
Inżynieria oprogramowania II Funkcjonalność Funkcjonalne zachowanie się systemu • Odpowiedniość • Dokładność Niepoprawne lub niedokładne wyniki Wymagania pozafunkcjonalne (14)
Inżynieria oprogramowania II Funkcjonalność Funkcjonalne zachowanie się systemu • Odpowiedniość • Dokładność • Inter-operacyjność Zdolność systemu do komunikowania się z innymi podłączonymi do niego systemami (programowymi lub sprzętowymi) Wymagania pozafunkcjonalne (15)
Inżynieria oprogramowania II Funkcjonalność Funkcjonalne zachowanie się systemu • Odpowiedniość • Dokładność • Inter-operacyjność • Bezpieczeństwo (Security) Zapobieganie wyciekowi lub utracie ważnych danych i ochrona przed nieuprawnionym dostępem Wymagania pozafunkcjonalne (16)
Inżynieria oprogramowania II Funkcjonalność Funkcjonalne zachowanie się systemu • Odpowiedniość • Dokładność • Inter-operacyjność • Bezpieczeństwo (Security) • Zgodność Trzymanie się funkcjonalności standardów, konwencji, kontraktów i innych przepisów prawnych. Wymagania pozafunkcjonalne (17)
Inżynieria oprogramowania II Niezawodność Stopień niezawodności oprogramowania w systemie • Dojrzałość Brak awarii oprogramowania wynikających z defektów w oprogramowaniu Wymagania pozafunkcjonalne (18)
Inżynieria oprogramowania II Niezawodność Stopień niezawodności oprogramowania w systemie • Dojrzałość • Tolerancja uszkodzeń Zdolność utrzymania określonego poziomu wydajności systemu w przypadku błędnego działania jego elementów Wymagania pozafunkcjonalne (19)
Inżynieria oprogramowania II Niezawodność Stopień niezawodności oprogramowania w systemie • Dojrzałość • Tolerancja uszkodzeń • Odtwarzalność Zdolność do ustanowienia na nowo odpowiedniego poziomu wydajności i odtworzenia danych w przypadku awarii Wymagania pozafunkcjonalne (20)
Inżynieria oprogramowania II Użyteczność Łatwość zrozumienia, nauczenia się i operowania systemem oraz jego atrakcyjność • Zrozumiałość Nowi użytkownicy mogą zrozumieć, czy dany produkt jest dla nich odpowiedni i jak może być użyty Wymagania pozafunkcjonalne (21)
Inżynieria oprogramowania II Użyteczność Łatwość zrozumienia, nauczenia się i operowania systemem oraz jego atrakcyjność • Zrozumiałość • Łatwość nauczenia się Jak długo zajmie użytkownikom nauczenie się, jak korzystać z poszczególnych funkcji? Wymagania pozafunkcjonalne (22)
Inżynieria oprogramowania II Użyteczność Łatwość zrozumienia, nauczenia się i operowania systemem oraz jego atrakcyjność • Zrozumiałość • Łatwość nauczenia się • Łatwość Zdolność użytkowników operowania do operowania i sterowania produktem Wymagania pozafunkcjonalne (23)
Inżynieria oprogramowania II Użyteczność Łatwość zrozumienia, nauczenia się i operowania systemem oraz jego atrakcyjność • Zrozumiałość • Łatwość nauczenia się • Łatwość operowania Wygląd produktu • Atrakcyjność Wymagania pozafunkcjonalne (24)
Inżynieria oprogramowania II Wydajność Zużycie czasu i innych zasobów • Charakterystyka czasowa produktu Wymagania pozafunkcjonalne (25)
Inżynieria oprogramowania II Wydajność Zużycie czasu i innych zasobów • Charakterystyka czasowa • Zużycie zasobów Zużyte zasoby Wymagania pozafunkcjonalne (26)
Inżynieria oprogramowania II Łatwość utrzymania Zachowanie się osoby utrzymującej sprawność systemu, użytkownika lub produktu, gdy produkt jest poddawany pielęgnacji lub • Łatwość modyfikacji analizy Pracochłonność lub zasoby konieczne do zdiagnozowania słabości produktu lub przyczyn jego awarii Wymagania pozafunkcjonalne (27)
Inżynieria oprogramowania II Łatwość utrzymania Zachowanie się osoby utrzymującej sprawność systemu, użytkownika lub produktu, gdy produkt jest poddawany pielęgnacji lub • Łatwość modyfikacji analizy • Łatwość Pracochłonność zmiany konieczna do implementacji wyspecyfikowanej modyfikacji Wymagania pozafunkcjonalne (28)
Inżynieria oprogramowania II Łatwość utrzymania Zachowanie się osoby utrzymującej sprawność systemu, użytkownika lub produktu, gdy produkt jest poddawany pielęgnacji lub • Łatwość modyfikacji analizy • Łatwość zmiany Brak nieoczekiwanego • Stabilność zachowania się systemu po modyfikacji Wymagania pozafunkcjonalne (29)
Inżynieria oprogramowania II Łatwość utrzymania Zachowanie się osoby utrzymującej sprawność systemu, użytkownika lub produktu, gdy produkt jest poddawany pielęgnacji lub • Łatwość analizy modyfikacji • Łatwość zmiany • Stabilność • Łatwość testowania Pracochłonność konieczna do przetestowania zmodyfikowanego lub niezmodyfikowanego produktu Wymagania pozafunkcjonalne (30)
Inżynieria oprogramowania II Przenośność Zachowanie się operatora lub produktu w trakcie przenoszenia • Łatwość adaptacji Pracochłonność po stronie użytkownika wymagana przy adaptacji produktu do innego wyspecyfikowanego środowiska Wymagania pozafunkcjonalne (31)
Inżynieria oprogramowania II Przenośność Zachowanie się operatora lub produktu w trakcie przenoszenia • Łatwość adaptacji • Łatwość Pracochłonność instalacji konieczna do zainstalowania oprogramowania w konkretnym środowisku użytkownika Wymagania pozafunkcjonalne (32)
Inżynieria oprogramowania II Przenośność Zachowanie się operatora lub produktu w trakcie przenoszenia • Łatwość adaptacji • Łatwość instalacji • Współistnienie Łatwość korzystania z produktu z innymi niezależnymi produktami działającymi w tym samym środowisku Wymagania pozafunkcjonalne (33)
Inżynieria oprogramowania II Przenośność Zachowanie się operatora lub produktu w trakcie przenoszenia • Łatwość adaptacji • Łatwość instalacji • Współistnienie Łatwość korzystania z • Łatwość produktu w miejsce zamiany innego wskazanego produktu w środowisku tego produktu Wymagania pozafunkcjonalne (34)
Inżynieria oprogramowania II Plan wykładu • Funkcjonalność • Niezawodność • Użyteczność • Wydajność • Łatwość utrzymania • Przenośność • Od ISO 9126 do wymagań pozafunkcjonalnych Wymagania pozafunkcjonalne (35)
Inżynieria oprogramowania II Ogólna architektura systemu Interfej s użytkownika Logika i dane systemu Wymagania pozafunkcjonalne (36)
Inżynieria oprogramowania II Użyteczność Łatwość zrozumienia, nauczenia się i operowania systemem oraz jego atrakcyjność • Zrozumiałość • Łatwość nauczenia się • Łatwość operowania • Atrakcyjność Wymagania pozafunkcjonalne (37)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F Wymagania pozafunkcjonalne (38)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F Wymaganie: Wielkość odpadów ma być nie większa niż 10% względem teoretycznego minimum. Wymagania pozafunkcjonalne (39)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F Wymagania pozafunkcjonalne (40)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F Wymagania pozafunkcjonalne (41)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F System ma być odporny na: • . . . Wymagania pozafunkcjonalne (42)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F W przypadku wystąpienia awarii system musi wrócić do normalnej obsługi klientów w czasie nie dłuższym niż 5 minut. Wymagania pozafunkcjonalne (43)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F Oczekiwanie na wydanie gotówki nie może trwać dłużej niż 15 sekund. Wymagania pozafunkcjonalne (44)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F System musi mieć możliwość gromadzenia i przetwarzania danych dotyczących nawet 100 tys. klientów. Wymagania pozafunkcjonalne (45)
Odpowiedniość Dokładność Inter-operacyjność Bezpieczeństwo (Security) Dojrzałość Tolerowanie uszkodzeń Odtwarzalność Charakterystyka czasowa Wykorzystanie zasobów Łatwość analizowania Łatwość testowania Łatwość zmiany Stabilność Inżynieria oprogramowania II ISO 9126 i WP-F Wymagania pozafunkcjonalne (46)
Inżynieria oprogramowania II Zbieranie wymagań 1’ – Definicja 3’ – Praca własna 3’ – Dyskusja Łączny czas: 7’ x 12 podcharakterystyk Wymagania pozafunkcjonalne (47)
Inżynieria oprogramowania II Plan wykładu • Funkcjonalność • Niezawodność • Użyteczność • Wydajność • Łatwość utrzymania • Przenośność • Od ISO 9126 do wymagań pozafunkcjonalnych Wymagania pozafunkcjonalne (48)
















































