2012年10月23日

生活::UML囈語

1. UML是輔助,不是限制。
2. 腦海中的想像,永遠比UML的表達,來得重要。
3. UML的表達是拋磚引玉,別眷戀眼前的圖,因為更佳的設計將破圖而生。
4. 製圖期間的三不政策:不管UML語法是否正確、不管自己的觀點是否合理、不管專家說些什麼,一切等畫完圖再說。
5. 充分且完整地表達所思,然後反思,即使不合乎UML語法也絕不罷休。
6. 創意通常在超越UML語法而現身,但是為了讓眾人分享,事後還是得勉為其難地用UML來表達。
7. 學UML像練雙節棍,耍的好,可以唬人;耍不好,會K得自己滿頭包。
8. UML圖示少用一點,你就可以看到更多。
9. 六祖慧能以手指月;UML是指,不是月啊!
10. 如果UML不去重視本身過於繁雜的難題,UML很快就會成為難題的一部分,或者現在就已經是如此了。
11. 對於我們無緣參與的專案而言,唯一的替代品就是UML圖與原始程式碼。
12. 發現自己陷在UML圖坑裡時,千萬不要再往下掘洞。
13. 陷溺於過多的UML圖示中,恐怕會一事無成,並且對結果感到失望。
14. 多少次我們興高采烈地買了UML書回去,翻開之後才發現,艱深抽象的文字毫無樂趣又令人挫折。
15. UML的妥善組織力,能使複雜的系統顯得比較簡單。
16. 為了解釋複雜、理解複雜、處理複雜,學習UML,就有絕對的必要。
17. 採用UML必然有風險和成本,但遠低於不採用所帶來的長程風險和成本。
18. 以可預測性來替代變動性,可以讓UML從小卒變英雄。
19. 趕快畫出下一張圖,用來麻醉腦袋。畫出下一張圖時,其實並沒有真的改變任何事。不過,當注意力轉向可視見的圖形時,已經增加了正面的能量和動力。
20. 製圖只有兩個問題:一、知道自己在想什麼,但不知道如何表達;二、根本不知道自己在想什麼。
21. 開始動手製圖,體內的某一部分就會不由自主地想著:「我沒有全部的資料。」此時,我們就會感覺好像遺漏了什麼,但又不確定是什麼,所以就名正言順的停擺了。
22. 把畫不下去的圖找出來,什麼也不修,全部砍了,這種感覺很不錯。面對令你腦殘的方法之一是,勇敢刪除。
23. 在我畫了什麼之前,怎麼會知道自己在想什麼?
24. 如果沒有工具把圖畫下來,甚至可以感覺到腦袋根本不想深思。
25. 有思考UML更清明的時刻,也有根本不該思考UML的時候。
26. 頭腦並不擅長記憶、提醒等工作,UML能夠擺脫這些「低階」任務,讓我們專注於思考。
27. UML要用的好,必須學會見樹又見林,且了解其中之關聯。
28. 得出好圖的方法是,先畫出一堆圖。
29. 有太多人愛畫圖而不愛改圖,這樣就等於放棄了吸收更多新思想和可能性的機會。
30. 不要求去學太多的UML圖示,因為學到時往往已經過時了。
31. 繪製UML圖時,先要知道自己在找尋什麼,然後再去找尋它。
32. 建構UML模式不光是設計的藝術,不光是說服別人認同就夠了,而是創造出一種讓參與者想說出自己想法的情境。
33. 達到效率,卻抹殺了創意,不要以效率來衡量建構UML模式期間的所有活動。
34. 決定UML價值如何,是需求的假象,而非UML實際的價值。
35. 當我們能從UML圖中的錯誤之處學習,錯誤才有價值可言。
36. UML圖可以在一開始創造出讓我們的觀眾(使用者、夥伴、上司、顧客)了解我們,與我們建立理性溝通及達成共識的方式。
37. UML圖比一連串的事實或資料更能在觀眾心中停留更久。
38. 在UML專業技能上非常精通,既是優勢也是弱點。
39. 對許多UML圖示,你只需要知道一點點就足夠了。
40. 繪製UML圖不是在產出結論,而是一個收集資訊和創意的過程。
41. 阻礙我們繪圖的障礙很少是由於缺乏技術性資訊,更多的是由於缺乏自信與勇氣。
42. 透過UML圖打開自己的心扉,而不是封閉自己的頭腦。
43. 學會讓UML圖跟隨你的思想,而不是讓思想跟著你的UML圖。
44. 捍衛UML圖的表像是沒有意義的,應該捍衛的是你的構想。
45. UML雖然是讓我們能做很多事情的工具,卻也可能使我們失去很多能力。
46. 簡化UML圖是減少明顯的,增加有意義的。
47. 面對複雜的UML圖示,只能簡單的選用。
48. UML可以讓人跟人之間的溝通更明確、更聚焦,但是不可能取代人跟人之間的溝通。
49. 不能帶來價值的UML元素,不值得花時間和成本去用它。
50. 用得好,UML就像能夠改善體質的維他命;用不好,UML可能變成只會帶來熱量的垃圾食物。

3 則留言:

匿名 提到...

大大論點精闢, 小弟記下了

Unknown 提到...

哈哈!

krilo 提到...

來取經的...
如同Weinberg在"Exploring Requirements"中說的:
* 任何一種系統設計方法,其中最重要的就是表示法(notation),也就是系統概念它自己的符號化方式。
* 一張圖最重要的特質,即是讓每個人都可以看得懂。
* 需求要件圖表並非需求要件本身。
* 地圖和實況不符合時,以實況為主。

只是剛好我們的地圖是用UML畫的。