UML基礎(chǔ) UML序列圖解析
本節(jié)向大家介紹一下UML序列圖方面的內(nèi)容,主要包括UML概念簡介和UML序列圖等內(nèi)容,相信通過本節(jié)的學(xué)習(xí)你對UML序列圖一定會有深刻的認識。讓我們一起來學(xué)習(xí)UML序列圖吧。
UML簡介
統(tǒng)一建模語言(UML)是用于建立面向?qū)ο笙到y(tǒng)模型的標準標記法。在1995到1997年之間,UML登上了面向?qū)ο缶幊躺鐓^(qū)的舞臺,而且在1997年后期受到了對象管理組織(OMG)的認可。雖然它最初頗受爭議--因為它是在一片支持和反對聲中提出的--但UML以后卻成為系統(tǒng)標記法的行業(yè)標準。UML的當(dāng)前版本是1.4,而且它將不斷發(fā)展以滿足面向?qū)ο箝_發(fā)人員的需要。
UML可能難以學(xué)習(xí),主要因為它試圖為相當(dāng)廣泛的情況提供建模標記法。每種建模標記法都采用一種圖,而目前在UML規(guī)范中有九種圖。幸好,學(xué)習(xí)UML可以是一個漸進過程;每次可以只學(xué)習(xí)一種圖,***試用時不必包含圖中非常復(fù)雜的東西。
在本專欄中,我將教您逐步學(xué)習(xí)基于Java應(yīng)用程序開發(fā)的UML設(shè)計和標記法。我將以邏輯(可能是另人愉快的)方式介紹UML框架和其它建模技術(shù)的基礎(chǔ)知識,您將通過建立現(xiàn)實示例的模型來學(xué)習(xí)實際操作。在***部分中,我們使用貸款處理應(yīng)用程序作為示例,從建立序列圖開始。請注意,假設(shè)您熟悉Java語言,而且掌握了面向?qū)ο蠓椒ê托g(shù)語的基礎(chǔ)知識。本專欄將簡要說明面向?qū)ο蟮母拍睿粫M行深入討論。
UML序列圖
UML沒有排斥任何特殊的軟件開發(fā)方法或過程;它只不過標準化了標記法的格式。然而,許多開發(fā)方法都合并了UML。Rational統(tǒng)一過程(RUP)就是這樣一種方法;另一種方法是功能驅(qū)動的開發(fā)(FDD)。由于其直觀性和通用性,UML序列圖已成為這些過程的前端建模活動的一部分。序列圖用于建立以下內(nèi)容的模型:
用例方案
框架中的協(xié)議
子系統(tǒng)
類
方法邏輯
以下是上述每個功能的簡要說明。
用例方案
對于示例應(yīng)用程序,我們將使用UML序列圖來建立單個用例方案的模型。用例是由參與者與應(yīng)用程序交互為實現(xiàn)某個指定目標而執(zhí)行的單個任務(wù)。參與者可以是與應(yīng)用程序交互、在應(yīng)用程序外部的任何最終用戶、組織或系統(tǒng)。(要了解四種參與者角色,請參閱關(guān)于參與者角色;如需關(guān)于用例方案的深入討論,請參閱參考資料。)
框架中的協(xié)議
協(xié)議位于框架及其稱作集合體的可交換組件之間。了解框架必需的交互有助于開發(fā)新的集合體。序列圖通常用于記錄這些交互。
子系統(tǒng)
大的項目被分解成更小且易管理的部分,稱作子系統(tǒng)。子系統(tǒng)之間的接口關(guān)于將它們集成成為更大的整體(即,系統(tǒng))是至關(guān)重要的。序列圖用于指定子系統(tǒng)邊界上的類之間的交互。
類
某些類(如Socket和InetAddress)需要一個復(fù)雜的方法調(diào)用序列,以便正確交互。這些序列組成了用于與這樣的某個類或一組類交互的協(xié)議。序列圖可用于描述類或一組相互作用的類的使用,因而描述了交互所需的協(xié)議。
方法邏輯
UML序列圖在記錄方法邏輯方面非常優(yōu)秀。實際上,只要給出了Java方法,某些CASE工具會自動生成一個序列圖。序列圖可用于設(shè)計未來方法或記錄現(xiàn)有方法的流程。
【編輯推薦】