Use your head,Out of the Box--对RUP的一点思考

本文围绕UML和RUP展开讨论,指出它们是记录和交流开发思路的手段,能促进软件研发的理解与交流,但不能替代思考。强调先有对软件的自我理解,再用其规范和修正,实现软件设计迭代,同时不应被其完全束缚,要发挥创造力。

今天与朋友对Architecture进行了一番讨论,最后这哥们搬出了《The Unified Software Development Process》的资料证明给我看

呵呵,俺不敢妄言UML三巨头的RUP有错,但如果行而上,是不是有迷失自己的危险?!

说实话,对UML和RUP,小朋友我还初在似懂非懂的阶段。

UML这种东东给我带来对软件研发的思考,首先是从不同的角度去分析软件的合理性,但每个人有每个人的角度,从自己的角度去看问题,得到不同的结论。

为了让研发的相关人员能在一个统一的平台上进行交流,就有了UML和rational的Unified Software Development Process。

如果对这种交流方式求一个极限,两个人如果水平相当,并且能够面对面的去交流,是否还需要用UML?!当然如果记录交流的结果用于本别人交流还是需要UML的。

所以UML和RUP只是记录和交流开发思路的手段,用来描述和规范看问题的角度和结论,但不等于能替你思考。

但一切事务的本质还是发现问题,分析问题,解决问题。

UML和RUP能够促进对软件的研发的正确理解和交流。apple以前有句广告词:“Use your head!”

如果由于描述和手段不符合RUP的规范就放弃自己的思路是否是对自己的不负责任?!

俺的思路是先有对自己对软件的理解,然后用UML和RUP或其他更好的软件开发的东东去规范和指导并修正自己的理解,再反作用于UML。

实现大脑中软件设计的迭代,才是软件设计的本质。才是使自己的软件设计思路不断进化的动力。

最近流行一个烂了街的词--“优雅”!

这不是一个优雅的设计!

这个实现思路更优雅点!

如果真把构架设计当做一件艺术品!

那完全用工业级的标准去限定自己对构架的思考会不会影像自己的创造力?!

就像用“流水线”式的点彩车间是生产不出来有生命力的《星空》的,也就不会有凡高这种牛人了。

因为你不能保证RUP中的东东都是真理。UML本身就是不断改进和容纳新思想的过程。

UML,自己的大脑等一切东东都是不断在进化,只有两者互相作用才能适应客观世界的发展。

说到最后好像都不知道自己再说些什么,但冥冥中一种感觉:

“尽信RUP,不如没有RUP!!!”

下载方式:https://pan.quark.cn/s/a4b39357ea24 布线问题(分支限界算法)是计算机科学和电子工程领域中一个广为人知的议题,它主要探讨如何在印刷电路板上定位两个节点间最短的连接路径。 在这一议题中,电路板被构建为一个包含 n×m 个方格的矩阵,每个方格能够被界定为可通行或不可通行,其核心任务是定位从初始点到最终点的最短路径。 分支限界算法是处理布线问题的一种常用策略。 该算法与回溯法有相似之处,但存在差异,分支限界法仅需获取满足约束条件的一个最优路径,并按照广度优先或最小成本优先的原则来探索解空间树。 树 T 被构建为子集树或排列树,在探索过程中,每个节点仅被赋予一次成为扩展节点的机会,且会一次性生成其全部子节点。 针对布线问题的解决,队列式分支限界法可以被采用。 从起始位置 a 出发,将其设定为首个扩展节点,并将与该扩展节点相邻且可通行的方格加入至活跃节点队列中,将这些方格标记为 1,即从起始方格 a 到这些方格的距离为 1。 随后,从活跃节点队列中提取队首节点作为下一个扩展节点,并将与当前扩展节点相邻且未标记的方格标记为 2,随后将这些方格存入活跃节点队列。 这一过程将持续进行,直至算法探测到目标方格 b 或活跃节点队列为空。 在实现上述算法时,必须定义一个类 Position 来表征电路板上方格的位置,其成员 row 和 col 分别指示方格所在的行和列。 在方格位置上,布线能够沿右、下、左、上四个方向展开。 这四个方向的移动分别被记为 0、1、2、3。 下述表格中,offset[i].row 和 offset[i].col(i=0,1,2,3)分别提供了沿这四个方向前进 1 步相对于当前方格的相对位移。 在 Java 编程语言中,可以使用二维数组...
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值