• 沒有找到結果。

第四章 系統設計

4.1 整體系統架構設計

本研究欲開發之系統稱為「可互操作型物件式資訊回饋系統」,為使此系統 具鑑別度和親和力,本研究將其命名為 BIMFeeD,此後章節將以 BIMFeeD 來作為 此系統之產品名稱,根據 3.2 節對於 BIMFeeD 之產品定位和規劃,其在本研究的 實作項目可由圖 5 知系統架構圖來表示。

圖 5:BIMFeeD 系統架構圖

圖 5 顯示 BIMFeeD 的使用者分為資訊請求端和資訊回饋端,如 1.2.1 節所述,

前者為操作建模工具 Autodesk Revit 之模型管理者,後者為使用各種不同裝置、作 業系統和網頁瀏覽器的專案利害關係人。資訊請求端和資訊回饋端皆透過網際網 路分別連接資訊回饋資料庫系統和網頁伺服器,就資訊回饋資料庫系統的 web 服 務和網頁伺服器的網頁操作模組而言,使用者進行資料交換的方法是一種雲端服 務的應用模式,也就是軟體即服務(SaaS, Software as a Service)。

57

有關 BIMFeeD 的主要運作流程已藉由圖 4 在 3.3 節說明,為使圖 4 中的關鍵 任務或事件更具體化,本研究將 BIMFeeD 運作流程重新包裝為商業邏輯,以下根 據圖 4 中的任務或事件來說明:

 (6)輸入請求資訊並送出在 BIMFeeD 中代表一個任務(task),此任務根據不 同的建模工具而有不同的任務類型(task type),資訊請求端使用者可在建模 工具外掛程式中建立任務(create a task),一個任務代表含有關連到至少一 個模型元件的請求資訊(即(14)請求資訊之資料結構),並賦予此任務一任務 名稱(task name)和一任務描述(task description),同時輸入此任務接收者 (task recipients)之電子信箱地址(email),任務接收者即資訊請求端欲指定的 資訊回饋端使用者。

 (22)輸入回饋資訊並送出在 BIMFeeD 中代表一個建議(advice),資訊回饋 端使用者可透過網頁操作模組來檢視資訊請求端使用者所發出之任務和

58 究規劃的首個建模工具外掛程式是以 Autodesk Revit 為基礎,利用其 Revit API 和 本研究自行開發之模型端應用程式介面來實作,其設計細節將在 4.4 節介紹。

如 3.4 節所述,由於不同的建模工具或有不同的商業邏輯,故建模工具外掛程 式必須根據建模工具的資料模型來設計,就 Autodesk Revit 而言,由於其模型元件 的參數化屬性分為類型(type)屬性和實作元件(instance)屬性(Autodesk 官方稱為例 證屬性),且模型元件的位置(location)、材質(material)和表面油漆(paint)不一定屬於 類型屬性或實作元件屬性,故這五種物件資訊必須分開來處理,BIMFeeD 將以五 種不同的任務類型來區分,其設計細節同樣於 4.4 節介紹。 焦和減少不必要的資源排擠,本研究將 BIMFeeD 分為兩種版本:入門版(BIMFeeD

59

Lite)和專業版(BIMFeeD Pro),本研究僅實作入門版,即專注於開發資訊回饋系統 之核心功能,如同 3.2 節對於產品定位和規劃所描述的一些權宜設計方法,至於專 和高彈性,其中的一個關鍵因素為:使用者可自行定義免綱要式(schema-free or schema-less)的資料模型,即資料庫綱要可根據實際需求隨時調整,因此有利於處 理半結構化(semi-structured)資料、非結構化(unstructured)資料和後設資料(metadata) (又稱詮釋資料、元資料) (Tiwari, 2011; Bakshi, 2012)。

就資料模型而言,鍵值資料庫(key-value store)和文件資料庫(document store) 是其中兩種 NoSQL 資料庫的分類法,前者以鍵(key)搭配值(value)來儲存資料,值 的部分可以是任何資料型態,後者則以 JSON、BSON 或 XML (eXtensible Markup Language)來儲存資料,這兩種資料模型皆非常適合用來記錄物件式資訊(Han et al., 2011; Li and Manoharan, 2013)。

根據 DB-Engines 網站的統計資料(Solid IT, 2012),其係以熱門度(popularity) 作為資料庫的排名根據,自有記錄以來,長期居鍵值資料庫和文件資料庫排行首 位的分別是 Redis 和 MongoDB,若將兩者相提並論,MongoDB 的排名一直是 NoSQL 資料庫的第一名,可謂遠遠高於 Redis。在 3.4 節已回顧不少近年來的 BIM 研究係採用 MongoDB,而 BIMFeeD 則採用 Redis,因本研究認為 Redis 較適合作 為資訊回饋資料庫系統,原因在 3.4 節已大致說明,由於 Redis 是記憶體資料庫,

故其資料存取速度相當快,可滿足資訊回饋的即時性要求,另外 Redis 亦提供豐富