我希望我对程序设计和行为的涂鸦变得更加精简,并与其他开发人员有共同的语言。
我查看了UML,从原则上讲,这似乎是我想要的东西,但这似乎有些过分。我在网上找到的信息似乎也很and肿且学术性强。
我如何以通俗易懂的方式理解UML,足以向同事解释?在基础层面上了解UML的规范资源是什么?
我希望我对程序设计和行为的涂鸦变得更加精简,并与其他开发人员有共同的语言。
我查看了UML,从原则上讲,这似乎是我想要的东西,但这似乎有些过分。我在网上找到的信息似乎也很and肿且学术性强。
我如何以通俗易懂的方式理解UML,足以向同事解释?在基础层面上了解UML的规范资源是什么?
Answers:
喜欢这些问题-与我自己问过的问题相同:
我如何以通俗易懂的方式理解UML,足以向同事解释?在基础层面上了解UML的规范资源是什么?
这是我发现的:
首先,我的选择是Fowler的UML Distilled。如前所述,它实际上是对基础知识的提炼:定义,示例,何时应该使用某种类型的图表的建议。如果您想专注于UML的特定部分而不阅读本书的封面,这也是一个很好的参考。
有关更详细但纯英语的介绍: UML 2 for Dummies对我和我的同事都适用。它不仅详细介绍了UML,其语法和用法,而且还对良好的编程和设计实践提供了许多建议。
这两本书之间偶尔会有关于什么语法属于UML标准的哪个版本的区别。然而,这些只是分钟,绝对不是使用UML图传达设计思想所必需的。(例如:UML 2是否允许离散的多重性,即表明某个属性可能确切地具有X,Y或Z对象,而不是仅比0,一个,许多或更多个X;例如,应在参与者的姓名下划线。 ..)
有关完全非学术性且不太冗长的介绍,请访问:此博客中有许多有关UML的文章:http : //blog.diadraw.com/category/uml/
它不是一本教科书,因此还不是很详尽,但还使用了与之相关的非教科书故事和示例。仅有的几篇文章侧重于以视觉方式介绍UML概念,因此您可以完全跳过本文的阅读。
我真的很喜欢Martin Fowler的UML Distilled。简短而甜美,足以满足白板讨论的需要。获得几份副本,并将其传递给团队。
仅仅图并不总是有用的。例如,用例图无法详细传达业务规则。类图可能非常有用,因为您可以从中生成类代码和DLL。
我发现这些图最有用:
有很多有用的资源,但是请检查以下内容:
编辑1 以回应Mark的评论。
尽管我每天不使用这些资源,但它们可作为UML语法的快速参考。选择上面的资源是因为它们提供了UML图的快速而又全面的表示。它显示了通用图,并帮助新的UML用户快速查看它们之间的区别。第一个资源,即视频,提供了有关用例及其与其他图表的关系的详细信息。上面的资源对于想要学习UML或OOD的任何人来说并不足够,我意识到学习此类主题并不是原先的问题。
如果您仅对其中的10%感到满意,那么您不应该尝试从UML书中学习它。相反,您最好阅读一本有关面向对象的分析或设计模式的好书-这些书为您提供了所需要的10%。
但是,如果您正在寻找有关UML的教程,我会推荐该网页,尤其是有关UML图表的文章(这不是广告,我个人与该网站没有任何关系)。只需浏览这些图并查看它们:它们大多是不言自明的,只要您了解OOP以及程序设计和体系结构,就可以轻松理解它们所描绘的内容。
为什么我会推荐这个页面呢?(在评论中提出)
我之所以喜欢它,有几个原因:
O'Reilly的UML 2.0 Pocket Reference比这要详细一些,但可能是最好的选择,因为它足够小,可以快速找到您需要的内容,但是在需要时仍然有说明。而且它是最新的,对于“ UML备忘单”或我在网上发现的参考卡而言,情况并非如此-这些大多描述了UML 1.x
这包括三个部分:
获取正式的UML参考
每当您学习一种新的“语言”时,无论您是书本还是在线资源,都可以获得可以随时使用的参考。UML Distilled很小,有很好的解释,并且有很多清晰的图表。即使您没有使用所有功能,也可以随时回过头来看看表达某些东西的“正确”方法。
使用UML为事物建模
现在您有了参考,开始使用它来为现有的一些小型系统或即将使用的系统建模。在大多数情况下,您可能需要坚持使用类图,序列图和状态图。如果不确定,请查阅参考资料并查找“正确的”用法-如果没有帮助,请尝试使用Google谷歌搜索或询问Stack Overflow。就像编程一样,练习是关键。
在实际项目中使用一些 UML
当您开始与团队一起使用UML时,请记住,这只是了解您所构建或将要构建的系统的工具。在绘制图表时,您仍然应该检查参考,但要专注于传达信息,而不是严格遵循规则。
回想一下您的高中写作课。您的老师可能认为以“ and”,“ but”或“ or”开头的句子是最主要的罪过。随着更多的写作和对英语的更多控制,您学会了如何改变规则以取得更大的效果-您从遵循正确的方法过渡到传达您想说的最好的方法。UML应该以完全相同的方式在行业中使用。