星期四, 9月 28, 2006

再談資料模型

早上突然又對「資料模型」有了些「或許更加清晰」的感覺。

或許是因為昨天的實驗室會議後,我覺得將資料模型做這些分類,真的對溝通有幫助。雖然學弟仍然被老師數說了一頓(因為他在一些沒有想清楚的地方硬拗),但將資料模型分成幾類,因為可以縮小溝通的範疇,在我看來確實有助於「寫投影片內容者」與「看投影片思考者」之間的討論。

於是,對原先的資料模型做了些修改。新的圖長得像這樣:


「數學世界」提供了抽象模型的描述基礎,而「物理世界的問題」則對抽象模型該有哪些特性提供來源。一個好的抽象模型,應該可以解決一群性質類似的問題(稍微差的模型,通用性就比較弱)。

例如,物理世界所關心的問題,用抽象模型代表後,其模型中具有某些特性的元素,其間可能有代數系統的關係(例如,彼此間有 transitivity 的性質),或可能形成一個樹狀的階層結構。

而這些性質與結構如何被實作,在討論抽象層的通用性時,通常不是那麼重要。但對抽象模型有了清楚的認知後,對於「實作模型」的設計、「建構模型」該提供那些不可或缺的材料、以及「應用模型」的限制,都能夠提供具有建設性的觀點。

3 則留言:

  1. 我自己覺得在Software的領域中, Physical World是直接對上Abstract model, application models, implementation model and construction models. 這是這個領域的特色, 也因此更容易搞成每個角色之間似乎都得(看起來也都好像能夠)溝通 (因為使用者需求都會"衝"過來), 但實際的觀點又各自不同.

    而Physical World和Mathematical World之間, 可能有非常間接的關係.

    回覆刪除
  2. 我覺得,問題浮現、範圍漸漸被釐清後,如果發現值得處理,人們就會試圖產生新的語言來描述與溝通。

    而就比較極端的角度看,似乎好像也只有「物理」與「非物理」(形而上,或者數學、或者抽象)的世界。因此,數學與物理世界的區隔,是比較容易感受到差異吧。

    生活本來就是活的。問題會隨著生活而轉變,語言也是。

    回覆刪除
  3. 第一個response中漏了說明像device driver, 或者更靠近處理physical layer這一部分的軟體, 是比較像在因應某些類型的物理模型而進行的處理, 就不見得直接對上使用者需求.

    把電子電路設計, 控制系統設計, 天線設計, Info architecture design, service architecture design, DB schema design ....., etc 混合起來看之後, 隱約可以感覺到為什麼當初做SW的時候會覺得有些虛無縹緲. 現在覺得好像有些東西比較"扣得住", 也比較知道所謂"設計"指的是什麼.

    設計已死? 我覺得不是, 而且在這其中才像是存有"真正的差異".

    只是真的蠻困難的.

    回覆刪除