系統元件與結構塑模
內容大綱 導論 元件圖 元件圖之建構案例 部署圖 部署圖之建構案例 結論
導論 系統元件與結構塑模是以 元件圖(component diagrams)來表達系統中,一群實體的軟體元件間的靜態結構關係,及說明其建構之細節。 部署圖(deployment diagrams)來表達系統中軟硬體元件間的靜態結構關係,及說明其建構之細節。
導論 (c.2)
元件圖 元件圖之主要元素包括 元件 介面 關係
元件圖(c.2) 元件 – 元件(components)是系統的實體模組,是系統中可被替換的部分,適合提供給介面做適當的實現(或稱實作)。 元件的種類包含: 部署元件(Deployment Components) 工作產品元件(Work Product Components) 執行元件(Execution Components)
元件圖(c.3) 部署元件:是形成一個可執行的系統所需要的元件,這些元件通常包括動態連結函式庫(dynamic link libraries, DLL)與可執行檔(executables) 。 工作產品元件:包括原始碼檔(source code files)與資料檔(data files) ,這些元件可用以產生部署元件。 執行元件:是一種系統執行的結果,例如:物件。
元件圖(c.4) – 元件以一個矩形貼上兩個小標籤表示,且需有一個唯一的名稱,名稱置於矩形內部。
元件圖(c.5) 元件之名稱有單純的名稱或延伸型的路徑名稱(Path Name)。 – 必要時也可以加上一些標籤值(Tagged Values)或用額外的區隔(Compartment)來表達其詳細資料。
元件圖(c.6) 介面 – 用來說明元件所提供的服務。 元件實作其所提供的服務,而其它元件透過介面來使用這個服務。 – 介面常以一小空心圓表示(稱簡單型式),介面也可以類別的符號表達(稱延伸型式)。
元件圖(c.7)
元件圖(c.8) 關係 – 關係(Relationships)是描述元件與元件間或元件與介面間的結合關係。 – 包括 相依(Dependency) 一般化(Generalization) 關聯(Association) 實現化(Realization)
元件圖(c.9) 建構元件圖請參考下列原則: – 從狀態圖及活動圖中找出類別的溝通方式,再參考類別圖之關聯,可判斷出各元件間之關係,在元件圖中常見的是相依關係。 – 依UML之可擴充性機制,也可以自定各元件之造型(stereotypes)。 – 使用工具軟體來管理元件及各元件間的關係,是比較好又有效率的方法。
元件圖之建構案例
元件圖之建構案例(c.2) 上圖中共有personnel.exe、training.dll、salary.dll、retirement.dll及pension.dll五個元件,其中personnel.exe是執行檔元件,而其他四個均是動態連結函式庫元件。 training.dll、salary.dll與retirement.dll等三個函式庫元件提供personnel.exe在執行時所需動態連結的函式,而pension.dll提供retirement.dll所需動態連結的函式。
元件圖之建構案例(c.3)
元件圖之建構案例(c.4) 上圖表示personnel.exe是執行檔元件,而personnel.ini是檔案元件,提供personnel.exe執行時之啟始設定值; personnel.hlp是文件元件,提供personnel.exe執行時之線上輔助說明。salary.tbl是資料表元件,提供salary.dll中的函式所需的資料。
元件圖之建構案例(c.5) 下圖表示UseButtom.exe執行元件提供IApplet、IColor、IButton、IEvent四個API介面供其他使用。
元件圖之建構案例(c.6)
元件圖之建構案例(c.7) 上圖中,描述使用ASP(Active Server Pages)撰寫的程式元件product.asp、purchase.asp、orders.asp、及confirm.asp等與fobjvbs.inc程式碼間之相依關係(使用關係),圖中也表達各元件之版本。
元件圖之建構案例(c.8)
元件圖之建構案例(c.9) 上圖描述一個使用C++語言撰寫的財會系統,其中tax.h共有1.0、1.5及2.0三個不同的版本,而ap.cpp檔包含(include) tax.h及ap.h,account.cpp包含ap.cpp,ar.cpp包含tax.h。
元件圖之建構案例(c.10) 在下圖中orders.dll檔提供dbDriver、selfCheck兩個介面供其他元件使用,cart.dll檔使用dbDriver介面與ado.dll檔。
元件圖之建構案例(c.11) 上圖表示人力資源資料庫(database) 元件是由員工、獎懲、薪資、教育訓練、出勤考核五個資料表(table)元件所組成。
元件圖之建構案例(c.12) 下圖表示伺服器B上的人力資源資料庫被拷貝至伺服器A上的人力資源資料庫內。
元件圖之建構案例(c.13)
元件圖之建構案例(c.14) 上圖表示網路購物系統之元件圖。 「使用者介面模組」需透過iBook、iCart、iOrder三個介面完成下列功能:新增訂購項目、修改訂購數量、刪除訂購項目、取消採購訂單、確認採購單。 三個ActiveX-DLL:「書籍產品型錄物件類別模組」、「購物車物件類別模組」、及「訂單物件類別模組」皆可存取後端資料庫。 書籍產品型錄、購物車與訂單三個元件屬執行檔,且皆可存取後端資料庫,因此這三個執行檔與資料庫間有相依關係。 使用者介面需透過iBook、iCart、iOrder三個介面完成訂購功能,所以使用者介面與這三個介面間也分別有相依關係。
部署圖 系統元件與結構塑模主要是以部署圖視覺化地表達系統中,一群實體節點與實體節點間的靜態結構關係,及說明其建構之細節。
部署圖(c.2) 部署圖之主要元件包括 節點 連接
部署圖(c.3) 節點 – 節點(Nodes)代表著一種計算資源,也可說是一個硬體。 – 節點是以正方體圖形來表示,它必須有一個唯一的名稱以示區別。 節點之名稱是以字串表示,原則上名稱可由文字加上數字與標點符號等組成。
部署圖(c.4) – 節點之名稱有單純的名稱或延伸型的路徑名稱(Path Name)。 – 必要時也可以加上一些標籤值(Tagged Values)或用額外的區隔(Compartment)來表達其詳細資料。
部署圖(c.5) 連接 – 連接(Connections)表示節點間的溝通方式或路徑,也表示節點間之關係,包括相依(Dependency)、關聯(Association)等。 此外,節點與軟體元件間可能有相依關係。
部署圖(c.6) 如下圖,purchase節點及order.asp與cart.dll元件, purchase節點會使用order.asp元件所提供的功能,與cart.dll元件中所包含的函式。
部署圖(c.7) 節點與節點間最常用的連接是關聯關係,關聯表達節點間的實體連接,以實線連接兩節點來表達,例如一台應用程式伺服器與一組硬碟陣列之間就有關聯關係。
部署圖(c.8)
部署圖(c.9) 上圖表示有用戶端PC(*表示多台)、主控台、應用程式伺服器及磁碟陣列四個節點,用戶端PC與應用程式伺服器間是透過10BASE-T的乙太網路來連結,主控台與應用程式伺服器的連結是透過RS-232的序列線,應用程式伺服器與磁碟陣列的連結是透過BUS匯流排。
部署圖(c.10) Internet
部署圖(c.11) 上圖描述某個系統的運作環境,是以區域網路(例如乙太網路Ethernet)連接六部伺服器主機(Proxy、DHCP、檔案、Email、資料庫、網站伺服器),這個區域網路與外界Internet連結的方式是藉由Proxy伺服器透過DSU/CSU節點連接上Internet。
部署圖之建構案例
部署圖之建構案例(c.2) 上圖表示用戶端-PC(c:表示client,*表示多台)與應用程式伺服器的連結是透過10BASE-T的乙太網路,該節點上會執行purchase.exe應用程式。主控台(c:表示client)與應用程式伺服器的連結是透過RS-232的序列線,該節點上會執行admin.exe及monitor.exe兩個應用程式。應用程式伺服器(s:表示server)與磁碟陣列的連結是透過BUS匯流排,該節點的CPU為Intel P3-1GHz、主記憶體512MB,其上會執行sqladmin.exe及top.exe兩個應用程式。
部署圖之建構案例(c.3)
部署圖之建構案例(c.4) 上圖表示一台個人電腦是由九個設備所組成:主機、顯示器、鍵盤、CD-ROM、影像顯示卡、硬式磁碟機、滑鼠、CCD攝影機、網路卡。CCD攝影機與個人電腦之間是使用USB介面連接。
部署圖之建構案例(c.5) 用套件(Packages)的觀念說明節點之邏輯群集。
部署圖之建構案例(c.6) 上圖表示系統為「主從式架構」,客戶端是藉由資訊站及主控台向伺服器端提出服務要求,提供服務的伺服器端是由二至多台(2..*)Proxy伺服器及四至多台(4..*)一般用途伺服器等設備所組成,各伺服器上執行的服務程式如節點上的英文敘述。
部署圖之建構案例(c.7) 完全分散式架構之系統部署圖
部署圖之建構案例(c.8) 網路購物系統之部署圖
部署圖之建構案例(c.9) 上圖中,系統之設計屬三層式主從式架構之Web-based系統,第一層是客戶端是瀏覽器及其硬體,第二層伺服端(Server)是網站伺服器(例如MS IIS 5),第三層伺服端是資料庫伺服器(例如MS SQL Server)。 客戶端瀏覽器經由Internet以TCP/IP通訊協定連上網站伺服器,網站伺服器與資料庫伺服器間以100 BASE-T網路連接,使用的通訊協定也是TCP/IP,屬於公司內部的Intranet。
結論 系統元件與結構塑模主要是以「元件圖」與「佈署圖」兩種實體圖,以表達系統元件與軟硬體間之實體關係,其中元件圖表達系統中一群軟體元件間的靜態結構關係,而部署圖表達系統中軟硬體元件間的實體關係。