一般正规些的公司,都会让程序员在编码之前study一下某模块的功能,之后整理成文档,也就是软件工程中的需求分析和设计。此时UML图的好坏,直接可以看出你对该模块或系统的理解程度,因此,作为一名合格的程序员,首先应具备画好UML和书写设计文档的素质。(即使我有时也十分讨厌写文档!)
UML中的9大图,相信大家都了解,我在这里搜集了几篇csdn博主的精华文章,分享给大家。
基础篇
- UML中的九种图及画图技巧系列: 一个UML学习的系列文章,看过之后,你会感觉UML图原来如此重要。
进阶篇
有了对UML基础的认识之后,大家应该多加练习,此时可以参考
微软官方的UML图准则及参考,做进一步的提高。
即使技术经理没有要求你画类图、时序图或者流程图。但是你还是在文档中加入进去,最后技术经理看到,即使你画的不好,心里也对你有了新的认识:孺子可教也!(
,那么照着这个趋势下去,那技术经理的位置,迟早就是你的啊。)
- uml 9种图对比: 用表格方式很清楚的说明uml 9种图的使用阶段。
- UML模型关系: 一张图让你了解软件开发过程中,何时该使用哪一种图来展示某功能。
此外,如果对UML类图想深入学习的,可以看下面几篇,同样分享给大家。
- UML类图关系大全: 文章中和java代码类比的说明很精彩。
- 深入显出UML类图系列: 写出这样的文章的作者本身是大牛,赶紧猛击学习。
总结篇
此时你的UML画图能力,应当处于挑不出毛病的阶段,否则,你仍应该返回进阶篇,看哪一块薄弱,就加强练习。光画图是远远不够的,必要的时候需要在UML图的旁边加上文字说明,这样即使你离开公司,只要给交接人员文档,他就什么也不用问你,全在文档里面了。
-----------------------------------------------------------
2014年2月17日更新:
工具篇
astah-professional:跨平台话uml工具,底层由java编写,画出来的图形立体效果不错。
power designer12:相信上过软件需求课的同学都有用户。
……:欢迎大家补充