2014-04-22 11 views
5

Tworzę przypadek użycia dla projektu dla szkoły. Jestem trochę zmieszany z powodu zakładki warunków wstępnych.Warunek wstępny w przypadku użycia

W pewnym sensie rzeczywiście istnieje warunek jak „mają być zalogowany” lub „potrzebuje konto”

ale co jeśli pobrania jest lokalna konfiguracja?

Dla mnie brzmi to logiczne, że jest to warunek, że „oprogramowanie musi być zainstalowane”

Ale z drugiej strony ten warunek wygląda dziwnie, bo inaczej nie miałoby to przypadek użycia w pierwszej kolejności.

Moje krótkie pytanie brzmi. Czy wymagania systemowe lub instalacja oprogramowania może być częścią warunku wstępnego?

Odpowiedz

6

Naprawdę dobre pytanie, które dotyczy sedna problemów UML - to słaba semantyka. Odpowiedź na twoje pytanie brzmi: może mieć rację, może być błędna. UML ustawia reguły notacyjne i definiuje tylko podstawową semantykę elementu (np. "Warunek wstępny musi być spełniony w kolejności ...").

Możemy nawet pójść dalej z warunkami wstępnymi, takimi jak "system operacyjny powinien być poprawnie skonfigurowany" lub jeszcze gorzej - "komputer ma elektryczność" ... Dyskusje te mogą łatwo zmienić filozofię. :)

Z mojego doświadczenia wynika, że ​​istnieje sposób na efektywne wykorzystanie przypadków użycia - zbudowanie kolejnego modelu UML, uzupełniającego, który posłużyłby do sformułowania warunków wstępnych, warunków końcowych, a nawet użycia scenariuszy przypadku (to samo pytanie, które zadałeś dla warunków wstępnych może być również stworzony dla scenariuszy - co jest poprawną abstrakcją scenariusza, czy też "włącz komputer", ważny krok w scenariuszu?).

Aby to osiągnąć, używam zazwyczaj diagramów pojęciowych - modeluję swoją domenę, a następnie wyrażam warunki i scenariusze przed/po, w kategoriach tych elementów (klasy i ich atrybuty) ORAZ WYKORZYSTUJEMY TYLKO TE ELEMENTY. Ma to wiele sensu, szczególnie mając świadomość, że stan systemu zapytań przed/po stanie jest dokładnie odzwierciedlony przez obiekty/wartości.

Powracając do przykładu, jeśli zastanawiasz się nad warunkiem, że "oprogramowanie musi zostać zainstalowane", po prostu zadaj sobie pytanie: "Czy naprawdę potrzebuję klasy" Oprogramowanie "z atrybutem" jest instalowany "?"

Wtedy najprawdopodobniej zdasz sobie sprawę, że prawdopodobnie nie potrzebujesz tego warunku, ponieważ jest po prostu zbyt "niski poziom" i poza zakresem mojej domeny. Teraz musisz tylko zdefiniować swoją domenę. :) Oto prosty przykład podobnej sytuacji, demonstrując ideę (należy pamiętać, że przypadek użycia i klasy modele są narysowane na oddzielnych wykresach):

enter image description here

Metoda ta nie tylko ułatwi określenie wykorzystanie przypadkach, ale także uzupełniają model klasy, który pozwala na specyfikację domen, identyfikację reguł biznesowych i pierwszą abstrakcję projektu systemu.

Życzymy powodzenia i dobrej zabawy!

+0

Za dużo ! To rozwiązuje mój problem! Projekt dla szkoły pisze przypadki użycia, ale dla oprogramowania, które już zostało utworzone. Kinda odwrócił się ... ale to koncepcja, którą musimy zrozumieć. Wybrałem dla programu Ccleaner z Piriform. Zrobiłem już jeden przypadek użycia ... Przypadek, w którym użytkownik podejmuje akcję czyszczenia hdd. Dziękuję za zdjęcia i wyjaśnienia! Fosa – Fosa

1

Dla mnie wymagania systemowe i/lub instalacja oprogramowania może być częścią warunku wstępnego, ale jak zwykle musi być istotna w kontekście przypadku użycia. Na przykład Twój system będzie działał inaczej, jeśli sprzęt lub trzecie narzędzie jest zainstalowane lub nie jest zainstalowane.

1

Pamiętajmy, że przypadki użycia są naprawdę wysokimi wymaganiami co do tego, jakie oprogramowanie/systemy muszą wdrożyć. W ten sposób warunki wstępne powinny odnosić się tylko do oprogramowania (lub systemu), które budujesz, a nie do elementów zewnętrznych (np. "Komputer jest podłączony i włączony" nie jest dobrym warunkiem wstępnym). Kiedy zaczynasz realizować swoje przypadki użycia jako sekwencje lub diagramy aktywności, na przykład, warunki wstępne dają ci pewną wskazówkę, że w oprogramowaniu może zajść potrzeba sprawdzenia, może wymagające wywołania innej operacji/modułu/klasy. Ćwiczenie to pomoże ci określić formę, jaką zajmie warunek wstępny, a nawet jeśli jest ona nadal wymagana w zależności od struktury twojej aplikacji.

Przykładowo warunek "musisz być zalogowany" może być niezbędny, jeśli oczekujesz innego zachowania, jeśli użytkownik jest zalogowany lub nie, lub jeśli dla operacji wymagane są inne uprawnienia.

Niektóre wymagania systemowe mogą być warunkami wstępnymi (np. Łączność z urządzeniem), a niektóre instalacje oprogramowania mogą być warunkiem wstępnym (np. Wymagana integracja produktu towarzyszącego), ale tylko wtedy, gdy mają bezpośredni wpływ na przypadek użycia samo. Instalacja oprogramowania dla twojej aplikacji nie powinna być warunkiem wstępnym: aplikacja nie może sprawdzić, czy nie jest zainstalowana, ponieważ nie może być uruchomiona i działa, to oczywiście jest zainstalowana ...

Powiązane problemy