軟件測試開發技術UML環境概述和語義職責

發表于:2009-10-28來源:作者:點擊數: 標簽:
軟件測試 開發 技術UML環境概述和語義職責 UML模型 關鍵字:UML 環境 語義 ·概述 UML模型被用在環境中使用。多數人使用建模技術為了達到一個目的,即為了開發 性能 優良的系統,而不是為了使用模型本身。模型的目的和對模型的解釋也受環境之外的因素影響。

軟件測試開發技術UML環境概述和語義職責 UML模型

關鍵字:UML 環境 語義 · 概述 

UML 模型被用在環境中使用。多數人使用建模技術為了達到一個目的,即為了開發性能優良的系統,而不是為了使用模型本身。模型的目的和對模型的解釋也受環境之外的因素影響。在廣闊的外部環境中,另一些工具包括:跨越多種語言的元模型、模型編輯工具、程序設計語言、操作系統和主系統構件以及那些使用系統的商業和工程背景。確定模型的意義和使用目的取決于所有這些工具,其中也包括 UML 語言。 

  模型在不同的具體層次中出現。 UML 是一種通用建模語言,包括語義和表示法,適用于不同的工具和實現語言。應用中的每個層次需要使用不同層次的 UML 建模思路。 

· 語義職責 
元模型是對模型的一種描述。建模語言描述模型,因此,它可以用元模型描述。元模型試圖通過定義語義使語言精確,但是為適應新情況它必須允許擴展。元模型的實際形式對于用工具實現模型和模型的互換很重要,但多數用戶并不關心它。因此,我們在本書中未涉及到它。對此有興趣的讀者可以參閱配套光盤上的原始標準文獻 [UML-98] 。 

  元模型和語言必須能夠覆蓋多大的背景信息并具有很強的解釋力?,F存系統有不同的執行和存儲模型,從中選擇一種作為正確的解釋是不可能的。實際上,甚至考慮這樣的選擇都可能產生誤導。我們可以將執行模型的不同解釋作為語義變更點。語義變更點是一個隨執行的具體語義而不同的點,但它與系統的其他方面無關。例如,一個環境可以選擇或不選擇支持動態類元,即對象具有在運行時改變所屬類的能力?,F在,許多程序設計語言不允許這么做,主要是因為程序設計語言的實現方面的原因,但有些語言實現了這一功能。在靜態語義中這種區別是不能辨認的。選擇靜態分類還是動態分類可以用一個具有兩個選項(靜態分類或動態分類)的語義變更點來標明。當這些選擇存在時,人們經常辯論哪一種是正確的解釋。相反,如果明確了這僅僅只是一種選擇,并給選項起一個名字,這樣任何一種選擇都可以使用。 

  元模型描述一個結構良好的模型的內容,正如一種程序設計語言描述一個結構良好的程序一樣。只有結構良好的模型才有意義和恰當的語義;詢問一個結構糟糕的模型的意義是沒有意義的。然而,多數開發中的模型的結構是不完善的。它們不完整并有可能相互矛盾。但是模型編輯工具必須支持不完整的模型,而不僅只支持完整的模型。 UML 元模型描述正確的、結構完善的模型。分離的元模型能描述可能的模型片段。我們讓工具開發者決定在哪里劃定支持模型片段的界限和支持結構不完善的模型用哪種語義。 

UML 包含一些內置的擴展機制以適應特殊領域的應用。這些機制包括定義構造型和標記值的能力。通過定義一組構造型和標記值并采用相應的使用約定,這些機制可以用于裁制 UML 的變體。例如,可以開發出以不同程序設計語言的執行語義為核心的 UML 變體語言。使用擴展機制會很有效,但也會帶來潛在的危險。因為這些語義不是在 UML 中定義的, UML 不支持它們的含義,這種解釋取決于建模者。此外,如果你不注意,某些含義可能是二義性的甚至是矛盾的。建模工具能夠自動支持由工具定義的構造型和標記值,但不支持用戶自定義的擴展。不論是否支持擴展,任何擴展的使用都會使用戶偏離語言標準所提供標準定義,并損害模型的互換性和易理解性。當然,使用特殊的類庫也會偏離所謂的最完美的互換性,所以不用擔心這些。當擴展有幫助時就使用,但當擴展不必要時則避免使用它。 

 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97