学习UML有什么价值吗?

时间:2010-09-21 08:08:05

标签: uml

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

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

5 个答案:

答案 0 :(得分:7)

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

  • 以客户/客户/管理层可以理解的方式显示需求。
  • 您可以迭代模型,而不是忘记模型之前的位置
  • 准确显示从A点到B点的方式
  • 这是一个标准,所以任何了解UML的人都能够解释你的图表
  • 分享想法的“最快捷”方式,无需通过整个代码库

答案 1 :(得分:3)

不,节省您的时间,不要学习它。如果你是一个编码人员,独自工作并且是一个非常谨慎的人,你可以完全忽略UML。

但是,如果您与其他人合作并希望分享您的工作成果,UML是一种统一语言,即使是非技术客户也能理解的语言(在某种程度上)。

答案 2 :(得分:2)

是和否。

,了解基础知识。快速浏览different diagram types等,并有一个大致的想法。当有人夸耀UML时,这将有助于消除你的犹豫。

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

它只帮助我为管理层制作文档,给他们留下了深刻的印象。除此之外我只发现deployment diagrams有点有用,就是这样。

答案 3 :(得分:2)

如果你把UML视为一种仅仅是图形语言,你只考虑它的一小部分。您应该将UML视为模型驱动架构框架的主要语言,该框架在Eclipse中实现得非常好。 在Eclipse中,UML被(正确地)视为平台无关语言,具有由MOF(Eclipse中的ECORE)定义的可靠语法和由UML规范(http://www.omg.org/spec/UML)定义的语义。 在Eclipse中,OMG for Model To Text和Model to Model转换规范定义了两种主要语言的良好实现,这些规范分别是MOFM2T(Eclipse中的ACCELEO)和QVT。 Eclipse还提供了对象约束语言(OCL)的实现,QVT和MOFM2T都使用它来评估模型上的查询。 所有这些意味着您可以以Eclipse插件的形式轻松定义自己的Model to Text和Model to Model转换,将您的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

答案 4 :(得分:1)

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

当设计达到一定规模时,图表会以两种方式变得有用:首先,它们可以帮助您解决设计问题。第二,他们帮助你将设计与其他人交流。

因此,如果团队说20或30,那么确实有一些关于整体设计的明确文档是有帮助的。

我个人每年使用UML可能一到四次,但是当我需要它时,我真的需要它。最好是使用标准的图表技术来设计自己的技术。而且使用好的工具,它非常轻松。

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