2010-09-21 73 views
4

我曾见过UML在过去几年中提到过几个地方,但从未有过令人信服的理由在目前的工作中使用它。花时间和精力去学习它有什么价值吗? (我是Ruby on Rails开发人员。)学习UML有什么价值吗?

编辑:我还在寻找关于UML如何在您的项目中发挥作用的故事,以便让我了解如何使用它。

+0

不可能有一个正确回答这个问题,建议将其删除或编辑它,并勾选“社区维基“。 Re *“我还在寻找关于UML如何改变项目的故事,以便让我了解如何使用它。”* StackOverflow [不是讨论站点](http:// stackoverflow。 COM /常见问题),你可能会更好张贴到一个。 – 2010-09-21 08:13:09

+0

好的。我把它变成了一个社区wiki。 – picardo 2010-09-21 08:20:20

回答

7

是的。这是系统分析和设计的国际标准方法。从最初的分析阶段到项目生命周期,UML提供了一个关于去哪里以及如何到达的良好路线图。一些好处:

  • 它以客户/客户/管理层可以理解的方式显示需求。
  • 可以遍历模型并没有失去跟踪的模型是
  • 之前在那里正好说明了如何从A点得到了B点
  • 这是一个标准,所以谁知道UML就能解释你图
  • 的“最快”的方式,而无需经过整个代码库
+0

您是否认为如果不了解UML,可以成为一名优秀的开发人员?我已经编写了几年,并试图成长为程序员,并试图弄清程序员如何思考。我从来没有读过任何程序员说他们使用UML,但我在项目管理上下文中读了很多。 – picardo 2010-09-21 08:17:55

+1

UML将扩大您在架构层面的理解。如果您在开始编码之前确定关键组件及其关系,您将能够设计出高效的代码。 – 2010-09-21 08:25:23

+0

@picardo - 是的,你可以成为一名优秀的开发人员。了解UML并能够将代码映射到它(反之亦然)使您能够向架构学习。我并不是说UML让你成为架构师,但它让你开始思考。 – 2010-09-21 08:26:34

3

没有,节省您的时间,交流思想,不学习它。如果你是一个编码人员并且独自工作,并且是一个非常小心的人,你可以完全忽略UML。

但是,如果您与其他人一起工作并且想要分享您工作的结果,UML是一种统一语言,即使非技术客户也理解(在某个级别上)的通用语言。

+3

即使是独立的编码员也应该学习UML,除非你独自一人坐在与外界无关的房间里:-) – 2010-09-21 08:16:58

1

我认为这是一个两维度的尺度问题:问题的大小和团队的规模。

当设计达到一定的尺寸时,图表变得有两种用处:首先,它们可以帮助您推理设计问题。其次他们帮助您将设计传达给其他诗人。

因此,如果团队说20或30,它确实有助于有一些清晰的整体设计文件。我个人使用的UML大概是每年四到五次,但是当我需要它的时候,我真的需要它。确定你自己的标准图表技术确实更好。有了很好的工具,它非常轻松。

我会说我只使用UML,类图和偶尔的协作图的一小部分。

2

是和否。

,学习基础知识。快速浏览different diagram types等,并有一个大概的想法。当有人吹嘘UML时,这将有助于消除你的犹豫。

,如果您的工作不需要使用UML,则不一定需要知道UML才能编写出好的应用程序。如果你需要在白板上讨论一些东西,只需画几圈。那会做。

它只帮助我制作文件给管理层,让他们留下一点印象。除此之外,我只找到deployment diagrams有点用处,就这些。

2

如果您将UML看作是一种纯粹的图形化语言,那么您只需考虑它的一小部分。您应该将UML看作模型驱动架构框架的主要语言,该架构在Eclipse中很好地实现。 在Eclipse中,UML(正确)被认为是平台独立语言,具有由MOF(ECORE在Eclipse中)定义的实体语法和由UML规范(http://www.omg.org/spec/UML)定义的语义。 在Eclipse中,OMG为Model To Text和Model to Model转换规范定义了两种主要语言,分别是MOFM2T(Eclipse中的ACCELEO)和QVT。 另外Eclipse提供了一个对象约束语言(OCL)的实现,它被QVT和MOFM2T用来评估模型上的查询。所有这一切意味着您可以使用Eclipse插件的形式轻松定义您自己的模型到文本和模型到模型的转换,从而将您的UML模型转换为您需要的任何模型。 现在我用它自动生成数以千计的LOC,文档和测试,并获得令人印象深刻的投资回报。 但是我知道大多数人甚至不知道UML是一种语言,但认为它只是一些小图片。

看这一段简单的例子链接

http://lowcoupling.com/post/46522537374/the-model-driven-architecture

http://lowcoupling.com/post/47800863669/qvt-in-place-transformations

http://lowcoupling.com/post/47347056110/models-to-text-transformations-with-mofm2t-and-acceleo