Temat: Wyniki ankiety "Do czego i jak używam UML w projektach"
Jarek Żeliński:
Jacek Sałacki:
Przyszła mi do głowy odpowiedź na to pytanie, czemu diagramy aktywności są tak popularne - Są po prostu najbardziej naturalne.
naturalne do czego? ale... są to nieliczne "nieobiektowe" diagramy może więc dlatego :)
naturalne w sensie ...., dobra, słownik PWN:
naturalny
1. «właściwy naturze, przyrodzie, zgodny z jej prawami»
2. «zrobiony z surowców występujących w naturze»
3. «stanowiący właściwość czyjejś natury, wrodzony»
4. «zgodny ze zwykłym porządkiem rzeczy, zrozumiały sam przez się»
5. «wynikający z czyjejś natury, szczery, niewymuszony»
6. «uiszczany w towarach, w naturze»
punkt 3 i 4, czyli w mojej wypowiedzi naturalny należy rozumieć jako "rzecz zgodna z rzeczywistością, ludzką naturą, typowym porządkiem rzeczy, zrozumiały sam przez się"
I jak sądzę wynika to z nieobiektowości tego diagramu. Koncepcja języków obiektowych jest przecież trudna do opanowania. Tak na marginesie - podobny mechanizm "naturalności" powoduje dużą popularność języków typu różne odmiany Visual Basica i przede wszystkim PHP, czyli jak je nazywam - bezparadygmatowych. Nie musisz się zastanawiać ani nic wiedzieć specjalnego - po prostu siadasz i piszesz ;)
Sądzę, że większość ludzi będzie w stanie zrozumieć ich znaczenie praktycznie bez żadnego przygotowania (oczywiście o ile nie ma tam zbyt skomplikowanych konstrukcji, jak np. wielowątkowość). Co więcej, jeżeli ktoś chce narysować jakiś przepływ działań, zadań to odruchowo rysuje właśnie uproszczoną wersję diagramów aktywności - prostokąty + strzałki je łączące.
ale UML to przede wszystkim obiektowy paradygmat, powyższe to prawda ale to tak jak "kupno" UML tylko po to modelować "jakieś przepływy", po drugie ten rodzaj diagramy już niekoniecznie nadaje się do modelowania "przepływów" w sensie zastąpienie nim diagramu sekwencji
Gdyby tak przyjrzeć się dokładniej UMLowi to w zasadzie spora część diagramów jest nieobiektowa. Jak dla mnie w UMLu "paradygmatem" jest przede wszystkim to Unified, czyli "bieżemy wszystko i wrzucamy do jednego wora".
Wracając do początkowego problemu - popularności różnych diagramów UML to:
1. jak rozumiem, jeżeli ktoś wskazał, że używa diagramów aktywności, to nie znaczy że nie używa pozostałych. Sądzę że spokojnie może starczyć do prostego modelu, zwłaszcza do opisu algorytmów czy działania kodu.
2. podejrzewam że część osób myli diagramy aktywności z diagramami maszyny stanów. (twierdzenie poparte doświadczeniem)
3. A poza tym, ta nieobiektowość diagramu aktywności - czy to wada? :)