Czym się różnią: use-case diagram i class-diagram

0

Otóż na studiach robimy własny model, i do tej pory zrobiliśmy use-case diagram, a na kolejne zajęcia jest class-diagram
Class-diagram brzmi tak ogólnie, że nie mogę wyłapać różnicy, czym to się różni?

Do tej pory z PowerDesinger (SyBase) zrobiliśmy coś takiego
user image

Rozumem mam przekształcić to w podobny sposób wyglądający tak: (StarUML)
user image

Edit: I dzięki za fix tytułu ^^
Edit2: Swoją drogą tak totalnie z niczego dodam, że projekty StarUML nie otwierają się na systemach, które inaczej traktują miejsce przecinkowe (u nas jest to po prostu przecinek, a na OS w języku en_US czy im podobnych kropka). Mam W7 po ang i na OS w jęzku PL się nie otwierają właśnie przez to. Co bym nie był pijawką na informacje :)
Edit3: Tak lekki błąd w łączeniu z StarUML

3

Bardzo dziwne pytanie zadałeś. Te diagramy w ogóle nie mają ze sobą nic wspólnego.
Diagram Use-Case to diagram "przypadków użycia systemu" czyli diagram który pokazuje kto (aktorzy) oraz co może zrobić w systemie. Jeśli pani Zosia może za pomocą systemu przeczytać najnowsze plotki z pudelka to przypadkiem użycia będzie "Czytanie plotek z pudelka" a aktorem będzie pani Zosia. Zauważ, że nigdzie nie ma tu informacji JAK ten proces przebiega, jest jedynie informacja CO się dzieje i KTO to robi.

Diagram klas to jest diagram pokazujący strukturę i zachowanie pewnych grup obiektów. Diagram klas zawiera szczegóły implementacyjne - listę pól i metod danej klasy. Diagram klas wskazuje na to ze system jest napisany obiektowo (Use-Case nigdzie tego nie wymusza!). Diagram klas jest na dużo niższym poziomie abstrakcji bo pokazuje które obiekty ze sobą współpracują i jak są powiązane, w efekcie skupia sie raczej na tym JAK system działa od środka. Patrząc na diagram klas nie da się łatwo wymienić funkcji które system udostępnia, ale da się za to stwierdzić jakie "byty" współpracują ze sobą aby te funkcje udostępnić.

0

Rozumiem tworząc diagram o dużo niższym poziomie abstrakcji będę musiał wytworzyć dużo więcej połączeń klas, tak, aby "dystrybutor" czy "tłocznia płyt" nie stały w odosobnieniu?
Utworzenie klasy nie połączonej z niczym to "błąd w sztuce"?
To jest ostatnie pytanie ;D

Dzięki za wskazówki, właśnie o to mi chodziło :)

2

Rozumiem tworząc diagram o dużo niższym poziomie abstrakcji będę musiał wytworzyć dużo więcej połączeń klas

Dużo więcej od czego? Na niższym poziomie abstrakcji od czego?
Niższy poziom abstrakcji = więcej szczegółów

Utworzenie klasy nie połączonej z niczym to "błąd w sztuce"?

Nie, chociaż może na to wskazywać, szczególnie jeśli to są obiekty dziedzinowe. No bo po co ci klasa X skoro nikt jej nie używa w żaden sposób? Niemniej jednak nie jest to zawsze błąd bo można sobie wyobrazić klasę która samodzielnie i autonomicznie wykonuje jakąś prostą operację, ale to raczej bardzo rzadka sytuacja.

0

Dodam jeszcze że najważniejszy w przypadkach użycia jest opis przypadków użycia, a nie diagram !
Diagram jest opcjonalny - natomiast jeżeli masz tylko go to znaczy że nie masz pojęcia czym są przypadki użycia.

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