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