uml初学小结

由于项目需要, 我想对原有的设计文档做优化, 将部分字信息转化成符号,立刻想到了uml。由于之前只是看到过别人画的uml图,但自己没有画过,也缺少系统了解,所以能想到进行优化的地方很少,比如类说明和方法说明就可以用到类图, 程序流程图可以考虑时序图。
于是赶忙学习一下uml,到javaeye上先搜索了一下,发现了uml版块的三篇精华文章:
1.UML学习笔记[url]http://www.iteye.com/topic/108[/url]
2.Open Source 的 UML 建模工具[url]http://www.iteye.com/topic/774[/url]
3.UML 中各种图形的重要性排行[url]http://www.iteye.com/topic/14804[/url]
三篇文章看下来,个人感觉《uml学习笔记》帮助最大,因为它作了很好的学习引导。
开篇就介绍了uml的五大视图,虽然有些教条,但也是入门必须了解的。
[quote]
由于我们很难只从一个角度去完整描述一个系统的所有方面。因此UML提供了以下五种视图,它们分工合作,又互相补充。
1) 用况视图(Use Case View)
2) 设计视图(Design View)或逻辑视图(Logical View)
3) 进程视图(Process View)
4) 实现视图(Implementation View)或组件视图(Component View)
5) 实施视图(Deployment View)

而这五个视图又分别用到以下九种图中的一种或几种。
1) 用况图
2) 类图
3) 对象图
4) 顺序图
5) 协作图
6) 状态图
7) 活动图
8) 构件图
9) 实施图
[/quote]

接着,推荐了一些不错的学习资料;
[quote]
好,看一下相关资源。
1) 《UML用户指南》
此书出自名家,只是部分翻译欠佳。阅读时弄清楚上述五个视图的概念和几种常用的图的表示即可,初次阅读不必深究。
2) 《UML和模式应用》
书中示范如何结合UML以增量方式开发一个系统,着重介绍了OO分析的技巧和法则。内容稍嫌罗嗦,但不失为一本好书。
3) 《UML Distilled》
另一本入门好书,作为普通使用已经足够。
4) 《非程序员》第二期之《用UML设计Java应用程序》
阅读这一短篇文章,可以快速了解如何在实际项目中使用UML。
5) http://www.uml.org/
UML的官方网站,可以找到很多有用资料。
6) http://www.umlchina.com/
它发行《非程序员》电子杂志和记录很多中文文档,还有一个非常活跃的讨论组。
7) http://www.csdn.net/develop/
8) http://www-900.ibm.com/developerworks/cn
这两个网站可以搜索到很多UML的中文文章,只是比较零散,不大适合系统学习。
[/quote]
推荐的三本书,1),2),3) ,我到chinapub上看了书籍介绍和评论, 1和3都是出自名门,可惜翻译不好;2篇幅过多。我认为uml学习不必全学,只要知道各种图的基本特点,能在实践中采用最合适的来描述问题就好了。根据这点, 《UML Distilled》英文版最合适,出自Martin Fowler之手, 全书才100来页。下了电子版试读, 感觉虽是英文但还算易懂, 篇幅不长很快就可以通读,目录编排觉得很合理清晰, 上手而言绝好。
学习uml的网站,在google里搜索了一把, ibm的uml基础系列还算不错, 几个常见图形怎么画都有说明,[url]http://www.ibm.com/developerworks/cn/rational/r-uml/[/url]

而最后的实践建议,我也很受启发。
[quote]
实践建议
按需剪裁。项目要用到什么就学习什么,暂时不用的就放下。我们的目的是当前的系统建模,而不是一下子成为UML高手。
自由扩展。结合我们的实际情况,在使用的过程中,要明确UML的重点是“沟通”,其次才是“公共”。UML本身有许多规则和约定,但没必要一一遵守。只要有利于沟通的,我们就采用,否则就摒弃。通常我们的文档只是在小范围里传播,要统一理解并不困难。当然,当规则定好了后,最好就不要随意更改了。
[/quote]
这里指出,uml并不是什么高深的技术, 重在“沟通”,以更加合适的方式跟同行沟通。至于uml的各种规定, 有利于沟通则用之。真是很好的实战建议。

第二篇介绍uml的开源建模工具, lz介绍的几个我都试了一下, 不是很顺手。后来发现jude和staruml不错,比较习惯,staruml做出来的图比较像rose画的,难怪网上很多例图都用它,做图环境比较像vc。但我最后决定用jude, 因为更加小巧而快速。

第三篇,感觉是几个老手在介绍自己的实践中uml的用法, 看得有些不知所以然。但用例图、类图、序列图已经能帮上我大忙了, 序列图画起来还有些费时间,认真做的话,感觉程序都给写出来了。。。 复杂一点的交互过程再考虑用吧。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值