Specyfikacja wymagań oraz przypadki użycia - jak za to się zabrać.

0

Hej,

Mam mały problem z wymaganiami funkcjonalnymi oraz przypadkami użycia - a dokładnie z jej specyfikacją. Od razu proszę wziąć uwagę fakt, że problem ma charakter szkolny (zdaje sobie sprawę, że w prawdziwym biznesie może odbywać się to całkiem inaczej) oraz przyjęty przez ze mnie sposób projektowania to model przyrostowy; to tak na wstępie.

Teraz sedno problemu (dla wielu pewnie wydaje się to proste, ale proszę o wyrozumiałość).
Czytając wymagania funkcjonalne zauważam że są one opisywane dość często ogólnikowo, dające w zasadzie mało informacji co tak dokładnie funkcja ma realizować np: wyświetlenie listy użytkowników. Wydaje się że wszystko w porządku, nikt nie ma wątpliwości co funkcja realizuje. Tylko jedno pytanie, gdzie zamieścić takie informacje jak np: w jakiej postaci dane mają zostać wyświetlone?, oznaczenie kolorem użytkownika który zalega z płatnościami?, możliwość sortowania użytkowników po nazwisku? albo że usunięty użytkownik musi pozostać w systemie itd. (tego takich uwag można mnożyć).
Idąc dalej, powstanie w kolejnym etapie diagram baz danych - pytanie może paść takie, skąd Pan wie (czy też wnioskuje) że tabela użytkownik ma posiadać pola takie jak imię, nazwisko oraz numer telefonu? Czy takie pola powinny być wyspecyfikowane w wymaganiach funkcjonalnych?

Czytałem oraz tez miałem okazje z kimś innym bardziej "wtajemniczonym" (cudzysłów nie z przypadku ;)), gdzie z tej rozmowy wynikło że w przypadkach użycia należałoby umieścić bardziej szczegółowe dane (na przykład w iteracji, pu2. wypełnij formularz polami imię, nazw... itp.), a te wymagania funkcjonalne to ogólnie tak jakby to klient opisywał własnymi słowami i tyle...

Zawsze myślałem, że przypadki użycia służą do odwzorowania graficznego wymagań funkcjonalnych stawianych systemowi; no ale mogę się mylić, więc w kontekście tego co napisałem proszę o małą pomóc w wytłumaczeniu jak za to się zabrać.

Z góry dziękuje za pomoc.

1

Diagram Use-Case to tylko diagram. Zwykle oprócz niego masz też tzw scenariusze przypadków użycia.
Rzuć okiem na odpowiedni dokument ECSS:
http://www.ecss.nl/forums/ecs[...]-E-HB-40A(11December2013).pdf
w szczególności rozdział 6.1

0
gramy52 napisał(a):

Tylko jedno pytanie, gdzie zamieścić takie informacje jak np: w jakiej postaci dane mają zostać wyświetlone?, oznaczenie kolorem użytkownika który zalega z płatnościami?, możliwość sortowania użytkowników po nazwisku?

To już kilka pytań. ;)

Takie rzeczy też umieszcza się w specyfikacji funkcjonalnej, np. jako szkic ekranu.

albo że usunięty użytkownik musi pozostać w systemie itd. (tego takich uwag można mnożyć).

To też trzeba napisać w specyfikacji funkcjonalnej.

Idąc dalej, powstanie w kolejnym etapie diagram baz danych - pytanie może paść takie, skąd Pan wie (czy też wnioskuje) że tabela użytkownik ma posiadać pola takie jak imię, nazwisko oraz numer telefonu? Czy takie pola powinny być wyspecyfikowane w wymaganiach funkcjonalnych?

Tak, opis danych przechowywanych przez system to specyfikacja funkcjonalna.

Czytałem oraz tez miałem okazje z kimś innym bardziej "wtajemniczonym" (cudzysłów nie z przypadku ;)), gdzie z tej rozmowy wynikło że w przypadkach użycia należałoby umieścić bardziej szczegółowe dane (na przykład w iteracji, pu2. wypełnij formularz polami imię, nazw... itp.), a te wymagania funkcjonalne to ogólnie tak jakby to klient opisywał własnymi słowami i tyle...

Wymagania funkcjonalne spisuje analityk biznesowy na podstawie rozmowy z użytkownikami, klient nie ma tu nic do rzeczy. W nich musi być opisana kolejność czynności do wykonania, dane do wprowadzenia, ich możliwe wartości, itd.

Zawsze myślałem, że przypadki użycia służą do odwzorowania graficznego wymagań funkcjonalnych stawianych systemowi; no ale mogę się mylić, więc w kontekście tego co napisałem proszę o małą pomóc w wytłumaczeniu jak za to się zabrać.

Nie mylisz się, ale przypadki użycia to tylko forma opisu wymagań funkcjonalnych, można ich w ogóle nie używać.

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