Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [UML]Czy takie wykresy są poprawne
sweter
post 6.12.2010, 18:49:52
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam,
od wczoraj uczę się UML'a, no i pomyślałem, że dobrze było by przećwiczyć swoje umiejętności (duże słowo smile.gif) w praktyce.
Pomyślałem, że zrobię schematy do systemu blogowego. Oto one:



Proszę o konstruktywne uwagi na temat tego co jest źle, a co dobrze i cierpliwość w stosunku do mojej osoby smile.gif
Pozdrawiam

Ten post edytował sweter 6.12.2010, 20:02:51


--------------------
Go to the top of the page
+Quote Post
bim2
post 6.12.2010, 19:39:49
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Podpowiem Ci tylko, wrzuć to na jakiś normalny hosting obrazków, bo teraz trzeba wejśc "Otwórz obrazek", kliknąć ściągnij i dopiero go widać :/


--------------------
Go to the top of the page
+Quote Post
markonix
post 6.12.2010, 20:02:13
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Coś chyba nie tak z liczebnościami (użytkownik może ocenić wiele postów, ale jest post tylko raz itp.) i groty jak dobrze pamiętam też mają znaczenie.


--------------------
Go to the top of the page
+Quote Post
sazian
post 9.12.2010, 14:31:50
Post #4





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


przypadkami użycia się nie zajmowałem więc nie chce wprowadzać w błąd ale wydaje mi się że tam nie powinno być grotów

co do diagramu klas to dlaczego klasy użytkownik, komentarze i posty dziedziczą po bazie danych questionmark.gif
tam raczej powinna być agregacja lub asocjacja

no i na koniec proponowałbym zmienić edytor, paint nie nadaje się zbytnio do UML'a
polecam Dia lub Visual Paradigm
Go to the top of the page
+Quote Post
Cysiaczek
post 9.12.2010, 14:50:54
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Nie uważasz, że dział Oceny nie jest adekwatny do treści Twojego posta? Ponieważ nie mamy działu dotyczącego takich rzeczy, przenoszę na PHP.

To, co pokazałeś na obrazki z klasami, nie trzyma się za bardzo kupy. Brakuje stosunków pomiędzy uczestnikami. Od razu jednak widać, że źle zaprojektowałeś system, skoro każdy obiekt operujący na danych musi dziedziczyć po obiekcie BazaDanych.
To tak jakbyś napisał, class Człowiek extends Atom.
Pozdrawiam


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Zyx
post 9.12.2010, 15:08:40
Post #6





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Pierwsza moja uwaga dotyczy narzędzia. Diagramów UML nie rysujemy w Paincie, tylko w programach do rysowania diagramów UML. Komercyjne pakiety są dość drogie, ale jest też kilka przyzwoitych narzędzi darmowych:
- Dia (tylko niektóre diagramy)
- UMLet (wyposzczony interfejs, ale o dziwo pracuje się z nim bosko)

Druga moja uwaga dotyczy tego czegoś, co ma przypominać diagram przypadków użycia. Na tym diagramie między przypadkami użycia, a aktorami rysuje się linie komunikacyjne, a nie linie asocjacji z diagramów klas (nie wspominając już o tym, że nie ma tu czegoś takiego, jak liczność). Jak wyglądają linie komunikacyjne? Są to najzwyklejsze w świecie kreski, bez żadnych grotów, strzałek, kropek, punktów, ozdobników i farfocli.

Trzecia moja uwaga dotyczy tego, co diagram przedstawia. Jeśli i użytkownik, i administrator są połączeni z "Rejestracją", oznacza to, że korzystają ni mniej, ni więcej, tylko dokładnie z tego samego formularza. A przecież jeśli admin chce komuś utworzyć konto, raczej nie musi bawić się np. w aktywację. Powinieneś tu wykorzystać zależność między przypadkami użycia o nazwie "<<include>>": bazowy przypadek użycia do rejestracji i odmiany dla gości rejestrujących się samodzielnie oraz dla adminów.

Ponadto musisz pamiętać o używaniu spójnego słownika pojęć. Kim jest użytkownik? Zwykłym, szarym, anonimowym internautą czy osobą posiadającą konto? Jeśli zwykłym internautą, po co ma się rejestrować, kiedy nic się z tym nie wiąże, bo w systemie nie ma aktora reprezentującego osoby zalogowane? Jeśli zaś osobą posiadającą konto, to po co jej dostęp do formularza rejestracji pozwalającego założyć konto?

Przy okazji taka złota uwaga: dobry projektant zrobi dobry system przy pomocy kartki A4 z narysowanymi serduszkami. Natomiast jeśli komuś brakuje podstawowych umiejętności z zakresu ogarniania i projektowania, żadna znajomość UML-a mu nie pomoże. To jest tylko notacja do spisywania pomysłów tak, by je inni zrozumieli, a nie cudowny młotek.

Ten post edytował Zyx 9.12.2010, 15:11:32


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
sazian
post 9.12.2010, 22:13:58
Post #7





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


Zyx: masz rację w UMLet interfejs jest naprawdę dziwny biggrin.gif
no i oczywiście zapomniałem wymienić ciekawy program umbrello

zarówno umbrello jak i Visual Paradigm potrafią generować kod z naszych diagramów, a co ciekawe VP robi to nawet w drugą stronę(tej opcji jeszcze nie testowałem)

Visual Paradigm jest to program płatny ale jest również jego darmowa wersja a do tego są wersie pod całą wielką trójcę systemów winksmiley.jpg
co prawda nie wiem jakie ma funkcje w wersji darmowej(uczelnia mi "ufundowała" wyższą wersie biggrin.gif ) ale jest to narzędzie naprawdę godne uwagi

Go to the top of the page
+Quote Post
Zyx
post 10.12.2010, 10:49:40
Post #8





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Czy Umbrello obsługuje UML 2.0? Pamiętam, że właśnie to + nieprzenośność diagramów między aplikacjami mnie od niego odrzucały.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
sazian
post 10.12.2010, 14:33:31
Post #9





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


wygląda na to że ciągle nie
zresztą Dia również nie obsługuje 2.0
Go to the top of the page
+Quote Post
Zyx
post 10.12.2010, 19:06:31
Post #10





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Ale Dia to samo rysowanie, więc od biedy można sobie jakoś poradzić, choć trzeba nadmienić, że jest to program ogólnego przeznaczenia i UML nie jest tu priorytetem.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
sweter
post 10.12.2010, 19:55:03
Post #11





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----



Czy teraz jest OK?


--------------------
Go to the top of the page
+Quote Post
Zyx
post 10.12.2010, 20:11:42
Post #12





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Nie, nie jest OK. Masz pod ręką jakieś materiały dot. UML czy na oślep rysujesz? Poczytaj sobie, co robi "<<include>>" oraz jak wyglądają linie komunikacyjne. Pisałem przecież wyraźnie: ŻADNYCH farfocli.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 13:49