UML for java --三 为什么使用图

第二章 使用图(Diagrams)
为什么用模型?
为什么工程师要建造模型(models)?为什么航天工程师要建造航天器的模型?为什么
桥梁工程师要建造桥的模型?提供这些模型的目的是什么?
这些工程师建造模型来查明他们的设计是否可以正常工作。航天工程师建造好了航天器
的模型,然后把他们放入风洞中了解这些航天器是否可以飞行。桥梁工程师建造桥的模型来
了解桥能否接立起来。建筑工程师建造建筑的模型了解客户是否喜欢这种建筑模样。通过建
立模型来验证事物是否可工作。
模型意味着它们必须是可被检验的。为了检验它,如果一个模型没有一个可用的检验标
准,它是相当糟糕的。如果你不能评估一个模型,这个模型是没有价值的。
为什么航天工程师不马上建造一个飞机然后去试飞呢?为什么桥梁工程师不立即建造
一座桥然后看它是否可以接立起来呢?因为航天器和桥的造价比模型昂贵多了。当模型比我
们实际建造的东西划算多了的时候,我们用模型来研究设计。
为什么给软件建模?
一个UML 图可被检验吗?它比创建、检验这个软件更划算吗?对于这两个问题,这个
答案是无法像航天工程师和桥梁工程师那样清楚地了解境况。没有一个检验一个UML 图的
固定标准。我们能够观察它、评估它,然后应用原则和模式于它,但是最后的评估仍然是相
当主观的。画UML 图比编写软件花费更少,但不是重要的因素。当然,改变一个UML 图
比修改源代码容易多了,用UML 是不是有意义呢?
如果使用UML 没有什么意义的话,我就不会写这本书了。不过,以上举例说明UML
的易用是误用了。当我们需要通过检验确定某些东西的时候,或是使用UML 来检验比编码
来检验更划算的时候,我们就使用UML。
举一个例子,我有一个特定设计的主意,我需要通过我的团队中的开发人员来考虑它是
不是一个好主意去检验,因此,我在白板上画出了一个UML 图,然后询问队友们的反馈。
我们为什么应该在编码前构造一个全面的设计?
桥梁工程师、航天工程师和建筑工程师都画设计图,为什么呢?因为画一个房子的设计
图一个人就可以了,而建造它需要五个或更多人。区区十来个航天工程师能画一个飞机的设
计图,而需要上千人去建造它。绘制设计图不需挖掘地基、浇注混凝土和悬挂窗户。简而言
之,预先计划一个建筑物远比没有计划的情况下试图建筑它更划算。丢弃一张有错误的设计
图花不了多少钱,而拆卸一栋失败的建筑物却要花不少的钱。
另外,软件中的裁剪也不是那样彻底,比编写代码更划算的编制UML 图的裁剪也不是
特别地彻底。实际上,许多项目团队在UML 图上花费了比编写代码本身更多的时间。弃用
一个图比弃用代码是不是更划算,这也不一定。因此,在编写代码前去创建一个全面的UML
设计作为一个有价值、有效的选项,也是不一定的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值