是否有限制只能为具有面向对象方法的系统绘制UML图?我们可以将它们用于其他方法(例如:程序性的)吗?
答案 0 :(得分:4)
是的,你绝对可以使用UML与其他方法进行建模,例如用例图或acitivity图绝对不会与OOP绑定。
答案 1 :(得分:2)
another exchange的评论中的讨论引导我在这里做出另一个答案,因为我认为另一个答案有点短。
事实上,UML的原始作者Booch,Jacobson和Rumbaugh在他们的书中(The UML User Guide,The UML Reference Manual)描述了UML中的UML OOP的观点。
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,但你可以将它用于任何你想要的东西:没有法律可以解决这个问题。
答案 2 :(得分:0)
UML说&#34;所有都是class&#34;,请参阅OMG页面上的MOF。一些UML图具有非objets起源(如用例图或活动图),但现在是基于对象/分类器概念的符号。 OOP和&#34;分类器系统&#34;不一样......你可以根据分类器和对象概念(se SysML,UML profile)为所有模型使用UML。