2014-10-06 30 views

回答

3

是的,您絕對可以使用UML進行其他方法的建模,例如用例圖或活動圖不會綁定到OOP。

+1

相關:[程序員:程序設計的軟件設計](http://programmers.stackexchange.com/questions/78407/software-design-for-procedural-programming) – xmojmr 2014-10-06 09:09:27

1

another echange的評論中的討論導致我在此做出另一個答案,因爲我認爲其他答案有點短。

事實上,UML,BoochJacobsonRumbaugh的原作者,在他們的書(The UML User GuideThe UML Reference Manual)描述了OOP的角度UML。

OMG當前在Meta-Object Facility(MOF)的角度進行語言的演變。在UML 2.5 beta 2 document範圍部分(第1頁)中,事情變得微妙。該主題的文字很模糊。

UML的最初版本(UML 1)起源於三個主要的面向對象的方法(Booch的,OMT,OOSE和)

(...)

相對UML 1,UML的這個修訂版已經得到了增強,其中更加精確的定義了其抽象語法規則和語義,更加模塊化的語言結構以及用於建模大規模系統的大大改進的功能。

(...)

UML的目標是提供系統 架構師,軟件工程師和軟件開發人員提供分析,設計和基於軟件的 系統作爲實現工具以及建模業務和類似流程。

(...)

一個UML的主要目標是使對象可視化建模工具的互操作性,以促進行業的狀態。然而,爲了在工具之間實現模型信息的有意義的交換,需要關於語義和語法的協議。

根據章節,OOP被提及與否。 「模塊化語言結構」可能導致某些元素可以在OOP之外使用。

我個人認爲MOF是OOP的直接鏈接(請給我任何面向任何面向對象的平臺之外的MOF的例子)。以我的觀點來看,毫無疑問,UML對於OOP而言是基因緊缺的。然而,一些UML圖(state diagram,activity diagram)允許表示避免明顯依賴於OOP特徵的軟件系統。這就是爲什麼可以將UML用於任何編程風格的原因,但這不是UML的最初用法。

結論

UML的目的是OOP,但你可以使用它的任何你想要的:沒有法律對抗。

0

UML說「all is class」,請參閱OMG頁面上的MOF。一些UML圖具有非objets起源(如用例圖或活動圖),但現在是基於對象/分類器概念的符號。 OOP和「分類器系統」不盡相同...您可以基於分類器和對象概念(se SysML,UML配置文件)對所有模型使用UML。