軟件測試開發 技術UML擴展機制概述和約束 UML模型 關鍵字:UML擴展機制 ·概述 UML提供了幾種擴展機制,允許建模者在不用改變基本建模語言的情況下做一些通用的擴展。這些擴展機制已經被設計好,以便于在不需理解全部語義的情況下就可以存儲和使用。由于這個
· 概述
UML 提供了幾種擴展機制,允許建模者在不用改變基本建模語言的情況下做一些通用的擴展。這些擴展機制已經被設計好,以便于在不需理解全部語義的情況下就可以存儲和使用。由于這個原因,擴展可以作為字符串存儲和使用。對不支持擴展機制的工具來說,擴展只是一個字符串,它可以作為模型的一部分被導入、存儲,還可以被傳遞到其他工具。我們期望后端工具設計成能夠處理各種擴展,這些工具會為它們需要理解的擴展定義特定的語法和語義。
這種擴展的方法很可能不能滿足出現的多種要求,但是它以一種易于實現的簡單方式容納建模者對 UML 裁制的大部分要求。
擴展機制包括約束、標記值和構造型。
一定要記住擴展是違反 UML 的標準形式的,并且使用它們會導致相互影響。在使用擴展機制之前,建模者應該仔細權衡它的好處和代價,特別是當現有機制能夠合理工作時。典型地,擴展用于特定的應用域或編程環境,但是它們導致了 UML 方言的出現,包括所有方言的優點和缺點。
· 約束
約束是用文字表達式表示的語義限制。每個表達式有一種隱含的解釋語言,這種語言可以是正式的數學符號,如 set-theoretic 表示符號;或是一種基于計算機的約束語言,如 OCL ;或是一種編程語言,如 C++ ;或是偽代碼或非正式的自然語言。當然,如果這種語言是非正式的,那么它的解釋也是非正式的,并且要由人來解釋。即使約束由一種正式語言來表示,也不意味著它自動為有效約束。
約束可以表示不能用 UML 表示法來表示的約束和關系。當陳述全局條件或影響許多元素的條件時約束特別有用。
約束用大括弧內的字符串表達式表示。約束可以附加在表元素、依賴關系,或注釋上。圖 11-1 表示了幾種約束。
圖 11-1 約束
