Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Marcin Gościniak:
- czy powinienem opisywać wszystkie "extend" (jedno z rozszerzeń powyżej), czy jeden przypadek w tym wypadku "zarządzanie użytkownikami"? Jeśli jeden przypadek to jak opisać te wszystkie "extend" jako przebiegi alternatywne? W pewnym kroku powstała by lista opcji do wyboru i tak dalej...
Tak jak pisałem powyżej, operacje CRUD możemy dokumentować w dwojaki sposób:
1. oddzielne przypadki użycia dla każdego rodzaju dostępu do danych
2. jeden przypadek użycia dla typu danych obejmujący wszystkie funkcje CRUD (wiele scenariuszy alternatywnych)
Myślę, że wybrałbym podejście pierwsze. Zrezygnowałbym z dużych przypadków „Zarządzaj...”. Stworzyłbym oddzielny diagram dla każdego typu danych. Przykładowo dla zarządzania użytkownikami utworzyłbym diagram na którym znajdowały by się PU:
- Edytuj konto
- Blokuj konto
- …itd. (przypadki które łączysz teraz z PU „Zarządzaj użytkownikami” relacją rozszerzenia <extend>)
Jeżeli chciałbyś zostać przy podejściu nr 2 to usunąłbym z diagramu wszystkie PU rozszerzające „Zarządzaj...”. Scenariusze usuniętych PU opisałbym jako alternatywne przebiegi PU „Zarządzaj ...”.
Przykładowo dla „Zarządzaj testami”:
1. Przepływ podstawowy: Edytuj test
2. Przepływy alternatywne: Utwórz nowy test, usuń test itd.
- jak powinien wyglądać od strony gramatycznej scenariusz - tzn. w jakiej formie i w której osobie powinny być wypisywane kolejne kroki?
Nazwę PU możesz podawać w formie krótkiego wyrażenia z czasownikiem w trybie rozkazującym na początku (np. Edytuj, Blokuj), określającego pewną czynność pochodzącą ze słownictwa modelowanego systemu.
Przebieg zdarzeń (kroki scenariusza) to ciąg zdań oznajmujących opisujących kolejne kroki PU. W zależności od odbiorcy może być mniej bądź bardziej formalny. Warto zaznaczyć kto panuje nad akcją tzn. „System wyszukuje ...”, „Użytkownik wprowadza...” itp.
- przyjmując że scenariusz jest do zaakceptowania czy w scenariuszach powinny znajdować się przebiegi alternatywne dotyczące CRUD? np 7.1 Edycja profilu zakończyła się niepowodzeniem (chodzi o jakiś błąd w bazie), informacja zwrotna,powrót do kroku x.
Alternatywne ciągi zdarzeń służą właśnie do opisu innych przebiegów niż podstawowy. Wykorzystuje się je w sytuacji, gdy podczas wykonywania kroków scenariusza użytkownik ma możliwość wyboru lub np. wystąpił błąd.
-jeśli jest dziedziczenie (tak jak u mnie z aktorami), to nauczyciel nie musi już być jakkolwiek połaczony z przypadkiem logowanie?Wystarczy, że jest student tak? Nawiązuję do tego, ponieważ usunę wszystkie związki przypadku użycia "logowanie" i pozostawie go jako niezależny PU.
Związek dziedziczenia na diagramach PU oznacza, że jeden z aktorów odgrywa wszystkie role drugiego aktora. Idąc dalej, jeśli aktor „Nauczyciel” dziedziczy po aktorze „Student”, to tak jakby „Nauczyciel” był w relacji z wszystkimi PU, z którymi jest „Student” ;)
- czy tak może wyglądać scenariusz?
Myślę, że po naniesieniu poprawek związanych z tym, kto wykonuje krok, scenariusz będzie ok ;) Przykładowo: Nauczyciel może wyszukać konta na podstawie wybranych kryteriów, System wyświetla konta spełniające kryteria... itd. ;) Z drobnych uwag, moim zdaniem specyfikacja wymagań funkcjonalnych powinna być oderwana od specyfikacji interfejsu. Dlatego usunąłbym element interfejsu jakim jest „przycisk”, w końcu może to być np. odnośnik ;) Jednocześnie myślę, że nie jest to błąd ;)
Najważniejsze, żeby osoba czytająca specyfikację zrozumiała podstawowe wymagania dotyczące systemu :)
Arkadiusz Wrzosk edytował(a) ten post dnia 17.10.09 o godzinie 14:56