Przypadki użycia a wymagania funkcjonalne

0

Kto mi wytłumaczy różnicę między przypadkami użycia systemu a wymaganiami funkccjonalnymi względem systemu? Czy w ogole różnica jakaś jest?

0

hm.. jakby to powiedziec krotko.. przypadek uzycia opisuje Ci calosc z lotu ptaka, np. tradycyjnie o systemie dla biblioteki:

przykladowe przypadki uzycia:
UC1: uzytkownik zglasza chec wypozyczenia ksiazki
UC2: bibliotekarka sprawdza czy uzytkownik nie przekroczyl limitu
UC3: bibliotekarka sprawdza czy uzytkownik nie zalega z karami
UC4: uzytkownik wyszukuje ksiazke
UC5: uzytkownik rejestruje sie w bibliotece
UC6: bibliotekarka odnotowuje wypozyczenie ksiazki
UC7: bibliotekarka odnotowuje zwrot ksiazki
edit: UWAGA: to co napisalem tutaj powyzej to jest zbyt wylewne!!! powinna byc razcej forma bezosobowa i bezaktorowa np. "zloszenie checi wypozyczenia", "sprawdzenie przekroczenia limitu", "wyszukiwanie ksiazek", ale wtedy to brzmi bardzo 'funkcjonalno-wymaganiowo'. na usecase nalezy spojrzec przez pryzmat aktora! to chodzi o to wszystko, co aktor bedzie w stanie robic w/poprzez system. zeby bylo ciekawiej, niektorzy wykladowcy wymagaja, aby UC mialy postac hiperskrotowa np. "logowanie", "rejestrowanie", "zapisywanie".. ja sie nie zgadzam z tym, bo to jest bardzo mylace i wtedy w ogole sie wszystko miesza

UCki (use case) to sa takie ogolne czynnosci jakie w systemie beda wykonywac (->do czego beda go uzywac). nie musza byc kolejno i tworzyc jakiejs super-spojnej "sciezki" (to by bylo wtedy tzw. scenariusze uzycia: 1poszedlem, 2poszukalem, 3wypozyczylem). generalnie na UC mozna spojrzec jako na opis 'ogolnych dzialan/celow'.

przykladowe wymagania funkcjonalne:
F1: rejestracja nowego uzytkownika (potrzebne w wykonaniu: UC5)
F2: wyswietlenie stanu konta uzytkownika (potrzebne w wykonaniu: UC2, UC3)
F3: wyswietlanie listy ksiazek (potrzebne w wykonaniu: UC4)
F4: filtrowanie listy ksiazek wg. kryteriow (potrzebne w wykonaniu: UC4)
F5: wyswieltanie szczegolowych informacji o ksiazce (potrzebne w wykonaniu: UC4)
F6: zarejestrowanie żądania wypozyczenia (potrzebne w wykonaniu: UC1)
F7: zarejestrowanie faktu wypozyczenia (potrzebne w wykonaniu: UC6)
F8: zarejestrowanie faktu zwrotu (potrzebne w wykonaniu: UC7)
F9: automatyczna kontrola okresu przetrzymywania (potrzebne w wykonaniu: UC7)
F10:automatyczne naliczanie kar za przetrzymywanie (potrzebne w wykonaniu: UC7)
F11:nawiazywanie polaczenia z baza danych Oracle
F12:szyfrowanie danych
F13:zapisywanie historii wykonanych operacji do pliku logu
F14:...

a wiec wymagania funkcjonalne przedstawiaja wszystkie "drobne" (ale bez przesady!) czynnosci wymagane do zrealizowania przypadkow uzycia! jednak nie tylko. bardzo czesto spora ich czesc (F11-F14) jest po prostu potrzebna aby system dzialal i nie widac tego z poziomu UC. niby takie na przyklad F10 jest konieczne do wykonania wszystkich UC, ale juz takiego F12 sie z UC nie wyciagnie nijak! podobnie F13 - jesli bylby UC pod tytulem "administrator - wyswietlanie logow" to tak. Ale nikt nie mowi ze system musi to miec. Admin sobie moze Notepadem ogladac logi.. tak wiec nalezy badzo uwazac -- te dwie rzeczy (UC i SWS) sa niejako 'obok siebie', nie nalezy na to patrzec tak jakby UC narzucaly SWS. One sie uzupelniaja. Warto takze pamietac o powiazaniach: np. na UC2 UC3 i F2, albo UC7 i F8 F9 F10 - totalna dowolnosc w ile-czego-do-kogo.

0

Dzięki, chyba kumam :)
Aczkolwiek zawsze jak przychodzi do pisania specyfikacji wymagań to pojawiaja się wątpliwośći. Jakby co to się tu jeszcze odezwę ;)

Pozdrawiam,
Piote

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0