Rozdz6

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 1

Proces inżynierii
wymagań

Służy do określania,
analizowania i
zatwierdzania wymagań
stawianych systemowi.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 2

Cele

Rozumieć podstawowe czynności inżynierii

wymagań i związki między nimi.

Znać kilka metod określania i analizowania

wymagań.

Rozumieć znaczenie zatwierdzania

wymagań oraz to, jak w tym procesie używa

się przeglądów wymagań.

Rozumieć, dlaczego zarządzanie

wymaganiami jest niezbędne oraz to, jak

wspomaga ono inne czynności inżynierii

wymagań.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 3

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 4

Zawartość

Studium wykonalności

Określanie i analizowanie
wymagań

Zatwierdzanie wymagań

Zarządzanie wymaganiami

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 5

Obejmuje wszystkie czynności niezbędne

do opracowania i aktualizacji

dokumentacji wymagań systemowych.

Istnieją cztery ogólne czynności wysokiego

poziomu w procesie inżynierii wymagań:

• studium wykonalności
• określenie i analizowanie wymagań
• specyfikowanie i dokumentowanie

wymagań

• zatwierdzanie wymagań

Proces inżynierii
wymagań

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 6

Studium

wykonalności

Określanie

i analizowanie

wymagań

Specyfikowanie

wymagań

Zatwierdzanie

wymagań

Raport

o wykonalności

Model

systemu

Wymagania użytkownika

i wymagania systemowe

Dokumentacja

wymagań

Proces inżynierii
wymagań c.d.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 7

Wynikiem tego studium powinien być raport, który

zaleca albo nie zaleca kontynuacji procesu inżynierii

wymagań i tworzenia systemu.

Studium wykonalności to krótkie, skumulowane

opracowanie, w którym staramy się odpowiedzieć

na kilka pytań:

• 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

ustalonego budżetu i ograniczeń czasowych?

• Czy system może być zintegrowany z

istniejącymi systemami, które już zainstalowano?

Studium wykonalności

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 8

Obejmuje określenie i zebranie informacji oraz pisanie

raportu

Kilka przykładów pytań:

Jak firma poradziłaby sobie, jeśli system nie byłby

zaimplementowany?

Jakie problemy występują w obecnie przyjętych

procesach i jak nowy system ma pomóc w ich

eliminacji?

Jaki byłby bezpośredni wkład systemu w osiąganie

celów gospodarczych?

Czy można przekazywać informacje do i z innych

systemów przedsiębiorstwa?

Czy system wymaga technologii, których wcześniej

w firmie nie stosowano?

Co system musi wspomagać, a czego nie musi?

Przeprowadzanie studium
wykonalności

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 9

Określanie i analizowanie
wymagań

Po wstępnych studiach wykonalności następna fazą

inżynierii wymagań jest określanie i analizowanie

wymagań.

W trakcie tej czynności techniczni budowniczowie

oprogramowania pracują z klientem i użytkownikami

systemu nad badaniem dziedziny zastosowania i

usług, które system ma oferować, pożądanej

efektywności, ograniczeniach sprzętowych itd.

W określaniu i analizowaniu wymagań mogą wziąć

udział osoby z różnych stanowisk w firmie. Pojęcie

uczestnik odnosi się do każdego, kto powinien mieć

pewien pośredni lub bezpośredni wpływ na

wymagania systemowe.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 10

Problemy analizy
wymagań

Uczestnicy często nie wiedzą, czego tak naprawdę
oczekują od systemu komputerowego.

Uczestnicy systemu w naturalny sposób wyrażają
wymagania za pomocą własnych pojęć.

Różni uczestnicy mogą stawiać różne wymagania.

Czynniki polityczne mogą mieć wpływ na system

Środowisko ekonomiczne i gospodarcze, w którym
prowadzi się analizę, jest dynamiczne.
Nieuchronnie zmienia się w trakcie procesu
analizy.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 11

Proces określania i
analizowania wymagań

Początek

procesu

Rozpoznanie

dziedziny

Zbieranie

wymagań

Klasyfikacja

Usuwanie

sprzeczności

Nadawanie

priorytetów

Sprawdzenie

wymagań

Specyfikacja

wymagań

Dokumentacja

wymagań

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 12

Czynności procesu

Rozpoznanie dziedziny

Zbieranie wymagań

Klasyfikacja

Usuwanie sprzeczności

Nadawanie priorytetów

Sprawdzanie wymagań

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 13

Modelowanie systemu

Określanie i analizowanie wymagań jest

procesem iteracyjnym z ustawicznym

przekazywaniem informacji zwrotnej

między czynnościami.

Cykl procesu rozpoczyna się od

rozpoznania dziedziny, a kończy na

sprawdzeniu wymagań.

Stopień zrozumienia dziedziny przez

analityków rośnie z każdym cyklem.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 14

Określanie oparte na
punktach widzenia

Średnie i wielkie systemy maja
zwykle kilku różnych
użytkowników.

Wielu uczestników w jakiś sposób
interesuje się wymaganiami
systemowymi.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 15

System bankomatowy -
przykład

Służy do automatycznego dokonywania
operacji bankomatowych.

W uproszczonej wersji służy wielu
zwykłym klientom i oferuje bardziej
skomplikowane usługi wybranym
klientom.

Usługi obejmują: wypłatę, wpłatę,
przekazywanie informacji.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 16

Uczestnicy systemu
bankomatowego

Obecni klienci banku

Przedstawiciele innych banków

Dyrektorzy oddziałów banków

Pracownicy obsługi klienta w oddziałach

Administratorzy baz danych

Osoby odpowiedzialne za bezpieczeństwo w
banku

Dział marketingu banku

Inżynierowie pielęgnacji sprzętu i
oprogramowania

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 17

Różne punkty widzenia

Źródło lub przeznaczenie danych

• Osoba mająca taki punkt widzenia użytkuje lub

produkuje dane. W tym wypadku analiza polega na

rozpoznawaniu wszystkich takich punktów

widzenia, danych, które są produkowane lub

użytkowane, oraz przeprowadzanym przetwarzaniu.

Zrąb reprezentacji

• Osoba mająca taki punkt widzenia jest związana z

konkretnym typem modelu systemu.

Odbiorca usług

• W tym wypadku punkty widzenia są zewnętrzne

wobec systemu; osoby mające ten punkt widzenia

korzystają z usług systemu.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 18

Model zewnętrznych
punktów widzenia

Reprezentanci tych punktów widzenia współpracują z

systemem przez otrzymywanie usług od systemu oraz

przekazywanie do systemu danych i sygnałów

sterujących.

Punkty widzenia są zewnętrzne wobec systemu,

stanowią zatem naturalny sposób strukturalizacji

procesu określania wymagań.

Dość łatwo jest stwierdzić, czy coś jest punktem

widzenia, czy nie. Reprezentanci punktów widzenia

muszą bowiem w pewien sposób oddziaływać na system.

Punkty widzenia i usługi stanowią dobry sposób

strukturalizacji wymagań niefunkcjonalnych. Każda

usługa może być powiązana z wymaganiami

niefunkcjonalnymi.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 20

Etapy metody VORD

Identyfikacja

punktów widzenia

Strukturalizacja

punktów widzenia

Dokumentacja

punktów widzenia

Przyporządkowywanie

punktów widzenia

do systemu

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 21

Etapy metody VORD
c.d.

Identyfikacja punktów widzenia

• Znajdowanie punktów widzenia, których reprezentanci

korzystają z usług systemu, oraz na wyszukiwaniu
szczególnych usług oferowanych reprezentantom
konkretnych punktów widzenia.

Strukturalizacja punktów widzenia

• Polega na grupowaniu podobnych punktów widzenia w

hierarchie.

Dokumentacja punktów widzenia

• Udoskonalanie opisu znalezionych punktów widzenia i

usług.

Przyporządkowywanie punktów widzenia do systemu

• Znajdowanie obiektów w projekcie obiektowym za pomocą

związanej z punktami widzenia informacji o usługach.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 22

Szablony formularzy i
punktów widzenia

Szablon do punktów widzenia

Odnośnik: Nazwa punktu
widzenia
Atrybuty: Atrybuty z
informacją o

punkcie widzenia
Zdarzenia: Odnośnik do zbioru
scenariu-

szy zdarzeń

opisujących, jak

system

reaguje na zdarzenia w
ramach tego punktu

widzenia
Usługi:

Odnośnik do

zbioru opisów

usługi


Podrzędne Nazwy podrzędnych

PW:

punktów

widzenia

Szablon do usług

Odnośnik: Nazwa usługi
Uzasadnienie: Przyczyna
oferowania usługi
Specyfikacja: Odnośnik do listy
specyfikacji

usług, które mogą być

opisane

za pomocą różnych

notacji
Punkty Lista nazw punktów
widzenia,
widzenia: których
reprezentanci korzy-

stają z usługi

Wymagania Odnośnik do zbioru
wymagań
niefunkcjo- niefunkcjonalnych
ogranicza-
nalne: jących usługę
Dostawca: Odnośnik do listy
obiektów

systemu, które oferują

tę usługę

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 23

Burza mózgów w
trakcie identyfikacji
punktów widzenia

Pytanie

o saldo

Menedżer

Odczyt

transakcji

Zasoby

maszyny

Interfejs

użytkownika

Właściciel

konta

Zdalna

diagnostyka

Karta

skradziona

Niezawodność

Informacje

o koncie

Koszt systemu

Baza danych

klientów

Wypłata

gotówki

Aktualizacja

konta

Zamówienie

wyciągu

Obcy klient

Dziennik

komunikatów

Przelew

środków

Zdalna

aktualizacja

oprogramowania

Zamówienie

czeków

Zwrot karty

Dziennik

transakcji

Drukarka

Rozmiar

oprogramowania

Zatrzymanie

karty

Nieuprawniony

użytkownik

Kasa

banku

Weryfikacja

karty

Przekazywanie

komunikatów

Zabezpieczenia

Pielęgnacja

oprogramowania

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 24

Informacja o usługach
przypisanych do punktów
widzenia

WŁAŚCICIEL
KONTA

OBCY
KLIENT

KASA
BANKU

Lista usług

Lista usług

Lista usług

Wypłata gotówki
Pytania o saldo
Zamówienie
czeków
Wysyłanie
komunikatu
Lista transakcji
Zamówienie
wyciągu
Przelew środków

Wypłata gotówki
Pytania o saldo

Diagnostyka
Dodanie gotówki
Dodanie papieru
Wysłanie
komunikatu

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 25

Dane wejściowe i dane
sterujące związane z
punktami widzenia

WŁAŚCICIEL
KONTA

Dane sterujące Dane
wejściowe

Rozpocznij transakcje Informacje z karty

Anuluj transakcje PIN

Zakończ transakcje Żądana kwota

Wybór usługi Komunikat

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 26

Hierarchia punktów
widzenia

Usługi

Usługi

Inżynier

Menedżer

Kasa

Klient

obcy

Właściciel

konta

Klient

Personel banku

Wszystkie PW

Pytanie o saldo
Wypłata
gotówki

Zamówienie czeków
Wysyłanie komunikatu
Lista transakcji
Zamówienie wyciągu
Przelew środków

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 27

Opis punktu widzenia
klienta i opis usługi
wypłaty gotówki

Odnośnik: Klient

Atrybuty: Numer konta
PIN

Zdarzenia: Zacznij transakcję
Wybór usługi
Anuluj transakcję
Zakończ transakcję
Usługi: Wypłata gotówki
Pytanie o saldo

Podrzędne PW: Właściciel konta

Odnośnik: Wypłata gotówki
Uzasadnienie: Celem jest ulepszenie
obsługi
klienta i zmniejszenie
liczby
dokumentów
papierkowych
Specyfikacja: Użytkownicy wybierają
tę usługę
przez naciśnięcie
przycisku
„wypłata gotówki”.
Następnie
wprowadzają żądaną
kwotę.
Potwierdza się ją i jeśli
na koncie
są odpowiednie środki
następuje

wypłata

PW: Klient
Wymagania
niefunkcjonalne:
Wypłacić gotówkę
najpóźniej
po 1 minucie od
potwierdzenia
kwoty
Dostawca: Wypełnić później

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 28

Ludzie zwykle wolą przykłady wzięte z życia niż
abstrakcyjne opisy

Inżynierowie wymagań mogą skorzystać z
informacji zebranych w trakcie dyskusji do
formułowania rzeczywistych wymagań
systemowych.

Scenariusze są szczególnie użyteczne przy
uszczegóławianiu przeglądowego opisu
wymagań. Są opisami przykładowych sesji
interakcyjnych. Każdy scenariusz obejmuje jedną
lub najwyżej kilka możliwych interakcji.

Scenariusze

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 29

Opis stanu systemu na początku scenariusza.

Opis normalnego następstwa zdarzeń
scenariusza.

Opis tego, co może pójść źle, i jak to jest
obsługiwane.

Informacje o innych czynnościach, które można
wykonywać w tym samym czasie.

Opis stanu systemu po zakończeniu scenariusza.

Cechy scenariusza

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 30

Scenariusze zdarzeń są używane w VORD do

dokumentowania zachowania systemu, gdy zajdą

konkretne zdarzenia.

Każde odrębne zdarzenie w interakcji, takie jak

wsunięcie karty do bankomatu albo wybranie

usługi, może być udokumentowane za pomocą

oddzielnego scenariusza zdarzenia.

Obejmują opis przepływu danych, akcji systemu i

wyjątków, które mogą się pojawić.

Aby zapoznać się z przykładem scenariusza

zdarzenia rozważmy schemat, na którym

przedstawiono scenariusz zdarzenia „Zacznij

transakcję”.

Scenariusze zdarzeń

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 31

Konsekwencje dotyczące
diagramów scenariuszy
zdarzeń

Dane odbierane i przekazywane do reprezentantów

punktów widzenia są przedstawione w postaci elips.

Informacja sterująca wchodzi w każdy prostokąt od

góry, a opuszcza z dołu..

Dane opuszczają prostokąty z prawej strony. Jeśli te

dane nie są otoczone elipsą, oznacza to, że są

wewnętrzne dla systemu.

Wyjątki są pokazywane na dole prostokątów. Jeśli

tych wyjątków jest kilka, to oznacza się je

prostokątem.

Nazwa następnego zdarzenia oczekiwanego po

zakończeniu scenariusza jest przedstawiana w

cieniowanym prostokącie

.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 32

Opis wyjątków

Część metody nie zawiera opisu wyjątków

W tym przykładzie:

• Przekroczenie limitu czasu. Klient może nie

wprowadzić

PIN

przed

upływem

wyznaczonego czasu. Karta jest zwracana.

• Karta nieważna. Nie rozpoznano karty.

Karta jest zwracana.

• Karta ukradziona. Rozpoznano kartę jako

skradzioną. Karta jest zatrzymywana.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 33

Przypadek użycia jest metodą opartą na

scenariuszach, służącą do określania

wymagań.

Po raz pierwszy użyto jej w metodzie

Objectory (Jacobson i inni, 1993). Obecnie

stała się podstawowym elementem notacji

UML do opisywania obiektowych modeli

systemu.

W najprostszej postaci w przypadku użycia

definiuje się aktorów biorących udział w

interakcji i wskazuje typ tej interakcji.

Przypadki użycia

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 34

Obsługa wypożyczania

Przypadek użycia
Wypożyczanie

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 35

c

Czytelnik

Obsługa wypożyczania

Zarządzanie użytkownikami

Personel
biblioteki

Dostawa

Obsługa katalogu

Przypadki użycia
biblioteki

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 36

Diagramy przebiegu

Zdefiniowane w UML diagramy przebiegu

mogą służyć do dodawania szczegółowej

informacji do przypadku użycia.

Na takich diagramach przedstawia się

aktorów biorących udział w interakcji,

obiektyw systemie, z którymi komunikują

się aktorzy, oraz operacje powiązane z tymi

obiektami.

Rysunek zawiera przykład takiego

diagramu- interakcję obejmującą nabywanie

i katalogowanie książek w bibliotece.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 37

:

Książki:

Katalog

Sprzedawca książek

Składnik:
Składnik
bibliotek
i

Katalogujący:
Personel biblioteki

Nowy

Usuń

Kataloguj
składnik

Usuń składnik
z katalogu

Nabądź

Diagram przebiegu
zarządzania katalogiem

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 38

Przykłady

Na rysunku pokazano dwa obiekty klas

Składnik biblioteki i Katalog, które biorą udział

w przypadku użycia Zarządzanie katalogiem.

Akcje są wykonywane w kolejności z góry na

dół, a etykietki na strzałkach między aktorami i

obiektami są nazwami operacji.

Po zakupie książki, wykonuje się zatem

operację Nowy na katalogu Nabądź i na

Składniku. Gdy książka jest już dostępna, na

Składniku wykonuje się operację Kataloguj

składnik.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 39

Etnografia

To metoda obserwacji, która może służyć do

rozpoznawania wymagań społecznych i

organizacyjnych.

Analityk pogrąża się w środowisku pracy, w którym

system będzie używany.

Obserwuje codzienną pracę i odnotowuje podstawowe

zadania wykonywane przez pracowników.

Zaleta etnografii jest to, że pomaga odkrywać

niejawne wymagania systemowe odzwierciedlające

rzeczywiste, a nie formalne procesy, w których biorą

udział ludzie.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 40

Skoncentrowana
etnografia

Rozwinięta w projekcie badającym proces

kontroli lotów.

Łączy etnografię z prototypowaniem.

Prototypowanie pomaga w pokierowaniu

etnografią przez identyfikowanie problemów i

pytań, które potem mogą być rozważone przez

etnografa.

Wadą etnografii jest to, że bada ona istniejące

zachowania, które mogą mieć jakieś

historyczne podłoże, które nie jest już

odpowiednie.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 41

Etnografia i
prototypowanie

Analiza

etnograficzna

Analiza

etnograficzna

Prototypowanie

systemu

Prototypowanie

systemu

Ogólne tworzenie

systemu

Ogólne tworzenie

systemu

Narady

Narady

Szczegółowa

etnografia

Szczegółowa

etnografia

Ocena

prototypu

Ocena

prototypu

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 42

Opis wymagań wynikających z
rzeczywistego sposobu pracy
osób, a nie ze sposobu zalecanego
formalne definicje procesów.

Opis wymagań, które wynikają z
kooperacji i świadomości
czynności innych osób.

Cele etnografii

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 43

Zatwierdzanie wymagań

Zatwierdzanie wymagań polega na
wykazaniu, że wymagania naprawdę
definiują system, którego chce użytkownik.

Ponieważ błędy w dokumentacji wymagań
mogą przyczynić się do poważnych
kosztów powtarzania prac po
sukcesywnym wykrywaniu tych błędów w
trakcie tworzenia lub nawet po
rozpoczęciu korzystania z systemu.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 44

Sprawdzenie wymagań

Sprawdzenie ważności.

Użytkownik może być

przekonany, że system powinien spełniać pewne funkcje.

Sprawdzenie niesprzeczności.

Wymagania zapisane

w dokumentacji nie powinny być sprzeczne.

Sprawdzenie kompletności.

Dokumentacja

wymagań powinna zawierać wymagania, w których

zdefiniowano wszystkie funkcje i ograniczenia

zamierzone przez użytkownika systemu.

Sprawdzenie realności.

Znając obecną wiedze

techniczną, należy sprawdzić, czy wymagania mogą być

naprawę zaimplementowane.

Możliwość weryfikacji.

Aby uniknąć późniejszych

sporów między klientem a zleceniobiorcą, wymagania

systemowe zawsze powinny być napisane tak, aby

można było je weryfikować.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 45

Przeglądy wymagań

• Zespół recenzentów systematycznie analizuje

wymagania.

Prototypowanie

• W tym podejściu do zatwierdzania przedstawia się

użytkownikom i klientom wykonywalny model
systemu.

Generowanie testów

• Idealnie byłoby, aby wymagania dało się testować.

Zautomatyzowane sprawdzanie sprzeczności

• Jeśli wymagania wyrażono w modelu systemu za

pomocą strukturalnej lub formalnej notacji, to
narzędzia CASE mogą sprawdzić niesprzeczność
systemu.

Modele zatwierdzania
wymagań

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 46

Przeglądy wymagań

Przegląd wymagań jest ręcznym procesem, w
którym wielu czytelników, zarówno ze strony
klienta, jak i zleceniobiorcy, sprawdza
dokumentację wymagań w poszukiwaniu
anomalii i pominięć.

Można też zorganizować go w większej skali z
wieloma uczestnikami sprawdzającymi różne
części dokumentacji.

Przeglądy wymagań mogą być formalne albo
nieformalne. Przeglądy nieformalne polegają na
tym, że zleceniobiorcy rozmawiają o
wymaganiach z największą liczbą uczestników,
jak to jest możliwe.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 47

Sprawdzenie wymagań

Możliwość weryfikacji. Czy wymaganie
wyrażono tak, aby można je praktycznie
sprawdzić?

Zrozumiałość. Czy klienci i użytkownicy
systemu właściwie zrozumieli wymaganie?

Pochodzenie. Czy jawnie zaznaczono źródło, z
którego pochodzi wymaganie?

Giętkość. Czy wymaganie może być zmienione
bez znaczącego wpływu na inne wymagania
systemowe?

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 48

Wymagania zapisane

w języku formalnym

Baza danych wymagań

Raport o błędach

w wymaganiach

Procesor wymagań

Analizator wymagań

Zautomatyzowane
sprawdzanie
niesprzeczności
wymagań

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 49

Wymagania stawiane wielkim systemom
oprogramowania zawsze się zmieniają.
Jedną z przyczyn takiej sytuacji jest to, że
systemy te są zwykle budowane po to, aby
rozwiązać problemy „złośliwe”.

W trakcie procesu tworzenia
oprogramowania stopień zrozumienia
problemu stale się zmienia, a zmiany te
mają zwrotny wpływ na wymagania.

Zarządzanie
wymaganiami

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 50

Z wielkich systemów korzysta zwykle bardzo

urozmaicona społeczność użytkowników. Różni

użytkownicy stawiają różne wymagania i przypisuje

im inne priorytety i może to prowadzić do zmiany

wymagań.

Ludzie, którzy płacą za system, i jego użytkownicy to

zwykle różni klienci. Klienci systemu formułują

wymagania wynikające z ograniczeń organizacyjnych

i budżetowych. Te wymagania mogą być w konflikcie

z wymaganiami użytkowników.

Otoczenie technologiczne i gospodarcze systemu

zmienia się. Te zmiany muszą być odzwierciedlone w

samym systemie.

Wymagania stawiane
wielkim systemom

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 51

Ewolucja wymagań

Wstępne
zrozumienie
problemu

Zmienione
rozumienie
problemu

Wstępne
wymagania

Zmienione
wymagania

Czas

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 52

Wymagania stałe i
zmienne

Wymagania stałe to względnie stabilne wymagania,

które wynikają z podstawowej działalności firmy i

bezpośrednio odnoszą się do dziedziny systemu. W

szpitalu zawsze będą wymagania dotyczące

pacjentów, lekarzy, pielęgniarek, terapii, itp.

Wymagania zmienne to wymagania, które

prawdopodobnie ulegną zmianie w trakcie tworzenia

systemu albo po przekazaniu go do użytkowania.

Takimi wymaganiami są na przykład wymagania,

które wynikają z polityki zdrowotnej rządu.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 53

Klasyfikacja wymagań
zmiennych

Wymagania zmieniające się

• Zmieniają się na skutek zmian środowiska,

w którym działa firma.

Wymagania pojawiające się

• Pojawiają się w trakcie procesu tworzenia

w miarę coraz lepszego rozumienia

systemu przez klienta.

Wymagania wynikowe

• Wynikają z wdrożenia systemu

komputerowego.

Wymagania zgodności

• Zależą mów lub procesów gospodarczych

wewnątrz firmy.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 54

W trakcie tej fazy zarządzania wymaganiami należy podjąć

decyzje dotyczące następujących zagadnień:

Oznakowanie wymagań

» Każde wymaganie musi być unikatowo oznakowane

tak, aby można było robić do niego odnośniki z

innych wymagań i używać tego wymagania przy

ocenianiu pochodzenia.

Proces zarządzania zmianami

» Jest to zbiór czynności szacowania wpływu i kosztu

zmian.

Strategia śledzenia pochodzenia

» Te strategie definiują zależności między

wymaganiami i projektem systemu, które należy

odnotowywać.

Użycie narzędzi CASE

» Zarządzanie wymaganiami polega na przetwarzaniu

ogromnych ilości informacji o wymaganiach.

Planowanie zarządzania
wymaganiami

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 55

Możliwość śledzenia pochodzenia jest
ogólną cechą specyfikacji wymagań

Trzy typy informacji o pochodzeniu, które
warto gromadzić

Informacje o uczestnikach, którzy zaproponowali dane

wymagania, wraz z ich uzasadnieniem..

Informacje o uzależnieniu wymagań wiążą w

dokumentacji wymagań te wymagania, które od siebie
zależą.

Informacje o uzależnieniu projektu wiążą wymagania z

modułami projektu, które implementują te wymagania.

Pochodzenie

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 56

Macierz zależności

Id

wymagań

1.1

1.2

1.3

2.1

2.2

2.3

3.1

3.2

1.1

U

R

1.2

U

R

U

1.3

R

R

2.1

R

U

U

2.2

U

2.3

R

U

3.1

R

3.2

R

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 57

Przechowywania wymagań

• Wymagania należy gromadzić w zabezpieczonej i

administrowanej składnicy danych, która jest

dostępna dla wszystkich biorących udział w

procesie inżynierii wymagań.

Zarządzania zmianami

• Proces zarządzania zmianami jest znacznie

prostszy, gdy aktywnie korzysta się ze

wspomagania narzędzi.

Zarządzania zależnościami

• Wspomaganie narzędzi przy śledzeniu zależności

umożliwia wykrywanie powiązanych wymagań.

Korzystanie z narzędzi
CASE w zarządzaniu
wymaganiami

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 58

Zarządzanie zmianami wymagań należy

zastosować do wszystkich postulowanych

zmian wymagań.

Trzy podstawowe kroki:

Analiza problemu i specyfikacja zmiany.

Proces rozpoczyna się od rozpoznania

problemu z wymaganiem lub czasem od

konkretnej propozycji zmiany.

Analiza zmiany i ocena kosztów.

Korzystając z informacji o uzależnieniu i

ogólnej wiedzy o wymaganiach systemowych,

ocenia się wpływ proponowanej zmiany.

Implementacja zmiany. Modyfikuje się

dokumentacje wymagań oraz, jeśli zachodzi

taka potrzeba, również projekt i

implementacje systemu.

Zarządzanie zmianami
wymagań

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 59

Rozpoznany
problem

Implementacja

zmiany

Analiza zmiany

i ocena kosztów

Analiza problemu

i specyfikacja

zmiany

Skorygowan
e
wymagania

Zarządzanie zmianami
wymagań

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 60

Główne tezy

Proces inżynierii wymagań obejmuje
studium wykonalności, określanie i
analizowanie wymagań, specyfikowanie
wymagań, zatwierdzanie wymagań oraz
zarządzanie wymaganiami.

Analizowanie wymagań to proces
iteracyjny, który obejmuje rozpoznanie
dziedziny, zbieranie wymagań,
klasyfikację, strukturalizację, nadawanie
priorytetów i zatwierdzanie.

background image

©Ian Sommerville 2000

Inżynieria oprogramowania, Rozdział 6

Slide 61

Główne tezy

Różni użytkownicy systemu mogą stawiać

różne wymagania. Wszystkie złożone

systemy należy więc analizować z kilku

punktów widzenia. Punkty widzenia

odpowiadają źródłom lub przeznaczeniom

danych, różnym reprezentacjom systemu

albo bytom spoza systemu, które

korzystają z jego usług.

Czynniki społeczne i organizacyjne mają

silny wpływ na wymagania systemowe i

od nich głównie zależy, czy system będzie

faktycznie używany, czy nie.


Document Outline


Wyszukiwarka

Podobne podstrony:
Rozdz6
Rozdz6
B-rozdz6, PW SiMR, Inżynierskie, Semestr V, syf, laborki, Uklady napedowe, TeoRuch
Rozdz6
seligman rozdz6
Neuropatologia Moss rozdz6
sztompka rozdz6Od organizacji do struktury spo³ecznej (5)
rozdz6
ROZDZ6B, Zbigniew Kosma Podstawy Mechaniki Płynów
rozdz6
08 Rozdz6

więcej podobnych podstron