自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UML2.0與UML1.x的異同

開發(fā) 架構(gòu)
UML2.0已經(jīng)推出了,它和UML1.0相比有什么優(yōu)勢?這里就向大家介紹一下UML2.0從UML1.x發(fā)展而來增加的新特性,以及介紹UML各種圖的變化與增加,歡迎大家一起來學(xué)習(xí)。

UML2.0完全建立在UML1.x基礎(chǔ)之上,大多數(shù)的UML1.x模型在UML2.0中都可以用。但UML2.0在用例圖、順序圖、活動(dòng)圖和構(gòu)件圖都有所改進(jìn),特別是改善了結(jié)構(gòu)建模的性能。下面讓我們一起來看一下UML2.0與UML1.x的異同吧。

UML2.0與UML1.x的異同

1.UML簡介

1.1UML的定義
UnifiedModelingLanguage(統(tǒng)一建模語言)是國際對象管理組織OMG制定的一個(gè)通用的、可視化建模語言標(biāo)準(zhǔn),可以用來描述(specify)、可視化(visualize)、構(gòu)造(construct)和記載(document)軟件密集型系統(tǒng)的各種工件(artifacts,又譯制品)。是當(dāng)今世界上面向?qū)ο笙到y(tǒng)開發(fā)領(lǐng)域中最激動(dòng)人心的工具之一。

1.2UML的特點(diǎn)

UML的“通用性”主要是指不僅僅可以用它來描述軟件,而且還可以用它來描述一般企業(yè)或組織的業(yè)務(wù)流程以及由軟、硬件共同組成、以軟件為主的復(fù)雜系統(tǒng)(即所謂的軟件密集型系統(tǒng)),甚至還包括非軟件系統(tǒng)。

UML的“可視性”是指可以通過UML一系列的圖形符號(hào),組成多種視圖(view)來直觀、清晰地表達(dá)系統(tǒng)分析設(shè)計(jì)中方方面面的、許多復(fù)雜的概念。UML主要是為了人的閱讀和使用而設(shè)計(jì)的,所以它采用了半形式化的,易于人們理解、交流的形式。

UML是一種分析設(shè)計(jì)專用的建模語言,它本身不是編程(programming)語言,不能直接執(zhí)行,卻可用它來生成可執(zhí)行的軟件程序。UML是一種抽象層次比C、C++、Java、VB、Delphi等文本高級語言更高的圖形語言,通過它我們可以抽象地表示用高級編程語言編寫的文本程序的邏輯結(jié)構(gòu)和行為。相比傳統(tǒng)的第三代、第四代高級編程語言(3GL、4GL),UML能夠更加高效、準(zhǔn)確地反映軟件設(shè)計(jì)的方案和思路,在當(dāng)代軟件工程中是真正用來“設(shè)計(jì)程序”(designprograms)的語言。從這個(gè)意義上看,不妨稱UML為“甚高級”或第五代程序設(shè)計(jì)語言(5GL)。

UML基本上不能算作全新的發(fā)明,它并非學(xué)者教授、科研機(jī)構(gòu)的最新研究成果,而是直接來自于產(chǎn)業(yè)界、工程界的實(shí)踐總結(jié),是在歸納基礎(chǔ)上進(jìn)行理論升華的產(chǎn)物,其核心內(nèi)容反映了30多年來全球軟件工業(yè)的領(lǐng)導(dǎo)者在軟件設(shè)計(jì)構(gòu)造領(lǐng)域的最佳實(shí)踐和成功經(jīng)驗(yàn),因而具有很高的實(shí)用價(jià)值。
實(shí)踐證明,作為對象技術(shù)的核心,面向?qū)ο蠓治鲈O(shè)計(jì)(OOAD)方法比傳統(tǒng)方法能更加準(zhǔn)確、全面地描述物理現(xiàn)實(shí)世界和由邏輯概念構(gòu)成的軟件世界。UML是用來表述OO概念的一種語言工具,而很奇妙,它本身作為一件產(chǎn)品同樣也是由世界級的軟件大師們用OO方法設(shè)計(jì)出來的,這使得UML具有傳統(tǒng)建模語言所不具備的極強(qiáng)的語義表達(dá)能力和非常靈活的可擴(kuò)展性。

2.UML1.x與UML2.0比較
UML2.0完全建立在UML1.x基礎(chǔ)之上,大多數(shù)的UML1.x模型在UML2.0中都可用。但UML2.0在結(jié)構(gòu)建模方面有一系列重大的改進(jìn),包括結(jié)構(gòu)類、精確的接口和端口、拓展性、交互片斷和操作符以及基于時(shí)間建模能力的增強(qiáng)。

2.1UML的版本
UML1.x從1997年發(fā)布的UML1.0到2003年3月發(fā)布1.5版本,而UML2.x由2004年發(fā)布2.0版本,至今最新的版本已是UML2.1。

2.2UML2.0的新特點(diǎn)

UML2.0標(biāo)準(zhǔn)有以下特點(diǎn):
◆first-class的擴(kuò)展機(jī)制允許建模人員增加自己的元類(metaclass),從而可以更加容易地定義新的UMLProfile,將建模擴(kuò)展到新的應(yīng)用領(lǐng)域。
◆對基于組件開發(fā)的內(nèi)置支持簡化了基于EJB、CORBA組件或COM+的應(yīng)用建模;對運(yùn)行時(shí)架構(gòu)的支持允許在系統(tǒng)的不同部分進(jìn)行對象和數(shù)據(jù)流建模;對可執(zhí)行模型(executablemodel)的支持也得到了普遍加強(qiáng)。
◆對關(guān)系更加精確的表示改進(jìn)了繼承、組合和聚合以及狀態(tài)機(jī)的建模。
◆行為建模方面,改進(jìn)了對封裝和伸縮性的支持,去掉了從活動(dòng)圖到狀態(tài)圖的映射(注:活動(dòng)圖不再是一種特殊的狀態(tài)圖),并改進(jìn)了順序圖的結(jié)構(gòu)。
◆對語言的句法和語義的簡化,以及整體結(jié)構(gòu)上更好的組織。#p#

2.3UML2.0的組成的變化
UML2.0解決了用戶在使用UML1.x過程中所遇到的一些問題。下面我就針對uml2.0上層的變化作一個(gè)簡要的說明。

2.3.1用例圖
用例圖中的主體內(nèi)容用例、參與者、通信關(guān)聯(lián)并沒有變化。不過如果用UML1.x,則只能用用例圖所歸屬的包來表達(dá)一組用例的邏輯組織關(guān)系,即用用例在模型中所處的物理位置表達(dá)邏輯組織關(guān)系。在UML2.0中,為每個(gè)用例增加了一個(gè)稱為“Subject”的特征,這項(xiàng)特征的取值可以作為在邏輯層面劃分一組用例的一項(xiàng)依據(jù)。用例所屬的“系統(tǒng)邊界”就是“Subject”的一種典型例子。

2.3.2順序圖
順序圖是最常用的一種圖示。我們用它來描述對象間的交互關(guān)系,著重體現(xiàn)交互的時(shí)間順序。
對于順序圖,UML2.0主要做了三大改進(jìn)。

1.允許順序圖中明確的表達(dá)分支判斷邏輯。我個(gè)人認(rèn)為這是一種非常實(shí)用的功能,能夠?qū)⒁郧耙ㄟ^兩張圖才能表達(dá)的意思通過一個(gè)圖就表達(dá)出來了。但這并不意味著順序圖擅長表達(dá)這種邏輯,所以并不需要在順序圖中展現(xiàn)所有的分支判斷邏輯。

2.允許“縱向”與“橫向”地對順序圖進(jìn)行拆分與引用。這就解決了以前一張圖由于流程過多造成幅面過大瀏覽不便的困難。

3.提供了一種新圖,稱為“交互縱覽圖”(InteractionOverviewDiagram),可以直觀地表達(dá)一組相關(guān)順序圖之間的流轉(zhuǎn)邏輯。以前遇到這種情況通常只能通過活動(dòng)圖間接表達(dá)。

2.3.3活動(dòng)圖
活動(dòng)圖也是比較常用的一種圖示,接近于流程圖。
在UML2.0中,活動(dòng)圖增加了許多新特性。例如泳道可以劃分層次,增加豐富的同步表達(dá)能力,在活動(dòng)圖中引入對象等。

2.3.4構(gòu)件圖
構(gòu)件圖是在物理層面對系統(tǒng)結(jié)構(gòu)及內(nèi)容的直觀描述,最接近于通常意義上的模塊結(jié)構(gòu)圖。
在UML2.0中,構(gòu)件圖有比較明顯的改進(jìn)。構(gòu)件本身內(nèi)容的表述更清晰,包括構(gòu)件所提供的接口、所要求的接口、蓋構(gòu)件所實(shí)現(xiàn)的類(邏輯內(nèi)容)、以及蓋構(gòu)件所對應(yīng)的具體“制品”(artifact,即物理內(nèi)容)。構(gòu)件之間的依賴關(guān)系通過“組裝連接器”(assemblingconnector)更加明確地表達(dá)。其實(shí)構(gòu)件圖的改進(jìn)在一定程度上得益于UML2.0新引入的另一種圖以及相關(guān)的概念表述,即“組合結(jié)構(gòu)圖”(compositestructurediagram)。

2.3.5新增加的圖
在表述結(jié)構(gòu)的圖中,現(xiàn)增加了“包圖”(Packagediagram)和“組合結(jié)構(gòu)圖”。“包圖”展現(xiàn)模型要素的基本組織單元,以及這些組織單元之間的依賴關(guān)系,包括引用關(guān)系(PackageImport)和擴(kuò)展關(guān)系(PackageMerge)。在通用的建模工具中,一般可以用類圖描述包圖中的邏輯內(nèi)容。“組合結(jié)構(gòu)圖”描述系統(tǒng)中的某一部分(即“組合結(jié)構(gòu)”)的內(nèi)部內(nèi)容,包括該部分與系統(tǒng)其他部分的交互點(diǎn),這種圖能夠展示該部分內(nèi)容“內(nèi)部”參與者的配置情況。“組合結(jié)構(gòu)圖”中引入了一些重要的概念:例如“端口”(port),“端口”將組合結(jié)構(gòu)與外部環(huán)境隔離,實(shí)現(xiàn)了雙向的封裝,既涵蓋了該組合結(jié)構(gòu)所提供的行為(PrrovidedInterface),同時(shí)也指出了該組合結(jié)構(gòu)所需要的服務(wù)(RequiredInterface);再如“協(xié)議”(protocol),基于UML中的“協(xié)作”(collaboration)的概念,展示那些可服用的交互序列,其實(shí)質(zhì)目的是描述那些可以在不同上下文環(huán)境中復(fù)用的協(xié)作模式。“協(xié)議”中所反映的任務(wù)由具體的“端口”承擔(dān)。
在表述行為的圖中,新增加了“交互縱覽圖”(InteractionOverviewDiagram)以及“計(jì)時(shí)圖”(TimingDiagram)。前面已經(jīng)介紹過“交互縱覽圖”的內(nèi)容與作用。“計(jì)時(shí)圖”是一種可選的交互圖,展示交互過程中的真實(shí)時(shí)間信息,具體描述對象狀態(tài)變化的時(shí)間點(diǎn)以及維持特定狀態(tài)的時(shí)間段。

3.本文小結(jié)

UML2.0的內(nèi)容遠(yuǎn)比前面介紹的要多。但是最重要的一點(diǎn)是,UML1.x模型在大部分情況下都將繼續(xù)有效。而其他需要提及的三大重要事項(xiàng)如下:
第一,交互框圖將活動(dòng)框圖和順序框圖結(jié)合在一起,使活動(dòng)框圖成為了一系列順序框圖的“主框圖”。
第二,在UML1.x中,活動(dòng)框圖和狀態(tài)框圖具有同樣的語義。換句話說,它們表達(dá)同樣的事情,但用了不同的標(biāo)記。在UML2.0中,活動(dòng)框圖是基于Petri網(wǎng)絡(luò)令牌語義,而不是基于有限狀態(tài)自動(dòng)控制,因此更具有表現(xiàn)力。雖然它對計(jì)算算法不是很重要,但是對過程建模很有幫助。
第三,UML2.0包含了表示結(jié)構(gòu)元素(對象)之間數(shù)據(jù)流動(dòng)的流程框圖(FlowDiagrams)。它與協(xié)作框圖(collaborationdiagram)中的信息流動(dòng)類似,但不完全相同。
 

【編輯推薦】

  1. UML之父稱UML2.0版將簡化大型開發(fā)
  2. UML2.0使模型驅(qū)動(dòng)的開發(fā)更加容易
  3. 如何繪制UML用例圖
  4. UML中各種UML圖形的建立步驟簡明介紹
  5. UML用例圖用法實(shí)例剖析

 

 

責(zé)任編輯:佚名 來源: blog.csdn.net
相關(guān)推薦

2010-06-10 12:19:07

UML2.0

2010-06-10 12:55:11

UML2.0

2010-06-10 12:47:01

UML2.0

2010-06-13 09:18:28

UML依賴

2010-07-06 13:04:33

UML系統(tǒng)組件圖

2010-06-13 15:58:03

UML類圖

2010-06-29 14:03:46

UML組成

2010-07-06 12:00:23

UML活動(dòng)圖

2010-06-13 16:07:56

UML活動(dòng)圖

2010-06-13 15:43:32

UML用例圖

2010-06-28 14:08:18

UML建模工具Visi

2010-06-12 15:21:19

UML關(guān)聯(lián)

2010-06-13 16:16:21

UML狀態(tài)圖

2009-11-09 10:57:34

ibmdwUML

2010-06-10 11:15:18

UML實(shí)例

2010-06-18 15:55:47

UML建模

2010-06-13 09:32:01

UML依賴

2010-06-17 14:52:42

UML構(gòu)件圖

2010-06-30 14:37:20

UML類圖

2010-06-08 11:16:22

UML介紹
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)