试论软件设计原则 - 第八基地

软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

试论软件设计原则
发布于:第八基地 来源:互联网 作者:天堂路上 时间:2011-10-14 点击:292

试论软件设计原则作者:中博出处:博客中国软件开发过程千差万别,开发资金规模从几万到几千万,开发方式从面向过程到模式驱动,开发人员从几个人到几百人,开发环境从Windows到Linux,人员水平从刚刚毕业的非计算机专业的员工到经验丰富、能力有限的高手。软件设计的好坏,似乎完全取决于设计人员的能力、思维见地,判断一个软件设计的好坏,似乎只能看其发布后的用户评价,靠时间来检验。那么,在软件设计过程中是否存在一些基本的原则,在不同的开发过程中,真正的指导、提高软件设计的水平呢?一、功能分解功能分解是非常朴素、普通的思想。然而,也是非常容易遗忘的思想。很多的设计人员总是雄心勃勃,试图设计出非常复杂的算法,非常完美的结构,陶醉于自己定义的世外桃源,不是将问题简化,而是将问题复杂化。而实践证明,这些出发点就是有偏差的。软件领域以外的很多实践和经验,都证明了分工、分解是处理复杂系统的基本前提。何况较很多系统更加复杂的软件系统?二、代码重用很多的软件方案中,开宗明义自己的设计原则是面向对象,那么,我们把需求影射成为一个一个的对象,就是好的设计吗?事实上,如何划分、设计真正好的对象,是非常难以掌握的,如果面向对象在实践中没有很大的问题,就不会有时髦的重构了。实际上,翻开任何一本解释面向对象的书,都会提到,面向对象的基本初衷是代码重用。那么,如果把代码重用作为设计原则,设计人员总是考虑如何能够代码重用的设计,则其效果会大大高于没有什么可操作性的面向对象原则三、减少耦合如果将设计好的对象之间用有向箭头连在一起,很多时候会变成了一张网,如果将对象的方法之间用有向箭头连在一起,则看起来像信手涂鸦。对于设计人员,能够将其中的关系一一说明白,已经是不错的了,而对于的开发人员,则变成了黑洞。如果过一段时间、或者用户需求有些变化,对很多人讲,这样的设计会成为噩梦,这是比较极端的情况。但是也能说明,在设计各个层面减少耦合是设计人员需要随时提醒自己的。四、规律的规律如果设计人员确实还有能量,可以考虑一些超越用户给定需求的PATTERN,很多情况下,是从用户的需求得到一些PATTERN,而不是相反。五、常识和品味政治局常委起何作用?一般的轿车百公里油耗是多少,这些和我们的软件设计有关么?是的,有很大的关系。设计人员会得到各个角度、各个层次的信息,需要作出方方面面的决策,而归根结底,这些决策的依据很多是设计人员的常识和品味,不同的人有不同的常识和品味,而设计人员的常识和品味是否足够高,一般只能随着系统的使用才能看出来。

对我有帮助
(0)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈