我看到过去几年UML提到了几个地方,但到目前为止从未有过令人信服的理由在工作中使用它。花时间和精力学习它有什么价值吗? (我是Ruby on Rails开发人员。)
编辑:我也在寻找有关UML如何在您的项目中发挥作用的故事,让我了解如何使用它。
答案 0 :(得分:7)
是。它是系统分析和设计的国际标准方法。从最初的分析阶段到项目生命周期,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,类图和偶尔的协作图。