UML:統一塑模語言精華開發圖與流程圖_UML 2.5 新發展與限制 ...

文章推薦指數: 80 %
投票人數:10人

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 網路系統開發實作系列



請為這篇文章評分?