Prosty diagram przypadków użycia

0

Witam,
To mój pierwszy post w tym temacie i jednocześnie pierwsza tego typu rzecz jaką mam wykonać. Program liczący schemat Bernoulliego, zawiera klasy: Bernoulli która komponuje klasę DwumianNewtona i klasę Potęga. Klasa DwumianNewtona komponuje klasę Silnia. Wszystko tak, aby miało sens i liczyło schemat Bernouliego dla odpowiednich danych. Mam do tego zrobić diagram przypadków użycia i nie do końca wiem co taki diagram ma zawierać, trochę czytałem już na ten temat, ale nie mogę tego ogarnąć. Nie wiem czy powinienem w nim zawrzeć wszystkie te klasy czy tylko tą z którą użytkownik ma "kontakt". Proszę o wskazówkę.

0

Diagram Use-Case w ogóle nie zawiera klas! On zawiera tylko Aktorów (czyli wszystkich którzy korzystają z systemu) oraz Przypadki Użycia (czyli sytuacje kiedy system jest używany).
Aktorem moze być "Uczeń" a przypadkami użycia "Oblicz Schemat Bernoulliego", "Oblicz silnie", "Oblicz Dwumian".

0

Dzięki za odpowiedź. Czyli coś takiego jest dobre (patrz załącznik)? Nie do końca rozumiem kiedy używać extend, include, asocjacji, itp. miedzy przypadkami użycia i jak się to ma w zależności od powiązania między klasami.

0

Include idą w drugą stronę. Include oznacza "ten przypadek zawiera tamten" (strzałka w kierunki zawieranego). Extend oznacza "ten przypadek jest szczególnym przypadkiem tamtego przypadku" (strzałka w kierunku przypadku rozszerzanego)

0

Czyli u mnie jeśli klasy "agregują się zupełnie" powinienem użyć extend? Tutaj: http://kemiambaron.awardspace.com/UML.pdf wyczytałem coś takiego

Kompozycja
Jest szczególnym (skrajnym) przypadkiem zawierania.
Czy to nie ma żadnego związku między tym jaka zależność jest między klasami?

0

Nie, bo diagram klas to jest diagram struktury programu. A diagram Use-Case to diagram na poziomie wymagań funkcjonalnych wobec systemu. Use-Case jest na dużo wyższym poziomie abstrakcji. Use-Case może opisywać działanie systemu który wcale nie jest napisany w języku obiektowym. Ba, może opisywać nawet system który nie jest komputerowy...
Zwykle Use-Case robi się znacznie wcześniej niż pisze sam system - w trakcie pisania UseCase nie wiadomo jakie będą klasy (i czy w ogóle będą -> nie wiadomo jaki to będzie w ogóle język...)

0

Dzięki wielkie za pomoc:)

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