Inżynieria oprogramowania
część VI – Proces inżynierii wymagań
mgr inż. Piotr Greniewski
Europejska Wyższa Szkoła Informatyczno-
Ekonomiczna
Slajd nr 2
©Ian Sommerville 2000 - Inżynieria oprogramowania
Proces inżynierii wymagań
Zawartość:
Studium wykonalności
Określenie i analizowanie wymagań
Zatwierdzanie wymagań
Zarządzanie wymaganiami
Slajd nr 3
©Ian Sommerville 2000 - Inżynieria oprogramowania
Proces inżynierii wymagań
Feasibility
study
Requirements
elicitation and
analysis
Requirements
specification
Requirements
validation
Feasibility
report
System
models
User and system
requirements
Requirements
document
Slajd nr 4
©Ian Sommerville 2000 - Inżynieria oprogramowania
Studium wykonalności
Studium wykonalności to odpowiedź na
pytania:
Czy system przyczyni się do realizacji ogólnych
celów przedsiębiorstwa?
Czy system może być zaimplementowany z użyciem
dostępnych technologii, w ramach określonego
budżetu i ograniczeń czasowych?
Czy system może być zintegrowany z istniejącymi
systemami, które już zainstalowano?
Slajd nr 5
©Ian Sommerville 2000 - Inżynieria oprogramowania
Studium wykonalności
Przeprowadzenie studium wykonalności obejmuje:
określenie informacji
zebranie informacji
pisanie raportu
Przykład pytań potrzebnych do zdobycia informacji:
Jak firma radzi sobie bez zaimplementowanego systemu?
Jakie problemy występują w obecnych procesach i jak nowy
system ma pomóc w ich eliminacji?
Jaki będzie bezpośredni wkład systemu w osiągnięcie celów
gospodarczych?
Czy można przekazywać informację do i z innych systemów?
Czy system wymaga nowych technologii?
Co system musi wspomagać a czego nie?
Slajd nr 6
©Ian Sommerville 2000 - Inżynieria oprogramowania
Określenie i analizowanie wymagań
Jest to trudny proces z wielu powodów:
Uczestnicy często nie wiedzą czego oczekują od
systemu.
Nie potrafią wyrazić wymagań w sposób zrozumiały
dla inżynierów wymagań
Różni uczestnicy stawiają wymagania sprzeczne ze
sobą.
Często mają wpływ czynniki polityczne występujące
w firmie
Środowisko ekonomiczne i gospodarcze w którym
przeprowadza się analizę jest dynamiczne co
wpływa na analizę.
Slajd nr 7
©Ian Sommerville 2000 - Inżynieria oprogramowania
Określenie i analizowanie wymagań
Rozpoznanie dziedziny
. Analitycy muszą zrozumieć
dziedzinę zastosowania.
Zbieranie wymagań
. Jest to proces interakcji z
użytkownikami systemu, którego celem jest wyjawienie
ich wymagań.
Klasyfikacja
. Ta czynność polega na podzieleniu
bezładnego zbioru wymagań na spoiste grupy.
Usuwanie sprzeczności
. Wymagania wielu
użytkowników zawierają sprzeczności.
Nadawanie priorytetów
. W każdym zbiorze wymagań są
bardziej i mniej ważne.
Sprawdzanie wymagań
. Sprawdza się czy wymagania
są pełne, spójne i zgodne z tym czego chcą użytkownicy
Slajd nr 8
©Ian Sommerville 2000 - Inżynieria oprogramowania
Zatwierdzanie wymagań
W trakcie procesu zatwierdzania wymagań przeprowadza
się rozmaite sprawdzenia wymagań z dokumentacją
wymagań:
Sprawdzenie ważności
. System ma różnych użytkowników
przekonanych o tym jakie funkcje powinien spełniać system.
Kompromis wymagań
Sprawdzenie niesprzeczności
. Wymagania spisane nie mogą
być sprzeczne.
Sprawdzenie kompletności
. Dokumentacja wymagań powinna
zawierać wymagania w których zdefiniowano wszystkie funkcje
i ograniczenia.
Sprawdzenie realności
. Znając wiedzę technologiczną należy
sprawdzić czy wymagania mogą być zaimplementowane.
Sprawdzenie dotyczy również budżetu i harmonogramu.
Możliwość weryfikacji
. Wymagania systemu powinny być
zapisane tak aby można je było weryfikować
Slajd nr 9
©Ian Sommerville 2000 - Inżynieria oprogramowania
Metody zatwierdzanie wymagań
Przegląd wymagań
. Zespół recenzentów
systematycznie analizuje wymagania
Prototypowanie.
W tym modelu przedstawia
się wykonywalny model systemu.
Generowanie testów
. Wymagania można
testować.
Zautomatyzowane sprawdzanie
niesprzeczności wymagań
. Narzędzia CASE
itd.
Slajd nr 10
©Ian Sommerville 2000 - Inżynieria oprogramowania
Zarządzanie wymaganiami
Wymagania stałe
to względnie stabilne
wymagania które wynikają z podstawowej
działalności firmy. Wymagania te można
wywnioskować z modelu dziedziny.
Wymagania zmienne
to wymagania które
prawdopodobnie ulegną zmianie w trakcie
tworzenia systemu, albo po przekazaniu go
użytkownikowi.
Slajd nr 11
©Ian Sommerville 2000 - Inżynieria oprogramowania
Zarządzanie wymaganiami
Klasyfikacja wymagań zmiennych:
wymagania zmienne – pojawiają się na skutek zmian
środowiska
wymagania pojawiające się – wymagania które
pojawiają się w trakcie poznawania problemu.
wymagania wynikowe – wymagania pojawiające się
wraz z wdrożeniem systemu
wymagania zgodności – zależą od konkretnych
systemów lub procesów występujących wewnątrz
firmy. Ich zmiana zmienia wymagania.
Slajd nr 12
©Ian Sommerville 2000 - Inżynieria oprogramowania
Zarządzanie zmianami wymagań
Trzy kroki procesu zarządzania zmianami:
Analiza problemu i specyfikacja zmiany.
Analiza zmiany i ocena kosztów
Implementacja zmiany