Transcript Wykład 3

Określanie wymagań
Inżynieria wymagań
Dr inż. Marek Miłosz
Wykład 3
Plan






© M.Miłosz
Istota fazy określania wymagań
Problemy inżynierii wymagań
Metody rozpoznania wymagań
Wymagania funkcjonalne i nieDokument: Specyfikacja wymagań
Formalne metody definiowania
wymagań
PSI-3
2/34
Istota fazy określania wymagań
 Cel: ustalenie wymagań klienta wobec
tworzonego SI
 Zamiana celów klienta na konkretne
wymagania zapewniające osiągnięcie tych
celów
 Proces wspólnej pracy: analityk
systemowy + klient + eksperci dziedzinowi
 Konieczność dużego zaangażowania
klienta
 Weryfikacja wymagań
© M.Miłosz
PSI-3
3/34
Czynniki uwzględniane przy
definiowaniu wymagań (1)
 Możliwości systemu (zestaw funkcji
systemu z pozycji użytkownika)
 Wielkość systemu (liczba użytkowników,
objętość baz danych)
 Szybkość działania (czas realizacji operacji,
natężenie operacji)
 Dokładność (liczba miejsc znaczących)
 Ograniczenia (zakres zmienności)
© M.Miłosz
Wg Software Engineering Guides
PSI-3
4/34
Czynniki uwzględniane przy
definiowaniu wymagań (2)
 Interfejsy komunikacyjne (sieć, protokoły)
 Interfejsy sprzętowe (sprzęt, wymagania
środowiska pracy)
 Interfejsy oprogramowania
(kompatybilność)
 Interakcja człowiek-maszyna (interfejs
użytkownika, sprzęt, język, komunikaty)
© M.Miłosz
PSI-3
5/34
Czynniki uwzględniane przy
definiowaniu wymagań (3)
 Adaptowalność (zmiana)
 Bezpieczeństwo (poufność, prywatność,
odporność)




Odporność na awarie
Standardy
Zasoby (finansowe, ludzkie)
Skala czasowa (ograniczenia czasu
wykonania)
© M.Miłosz
PSI-3
6/34
Problemy inżynierii wymagań
 Klient nie potrafi zdefiniować celów
i wymagań
 Cele klienta mogą być osiągnięte na
wiele sposobów
 Wielu użytkowników - wiele celów,
sprzeczność, różnorodność terminologii
 Zleceniodawcy a użytkownicy przewidywalność potrzeb, sprzeczność
interesów
 Niejednoznaczność języka
© M.Miłosz
PSI-3
7/34
Poziomy opisu wymagań
 Definicja wymagań - opis ogólny
w języku naturalnym
 Specyfikacja wymagań - częściowo
ustrukturalizowany zapis
wykorzystujący zarówno język
naturalny, jak i proste, sformalizowane
notacje (tablice, diagramy)
 Specyfikacja oprogramowania - w pełni
formalny opis wymagań
© M.Miłosz
PSI-3
8/34
Formalizacja
 Formalny <> matematyczny
 Formalny = dokładny, jednoznaczny, nie
stwarzający okazji do różnej
interpretacji
 Notacje: schematy, formularze
 Podstawa do testowania akceptacyjnego
SI
© M.Miłosz
PSI-3
9/34
Jakość opisu wymagań







© M.Miłosz
Kompletność i niesprzeczność (spójność)
Jednoznaczność, dokładność
Realistyczność, osiągalność
Wyraźna specyfikacja ograniczeń
Opis zewnętrznych zachowań SI
Możliwość modyfikacji i zmian
Opis zachowania się SI i rozwiązywania
problemów w sytuacjach wyjątkowych
PSI-3
10/34
Metody rozpoznania wymagań
 Wywiady i przeglądy procesów oraz
zdarzeń
(MBP - jeśli było przeprowadzone)
 Analiza istniejącego oprogramowania
 Analiza wymagań innych SI
 Studium wykonalności
 Prototypowanie
© M.Miłosz
PSI-3
11/34
Typy wymagań
 Funkcjonalne - czynności/operacje
które SI musi wykonywać w reakcji na
zdarzenia zewnętrzne (obiekty oddziaływujące
na SI lub wykorzystujące rezultaty jego pracy)
 Niefunkcjonalne - ograniczenia
i dodatkowe uwarunkowania - inne
struktury SI (np. struktura techniczna, typ
interfejsu, współpraca z BD, wydajność, odporność na
awarię, przenośność, łatwość użytkowania)
© M.Miłosz
PSI-3
12/34
Dokument: Specyfikacja
wymagań
 Wprowadzenie (cel, zakres i kontekst systemu,
częściowe wyniki fazy strategicznej)
 Opis ewolucji systemu (zakres
wprowadzanych zmian)





Opis wymagań funkcjonalnych
Opis wymagań niefunkcjonalnych
Model funkcjonalny SI
Wymagania przedsięwzięcia (czas, zasoby)
Słownik terminów (informatycznych
i specyficznych)
© M.Miłosz
PSI-3
13/34
Bank
Kierownik
© M.Miłosz
SI
Wystawienie faktury
Wprowadzenie danych klienta
Przygotowanie wykazu towarów
Funkcje
Sprawdzenie stanu
Określenie ilości
Zatwierdzenie faktury
Wydruk faktury
REZULTATY - ZDARZENIA WY
Klient
ZDARZENIA - WE
OBIEKTY ZEWNĘTRZNE
Model funkcjonalny - idea
PSI-3
Klient
Kierownik
14/34
Model funkcjonalny SI
- struktura
 Identyfikacja zdarzeń, na które ma
reagować SI
 Identyfikacja obiektów zewnętrznych
generujących zdarzenia (osoby, systemy,...)
 Diagram kontekstowy SI (Context
diagram)
 Hierarchiczny model funkcji SI
© M.Miłosz
PSI-3
15/34
Wykaz zdarzeń
Event list
 Zdarzenie - pojawienie się danych na
granicy systemu (do i z systemu)
 Typy zdarzeń:
 wymuszone
z zewnątrz (obiekty) lub
wewnętrzne (związane z upływem czasu)
 sterowanie (w tym systemowe)
 Identyfikacja zdarzeń z punktu
widzenia otoczenia systemu
 Identyfikacja wyjątków i zdarzeń
niepożądanych
© M.Miłosz
PSI-3
16/34
Obiekty zewnętrzne
 Obiekty (lub ich grupy), które
dostarczają informacji do SI lub też
wykorzystują informację tworzoną w
rezultacie pracy SI - generują zdarzenia
zewnętrzne
 Problem: obiekt vs. użytkownik
końcowy vs. użytkownik bezpośredni SI
 Definiowanie granic system-otoczenie
© M.Miłosz
PSI-3
17/34
Diagram kontekstowy
Context diagram
Za m ó w ie n ie
a
Za m ó w ie n ie
Za p ła ta
Zw ro t
K lie n t
b
D o s ta w c a
Za p ła ta
P o tw ie rd z e n ie
z a m ó w ie n ia
D o s ta w a
D o s ta w a
F a k tu ra
S p rz e d a ż
ra ta ln a
F a k tu ra
W ytyc z n e
W n io s e k
c
Za rz ą d
R a p o rt o
s p rz e d a ż y
© M.Miłosz
K re d yt
d
K re d yto d a w c a
wg. metodyki SSADM - Structured System Analysis and Design Method
PSI-3
18/34
Hierarchiczny model funkcji
- techniki przedstawienia (1)
Lista hierarchii
S ys tem
F u n k c ja 1
1. Funkcja 1
1.1. Funkcja 1.1
1.2. Funkcja 1.2
1.3. Funkcja 1.3
2. Funkcja 2
3. Funkcja 3
3.1. Funkcja 3.1
Układ
pionowy
F u n k c ja 1 .1
F u n k c ja 1 .2
F u n k c ja 1 .3
F u n k c ja 2
F u n k c ja 3
F u n k c ja 3 .1
3.1.1. ........
3.1.2. ........
3.1.3. ........
3.2. Funkcja 3.2
3.2.1. ........
3.2.2. ........
3.2.3. ........
© M.Miłosz
F u n k c ja 3 .2
PSI-3
19/34
Hierarchiczny model funkcji
- techniki przedstawienia (2)
Układ
poziomy
S ystem
F u n kcja 1
F u n kcja 1 .1
F u n kcja 1 .2
Fu n kcja 2
Fu n kcja 1 .3
Fu n kcja 3
Fu n kcja 3 .1
Fu n kcja 3 .2
S ystem
Układ
hybrydowy
(zalecany)
F u n kcja 1
F u n kcja 2
F u n kcja 3
...
F u n kcja 1 .1
F u n kcja 1 .2
F u n kcja 1 .3
F u n k c ja 3 .1
F u n kcja 3 .2
Wyróżnienia graficzne:
- kluczowa funkcja
- inne (pominięte)
- nierozwinięte poziomy
- elementarne
itd.
© M.Miłosz
PSI-3
20/34
Model funkcji - zasady
 Funkcja = działanie (czasownik)
 Zwięzłość, jednoznaczność opisu,
numerowanie funkcji
 Na każdym poziomie ten sam poziom
szczegółowości
 Kompletność dekompozycji
 Kolejność funkcji nie ma znaczenia
 Funkcje z pozycji użytkownika
 Podejście top-down
© M.Miłosz
PSI-3
21/34
Dekompozycja
Top-down
funkcja f1
funkcja f1.1
funkcja f1.2
funkcja f1
funkcja f1
funkcja f1.3
funkcja f1.1
funkcja f1.3.1
funkcja f1.2
funkcja f1.3.2
funkcja f1.3
funkcja f1.3.3
funkcja f1.4
funkcja f1.4
funkcja f1.4.1
funkcja f1.4.2
funkcja f1.4.3
© M.Miłosz
PSI-3
22/34
Formularz opisu funkcji
N azw a fu n kcji
E w iden cja dan ych klien ta
1.3
O pis
F unkcja um o żliw ia w prow adzenie i
edycję danych o kliencie
D an e w ejściow e N azw isko+ Im ię+ P E SE L + A dres+ N um
er D okum entu + T yp dokum entu
© M.Miłosz
Ź ródło dan ych
D ow ód osobisty, praw o jazdy lub
paszport
W yn ik
Z apis w bazie danych klientów
U w agi
K lient uzyskuje autom atycznie
w ew n ętrzny unikalny identyfikator
PSI-3
23/34
Wymagania niefunkcjonalne
 Dodatkowe uwarunkowania i
ograniczenia
 Wynikają z wymagań użytkownika
 Weryfikowalność wymagań:
 liczebniki
a nie przymiotniki
 uzasadnienie (koszt)
© M.Miłosz
PSI-3
24/34
Podsumowanie
 Określanie wymagań jest początkiem
budowy SI a jednocześnie
przygotowaniem do testowania
 Należy zadbać o dokładność i
jednoznaczność określeń
 Formalizacja i podejście metodyczne
jest gwarancją sukcesu
 Błąd w specyfikacji popełnia się łatwo a
jego usunięcie kosztuje bardzo dużo
© M.Miłosz
PSI-3
25/34
Przykład
Wypożyczalnia rowerów
„Szybki Bill”
SI SzyB („Szybki Bill”)
Wywiad z właścicielem
Właściciel wypożyczalni rowerów „Szybki Bill”
potrzebuje system informatyczny, który zautomatyzuje
mu
obszar
ewidencji
wypożyczeń
rowerów
z przygotowaniem danych do posiadanego programu F-K
oraz gospodarkę rowerami.
Każde wypożyczenie powinno być odnotowywane
w systemie w sposób umożliwiające naliczenie opłat, jak
też i dokładną identyfikację osoby wypożyczającej.
Wypożyczalnia ma sporo stałych klientów. Prowadzi dla
nich system rezerwacji rowerów.
Rowery niekiedy się psują i wymagają napraw w
warsztacie remontowym.
© M.Miłosz
PSI-3
27/34
SI SzyB
Specyfikacja - Wprowadzenie
 Cel: automatyzacja obsługi procesów
ewidencji rowerów, rezerwacji, wypożyczeń,
naliczania opłat
 Zakres:
 gospodarka
rowerami (ewidencja, remonty,
złomowanie)
 ewidencja klientów i wypożyczeń
 rozliczanie wypożyczeń
 rezerwowanie rowerów (przyjęcie rezerwacji,
rezygnacja)
 cennik
 zestawienia wynikowe
 Kontekst systemu: SI SzyB ma
współpracować z istniejącym systemem F-K
na istniejącym sprzęcie
© M.Miłosz
PSI-3
28/34
SI SzyB
Wymagania niefunkcjonalne
 SI SzyB ma być zaimplementowany przy
pomocy MS Access 2000 na komputerze z MS
Windows 2000
 Do szybkiej identyfikacji rowerów mają być
użyte naklejki i czytniki kodu kreskowego
 Musi istnieć możliwość obsługi przy pomocy:
myszy, klawiatury i/lub ekranu dotykowego
 Wymiana z F-K ma się odbywać przy pomocy
pliku tekstowego w formacie opisanym w
dokumentacji systemu F-K
 System ma mieć możliwość obsługi w języku
polskim i angielskim z przełączaniem „w
locie”
© M.Miłosz
PSI-3
29/34
SI SzyB
Identyfikacja zdarzeń i obiektów
Lp
© M.Miłosz
Z darzen ie
O biekt
U w agi
1
D ostaw a row erów
D ostaw ca
2
W yp o życzen ie row eru
K lien t, P ra cow n ik
K sięga
w yp o życzeń
3
Z w rot row eru
P ra cow n ik , F -K
j.w .
4
B rak zw rotu row eru
P ra cow n ik , P olicja
Z głoszen ie
5
Z ep su cie się row eru
P ra cow n ik , W arsztat
Z lecen ie
6
Z m ian a cen n ik a
W łaściciel
C en n ik
7
R ap ort o w yp o życzen iach
W łaściciel
8
R ow er n ap raw ion o
P ra cow n ik
9
R ezerw acja row eru
K lien t
K sięga
rezerw acji
10
R ezygn acja z rezerw acji
K lien t
j.w .
11
Z ło m ow an ie row eru
P ra cow n ik
12
...............................
PSI-3
30/34
SI SzyB
Diagram kontekstowy
Policja
Warsztat
Rezygnacja
Zlecenie
naprawy
Dostawca
Zgłoszenie
kradzieży
Dane roweru
Rezerwacja
Dane klienta
Klient
SzyB
Dane o opłacie
F-K
Raporty
Oferta
Typ roweru
Dane o
Dane o zwrocie
wypożyczeniu
(braku)
Cennik
Status roweru
Właściciel
Pracownik
© M.Miłosz
PSI-3
31/34
SI SzyB
Model funkcji
S zy B
1 . G o sp o d a rk a ro w e ra m i
2 . E w id e n c ja w y p o ży c ze ń
3 . W sp o m a g a n ie za rzą d za n ia
1 .1 . E w id e n c ja ro w e ró w
2 .1 . E w id e n c ja d a n y c h k lie n ta
3 .1 . E d y c ja c e n n ik a
1 .2 . E w id e n c ja n a p ra w
2 .2 . O b słu g a re z e rw a c ji
3 .2 . R a p o rto w a n ie
1 .3 . Z ło m o w a n ie ro w e ru
2 .2 .1 . R e ze rw o w a n ie
3 .2 .1 . R a p o rt o w y p o ż y c z e n ia c h
2 .2 .2 . R e zy g n a c ja
3 .2 .2 . M ie się c z n y ra p o rt o ....
2 .2 .3 . Z e sta w ie n ie re ze rw a c ji
............
1 .4 . E d y c ja sło w n ik a ty p ó w
2 .3 . W y d ru k o fe rty
3 .3 . E k sp o rt d a n y c h d o F -K
2 .4 . E w id e n c ja w y p o ż y c z e ń
2 .5 . E w id e n c ja z w ro tu
2 .6 . S y tu a c je n a d z w y c z a jn e
© M.Miłosz
PSI-3
32/34
Opis funkcji 2.1
N azw a fu n kcji
2.1. E w iden cja dan ych klien ta
O pis
F unkcja um o żliw ia w prow adzenie
i edycję danych o kliencie
D an e w ejściow e N azw isko+ Im ię+ P E SE L + A dres+ N um
er D okum entu + T yp dokum entu
© M.Miłosz
Ź ródło dan ych
D ow ód osobisty, praw o jazdy lub
paszport
W yn ik
Z apis w bazie danych klientów
U w agi
K lient uzyskuje autom atycznie
w ew n ętrzny unikalny identyfikator
PSI-3
33/34
SI SzyB
Model funkcji (alternatywny)
SzyB
1. G ospodarka row eram i
2. Ew idencja w ypożyczeń
3. W spom aganie zarządzania
4. Obsługa rezerw acji
1.1. Ew idencja row erów
2.1. Ew idencja danych klienta
3.1. Edycja cennika
4.1. Rezerw ow anie
1.2. Ew idencja napraw
2.2. W ydruk oferty
3.2. Raportow anie
4.2. Rezygnacja
1.3. Złom ow anie row eru
2.3. Ew idencja w ypożyczeń
4.3. Zestaw ienie rezerw acji
3.2.1. Raport o w ypożyczeniach
1.4. Edycja słow nika typów
2.4. Ew idencja zw rotu
3.2.2. M iesięczny raport o....
2.5. Sytuacje nadzw yczajne
............
3.3. Eksport danych do F-K
© M.Miłosz
PSI-3
34/34