第四章 建設公司電子化系統塑模分析
第六節 系統架構塑模分析
當系統分析完成了先前所述之靜態結構與動態行為分析之後,下 一步驟即是定義系統設計之實體實作,而實體實作乃是探討軟體與 硬體之間的整合關係。因此,在本節首先運用元件圖塑模軟題的實 體實作,並配合部署圖塑模電腦硬體之實體架構,以求取軟體塑模 與硬體實作上之整合與分配。
元件圖(Component Diagram)分析
本階段使用 UML 之元件圖來表達軟體設計之實體實作,元件圖 的目的是定義軟體模組及它們之間的關係。每一個元件都是一組位 在電腦硬體上記憶體中之一段程式碼,而每一個元件都必須定義一 個介面,讓其他元件與該元件可進行溝通,而元件之介面與其內部 的實作則封裝於構成該元件之類別中。
UML 主要將元件分為下述三大類:
1. 部署元件(Deployment component),該元件負責系統之執行。
2. 工作成品元件(Work product component),包含用來建立部署元 件所需之模型、資料檔案及來源程式碼。
3. 執行元件(Deployment component),為執行應用程式時所建立 之元件。
而不同的元件之間是可以具有相互依賴關係,舉例來說,一個執 行 檔 (executable.exe) 可 能 需 要 一 個 動 態 連 結 程 式 庫 (dynamic link
library.dll),而一個終端應用程式則可能在伺服器上依賴資料庫介面 的應用程式,因此,藉由此相互依賴關係,可以清楚的描述系統關 於軟體模組及彼此間關係之實體實作。在此同樣以土地評估流程之 系統收益分析模組為例,說明收益分析模組元件圖(圖 4-5)之塑模步 驟:
STEP 1:列出分析模組應用程式應包含之元件
根據土地評估流程之系統收益分析模組之類別圖,尋找五種標準 的模板典型,包含 1.可以在節點上執行之元件(executable),2.執行檔 於執行時參照的資源(library),3.代表執行檔存取資料庫的資料表元 件(table),4.程式碼或資料文件來源之元件(file),5.代表單一文件之 元件(document),藉由上述型別,可列出收益分析模組應包含最基本 之元件元素,包含收益分析(profitAnalysis.exe)元件、資料庫管理
(dbms)元件與專案表單選項(tableMenu.exe)均賦予<<executable>>典 型,模組產出之收益分析表 (profitAnalysis.tbl)元件,賦予<<table>>
典型以及模組參照表單之基本假設分析表(basicAnalysis.dll)程式庫 元 件 、 面 積 計 算 表 (areaCalculate.dll) 程 式 庫 元 件 、 營 收 預 估 表 (profitEstimate.dll) 程 式 庫 元 件 、 工 程 造 價 預 估 表
(conceptualEstimate.dll) 程 式 庫 元 件 、 設 計 規 費 預 估 表 (designExpense.dll)及代書規費預估表(expense.dll)程式庫元件,並均 賦予<<library>>典型。元件中英對照表如表 4-3 所示,其餘模組收錄 於附錄 I。
STEP 2:根據元件之互動繪製彼此間之相依關係
元件之間的互動是由虛線箭頭來表示,並由需求元件指向所需元 件,本模組的收益分析(profitAnalysis.exe)元件在執行時期間,會經 由專案表單選項(tableMenu.exe)元件,透過資料庫管理(dbms)元件參 照其他元件:包含基本假設分析表(basicAnalysis.dll)程式庫元件、面 積計算表(areaCalculate.dll)程式庫元件、營收預估表(profitEstimate.dll) 程式庫元件、工程造價預估表(conceptualEstimate.dll)程式庫元件、設 計規費預估(designExpense.dll)及代書規費預估表(legalExpense.dll)程 式庫元件,最後並新增出收益分析表(profitAnalysis.tbl)元件。
STEP 3:加入使用者介面應用程式及其共享介面
最後,加入使用者介面之終端應用程式,profitAnalysis.exe 元件 應提供 PA(Profit Analysis)介面,並以棒棒糖(lollipop)圖形表示,而使 用者介面(ui.exe)應用程式元件<<executable>>,則是經由 PA 介面執 行 profitAnalysis.exe 應用程式。(其餘模組之元件圖收錄於附錄 H)
<<executable>>
profitAnalysis.exe PA <<executable>>
ui.exe
<<executable>>
tableMenu.exe
<<library>>
basicAnalysis.dll
<<library>>
areaCalculate.dll
<<library>>
profitEstimate.dll
<<library>>
conceptualEstimate.dll
<<library>>
legalExpense.dll
<<table>>
profitAnalysis.tbl
<<library>>
designExpense.dll
<<executable>>
dbms.exe
圖 4-5 收益分析模組元件圖
表 4-3 元件中英對照表
元件 英文名稱 中文名稱 典型
1 ui.exe 使用者介面 執行檔 2 profitAnalysis.exe 收益分析 執行檔
3 dbms.dll 資料庫管理系統 資料庫管理系統 4 tableMenu.exe 專案表單選項 執行檔
5 basicAnalysis.dll 基本假設分析表 函式庫 6 areaCalculate.dll 面積計算表 函式庫 7 profitAnalysis.dll 收益分析表 表單 8 conceptualEstimate.dll 工程造價預估表 函式庫 9 profitEstimate.dll 營收預估表 函式庫 10 desingnExpense.dll 設計規費預估 函式庫 11 legalExpense.dll 代書規費預估 函式庫 其餘模組請參考附錄 J
部署圖(Deployment Diagram)分析
部署圖是用來塑模電腦硬體之實體架構,其所重視的焦點是在軟 體所執行之節點(node)上,每一個節點都是一個代表處理資源的實體 物件,通常為某種類型的電腦,而每一個節點均包含、或負責一個 或數個軟體元件,不同元件上的軟體元件可由節點之間的實體關聯 (association)進行溝通,由此可之部署圖應包含兩種基本元素:節點 (資源)與關聯(聯結)。
部署圖的目的是要呈現一個系統架構的靜態觀點,或者是實作環 境的速寫,而完整的系統敘述應針對不同的面向繪製部署圖,因此 研究將針對流程內所需之各系統模組繪製部署圖,在此同樣以土地 評估流程之之系統收益分析模組為例,說明收益分析模組部署圖(圖 4-6)之塑模步驟,而系統中其餘各模組之部署圖請詳見附錄 I:
STEP 1:配置部署圖之節點並繪製實體關聯
研究假設未來硬體架構採 web-base 為基礎,設定節點包含一到 數台終端使用者電腦(Client PC)、一台多階伺服器(Middle Tier Server) 以及一台資料庫伺服器(Database Server),各以 3D 立體方塊表示之。
節點之間的實體聯結以實線表示,並以<<Ethernet>>典型表示終端使 用者電腦、多階伺服器以及資料庫伺服器是以乙太網路(Ethernet)連
線相接,並等同於類別圖之基數(Cardinality)表示方法,呈現出參與 節點的各數及其對應關係。
STEP 2:將節點中加入使用元件及其相依關係
經常使用的節點上的元件塑模方法,是將元件與節點圖記號結合 在一起,並繪製虛線關係箭頭,表示介於元件間之邏輯溝通。本模 組中終端使用者電腦節點應加入使用者介面(ui.exe)應用程式元件,
多階伺服器節點應包含收益分析(profitAnalysis.exe)元件、專案表單 選 項 (tableMenu.exe) 元 件 與 模 組 產 出 之 收 益 分 析 表
(profitAnalysis.tbl)元件,資料庫伺服器節點應包含資料庫管理(dbms) 元件,以及模組參照表單之基本假設分析表(basicAnalysis.dll)程式庫 元 件 、 面 積 計 算 表 (areaCalculate.dll) 程 式 庫 元 件 、 營 收 預 估 表 (profitEstimate.dll) 程 式 庫 元 件 、 工 程 造 價 預 估 表 (conceptualEstimate.dll)程式庫元件、設計規費預估(designExpense.dll) 及代書規費預估表(legalExpense.dll)程式庫元件。
STEP 3:繪製不同節點中元件之相依關係
終端使用者電腦節點中 ui.exe 元件需要來自多階伺服器節點之
profitAnalysis.exe 元件協助方能進行收益分析,而 profitAnalysis.exe 元件則需要透過 tableMenu.exe,經由資料庫伺服器節點上 dbms 元件 之協助,方能彙總資料並產出收益分析表,故上述相依關係均使用
虛線關係箭頭表現其相依關係。
Middle Tier Server
<<executable>>
profitAnalysis.exe
Client PC
<<executable>>
ui.exe
Database Server
<<executable>>
dbms.exe
<<library>>
basicAnalysis.dll
<<library>>
areaCalculate.dll
<<library>>
conceptualEstimate.dll
<<library>>
profitEstimate.dll
<<executable>>
tableMenu.exe
<<Ethernet>>
<<Ethernet>>
<<library>>
designExpense.dll
<<library>>
legalExpense.dll
<<table>>
profitAnalysis.tbl
1..* 1..1
1..1
1..1
圖 4-6 收益分析模組部署圖