UML设计系列(7):UML设计阶段性总结

目录

传送门

什么是UML设计

UML设计的作用

常见用例

 功能模型

用例图

对象模型

动态模型

其它


传送门

UML设计系列(1):状态机图

UML设计系列(2):类图

UML设计系列(3):时序图

UML设计系列(4):用例图

UML设计系列(5):系统依赖图

UML设计系列(6):活动图

经过上面几节,对UML可能有一个初步认识和体感。

但是UML设计具体是什么?作用是什么?是怎么建模的?有哪些常用图例?

这就系统性的讨论一下

什么是UML设计

要回答这个问题,百科已经定义的很明确了:统一建模语言

归纳起来,就是下面几个方面:

UML设计的作用

前面图上列举了UML设计的作用

  • 为软件系统建立可视化模型
  • 为软件系统建立构件
  • 为软件系统建立文档 

如果只是枯燥的理解这几句话,还是不容易体会到它真正的好处的。

一个伟人说过一句说,实践是检验真理的唯一标准!只有去用了,才能体会到UML设计的好处和自己的评判。做为一个开发人员,并且使用过UML一段时间的"过来人",按照自己浅薄的经验,觉得在开发过程中,可以归纳为以下3个阶段,使用并体现UML的好处:

见过不少项目组,甚至一些小一些的公司,是几乎没有什么文档的。

项目中的老司机会牛逼的说,所有的,最好的文档就是代码,自己去看!你知道刚去报道的新人心中是有多少匹马跑过吗?

所以UML设计的一个直接好处是:为系统建立设计文档库,记录系统的演进过程,新人的学习资料!

而且这种机制形成之后,在以后的开发过程中,开发人员通过设计UML编写设计文档时,一方面对负责的模型/系统会进行相关实现方案的调研,是否可行。并同步的思考相关的一些细节,可以细到一个类,一张表的字段,接口的出入参等。另一方面能对相关业务做个了解,而不仅仅是个coder!

最后呢,在大一点的项目或者复杂的功能,可以用以上的UML设计文档作为评审材料,比如开发人员设计的,由架构师或者团队其它人员交叉审核,众人拾柴火焰高嘛!

常见用例

UML设计的常用图例不少,大致如下

按照刚才上面的分类,一共有3种

 功能模型

用例图

UML设计系列(4):用例图

UML设计系列(5):系统依赖图

对象模型

UML设计系列(2):类图

包图

部署图

动态模型

UML设计系列(3):时序图

UML设计系列(6):活动图

UML设计系列(1):状态机图

其它

UML设计里面,还有一些不是很常见的用例,比如对象图,协作图。

顾名思义,对象图,主要是指java这种面向对象的语言,对象之间的关系,个人觉得跟类图差别不是很大,而且类图基本已经覆盖对象图的功能了,所以不是很常用。

另一个是协作图,用的也不多,就不过多讨论了。

但是有一个非常特殊的,就是ER图。主要是表示关系数据库,表及表之间的关系,比如

这个在现在的系统设计中还是很常用的,后续会单独讨论这种 

UML设计是银弹吗

上面都是在说UML设计的好处,那它就这么完美吗?

当然不是的,天生万物,不可能十全十美,UML设计也是一样!

成本

首先,要使用UML设计,还是要有一定学习成本,需要了解它,使用它,熟悉对应的工具。

其次,是开发过程中,增加了开发成本,要画各种图,而这个工作量有的时候,不亚于编写等量的代码!

最后,也是最重要的,是对一些没有接触过的,或者是对UML设计天生抵触的人来说,这无异是一项负担, 要转变开发思维,和开发习惯!

场景

对于想要使用UML设计的,肯定是建议尝试,在项目中或者自己学习中,找到可以使用的地方,去用,去写。

但是一些小项目,或者可以预见,规模不大的,是可以不用的,甚至自己的私人项目。

因为UML设计,背后还有一个目的在于协作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值