2008年2月14日 星期四

K14 系統的製程(7)──Data Model Interface

需求階段的後半段要建立系統使用的Data Model,這部分可以使用CRC方法得到的定義,根據內容定義Data Model Interface與對應的Method。這個部份的設計可以使用Class Diagram忠實地呈現CRC Card裡的責任與合作。

在設計Data Model時並不刻意描述儲存的媒體是什麼,期望的是不管存放在哪裡都會在使用時變成Data Model物件。應用資料庫正規化的方法來設計將會使Data Model的佈置更為理想,養成這個習慣會讓自己的設計在更多的地方符合通用的標準。

如果熟悉的是ER Model(Entity-Relationship)的作法當然可以應用,先設計好所有Entity與Relationship後再依照結果建立Data Model Interface。設計好ER Model後再使用DFD(Data Flow Diagram)設計同樣可以完成系統功能,因為程式存在的目的都是為了處理資料。

要記得在這裡定義的Data Model Interface是配合系統動作定義的,要使用具有Domain意義的Method名稱;例如取得使用者編號是getUserId()、設定使用者名稱是setUserName()之類的,即使已經知道未來全都是用setProperty()來存放資料。因為使用getProperty()是把多個系統對Data Model的操作合併到一個方法裡做,在這種多對一的對應關係下,想進一步地在系統裡分析出多個中的一個之關聯勢必要再參照參數實際值而無法只看Method Name就有答案,這將會埋下未來難以處理的盲點。

沒有留言:

張貼留言