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