iT邦幫忙

2

物件導向系統分析以及使用UML是否已經式微

  • 分享至 

  • xImage

由於在校時學過系統分析,我覺得物件導向分析跟UML圖都是還蠻不錯的概念,畢業後在工作上寫系統時想買個書來更加熟悉,發現無論是網路還是坊間工具書近幾年越來越少相關概念,是否是這個分析已經過時了呢

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
6
weiclin
iT邦高手 4 級 ‧ 2016-07-12 13:08:40
最佳解答

本來打了一大串結果不小心換頁被洗掉了xD

這麼說吧,你覺的 OOAD 與 UML 解決了什麼問題?如果說已經過時了,那意思是問題已經不存在?還是說有更好的方法能解決同樣的問題?你可以到 104 搜尋一下需要用到 UML 的職缺,再跟一些看似熱門的名詞(例如 Design Pattern )比較一下職缺數,或許會比較有底。

事實上這兩樣東西並不是過時或是消失了,只是被最近幾年不少發光發熱的新詞彙給蓋掉一些音量而已。就拿 DevOps 來說,想要達成自動化測試,就必須寫出可測試的程式。為了達成可測性就會套用一些 Design Pattern,而這些 Pattern 又大都是物件導向的設計。而且談到 Design Pattern 又常常會看到搭配 UML 來解釋,例如 http://martinfowler.com/eaaCatalog/ ,或是前陣子網路或社群也出了一些講述 SOLID 原則的文章與分享,這也是屬於 OOAD 的範圍喔。

我是不知道你都看些什麼書,但我最近買的書裡面也還有在附錄裡教 UML 的,但那是翻譯書就是了。如果是台灣出版的書應該大都是屬於新手入門等級的,甚至是給非資訊科系的人看的,這種書沒提到也很正常。

看更多先前的回應...收起先前的回應...
shupa0325 iT邦新手 5 級 ‧ 2016-07-12 14:21:48 檢舉

我之前都是在圖書館看系統分析的書,大部分都是在講結構化的分析設計,也是有講物件導向設計,但都是簡單一兩章節就帶過而已,還沒有看過很詳細去說明設計細節的

weiclin iT邦高手 4 級 ‧ 2016-07-12 14:56:21 檢舉

所以你是苦惱沒有書講設計細節而不知道怎麼學習嗎?

shupa0325 iT邦新手 5 級 ‧ 2016-07-12 15:03:25 檢舉

是,也同時因為某位講師說並沒有很重要而開始思考是否繼續往這個知識細節加深學習才這樣詢問的

weiclin iT邦高手 4 級 ‧ 2016-07-12 15:29:15 檢舉

Design Pattern 那些其實就是"專門"在講設計的部份,像是 Java 或其它語言,很多都把這些設計實作在語言裡面了。然而設計本身就不是一個能有唯一解答的東西,很可能 A 專案的最佳設計跟 B 專案的最佳設計彼此矛盾,都是因應專案本身特有問題而發展出來的。因此你專門要找"設計細節"的書應該是很難,大部分的書會有自己的主題,但在內容會談到他的設計細節。

或許你可以去看 Domain Driven Design 這本書,參考一下 Teddy 寫的介紹:http://teddy-chen-tw.blogspot.tw/2013/07/domain-driven-design.html

weiclin iT邦高手 4 級 ‧ 2016-07-12 15:33:21 檢舉

InfoQ 有一本免費的精簡版,你也可以參考看看:http://www.infoq.com/cn/minibooks/domain-driven-design-quickly

shupa0325 iT邦新手 5 級 ‧ 2016-07-12 16:05:34 檢舉

非常感謝

2
賽門
iT邦超人 1 級 ‧ 2016-07-12 11:41:09

不是式微,是因為台灣沒人想談這些基本功。

看更多先前的回應...收起先前的回應...
shupa0325 iT邦新手 5 級 ‧ 2016-07-12 11:52:17 檢舉

可是感覺有很多新進工程師都沒學過這種東西

賽門 iT邦超人 1 級 ‧ 2016-07-12 15:50:02 檢舉

資訊科系應該有教,只是沒人重視。

總裁 iT邦好手 1 級 ‧ 2016-07-12 16:45:04 檢舉

我只想問版主,知道系統分析在做啥嗎??

小財神 站方管理人員 ‧ 2016-07-13 10:22:23 檢舉

現今有很多Agile 的方法論在業界算是史無前例地熱烈討論著,你可以去了解一下Scrum

而RUP給人的感覺是嚴謹和僵化,雖然也有人討論敏捷開發可以搭配RUP的。
總之,不管哪一種方法論,都是要依據企業文化再裁適過,否則一定有水土不服的地方。

身在資訊界,真的很希望台灣IT界能越來越重視開發方法及流程,方法論越heayy就越難落實,這是人性,也是Agile流行起來的原因。我對RUP也不是專家,因緣際會聽過幾個顧問的解說而已。 ^^

希望有大大來分享各方法論的優缺點,以及在專案中如何落實。

小財神歪了...

6
海綿寶寶
iT邦大神 1 級 ‧ 2016-07-12 13:57:07

沒有過時
因為 根本沒有流行過...

看更多先前的回應...收起先前的回應...
shupa0325 iT邦新手 5 級 ‧ 2016-07-12 14:22:23 檢舉

真的嗎/images/emoticon/emoticon04.gif

賽門 iT邦超人 1 級 ‧ 2016-07-12 15:51:36 檢舉

真的沒流行過。

總裁 iT邦好手 1 級 ‧ 2016-07-12 16:42:22 檢舉

+10000

實話總是殘酷的
/images/emoticon/emoticon06.gif

小財神 站方管理人員 ‧ 2016-07-13 09:57:43 檢舉

好吧! 我也補一刀--沒有流行過。

kent3513 iT邦新手 5 級 ‧ 2016-07-13 10:12:18 檢舉

再補一刀,真的沒有流行過...
工作了六七年,台灣公司不重視這一塊,因為沒辦法看到實質效應。
不過還是建議是去看一下,了解一下UML能做甚麼。
Design PAttern必學

強哥 iT邦新手 4 級 ‧ 2016-07-14 14:22:54 檢舉

台灣人天縱英明 凡事放腦袋 不需UML

0
kk8606
iT邦新手 5 級 ‧ 2016-07-19 10:10:08

我覺得系統分析、設計工作還是很重要的...

在學校畢竟是理論技術居多,老師得教得全面一點,以示負責,至少得說一下歷史沿革
報表式系統分析
流程式系統分析
物件導向式系統分析
企業導向式系統分析

其實用那一種方法,端看系統目的,
例如:
開發一個計算機(Caculater)程式,你會用那一種方法呢?
開發一個客戶拜訪記錄系統,你又會用那一種方法呢?

顯然,不是物件導向方法式微了,而是比較適用物件鮮明,事件驅動
而在大部份商業應用上,例如CRM(客戶關係管理)、MRP(物料需求規劃)....等,如果你用物件導向方法分析企業流程, 保證暈掉.因為它主要是由組織及流程驅動的,當然是採用物件導向。

我要發表回答

立即登入回答