2015-03-19 61 views
2

目前,在我的论文中,关于“UML仅仅是为了面向对象开发而制定的?我从一些资料来源搜索,发现了很多争论。对我自己而言,我相信并非所有的UML图都只是为了面向对象系统/软件开发(即状态图)而制作的。所以,我希望你的启发,并且请给出强有力的理论,支持你从书或国际杂志上得到的答案,而不是从wiki或网站上获得答案。仅面向对象的UML是什么?

请帮我,我不知道该说什么

非常感谢

+0

可能的重复[只有面向对象方法的UML图吗?](http://stackoverflow.com/questions/26212374/are-uml-diagrams-only-for-object-oriented-approach) – bdulac 2015-03-20 12:51:46

回答

5

历史上,三位创始人(伊瓦,格雷迪和詹姆斯)都来自背景为OO软件开发方法论,当他们决定他们的三个各自的方法加入到了后来UML 1.0。

然而,这样的语言不限于建模软件。早在1994年(UML 1.0发布之前的三年),Ivar自己就在“对象优势”一书中证明了其适用于建模业务情况,其他许多人在此之后也做了相同的工作。

此外,UML不限于基于面向对象的立场来看东西的模型。有人可能会认为,面向对象是您对问题领域的方法论观点;不只是一种编程语言的名称。因此,您可以使用面向对象技术为您的问题域建模,然后使用过程式语言和反之来实现基于该分析的系统。在所有情况下,您都可以使用UML,但也许您会在不同的情况下使用不同的元素和图表类型。

最后,许多人怀念,使符号和语言之间的区别,一方面是,怎么和你做的记号,而另一方面是什么。 UML是一种语言!你用这种语言“写”什么取决于你;英语是一种语言,但没有人会声称你只能写小说,而不是用英语写食物的科学文本或食谱。

UML是一种语言;面向对象是如何理解和构造问题的哲学视角。

如果你有兴趣在这些各种各样的问题,你可能会感兴趣的是我在Udemy使用UML先进概念建模提供我一个疗程。你可以使用这个链接有90%的折扣得到它:https://www.udemy.com/get-your-concepts-straight/?couponCode=CONCEPTS29

干杯!

+0

多么好的解释! – 2015-03-20 10:34:22

+0

在我看来,你正在制定一个意见。你能否引用参考文件?我在这里只看到三位创始人。据我所知他们的观点纯粹是面向对象。 OMG呢?很明显,建模不应局限于面向对象编程。但在我看来,UML专注于面向对象。 – bdulac 2015-03-20 12:58:25

+0

规范2.4.1(http://www.omg.org/spec/UML/2.4.1/)中的一些参考文献。 关于UML的四个符合级别:级别0 ...包含一个单一的语言单元,它提供了对在大多数流行的面向对象编程语言中遇到的基于类的结构的建模进行建模...级别1 ...添加新的语言单位......特别是......用例,交互,结构,操作和活动......级别2 ......为部署添加语言单元, 状态机建模和配置文件。级别3 ...为模型信息流,模板和模型打包添加新的 语言单元。 – Per 2015-03-21 06:06:25

1

我认为UML是独立于语言的类型。例如,你可以用UML实现c语言项目,也可以用C++来实现同一个UML。正如你可以在C中使用指针的结构和用法来定义类结构。

所有结构和行为的UML图也可以投入非面向对象的代码。

1

http://uml.org/

根据OMG UML的描述,则表明建模语言也适用于非软件系统。

+0

你在哪里看到了吗?你能举一个部分吗? – bdulac 2015-03-20 14:14:39

+0

请参阅http://www.omg.org/gettingstarted/what_is_uml.htm,第四段。 – KevinT 2015-03-20 20:09:40