討論區快速選單
知識庫快速選單
網路投保旅行平安險 討論區最近新進100則主題 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
請各位救我出迷霧...
更改我的閱讀文章字型大小
作者 : musicinme(Steven~@)
[ 貼文 104 | 人氣 7188 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/11/21 下午 04:34:15
這是我們老師給我們的範例case,自解檔.
http://home.kimo.com.tw/beenuoed/uml.exe

然後我們老師要我們自己找case用uml去分析,上課時,老師說什麼要對class diagrm做正規化.但我在做我們的case,畫自己的class diagram時總覺得到最後像在做資料庫正規化,想請問各位,在設計class diagram時要考慮到資料庫嗎?
真的有所謂要對class diagram做正規化的動作嗎?
關聯類別主要的意思是什麼?何時會用到這種觀念?

我看了老師畫class diagram的方法跟我的書(UML Language user guide)好像不太一樣,不知那位先進可以幫我解惑..到底畫class diagram要掌握那些要領..?
作者 : musicinme(Steven~@)
[ 貼文 104 | 人氣 7188 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/11/25 下午 04:09:00
謝謝你的指點....^^
作者 : musicinme(Steven~@)
[ 貼文 104 | 人氣 7188 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/11/25 下午 04:17:05
想請教一下..是否真的要做所謂的class 正規化?
當兩類別有多對多的關係時,是否真的要做關連類別..?
作者 : ufjl1572(Arthur)
[ 貼文 26 | 人氣 346 | 評價 220 | 評價/貼文 8.46 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/11/25 下午 08:40:48
> 在設計class diagram時要考慮到資料庫 ...
>想請教一下..是否真的要做所謂的class 正規化?
>當兩類別有多對多的關係時,是否真的要做關連類別..?

看來您真得沒看懂六脈神劍的精神,我改用白話文來說好了。

正規化(Normalization)是以E-R Model,設計結構化資料庫表格(Table)時的重要步驟,通常會做到3rd NF。OOA採用完全不同的策略,沒有所謂的正規化程序。但如果OO模塑正確,其Class Diagram轉換成E-R Model實作時,保證會超越3NF。所以您覺得OO模塑和設計資料庫有點像,通常是很正常的。

但請不要以資料庫設計的思考模式進行OOA,E-R Model依賴Primary Key / Foreign Key,OO根本沒這種概念,Class被找出來時,與生俱來一個Object Identity (OID) , 雖然不必畫出來。 這種OID不是身分證字號,不是產品代號,不是學生證編號,不是任何E-R 模型中的東東 。 實作時, OOP Instance 具備 Memory Address 就是這種OID, 若在 MIS/DB  裡則另外編一個特別的序號給它。

有了OID的觀念, OO模型中Class的每一個Property都可以修改,沒有任何一個是P-Key。神吧,以往設計結構化資料庫的人,都把『不能修改Primary Key』奉為聖旨的。 再進一步來看,Class 間的關係也不再需要用複雜的Composite Key代表,所以,哪裡還有什麼正規化好做的呢?OO 模型轉換成的Table通常都非常簡單易懂。前面幾位同好的建議都很對,多揣摩書上的方法,重視語意(Semantics)才是正途。

到底什麼是語意,真是一言難盡,多看多做再來找感覺吧。我只先舉簡單的例子,E-R Table裡的資料要Fully Functional Dependent on P-Key,沒錯吧?所以,若以同樣以日期為KEY的資料原則上都能掛在同一個Table裡(只要彼此互不相干),但這些資料可能是交易日期、訂購日期、借閱日期、客戶生日、...,語意差很遠,顯然不會放在同一個Class中,這樣是不是可以稍微感覺兩者是不一樣的呢?

至於多對多的關係,要不要用關連類別,得看這個關係本身有沒有屬性要交代。因此,有時需要有時不要。但是如果用資料庫進行實作的話,多對多的關係只能成立另外一個Table與之對應,其地位彷若是沒有屬性的關聯類別。但是,如果是Memory Computing的實作,可能各自存一個Hash Table就夠啦。
作者 : musicinme(Steven~@)
[ 貼文 104 | 人氣 7188 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2002/11/26 上午 09:01:31
Arthur大大的文章我有去看過.
也因為看過以後,才覺得怪怪的.
你的文章以amazon的placingorder畫出的class diagram很清楚,
我可以從你的class diagram了解placingorder的語意,及各類別的關係.
我看了UML user guide那本書及參觀國外的一些網站,發現裡面的範例的class diagram也是很清楚.

但我看老師的就是看不出來.像這次考試老師的題目有說要class 正規化,我畫出來的class diagram就是不知道怎麼去正規化(不過沒有全錯).所以有點模糊.你們提到的書我會去看看的.謝謝各位.

另外,我最近要準備論文(我是二技資管),想以uml為主去做.我們老師(就是教UML的老師)給我們八個題目,七個是要做survey然後統計.有一個是"UML case tool 的比較研究"我覺得這個題目很鳥,所以想找看看有沒有別的選擇.不知各位大大有沒有什麼建議或方向?

感謝各位的幫忙.....
作者 : godman396c(情人夢) 貼文超過200則人氣指數超過30000點
[ 貼文 207 | 人氣 30875 | 評價 120 | 評價/貼文 0.58 | 送出評價 42 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/28 下午 03:22:20
我沒聽說過OOA的東西要做正規化的
是不是你們老師搞錯了QQ

關聯式資料庫設計與物件導向式設計是截然不同的.
 板主 : Clark
 > 物件導向程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 物件導向程式設計 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
物件導向程式設計
1 Arthur 180 
2 藍色LED 150 
3 長長 100 
4 Linkin 100 
5 love seeker 100 
6 Raymond 90 
7 Nets 80 
8 nop 70 
9 Huah 70 
10 矇矇 60 
物件導向程式設計
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875