UML:統一塑模語言精華開發圖與流程圖_UML 2.5 新發展與限制 ...
文章推薦指數: 80 %
UML統一塑模語言適合各種物件導向軟體開發應用。
本文以最精簡的方式 ... 連結各種圖形的方式,稱為核心圖示(UML core elements),在介紹各種塑模圖前,應優先認識。
資管教育
English
吳統雄
資管共同大綱
研究目錄
資訊管理課程
電腦科技課程
管理學.經濟學
資訊系統開發
資管產業實務
資管專題實作
資管新鮮人
資管參考文獻
討論區目錄
站務與協助
☰
社群地圖
社群新聞
│吳統雄
履歷
研究
教學
服務
榮譽
│社科
第1類知識
第2類知識
第3類知識
研究方法
統計/多變項分析
投票行為與選舉預測
53237選民結構
人類取用行為新典範
取用行為國際研究團隊
│資管
管理學‧經濟學
貨幣主義
數位貨幣‧投資行為
資訊系統開發
電子商務
網路教育
數位電視
產學合作
就業進修‧甄選必勝
│文創
數位美學/數位文創導論
數位出版/電子書
視覺設計
優化網站
數位視訊/微電影
數位文創管理
大學青年‧網路雜誌
│電音
統雄數位音樂作品選
我,被禁唱的民歌手
數位音樂創作教學
統雄的音樂知識美學
歡迎聽歌.點歌.下載樂譜
│人文
公共評論
法律評論
社會評論
教育文化傳媒評論
科技科普評論
美語樂學
文學創作
萬象現代(NBA)
資訊社會
幽默人生
UML:統一塑模語言/開發圖神掌
UML,UnifiedModelingLanguage
如果你不想讀700頁的教科書,才知道什麼是MIS,本系列講義可以讓你立刻認識「MIS管理資訊系統」的目標、開發方法、實務應用,提供「TX1-2-3-4簡則」作為「系統分析與設計(SA&D)」最簡明的指導,特別適合中小型系統之開發與分析。
並隨時更新最新發展,如UML,NoSQL資料庫,決策支援,
決策參數庫,
知識管理,與大數據數位分析...等。
MIS發展到今日,已不限於狹義的管理-即進銷存,而可廣泛應用於各領域,也可簡稱為IS。
本系列文章使用MIS一詞,是取知識歷史承傳的意義,各項討論可適用於廣義的資訊系統IS。
在資訊系統愈來愈往大規模化,複雜化的發展趨勢下,促成了統一塑模語言(UML,UnifiedModeling
Language)的誕生。
「塑模」的意思就是以圖形的方式,先將系統的功能與結構畫成「模型」與藍圖,然後再依據藍圖進行實體開發。
「塑模」的目標與精神,和早期系統分析強調先畫「流程圖、E-R模式」是一樣的。
UML是基於物件導向設計、與非專利開放式精神的塑模規約語言,適合各種物件導向軟體開發應用,由1996年開始,在ObjectManagementGroup,
OMG的主持和資助下,UML正在逐漸成為工業標準,目前為UML2.x版。
UML2.x定義的的塑模圖形(UML2.xDiagrams)下分2大類組:結構圖形組(Structurediagrams)、行為圖形組(Behavior
diagrams),原始版本以下再分14種圖示(diagrams),2.4版後又擴充到16個圖。
UML2.5已於2012年底發布,UML2.5.1則在2017年底發布,語言本身基本保持不變。
然而圖表調整為「官方(即確認)圖」15個,與「非官方圖」若干個,亦即尚待應用與回饋後確認。
結構圖形組,即「TX.SA1-2-3-4簡則」中的「資料流與資料庫分析」,類同傳統系統分析中的「後端分析」,強調的是系統中出現的實體物件。
行為圖形組支援商業模式整合
行為圖形組,即「TX.SA1-2-3-4簡則」中的「作業流程分析」或「前端分析」,強調系統模型中觸發的事件或相關行動。
因應SA擴大發展為
SolutionArchitecture,UML的行為圖形組特別能夠支援資訊系統與商業模式的整合,以提供最適與最完整的服務。
有些文獻在介述時,都以結構性圖形組為先,這可能是基於資工的觀點:假設系統需求與前端分析都已經完成了,就從需求直接著手塑建後端系統模型。
但統雄老師基於「使用者導向」的系統開發觀點,建議還是先從前端分析-行為圖形組-「作業流程分析」-開始塑模。
當前的UML,定義如下,黑色是「官方(即確認)圖」,藍色是「非官方圖」:
UML2.5新發展與限制
UML最新版是在2017年底發布的UML2.5.1,語言本身基本保持不變。
然而圖表增加了「非官方圖」若干個,亦即尚待應用與回饋後確認。
其中可能會較快發展為官方圖的分別是:
模型圖(Model)
這是結構圖中的一個特例(類似於自由形式的架構圖)。
表現形式圖(Manifestation)
是部署圖或者組件圖的一個特例,展示了組件在物理解決方案中是如何體現的。
網絡架構圖(NetworkArchitecture)
這實際上是一個高層次的部署圖。
實用性爭議
但是,UML2.5
在開發社區中引起了不少正反爭議,正方是整體而言,UML已成為相對最被採用的工具。
而反方則認為新增部分其實際的存在價值和意義並不是很高。
同時,強調總體,忽略個體,沒有特定用於開發使用者介面、或資料庫應用介面的圖。
因為UML
規畫的是適用於超整合、亦即超大型、鉅細靡遺的系統設計需求。
而在現實生活中,這樣的系統極稀少,對眾多中小型系統而言,根本用不到。
根據UML的專家ScottW.Ambler說,根據調查在2013年底,已經有超過半數的系統分析採用UML,但沒有見過有人用過複合結構圖(Compositestructurediagram)
、交互概述圖(Interactionoverviewdiagram)或者通信圖(communicationdiagram)。
國際各系統開發網站,對UML都有激烈的討論,OMG已經非常成功的推廣了UML。
迄2021底,很有代表性的評論就是「愛恨交織Love-HateRelationship」而其理由卻是相同,UML
具備所有系統分析工具需求的優勢,也因此龐大複雜,要用它變成先要有相當學習時間。
尤其對極端派的「Agile敏捷系」,作中小型系統分析與設計的SoftwareLab而言,認為傳統工具,如作業結構流程圖(WorkflowChart,WFC)
等,已足以適用了。
但中立派的「Agile敏捷系」,認為不能完全拋棄開發程序文件、模型圖等,而UML
仍具備標準化、易結構化的優勢。
BPMN商業流程模型和標記法
由於UML的龐大,OMG於2005年再與其他組織合作,推出「商業流程模型和標記法BPMN(BusinessProcessModelandNotation)」,是作業結構流程圖(WorkflowChart,WFC)
的擴充與更新,也等同是UML眾多模型圖中的一個。
統雄老師的「UML雙對象解決方案」
以上現象其實在ScottW.Ambler開槍、各網站評估之前,統雄老師在1997開始介述UML1.0
時,就已經發現,並提出「UML雙對象解決方案」了,以調和
WaterfallModel,與Agile
softwaredevelopment兩種系統開發思想的解決之道。
統雄老師建議:即使舊分析工具可以適用,還是以採用UML為優先。
但將所有的圖,再分為A,B兩組:
A組:基本圖,適用所有中小型系統分析與設計。
亦即,並非所有的圖都要用到。
B組:進階圖,針對大型系統分析與設計,再使用。
因此,UML2.5新增的非官方圖,在本文中不再介紹,但有興趣者,可參考以下官方文件:塑模圖形(UML2.xDiagrams)。
核心圖示(UMLcoreelements)
連結各種圖形的方式,稱為核心圖示(UMLcoreelements),在介紹各種塑模圖前,應優先認識。
總和與隸屬關係(Generalization)
一個總和分類器generalclassifier或superclass與隸屬其各分類器的關係,以空心箭頭表示。
如以下,帳戶包括3種:支存帳戶、儲存帳戶、信貸帳戶。
分開的線條也可以合併。
以上UML各種塑模圖的結構,也採用了此空心箭頭圖示。
導覽關係(Navigability)
能否在A頁面(或物件…)導覽到B,包括以下各種關係與圖示。
雙邊無定義。
A可導覽到B,B無定義。
B不可導覽到A,A無定義。
B譬如外部使用者物件。
A可導覽到B,B不可導覽到A。
A譬如管理員物件。
A,B可相互導覽。
A,B不可相互導覽。
全體/成分關聯(Whole/partrelationship)
Relationship即物件的關聯,在一個或多個集合中,全體與成分可分為以下的多種關聯。
多重性Multiplicity 與基數 Cardinality
由於有全體與成分,就會出現多重性Multiplicity 與基數 Cardinality(注:也有文獻將其譯為「勢」)的問題。
基數 Cardinality就是1個集合中,具有元素的數量。
多重性Multiplicity 就是1個集合中,可能具有何種「基數 Cardinality」的範圍。
多重性Multiplicity
簡寫
基數 Cardinality
0..0
0
0,一定沒有。
0..1
0個或1個。
1..1
1
有,且只有1個。
0..*
*
0或更多未知數量。
1..*
至少有1個。
9..9
9
有9個,且只有9個。
x..y
至少有x個,且最多有y個。
聚合關聯(Aggregation)
表示虛擬關聯,譬如以下的查詢關聯,查詢表所查詢的項目理論上隸屬於查詢資料庫服務之內,但可能資料庫內並沒有這個資料,仍無損兩者的虛擬集合關聯。
同時,此圖也表示「可抽換」的觀念。
組合關聯(Composition)
表示實體關聯,譬如以下的檔案儲存關聯,表示某檔案必須一定儲存在父資料夾內。
而成分物件必須與全體必須共存,故有多重性Multiplicity 與基數 Cardinality標示。
其中File的「*」號表示Multiplicity,即有多個檔案,數量可能0~n。
如果至少有1個檔案,表示應改為:「1..*」。
而Folder的1,表示只有1個檔案夾。
亦即如果刪除此資料夾,所有檔案均將被刪除。
下例則為全體物件的"atmostone"表示法:「0..1」,即可能「無」或「最多1個」。
以下圖為:有許多員工,各自最多屬於一個部門,或直屬中央。
如果某1部門撤除,各員工是被釋出,但不會消失。
連結端的隸屬關聯(Associationendownership)
表示某個頁面(表單、物件…)的一部分,譬如以下的查詢項目(query),隸屬於查詢表單(qbuilder)的一部分。
因為前者存在,後者才存在。
有查詢表單,才出現查詢的項目。
依存關聯(Dependency)
分為2類。
產生事件或物件
先有一個動作,再產生一個事件或物件。
為最常用之圖示之一。
以虛線、箭頭、加一個在雙角號內的《行動參數》,譬如以下圖形表示「搜尋機制(如表單)」要求《使用》搜尋引擎。
其他的參數包括:呼叫«include»、觸發«extend»…等。
產生介面
如果要產生(realize)另一個介面,則使用空心箭頭。
如以下圖形表示「搜尋服務(如表單)」要求《產生一個「站內搜尋」的介面》。
UML元素結構UMLElements
在巨大系統設計時,各種物件可能發生階層化,UML統稱為元素,並定義其元素結構如下。
其中最重要的就是分類器classifier,通常就是表單,其他都是大小不一的表單。
對中小型系統,可以不必太在意,而作為進階知識。
UML工具
UML圖的繪製,使用一般繪圖軟體也可以達成,實務上,許多設計師甚至會先用手繪構想的草稿。
不過,考慮到各圖形的定義、專用分類、與易組合性,使用專用UML工具還是較為方便。
UML工具包括收費的,與免費的。
收費UML工具,當前較流行的可能是PowerDesigner。
免費UML工具很多,常見的有:StarUML、ArgoUML、BOUML、UmbrelloUMLModeller、UMLet…等,由於差異並不太大,本講義在此不背書推薦。
UML:統一塑模語言
行為圖形組(Behaviordiagrams)
結構圖形組(Structurediagrams)
UML
DiagramsOrg的詳細資料
本站Google排行榜‧全球冠軍
管理資訊系統系列
MIS
個案研究
什麼是MIS?
MIS的規畫目標與內容
MIS的規畫程序
MIS的兩種開發思想
SA
MIS系統分析與設計
統雄1-2-3-4簡則
MIS競爭者分析
MIS需求分析
MIS可行性分析
MIS系統實作分析
作業流程分析
輸出入分析
資料庫分析
軟硬體分析
MIS分析工具UML塑模圖
行為圖組:使用個案圖
行為圖組:活動圖.進階圖
結構圖組
MISPM
MIS專案管理
系統開發進度管理
DSS/KM/AI
DSS決策援系統
知識管理系統
人工智慧,大數據,參數庫
NoSQL/Key-Value
非關聯式資料庫WebDevelopment
網路系統開發實作系列
延伸文章資訊
- 1UML類圖介紹&類的六大關係 - IT人
UML 圖形化的語言. 基本介紹. UML類圖介紹&類的六大關係. UML圖:通過不同的圖形和符號,來描述軟體模型以及各個元素之間的關係. UML圖分類.
- 2看懂UML类图和时序图 - 图说设计模式- Read the Docs
- 3UML活動圖與資料流程圖符號
活動圖(英語:activity diagram)是工作流程的圖形化表示。 • 活動圖主要由活動和動作 ... UML活動圖圖示(節錄). • 活動圖的符號 ... 這些框內要做某件事的簡要說明.
- 4學習EA, Agile & UML 和使用Visual Paradigm 技能- 點部落
類圖示例:GUI
- 5Day7. UML類別圖說明 - iT 邦幫忙