[全程建模]設計模型和UML應用中的例項分析

qingrun發表於2008-07-22
   

設計模型和UML應用中的例項分析

 

一個朋友 2008-07-22 10:46:14

潤潤高手,你好,請教個問題,幫我看一副時序圖,提提意見

青潤 11:01:20

??

青潤 11:01:31

貼上來,我看看.

一個朋友 11:01:39

提提意見

 

   一個朋友要給您傳送檔案“素材入庫時序圖.jpg(285.8KB)”,接收,另存為 還是 謝絕該檔案

 

   您同意了接收檔案“素材入庫時序圖.jpg”,正在建立連線,如果要中止接收檔案,請按取消

 

   檔案已經儲存到目錄:“目錄\MyRecvFiles”,轉存至QQ網路硬碟

 http://p.blog.csdn.net/images/p_blog_csdn_net/qingrun/EntryImages/20080722/素材入庫時序圖.jpg

青潤 11:05:01

呵呵,你這個圖的整個設計思路是程式導向的方法,不是物件導向的,不過,這不是主要問題.

一個朋友 11:05:31

還有什麼問題?

青潤 11:05:33

你並沒有把類提取出來,而是把每一個類的方法或者說操作都變成了一個類的形式的體現

青潤 11:05:44

只能說,你這個繪製的方式,全都錯了.

青潤 11:06:27

問題實在很多.不過,已經有了時序圖的基本結構,這個是對的,比歐洲的***總部的工程師繪製的要合理一些.

青潤 11:07:20

你這樣繪製,使得系統看上去太過於複雜,無法清晰的表現出系統的實際實現結構,所以,你這個圖,說白了只是你文件描述方式的一種所謂自創的UML語言的表達形式.

青潤 11:07:36

太亂了.呵呵.

一個朋友 11:09:30

提點具體的改進意見?比如用物件的方法,

青潤 11:09:36

你把資料庫的表都進行了類的例項化,這樣做也是可以的,只是我不知道你是否是這樣考慮的,因為你的表達中,並沒有很明確的說出你的這種設計想法.

青潤 11:10:35

你這個更像是函式的寫法,而不是OO的設計思路.

青潤 11:11:06

而且,你目前的設計都是中文表達,這應該是屬於分析階段的時序圖,可是你表達的卻是設計階段的效果.

一個朋友 11:11:20

就是,高手

青潤 11:12:41

跨越了兩個階段作設計,對於軟體過程來說,其實並不合適,這個觀點02年的時候我和當時在聯想的老哥周海峰有過這方面的對話,也就是過度設計/開發的問題.

青潤 11:13:12

這樣做違背了正常人的邏輯思維和對事物的分析和認識的過程,其實是不合適的.

一個朋友 11:13:53

這個有道理,如果我要改成OO方式?你說具體怎麼入手

青潤 11:14:09

呵呵,這個要說起來就太多了,你去看看我那本書吧.

青潤 11:14:44

從過程到OO的設計思路地變化,這相當於對事物認識的兩個階段的跨越,不是幾句話能說清楚的.

一個朋友 11:15:25

我正在讀,理解得不夠深刻,如果針對這個圖,給點提示

青潤 11:16:07

我覺得,你應該先分析出來你的這個要解決的問題中有哪些可以抽象出來的物件例項,然後再作下一步的考慮.

青潤 11:16:54

物件抽取不出來,那就不可能獲得後面的內容了.

當然,物件的抽取也可能不是一步就能結束的,也許需要一兩次分析的迭代.呵呵

青潤 11:17:39

其實這個分析的迭代不要認為太大,只是腦子裡面思路的幾個反覆而已,有些人喜歡用大概念壓人,其實是多次的反覆思考,就足夠了

一個朋友 11:17:42

設計這東西,複雜,

青潤 11:18:39

呵呵.UML的全面設計的應用,的確是需要花費精力和時間來操作的,只是做完之後你會發現,很多以前在編碼階段才會發現的問題都提前解決了.呵呵

一個朋友 11:19:44

什麼時候到成都指導下我們的工作,^_^,我現在在一家公司做SA

青潤 11:20:20

呵呵,我提供諮詢和培訓,如果你們公司需要,當然沒問題.

一個朋友 11:22:00

我專門把“轉碼處理”,“日誌管理”,“附件管理”,“素材元資訊”,抽象成類,你覺得?

一個朋友 11:22:33

素材管理只是一個介面,不做任何實際操作

青潤 11:23:33

從物件存在的方面來考慮,日誌可以作為一個獨立的物件,附件也可以,但是轉碼處理好像有待於商榷,呵呵.

青潤 11:24:05

其實你的轉碼處理更多的應該是個公用的方法,而不是物件.呵呵

一個朋友 11:24:22

對,高手,轉碼是一個公共元件

青潤 11:24:57

所以,你老哥的OO思想還不太成型,建議,反覆思考幾次,來處理你目前的這個設計吧.

一個朋友 11:27:00

謝謝,明白了,控制類與實體類打交道,你覺得圖中這樣處理對不對?

青潤 11:27:48

呵呵,你這裡面說實話,我沒有看到MVC的劃分方式,所以,你這裡沒有控制類,只有一些實體類的存在.

青潤 11:28:36

如果要作MVC,你這個系統的邏輯結構還是很簡單的,直接照搬我書上的例子,就應該可以解決了.

一個朋友 11:29:09

我再重構下,謝謝

青潤 11:29:32

ok

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/257598/viewspace-406813/,如需轉載,請註明出處,否則將追究法律責任。

相關文章