Inżynieria oprogramowania - 6 Slide 1
Proces inżynierii wymagań
. Proces wyodrębniania, analizy
i zatwierdzania wymagań
systemowych
Inżynieria oprogramowania - 6 Slide 2
Cele
. Opisanie podstawowych czynności inżynierii
wymagań
. Wprowadzenie do technik wydobywania
informacji o wymaganiach i analizy
. Opisanie zatwierdzania wymagań
Inżynieria oprogramowania - 6 Slide 3
Zawartość
. Studium wykonalności
. Określanie i analizowanie wymagań
. Zatwierdzanie wymagań
Inżynieria oprogramowania - 6 Slide 4
Proces inżynierii wymagań
Raport o
wykonalności
Model
systemu
Dokumentacja
wymagań
Wymagania użytkownika
i wymagania systemowe
Studium
wykonalności
Określanie i
analizowanie
wymagań
Specyfikowanie
wymagań
Zatwierdzanie
wymagań
Inżynieria oprogramowania - 6 Slide 5
Studium wykonalności
. Studium wykonalności decyduje o tym czy
planowany system stanowi prawdziwą wartość
dla przedsiębiorstwa
. Krótkie i rzeczowe studium odpowiadające na
pytania
. Czy system przyczyni się do realizacji celów organizacji
. Czy system może być zbudowany przy użyciu dostępnych
technologii i w ramach określonego budżetu
. Czy system może zintegrowany z istniejącymi systemami
użytkowanymi w przedsiębiorstwie
Inżynieria oprogramowania - 6 Slide 6
Opracowanie studium wykonalności
. Określenie i zebranie informacji oraz napisanie
raportu
. Pytania rozszerzające
. Co by się stało gdyby system nie został zbudowany?
. Jakie problemy wiążą się z obecnymi procesami w firmie i jak
pomoże je rozwiązać nowy system?
. W jaki sposób nowy system wesprze bieżące działania?
. Jakie będą problemy integracyjne?
. Czy potrzebna jest nowa technologia? Jakie umiejętności?
. Jakie udogodnienia musi dostarczyć nowy system?
Inżynieria oprogramowania - 6 Slide 7
Określenie i analiza wymagań
. Wydobywanie wymagań i odkrywanie wymagań
. Techniczni twórcy systemu współpracują z
klientem nad zbadaniem dziedziny zastosowania
systemu, określeniem usług, które system
powinien dostarczać i ograniczeń w jego
działaniu
. Angażuje użytkowników końcowych,
menedżerów, inżynierów utrzymania, ekspertów
dziedzinowych itp. Są oni nazwani uczestnikami
Inżynieria oprogramowania - 6 Slide 8
Problemy analizy wymagań
. Uczestnicy tak naprawdę nie wiedzą czego chcą
. Uczestnicy wyrażają wymagania za pomocą własnych
pojęć
. Różni użytkownicy deklarują sprzeczne wymagania
. Czynniki organizacyjne i polityczne mogą mieć wpływ na
system
. Wymagania zmieniają się w trakcie procesu analizy
. Środowisko zmienia się dynamicznie w trakcie procesu
analizy
Inżynieria oprogramowania - 6 Slide 9
Proces analizy wymagań
Nadawanie
priorytetów
Usuwanie
sprzeczności
Klasyfikacja
Zbieranie
wymagań
Sprawdzanie
wymagań
Rozpoznanie
dziedziny
Definicja i
specyfikacja
wymagań
początek
procesu
Inżynieria oprogramowania - 6 Slide 10
Czynności procesu
. Zrozumienie dziedziny
. Zebranie wymagań
. Klasyfikacja
. Usuwanie sprzeczności
. Nadawanie priorytetów
. Sprawdzanie wymagań
Inżynieria oprogramowania - 6 Slide 11
Scenariusze
. Scenariusze są opisem jak system jest używany w
praktyce
. Są pomocne w określaniu wymagań gdyż są
bardziej czytelne dla ludzi niż abstrakcyjne
określenia wymagań systemowych
. Scenariusze są szczególnie pomocne dla
dodawania szczegółów do wstępnie
zarysowanego opisu wymagań
Inżynieria oprogramowania - 6 Slide 12
Opis scenariusza
. Stan systemu na początku scenariusza
. Normalny ciąg zdarzeń podczas scenariusza
. Co może się zdarzyć niezgodnego ze
scenariuszem i jak można to zdarzenie obsłużyć
. Inne równoległe scenariusze
. Stan systemu na zakończenie scenariusza
Inżynieria oprogramowania - 6 Slide 13
Scenariusz zdarzenia . zacznij
transakcję
Poproś o PIN
Sprawdź
użytkownika
Zły PIN
Wprowadź
ponownie PIN
Zły PIN
Zwróć kartę
Przekroczenie
limitu czasu
Zwróć kartę
Karta
nieważna
Zwróć kartę
Karta
skradziona
Zatrzymaj kartę
Karta
PIN
Wsunięto kartę
Numer
konta
PIN
Numer
konta Wybierz
usługę
Karta ważna
Użytkownik OK
Inżynieria oprogramowania - 6 Slide 14
Przypadki użycia
. Przypadki użycia są techniką UML opartą na
scenariuszach, identyfikujące aktorów i interakcje
a jednocześnie opisujących te interakcje
. Zbiór przypadków użycia powinien opisywać
wszystkie możliwe interakcje z systemem
. Diagram sekwencji może być użyty w celu
dodania szczegółów do przypadków użycia
poprzez pokazanie sekwencji zdarzeń
przetwarzanych przez system
Inżynieria oprogramowania - 6 Slide 15
Przypadek użycia: Wypożyczanie
Obsługa wypożyczania
Inżynieria oprogramowania - 6 Slide 16
Przypadki użycia biblioteki
Obsługa wypożyczania
Czytelnik
Zarządzanie użytkownikami Personel
biblioteki
Obsługa katalogu Dostawca
Inżynieria oprogramowania - 6 Slide 17
Zarządzanie katalogiem
Sprzedawca
książek
Katalogujący:
Personel biblioteki
Nabądź
Kataloguj
składniki
Usuń składnik z
katalogu
Nowy
Usuń
Książki:
Katalog
Składniki:
Składnik biblioteki
Inżynieria oprogramowania - 6 Slide 18
Zatwierdzanie wymagań
. Polega na zademonstrowaniu, że wymagania
rzeczywiście definiują system oczekiwany przez
klienta
. Koszty błędów wymagań są na tyle wysokie, iż
zatwierdzanie ich jest bardzo ważne
. Usunięcie błędu w wymaganiach po dostarczeniu systemu może
kosztować 100 razy tyle co koszt usunięcia błędu implementacji
Inżynieria oprogramowania - 6 Slide 19
Sprawdzanie wymagań
. Ważność. Czy system dostarcza funkcje, które najlepiej
odpowiadają potrzebom klienta?
. Spójność. Czy jakieś wymagania są sprzeczne?
. Kompletność. Czy wszystkie funkcje wymagane przez
klienta zostały włączone?
. Realizm. Czy wymagania mogą zostać zrealizowane w
ramach dostępnej technologii i budżetu?
. Sprawdzalność. Czy wymagania mogą być sprawdzone?
Inżynieria oprogramowania - 6 Slide 20
Metody zatwierdzania wymagań
. Przegląd wymagań
. Systematyczna, ręczna analiza wymagań
. Prototypowanie
. Wykonywalny model systemu dla użytkownika
. Generowanie testów
. Opracowanie testów dla wymagań w celu sprawdzenia ich
testowalności
. Automatyczna analiza niesprzeczności
. Sprawdzanie niesprzeczności wymagań opisanych za pomocą
formalnej bądź strukturalnej notacji
Inżynieria oprogramowania - 6 Slide 21
Przegląd wymagań
. Należy przeprowadzać regularne przeglądy
podczas prac związanych z formułowaniem
definicji wymagań
. Personel zarówno klienta jak i dostawcy
powinien uczestniczyć w przeglądach
. Przeglądy mogą być formalne (z kompltną
dokumentacją) lub nieformalne. Dobra
komunikacja pomiędzy dostawcą, klientem i
użytkownikiem może pomóc w rozwązaniu
problrmów w ich wczesnym stadium
Inżynieria oprogramowania - 6 Slide 22
Elementy sprawdzane podczas
przeglądu
. Weryfikowalność. Czy wymagania są realnie
testowalne?
. Zrozumiałość. Czy wymagania są właściwie
rozumiane?
. Czy istota wymagań jest jasno określona?
. Adaptowalność. Czy wymagania mogą być
zmienione bez znaczącego wpływu na inne
wymagania?
Inżynieria oprogramowania - 6 Slide 23
Zautomatyzowane sprawdzanie
niesprzeczności
Wymagania zapisane
w języku formalnym
Raport o błędach w
wymaganiach
Baza danych
wymagań
Procesor wymagań Analizator wymagań
Inżynieria oprogramowania - 6 Slide 24
Ewolucja wymagań
Wstępne
rozumienie
problemu
Zmienione
rozumienie
problemu
Wstępne
wymagania
Zmienione
wymagania
Czas
Inżynieria oprogramowania - 6 Slide 25
Zarządzanie zmianami wymagań
Analiza problemu i
specyfikacja zmiany
Analiza zmiany i
ocena kosztów
Implementacja
zmiany
Rozpoznany
problem
Skorygowanie
wymagania