首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于OO开发人员来说,学习UML有多重要?

对于OO开发人员来说,学习UML有多重要?
EN

Software Engineering用户
提问于 2014-04-06 09:40:38
回答 3查看 3.9K关注 0票数 0

当我自己学习OOP时,我经常会遇到UML类图。我理解他们,但不完全知道怎么写。

意思是,我不完全知道每种箭的含义,以及诸如此类的东西。

学习UML类图的“语言”有多重要?如果这是值得一段时间的事情,你能给我一个好的,有凝聚力的,但足够的来源吗?

如果/当我学习绘制UML类图时:是所有的细微差别都很重要,还是每个开发人员绘制UML图的方式有点不同?

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2014-04-06 10:48:59

UML只是一个通讯工具。了解UML将帮助您与其他也知道UML的人进行交流,但只在这种情况下。

  • 如果你和每天使用UML的同事一起工作,那就去做吧。UML是一个很好的工具,它有助于清晰地进行交流,以直观的方式呈现事物,并减少详细的内容。这就像对认识他们的人使用技术术语。而不是说:在这里,您可以找到一组实现公共类的类,并启用该类的实例,这有助于将创建实例所需的代码与业务代码本身分离开来。我可以简单地说:在这里,您可以找到抽象工厂及其具体实现。
  • 如果您是团队中唯一一个知道UML是什么的人,那么如果其他开发人员不想学习UML,那么更多地学习UML只会导致沟通问题:当您认为您创建的图表足够清晰时,您的同事将以他们自己的方式理解该图表,这与您的工作无关。这就像在初学者程序员团队中使用技术术语一样。您告诉我们:为了改变价格的各个方面,您必须使用Change方法重载,但是您可以通过简单地使用Price属性来获得实际价格。注意,tax是一个readonly字段。虽然他们不知道方法和函数之间的区别,也不知道属性和字段之间的区别,他们也不知道readonly关键字的用法或重载是什么。

还注意到:

  • 不同的人使用不同的风格:MetaFight已经对此发表了评论以上。把它看作是电子邮件地址的RFC :它是明确和明确的,而且几乎每个人都错了。
  • UML是很困难的,有些部分非常复杂,很多人都会忽略它。举个例子,下面是一个问题的我对堆栈溢出的回答,在这个问题中,实际接受的答案显然是错误的。
票数 2
EN

Software Engineering用户

发布于 2014-04-06 10:24:29

有两种方法可以使用UML:

  1. 指定系统或模块
  2. 描述系统或模块

在第一种情况下,可能会使用UML自动生成代码,因此您需要充分了解UML的详细信息,以便从代码生成工具中获得预期的结果。

在第二种情况下,UML图仅用于支持或说明书面或口头解释。换句话说,它们被用作一种交流工具。在这种情况下,如果你弄错了一些细节(尤其是当你在场澄清和提出问题时),这并不重要,只要你理解了你的意思。

票数 1
EN

Software Engineering用户

发布于 2014-04-06 12:00:53

UML有一些不错的部分,但是它并不适合所有的东西。有更好的符号来传递某些信息(例如,高级软件架构)。这也可能非常复杂。我发现,在绘制图表的同时,发明动态符号通常更好。如果我仔细地定义我的盒子和箭头的含义,图表比UML更干净和更容易理解。

至于在UML中指定程序结构,IMHO这是一个值得怀疑的特性。我知道今天有些工具处理类图的效果会很有趣,但更有用的是现代IDE中的代码生成和重构工具。编写类的代码比在UML工具中单击它要快得多。其次,用于从(或从代码中生成)生成代码的类图不能作为文档使用,因为它们包含太多的细节和/或它们描述了系统的太大部分。

回答你的问题:

  1. 我想说,了解UML是件好事。不要特别使用这种语言,而是要将其与其他符号进行比较,并能够为每一种情况选择/发明/混合适当的交流方式。最好的来源是官方规范。第9章和第10章对UML的第一次掌握应该足够了。
  2. 只有当您想要从UML生成代码时,细微差别才是重要的。
票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/234995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档