Re: UML正面的看得多了, 看點反面的吧

看板Programming作者 ( )時間17年前 (2008/06/04 08:03), 編輯推噓3(3026)
留言29則, 4人參與, 最新討論串4/7 (看更多)
※ 引述《Lordaeron (Terry)》之銘言: : 請針對原文來回應, 我只是將別人的簡介列出. : 針對簡介來回應, 實在是有點會摸不著邊. 其實那樣回只是預防標題殺人, 畢竟會真的進去認真看原文的中文語系 user 並不多, 所以實際上我是把簡介當成另一篇來回沒錯, 因為既然原文是以簡介形式被翻譯和重新散佈的, 所以比較理想的方式還是針對中文標題回應為主。 基本上原作者對 UML 有一定程度的誤解, 我要表達的東西也很簡單, 就像 programming language 是一種工具, 你要寫出好程式不可能不學些資料結構跟演算法一樣, UML 它也是一種輔助物件導向軟體開發的工具, 但是你還是必須搭配一套物件導向方法論才行; 此外, 原作者對 UML 的定位實在不是很正確, 也過度狹義的解釋 UML 被設計出來的意圖, 我不曉得為什麼他對 generate code 這項功能特別執著; 原作者對相關的方法論認知顯然也不足, 譬如: 9. Lack of model clarity Pictures are interpretable. I heard this kind of complaints from programmers trying to understand the design of a system from UML diagrams: you need to read the code to understand what the diagrams mean. 會有這種現象一般是人為疏失, 有 ambiguous 現象發生時應該盡可能 attach 更多資訊到圖上, 譬如 attach 一些 note 或 constraint, 甚至 attach 一張 activity diagram 或 object diagram, 也可以針對該專案所屬的領域製作專屬的 profile 來規範和擴充; 即使不另外製作 profile, 很多人應該知道某些社群會把 UML 分類為靜態圖跟動態圖兩大族系, 而描述不清楚的模型通常是只有描述靜態圖 (如 class diagram), 這樣自然會有 ambiguities 發生, 而使用動態族系的圖或使用 constraint 都能解決這方面的問題; 我想讀過 GoF 那本 design pattern 的應該也知道, 有時候作者會用 sequence diagram 和 object diagram 補足 class diagram 的不足, 而且也會 attach 一些內含 pseudo code 的虛擬碼。 UML 明明提供了一堆 adornment 的功能但是都沒在用, 不能因為不會睡覺就怪床歪。 逐字逐句回原作也實在太花時間, 不過也歡迎板友從原文中提出真的覺得是缺點的片段來做討論。 -- Ling-hua Tseng (uranus@it.muds.net) Department of Computer Science, National Tsing-Hua University Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.218.232

06/04 08:13, , 1F
另外 UML 可以用 collaboration 直接表示
06/04 08:13, 1F

06/04 08:13, , 2F
一些 well-known 的 design patterns,簡
06/04 08:13, 2F

06/04 08:14, , 3F
潔又能快速消除 ambiguities。
06/04 08:14, 3F

06/04 08:31, , 4F
另外主導設計模型的通常是 Architect,要
06/04 08:31, 4F

06/04 08:31, , 5F
是做到 Architect 能力還這麼差,那阿貓阿
06/04 08:31, 5F

06/04 08:31, , 6F
狗都能當 Architect 了。
06/04 08:31, 6F

06/04 17:44, , 7F
anyway,我從來都只相信, 一切都是人的
06/04 17:44, 7F

06/04 17:44, , 8F
問題, 什麼L 不L 的, 就隨便就好.
06/04 17:44, 8F

06/04 17:55, , 9F
有共通的語言可以溝通,至少能解決一些人
06/04 17:55, 9F

06/04 17:55, , 10F
的問題,至於是什麼 L 倒不重要。
06/04 17:55, 10F

06/04 18:43, , 11F
根據我的經驗, 不管用什麼L 到後來都是
06/04 18:43, 11F

06/04 18:43, , 12F
要花大量時間和口水, 去跟一堆牛解釋.
06/04 18:43, 12F

06/04 18:44, , 13F
更會有牛來跟你魯哪明明不是哪意思, 是
06/04 18:44, 13F

06/04 18:44, , 14F
他的意思才對.
06/04 18:44, 14F

06/04 21:07, , 15F
至少UML提供了大量的圖庫,想畫圖描述架
06/04 21:07, 15F

06/04 21:08, , 16F
構時,不用再花腦袋想要用圓形還是矩形.
06/04 21:08, 16F

06/05 00:03, , 17F
是的, 你不用去想, 但還是要講(解釋)給
06/05 00:03, 17F

06/05 00:03, , 18F
客戶聽
06/05 00:03, 18F

06/05 04:41, , 19F
請問是工程師直接跟客戶解釋嗎?一般公司
06/05 04:41, 19F

06/05 04:42, , 20F
不應該這麼做才對,而且真要跟客戶談也頂
06/05 04:42, 20F

06/05 04:42, , 21F
多是拿 use-case 講 what 而不是 how。
06/05 04:42, 21F

06/05 09:07, , 22F
因為你待的不是一般公司囉, 你的系統
06/05 09:07, 22F

06/05 09:08, , 23F
也不用轉移, 所以有這種想法, 很正常.
06/05 09:08, 23F

06/05 11:03, , 24F
他並沒有特別執著,他只是說 management
06/05 11:03, 24F

06/05 11:04, , 25F
常會被 code gen 吸引
06/05 11:04, 25F

06/05 11:26, , 26F
唉~~以前也很著迷codegen,Tau,Rhapsody,
06/05 11:26, 26F

06/05 11:28, , 27F
visualSTATE,到現在單純拿來作文件而已.
06/05 11:28, 27F

06/05 13:48, , 28F
原作者一直提 code gen 然後怎樣怎樣的啊
06/05 13:48, 28F

06/05 13:49, , 29F
感覺他完全把 UML 當成只能 gen code 用。
06/05 13:49, 29F
文章代碼(AID): #18HTkqZf (Programming)
討論串 (同標題文章)
文章代碼(AID): #18HTkqZf (Programming)