




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、面向對象軟件工程(標準建模語言UML) 李 宣 東1面向對象軟件工程面向對象“面向對象”是一種認識客觀世界的世界觀,這種世界觀將客觀世界看成是有許多不同種類的對象構成的,每個對象有自己的內部狀態和運動規律,不同對象之間的相互聯系、相互作用就構成了完整的客觀世界。2面向對象軟件工程面向對象“面向對象”是從結構組織的角度去模擬客觀世界的一種方法,這種方法的基本著眼點是構成客觀世界的那些成分對象。用“面向對象”的觀點去認識客觀世界,用“面向對象”的方法去模擬客觀世界,這就構成了“面向對象”的完整含義。3面向對象軟件工程面向對象概念對象 對象是現實世界中個體或事物的抽象表示,是其屬性和相關操作的封裝。
2、屬性表示對象的性質,屬性值規定了對象所有可能的狀態。對象的操作是指該對象可以展現的外部服務。4面向對象軟件工程面向對象概念類和實例 類是某些對象的共同特性的表示,它描述了這些對象內部是如何構造的。相同類的對象在它們的操作和它們的信息結構兩個方面都有相同的定義。 在面向對象系統中,每個對象都屬于一個類。屬于某個特定類的對象稱為該類的實例。因此,常常把對象和實例當作同義詞。實例是從某類創建的一個對象。5面向對象軟件工程面向對象概念繼承 如果類B繼承類A,那么類A中描述的操作和信息結構將成為類B的一部分。 借助繼承,可以表示類之間的類似性,并且在其他類能繼承的一個類中描述這些相似性。因此,就能夠復用
3、公共的描述。繼承常常被提倡為軟件工業界中關于復用的一個核心思想。繼承還有利于軟件維護。 通過抽取和共享公共特性就能夠通用化一些類,并且把它們放在繼承層次的更高位置。同樣,如果希望增加新類,可以尋找這樣一個類,它已經提供了適用于該新類的某些操作和信息結構。然后,讓新類繼承這個類,只需增加該新類所獨有的那些內容。然后,使這個類專用化。6建立對象模型Identifying classes and objects (識別對象和類)Specifying attributes (說明對象屬性)Defining operations (定義對象操作)Finalizing the object definit
4、ion (最終確定對象定義)7面向對象的過程模型Planning RiskAnalysis CustomerCommunication CustomerEvaluation Engineering,Construction & ReleaseIdentifycandidateclassesConstructnth iterationof systemLook upclassesin libraryPut new classesin libraryExtractclassesif availableEngineerclassesif unavailable analysis design pro
5、gramming testing8面向對象軟件工程 面向對象建模 面向對象思想比較自然地模擬了人類認識客觀世界的方式,面向對象的分析和設計應該從建模開始。構造模型通常出于以下幾個目地:在著手解決一個復雜問題之前,對解決方案進行檢測;用于同客戶或其他相關人員進行交流;加強視覺效果;對復雜問題進行簡化。9面向對象軟件工程面向對象建模模型是對事物的一種抽象,人們常常在正式建造實物之前,首先建立一個簡化的模型,以便更透徹地了解它的本質,抓住問題的要害;在模型中,人們總是剔除那些與問題無關的、非本質的東西,從而使模型與真實的實體相比更加簡單、易于把握;10面向對象軟件工程面向對象建模在建造一個復雜系統時
6、,開發者必須從多種不同的角度來抽象系統,使用準確的符號來構造模型,然后檢查這些模型是否符合系統的需求,并逐步添加細節,從而將這些模型轉化成實現方案。建模語言是面向對象建模中的一個非常關鍵的因素。11標準建模語言UMLUML的設計目標:運用面向對象概念來構造系統模型建立起從概念模型直至可執行體之間明顯的對應關系著眼于那些有重大影響的問題創建一種對人和機器都適用的建模語言12標準建模語言UMLUML概要UML由OMG與1997年11月批準為標準建模語言。UML建立在當今國際上最有代表性的三種面向對象方法(Booch方法,OMT方法,OOSE方法)的基礎之上。UML是一種建模語言而不是一種方法,UM
7、L本身是獨立于過程的。13標準建模語言UML UML為人們提供了從不同的角度去觀察和展示系統的各種特征的一種標準表達方式。在UML中,從任何一個角度對系統所作的抽象都可能需要用幾種模型圖來描述,而這些來自不同角度的模型圖最終組成了系統的完整模型。14標準建模語言UML 一般而言,我們可以從以下幾種常用的視角來描述一個系統:系統的使用實例:從系統外部的操作者的角度描述系統的功能。系統的邏輯結構:描述系統內部的靜態結構和動態行為,即從內部描述如何設計實現系統功能。系統的構成:描述系統由哪些程序構件所組成。系統的并發性:描述系統的并發性,強調并發系統中存在的各種通信和同步問題。系統的配置:描述系統的
8、軟件和各種硬件設備之間的配置關系。15標準建模語言UMLUML模型圖(5類,10種):用例圖靜態圖(類圖,對象圖,包圖)行為圖(狀態圖,活動圖)交互圖(順序圖,合作圖)實現圖(構件圖,配置圖)16標準建模語言UMLUML語義元-元模型: 元模型的基礎體系結構,定義一種說明元模型的語言元模型: 元-元模型的一個實例,定義一種說明模型的語言模型: 元模型的一個實例,定義一種語言來描述信息領域用戶對象: 模型的一個實例,定義一個特定的領域17標準建模語言UMLUML主要文件:UML概要(UML Summary)UML語義(UML Semantics)UML表示法指南(UML Notation Gui
9、de)對象約束語言規約(Object Contraint language Specification):該文件定義并介紹了一種對象約束語言(OCL),其用途是用來說明在圖形化的系統模型中不能充分表達的建模信息。它是一種形式化語言。18標準建模語言UML (用例圖) 從本質上將,一個用例是用戶與計算機之間為達到某個目的的一次典型交互作用:用例描述了用戶提出的一些可見的需求;用例可大可小;用例對應一個具體的用戶目標19標準建模語言UML (用例圖) 用例圖描述系統外部的執行者與系統的用例之間的某種聯系。所謂用例是指對系統提供的功能(或稱系統的用途)的一種描述;執行者是那些可能使用這些用例的人或外
10、部系統;用例和執行者之間的聯系描述了“誰使用哪個用例”。20標準建模語言UML (用例圖)用例圖著重于從系統外部執行者的角度來描述系統需要提供哪些功能,并且指明了這些功能的執行者是誰;用例圖在UML方法中占有十分重要的地位,人們甚至稱UML是一種用例圖驅動的開發方法。21標準建模語言UML (用例圖)用例圖中的圖符: 用例 執行者 系統:用于界定系統功能范圍,描述該系統功能的用例都置于其中,而描述外部實體的執行者都置于其外。 關聯:連接執行者和用例,表示執行者所代表的系統外部實體與該用例所描述的系統需求有關。22標準建模語言UML (用例圖)用例圖中的圖符: 使用:由用例A連向用例B,表示用例
11、A中使用了用例B中的行為或功能。 擴展:由用例A連向用例B,表示用例B描述了一項基本需求,而用例A則描述了該基本需求的特殊情況。 注釋體:對UML實體進行文字描述 注釋連接:將注釋體與要描述的實體連接,說明該注釋體是針對該實體所進行的描述。使用擴展23標準建模語言UML (用例圖)設置邊界風險分析交易估計進行交易超越邊界更新帳目評價貿易經理營銷人員記帳系統銷售人員使用使用擴展24標準建模語言UML (用例圖)用例模型的獲取:獲取執行者獲取用例25標準建模語言UML (用例圖)獲取執行者:誰使用系統的主要功能(主要使用者)?誰需要系統支持他們的日常工作?誰來維護、管理系統使其能正常工作(輔助使用
12、者)?系統需要控制哪些硬件?系統需要與其他哪些系統交互?對系統產生的結果感興趣的是哪些人?26標準建模語言UML (用例圖)獲取用例:執行者要求系統提供哪些功能?執行者需要讀、產生、刪除、修改或存儲系統中的信息有哪些類型?必須提醒執行者的系統事件有哪些?執行者必須提醒系統事件有哪些?怎樣把這些事件表示成用例中的功能?27標準建模語言UML (類圖)在面向對象的建模技術中,類、對象和它們之間的關系是最基本的建模元素。對于一個想要描述的系統,其類模型、對象模型以及它們之間的關系揭示了系統的結構。類圖描述了系統中的類及其相互之間的各種關系,其本質反映了系統中包含的各種對象的類型以及對象間的各種靜態關
13、系(關聯,子類型)。28標準建模語言UML (類圖)類圖中的圖符: 類:表示一個類,其中第一欄是類的 名,第二欄是類的屬性,第三欄是類的操作。 包:包是一種分組機制,表示一個類 圖集合。 關聯:用于表示類的對象之間的關系。其特殊形式有組成關聯和聚集關聯。OperationsAttributesClassPackage29標準建模語言UML (類圖)類圖中的圖符: 聚集關聯:用于表示類的對象之間的關系是整體與部分的關系。 組成關聯:用于表示類的對象之間的關系:整體擁有各部分,部分與整體共存,如整體不存在了,部分也會隨之消失。 泛化關聯:泛化關系(繼承關系)定義了類和包間的一般元素和特殊元素之間的
14、分類關系。30標準建模語言UML (類圖)類圖中的圖符: 依賴關系:有兩個類或包元素X、Y,修改元素X的定義可能會引起對另一個元素Y的定義的修改,則稱元素Y依賴于元素X。 對象:類的一個實例。 鏈接:用于表示對象間的關聯關系的一個實例。ValuesObject31標準建模語言UML (類圖)訂單DateReceivedisPrepaidnumber:Stringprce:MoneyDispatch()close()訂單項Quantity:Integerprice:MoneyisSatisfied:Boolean1*項客戶NameaddressCreditRating():String團體客戶C
15、ontactNamecreditRatingcreditLimitRemind()billforMonth(Intrger)雇員產品個人客戶CreditCard#creditRating()=“poor”銷售代表1*0.11*32標準建模語言UML (對象圖)對象圖對象圖是類圖的一種變形。除了在對象名下面要加下劃線以外,對象圖中所使用的符號與類圖基本相同。對象圖是類圖的一種實例化。一張對象圖表示的是與其對應的類圖的一個具體實例,即系統在某一時期或者某一特定時刻可能存在的具體對象實例以及它們相互之間的具體關系。33標準建模語言UML (對象圖)作者計算機名字:String內存:Ineger名字:
16、String年齡:Integer0.1Uses1.*小王:作者小王的工作PC:計算機名字 = “王小影”年齡 = 32小王的工作PC:計算機名字 = “Compaq X”內存 = 32名字 = “Dell486”內存 = 64類圖對象圖34標準建模語言UML (對象圖)對象圖并不象類圖那樣具有重要的地位,但是利用它可以幫助我們通過具體的實例分析,更具體直觀地了解復雜系統類圖的豐富內涵。對象圖還常常被用作合作圖的一部分,用以展示一組對象實例之間的動態協作關系。35標準建模語言UML (包圖)包是類的集合。包圖所顯示的是類的包以及這些包之間的依賴關系。如果兩個包中的任意兩個類之間存在依賴關系,則這
17、兩個包之間存在依賴關系。包的依賴是不傳遞的。36標準建模語言UML (包圖)訂單獲取界面訂單獲取應用AWT郵件發送清單界面郵件發送清單應用訂單顧客37標準建模語言UML (包圖)何時使用包圖:在大項目中,包圖是一種重要工具(有專家建議,只要你不能將整個系統的類圖壓縮到一張A4紙上,你就應該使用包圖);依賴產生耦合,應該盡量將依賴性減少到最低程度;包的概念對測試也是特別有用的。38標準建模語言UML (狀態圖)狀態圖狀態圖是對類的一種補充描述,它展示了此類對象所具有的可能的狀態以及某些事件發生時其狀態的轉移情況。在狀態圖中,狀態由圓角矩形表示。狀態的改變稱作轉移,狀態轉移由箭頭表示,箭頭旁可以標
18、出轉移發生的條件。狀態轉移可以伴隨有某個動作,它表明當轉移發生時系統要做什么。39標準建模語言UML (狀態圖)下降狀態在第一層上升狀態向第一層下降空閑狀態上升到達到達上升超時下降到達第一層40標準建模語言UML (順序圖)順序圖順序圖描述了對象之間動態的交互關系,著重體現對象間消息傳遞的時間順序。順序圖由一組對象構成,每個對象分別帶有一條豎線,稱作對象的生命線,它代表時間軸,時間沿豎線向下延伸。順序圖描述了這些對象隨著時間的推移相互之間交換消息的過程。消息用從一條垂直的對象生命線指向另一個對象的生命線的水平箭頭表示。圖中還可以根據需要增加有關時間的說明和其他注釋。41標準建模語言UML (順
19、序圖):計算機:打印服務程序:打印隊列:打印機打印文件打印文件打印機空閑保存文件打印機忙42標準建模語言UML (順序圖)P1P2P3e1e2e3e4e5e6e7e8e9e1043標準建模語言UML (順序圖)順序圖中的事件順序:因果性(Causality): 對同一消息而言,發送事件先于接收事件。可控性(Controlability): 對同一對象而言,事件p出現在發送事件q的上方,則p先于q。隊列性(FIFO): 對同一對象而言,接收事件p出現在接收事件q的上方,并且它們分別對應的發送事件也位于同一個對象,則p先于q。44標準建模語言UML (順序圖)e1e2e3e4e5e6e8e7e9e
20、10e12e11P1P2P3P1P2P3e1e2e3e4e6e5e7e8e9e11e10e1245標準建模語言UML (合作圖)合作圖與順序圖作用相同,合作圖也是用來描述系統中對象之間的動態協作關系。合作圖側重于描述各個對象之間存在的消息收發關系(交互關系),而不專門突出這些消息發送的時間順序。在合作圖中,對象同樣是用一個對象圖符來表示,箭頭表示消息發送的方向,而消息執行的順序則由消息的編號來表明。46標準建模語言UML (合作圖):計算機:打印隊列:打印服務程序:打印機1. 打印文件 3. 保存文件打印機忙2. 打印文件打印機空閑47標準建模語言UML (合作圖)合作圖的布局方法能更清楚地表
21、示出對象之間靜態的連接關系。順序圖突出執行的時序,能更方便地看出事情發生的次序。如果要描述在一個用例中的幾個對象協同工作的行為,交互圖是一種有力的工具。交互圖擅長顯示對象之間的合作關系,盡管它并不對這些對象的行為進行精確的定義。如果想要描述跨越多個用例的單個對象的行為,應當使用狀態圖;如果想要描述跨越多個用例或多個線程的多個對象的復雜行為,則需考慮使用活動圖。48標準建模語言UML (活動圖)活動圖活動圖描述系統中各種活動的執行順序,通常用于描述一個操作中所要進行的各項活動的執行流程。同時,它也常被用來描述一個用例的處理流程,或者某種交互流程。活動圖由一些活動組成,圖中同時包括了對這些活動的說
22、明。當一個活動執行完畢之后,控制將沿著控制轉移箭頭轉向下一個活動。活動圖中還可以方便地描述控制轉移的條件以及并行執行等要求。49標準建模語言UML (活動圖)加水到容器中將咖啡放到過濾器中點燃咖啡爐取出咖啡杯把過濾器放到咖啡爐上沖調咖啡倒咖啡找飲料取一聽可口可樂喝飲料人找到可口可樂沒有可口可樂沒有咖啡找到咖啡熄滅咖啡爐50標準建模語言UML (活動圖)活動圖最適合支持描述并行行為,這使之成為支持工作流建模的最好工具。活動圖最大的缺點是很難清楚地描述動作與對象之間的關系。51標準建模語言UML (活動圖)對于以下情況可以使用活動圖:(1)分析用例;(2)理解牽涉多個用例的工作流;(3)處理多線程
23、應用。在下列情況下,一般不要使用活動圖:(1)顯示對象間合作;(2)顯示對象在其生命周期內的運轉情況。52標準建模語言UML (構件圖)構件圖構件圖描述軟件構件以及它們之間的依賴關系,從而便于人們分析和發現當修改某個構件時可能對那些構件產生影響,以便對它們做相應的修改或更新。構件可以是源代碼構件、二進制目標碼構件、可執行構件或文檔構件。53標準建模語言UML (構件圖) Whnd.cpp: 窗口處理器 Graphic.dll:圖形庫 Comhnd.cpp: 命令處理器 Main.cpp:主類 Whnd.obj: 窗口處理器 Comhnd.obj: 命令處理器 Main.obj:主類 clien
24、t.exe: 客戶程序54標準建模語言UML (配置圖)配置圖配置圖描述系統中硬件和軟件的物理配置情況和系統體系結構。在配置圖中,用結點表示實際的物理設備,如計算機和各種外部設備等,并根據它們之間的連接關系,將相應的結點連接起來,并說明其連接方式。在結點里面,說明分配給該結點上運行的可執行構件或對象,從而說明哪些軟件單元被分配在哪些結點上運行。55標準建模語言UML (配置圖)客戶A:個人電腦PC客戶B:個人電腦PC數據庫服務器:VAX服務器:02TCP/IP協議TCP/IP協議DecNet協議56UML支撐環境Rational Rose基于UML的模型驅動的軟件開發環境全面支持團隊整體合作的
25、開發形式集成了最新軟件開發技術和思想57UML的擴展實時模型 UML-RT可執行模型企業計算 Enterprise Distributed Object Computing (EDOC) Enterprise Application Integration (EAI)軟件過程 Rational Unified Process (RUP)其他 Standard for Data Warehousing CORBA maps to UML XMI format for the exchange of UML models in text format 58UML框架下的軟件工程我們已經有了統一的建
26、模語言UML我們正在擁有統一軟件過程(RUP?)下一步是什么?A Software Component MarketplaceQuality from the BeginningGive Soul to Software ProcessA Complete UML Based Software Platform Ivar Jacobson59UML時間表1997 UML version 1.0, version 1.11998 UML version 1.32000 UML version 1.4 ?2002 UML version 2.0 ?2004 一個穩定完善的UML version ?
27、60UML的國際會議 98 The First International Workshop on The Unified Modeling Language, 3 - 4 June, 1998, Mulhouse, France 99 The Second International Conference on The Unified Modeling Language, 28 - 30 October, 1999, Fort Collins, Colorado, USA 2000 The Third International Conference on the Unified Model
28、ing Language, 2 - 6 October, 2000, York, UK 2001 The Fourth International Conference on the Unified Modeling Language, 1 - 5 October, 2001, Toronto, Canada 2002 The Fifth International Conference on the Unified Modeling Language, 30 Sept. 4 Oct., 2002, Dresden, Germany. 2003 The Sixth International
29、Conference on the Unified Modeling Language, 20 24, Oct., 2003, USA. Lecture Notes in Computer Science, Springer61UML當前的研究熱點當前圍繞UML的研究工作集中在兩個方面:使得UML更加精確為UML提供有效的工具支持62模型驅動的體系結構Model Driven Architecture (MDA) 63OMG (Object Management Group)OMG是世界上最大的計算機工業聯盟,于1989年4月有8個公司發起,目前有800多家成員。64Who Are OMG?A
30、T&TBEABorlandBoeingCACitigroupCompaqEricssonFordFujitsuGlaxo SmithKlineHewlett PackardHitachiHyperionIBMIONAio SoftwareKabiraKennedy CarterJohn DeereMicrosoftMITREMSC.SoftwareNASANECNetGenicsNTTOASISOraclePfizerRationalSAGA SoftwareSAPSAS InstituteSecantSiemensSprintSunUnisysVertel65異構-無處不在Programmi
31、ng languages3 million COBOL programmers1.6 million VB programmers1.1 million C/C+ programmersOperating systemsUnix, MVS, VMS, MacOS, Windows (all 8!), PalmOSWindows 3.1: its still out there!Embedded devices (mobile, set-top, etc.)NetworksEthernet, ATM, IP, SS7, Firewire, USBBluetooth, 802.11b, HomeR
32、F66OMG的技術目標問題:分布異構限制了互操作,同一功能用多種語言在多種環境下重復實現。目標:使得基于對象的軟件在分布異構環境下具有良好的可重用性、可移植性和互操作性,從而能夠在由多種主流硬件平臺上運行多種操作系統構成的異構分布環境中,方便地建立異構分布應用系統。67如何集成?不存在統一的硬件平臺不存在統一的操作系統不存在統一的網絡協議不存在統一的應用模式 必須通過接口和互操作達到集成。68OMG的任務The OMGs mission is to help computer users solve integration problems by supplying open, vendor-
33、neutral interoperability specifications.69OMG的產品Common Object Request Broker ArchitectureCORBA remains the only language- and platform-neutral interoperability standardUnified Modeling LanguageUMLTM remains the worlds only standardized modeling languageCommon Warehouse MetamodelCWMTM, the integratio
34、n of the last two data warehousing initiativesMeta-Object FacilityMOFTM, the repository standardXML Metadata InterchangeXMITM, the XML-UML standard70中間件 中間件是軟件領域近十年來發展起來的一種新技術,其泛指位于操作系統與應用軟件之間、能夠屏蔽操作系統和網絡協議的差異、為異構系統之間提供通訊服務的軟件。 71中間件硬件平臺系統軟件支撐軟件硬件平臺系統軟件支撐軟件中間件應用軟件應用軟件72中間件 中間件屏蔽了底層系統軟件(包括操作系統、網絡、數據庫
35、管理系統等)的異構性和復雜性,通過一個簡單而統一的開發環境,減少程序設計的復雜性并提高程序的可移植性,使得開發人員將注意力集中在自己的業務上,大大減少了技術上的負擔。中間件帶給應用系統的,不只是開發的簡便和開發周期的縮短,也減少了系統的維護、運行和管理的工作量,從而減少了系統總體費用的投入。73中間件目前的主流中間件可以分為五類:數據訪問中間件遠程過程調用中間件事務中間件消息中間件面向對象中間件74面向對象中間件 面向對象的中間件是對象技術和分布式計算發展的產物,它提供一種通訊機制,透明地在異構的分布計算環境中傳遞對象請求。OMG的CORBA微軟的COMSun公司基于EJB的J2EE75面向對
36、象中間件 面向對象中間件的異構性和開放性各有不同:適用于異構環境、開放的CORBA是Internet與企業應用事實上的工業標準;特定于Windows平臺、專有的COM則是桌面系統的首選;基于EJB的J2EE則兼具二者之優勢,J2EE是一種利用Java2平臺來簡化企業解決方案的開發、部署和管理相關復雜問題的體系結構,已經被許多從事電子商務的中間件廠商所采納。76中間件沒有消除異構由于一個中間件不能滿足所有用戶的要求,導致多種中間件并存又無法統一,于是為解決異構問題提出的中間件本身產生異構。中間件似乎“提升”了異構而沒有消除異構。77中間件沒有消除異構 由于難以形成統一的標準,中間件的不斷發展將使
37、得新舊系統之間的集成或系統的演化面臨不同的實現技術,從而使得如何在保障已有投資的條件下驅動整個系統的技術升級成為我們迫切需要解決的問題。78模型驅動的體系結構MDA(Model Driven Architecture)MDA is OMGs next step in solving integration problems.79MDA的主要思想MDA的主要思想是分離業務功能分析與設計和實現技術與平臺之間緊耦合的關系,從而將技術與平臺變化對系統的影響降低到最小程度。MDA極大地加強了應用模型與領域模型在整個軟件生命周期中的復用。80MDA的主要思想與實現技術和平臺無關、描述業務需求的功能模型(P
38、latform-Independent Model, PIM)與具體實現技術和平臺相關的應用模型(Platform-Specific Model, PSM)MDA將PIM抽象出來,針對不同實現技術與平臺制訂多個映射規則,然后通過這些映射規則及輔助工具將PIM轉換成PSM,再將PSM不斷求精直至形成最后代碼。81MDA的主要思想PIMMappingsPSMCORBA specificplatform modelsPSMEJB specificplatform modelsPSMXML specificplatform modelsPSM.NET specificplatform modelsPS
39、MWEB specificplatform modelsCORBA/CCMJ2EE/EJBSOAP/XMLDCOM/.NETWEB/WSDL82Building an MDA ApplicationStart with a Platform-Independent Model (PIM) representing business functionality and behavior, undistorted by technology details.Platform-IndependentModelA Detailed Model, stating Pre- and Post-Condit
40、ions in OCL, and Semantics in Action Language83Generating Platform-Specific ModelPlatform-IndependentModelMap a PIM to Specific Middleware Technologies via OMG Standard MappingsMDA tool applies a standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, pa
41、rtially hand-written.CORBA Model84Mapping to Multiple Deployment TechnologiesPlatform-IndependentModelCORBA ModelMDA tool applies an standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written.Java/EJBModelXML/SOAPModelOtherModelMap a
42、PIM to Many Middleware Technologies via OMG Standard Mappings85Generating ImplementationsPlatform-IndependentModelCORBA ModelMDA Tool generates all or most of the implementation code for deployment technology selected by the developer.Java/EJBModelCORBAXML/SOAPModelJava/EJBXML/SOAPOtherOtherModelMap
43、 PSM to application interfaces, code, GUI descriptors, SQL queries, etc.86Integrating Legacy & COTSPlatform-IndependentModelLegacyAppMDA Tools for reverse engineering automate discovery of models for re-integration on new platforms.COTSAppOtherOtherModelReverse-engineering existing application into
44、a model and redeploy.87Automating BridgesCORBA ModelXML/SOAPModelPlatform-IndependentModelCORBA SystemXML/SOAPSystemInteropBridgeMDA Tools combine application and platform knowledge to generate bridgesBridge generation is simplified by common application models, simplifying creation of integrated ap
45、plications both within and across enterprises.88MDA帶來的好處增強軟件復用性增強軟件可移植性提高軟件開發效率、降低成本降低軟件維護成本推動軟件自動化進程89MDA的構成90MDA的核心以下標準或規范構成了MDA的核心:統一建模語言(Uniform Modeling Language, UML,建模工具)元對象設施(Mete-Object Facility, MOF,標準的建模與交換結構)公共倉庫元模型(Common Warehouse Metamodel , CWM,數據倉庫的標準)基于XML的元數據交換(XML Metadata Interchange , XMI,信息交換的標準格式)等。此外,MDA還將標準化少數通用領域的PIM、基于特定于中間件標準的PSM、以及PIM與PSM之間的映射規則,為設計到代碼的自動生成提供基礎。91UML 2.0MDA的需求:精確的語義可執行模型自動代碼生成更強的描述能力針對特定領域的可擴充性92UML ProfilesA UML pro a set of extensions to UML using the built-in extension facilities of UML, stereotypes and tagged values. 93MOF (Me
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 輪胎企業綠色采購政策與供應鏈優化考核試卷
- 2024年高密度電阻率儀資金需求報告代可行性研究報告
- 數據庫設計中的對象關系映射技術試題及答案
- 網絡文學隔音寫作環境租賃協議書
- 2025年中國保健按摩椅行業市場前景預測及投資價值評估分析報告
- 高端私人飛機消毒清潔解決方案租賃協議書
- 2025年中國半球諧振陀螺儀行業市場前景預測及投資價值評估分析報告
- 智能家居設備全國代理及品牌合作授權合同
- 2025年中國辦公商業空間設計行業市場投資可行性調研報告
- 時尚購物中心品牌入駐專柜委托運營合同
- GA∕T 1729-2020 保安防衛棍-行業標準
- 水電站擴建工程砂石加工系統施工組織設計
- 蒙牛冰淇淋經銷商管理制度
- 振動測量評價標準介紹
- 配方法練習題
- 外協出入庫流程
- 復習:金屬的化學性質
- 公路隧道斜井與正洞交叉口施工方法
- 出庫單樣本12623
- 衛生保潔檢查表
- 年產10萬噸氯乙烯工藝設計(共53頁)
評論
0/150
提交評論