是否有任何限制,UML圖只能繪製爲面向對象方法的系統?我們可以將它們用於其他方法(例如:程序)嗎?UML圖僅適用於面向對象的方法嗎?
回答
是的,您絕對可以使用UML進行其他方法的建模,例如用例圖或活動圖不會綁定到OOP。
在another echange的評論中的討論導致我在此做出另一個答案,因爲我認爲其他答案有點短。
事實上,UML,Booch,Jacobson和Rumbaugh的原作者,在他們的書(The UML User Guide,The 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,但你可以使用它的任何你想要的:沒有法律對抗。
UML說「all is class」,請參閱OMG頁面上的MOF。一些UML圖具有非objets起源(如用例圖或活動圖),但現在是基於對象/分類器概念的符號。 OOP和「分類器系統」不盡相同...您可以基於分類器和對象概念(se SysML,UML配置文件)對所有模型使用UML。
- 1. 僅面向對象的UML是什麼?
- 2. 創建對象的方法只適用於單例對象嗎?
- 3. 字面對象語法是否僅適用於OS X開發?
- 4. object.freeze僅用於對象方法。 JavaScript
- 5. UML:對象圖
- 6. 面向對象的調用方法php
- 7. 面向對象的方法使用ColdFusion
- 8. Enumerable.Single方法適用於多個對象嗎?
- 9. UIScrollView僅適用於橫向
- 10. UITabbar僅適用於橫向
- 11. Application.DoEvents()僅適用於WinForms嗎?
- 12. 「System.Net.Mail.DeliveryNotificationOptions」僅適用於Exchange嗎?
- 13. importScripts()僅適用於webworkers嗎?
- 14. jQuery .unbind()方法僅適用於jQuery創建的事件嗎?
- 15. Java getResource方法僅適用於特定的擴展嗎?
- 16. 桌面視圖僅適用於Windows
- 17. android中的面向對象的方法
- 18. 擴展方法是C#的面向對象的特性嗎?
- 19. iOS:更改方向僅適用於幾個彈出視圖
- 20. AngularJS面向對象的方法
- 21. 不是面向對象的buildMaxHeap方法
- 22. 面向對象的方法C#
- 23. 面向對象的方法橋樑
- 24. CABasicAnimation僅適用於使用相同方法創建的圖層
- 25. 這是不好的面向對象編程嗎?通過方法
- 26. iPad狀態欄方向鎖定(僅適用於橫向/縱向)
- 27. UML/RUP和非面向對象的應用程序
- 28. UML - 對象方法返回集合
- 29. 關於面向對象的OO方法的困惑
- 30. 面向對象編程:不僅僅是基本對象
相關:[程序員:程序設計的軟件設計](http://programmers.stackexchange.com/questions/78407/software-design-for-procedural-programming) – xmojmr 2014-10-06 09:09:27