UML, Unified Modeling Language : Structure Diagrams
如果你不想讀700頁的教科書,才知道什麼是MIS,本系列講義可以讓你立刻認識「MIS 管理資訊系統」的目標、開發方法、實務應用,提供「TX 1-2-3-4簡則」作為「系統分析與設計(SA&D)」最簡明的指導,特別適合中小型系統之開發與分析。
並隨時更新最新發展,如UML, NoSQL資料庫, 決策支援,
人工智慧‧大數據‧決策參數庫,
知識管理, 與網路大數據數位分析...等。 |
在資訊系統愈來愈往大規模化,複雜化的發展趨勢下,促成了統一塑模語言(UML, Unified Modeling Language)的誕生。「塑模」的意思就是以圖形的方式,先將系統的功能與結構畫成「模型」與藍圖,然後再依據藍圖進行實體開發。
UML 2.x 定義的的塑模圖形(UML 2.x Diagrams)下分2大類組:結構圖形組(Structure diagrams)、行為圖形組(Behavior diagrams)。
統雄老師建議:將 2 圖組,再分為A, B 兩組:
A 組:基本圖,適用所有中小型系統分析與設計。亦即,並非所有的圖都要用到。
B 組:進階圖,針對大型系統分析與設計,再使用。
結構圖形組(Structure diagrams)
類同傳統系統分析中的「後端分析」,強調的是系統中出現的實體物件。
不過,對一般中小型系統的後端分析,使用類別圖 (Class Diagram)、物件圖(Object diagram) 2種,便足以因應了。
A 組:基本圖
類別圖 (Class Diagram)
與E-R Model (Entity - Relationship)中的圖示近同,亦即資料表的分析與關聯。
資料表分析
譬如以下是對銀行帳戶資料表的分析。
類別圖為矩形框,分成3列:上列是類別的名稱,中列是屬性(Attribute),是資料表中的不變實體欄位與關聯產生的欄位,最下列則是方法(Operation),是會依據輸入與函數計算的欄位。
類別名稱
銀行帳戶
屬性 Attribute
戶名:字串
結餘:單位:元,起始﹦0
方法 Operation
存款(加總;單位:元)
提款(加總;單位:元)
資料表可以省略屬性和方法的列,只用類別名稱的框表示。
屬性 Attribute/方法 Operation 符號:+ - # ~
屬性、方法前沒有任何符號,為「全域變數」,如果有 " + - # ~ " 的符號,代表這個變數的可視範圍。
"+" 代表 public, "-" 代表 private,"#" 則代表 protected, "~" 代表 package。
方法 Operation()
方法 Operation 後的 (),其中為各種參數。
() 後,可能會再有冒號,代表的是回傳的類型,如 string 表示回傳字串、date 表示回傳日期、void,表示不回傳,…等。
關聯
在實務上,不會單獨呈現個別資料,而還是以類似E-R Model的方式,呈現各資料表間、其他系統程序間的關聯。如以下對圖書館管理系統的後端-類別圖-分析。
本項圖形分析了各資料表間的導覽、集合、依存關係,以及要求產生搜尋與管理介面的程序。
以上圖形,各圖示的意義與關係如下。
物件圖(Object diagram)
「物件圖」其實就是「類別圖」的範例圖形。因為「類別圖」通常比較抽像,為了讓後續的程式師確實瞭解,所以放一、兩筆具體資料(case)為例,就是「物件圖」。
譬如以下是「教育資料管理系統」,其中包括「學院」和「學生」2個資料表的類別圖。
發展成「物件圖」,就是以「管理學院資料表」為例,包括:大學名稱、課程數、學生容量、地址…等。而「學生資料表」包括:「學生1號表」,含:姓名、學號、年齡…等,還有「學生2號表」…等。
B 組:進階圖
套件圖(Package diagram)
表現套件的組織,以標籤資料夾圖示 tabbed folder 表示。
下圖為上層套件內有 2 物件。
元件圖(Component diagram)
表現 interfaces, ports, 和 relationships 的組織,主要用在 CBD (Component-Based Development) 和 SOA (Service-Oriented Architecture)開發技術。
各分類器 classifiers 右上方的複雜小方型圖示,為元件圖示。有此圖示時,其«component»關鍵詞其實可以省略。
EmailManagement 邊線上的方形,就是 port,也是元件圖示的視覺造型原因。
Ports 上延伸直線接圓形,表示為提供介面之提供者 provider,而直線接半圓形,表示為需求介面之需求者。
複合結構圖(Composite structure diagram)
表現各元件的組織,實務界一般認為是罕用圖。
部署圖(Deployment diagram)
表現大型系統的整體結構,以立體圖示表示。