中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 软件工程 > 系统分析 > 系统设计 > 系统设计
试论软件设计原则
作者:未知 时间:2005-08-07 11:18 出处:系统分析之窗 责编:chinaitpower
              摘要:试论软件设计原则

试论软件设计原则

作者:中博 出处:博客中国

软件开发过程千差万别,开发资金规模从几万到几千万,开发方式从面向过程到模式驱动,开发人员从几个人到几百人,开发环境从Windows到Linux,人员水平从刚刚毕业的非计算机专业的员工到经验丰富、能力有限的高手。


软件设计的好坏,似乎完全取决于设计人员的能力、思维见地,判断一个软件设计的好坏,似乎只能看其发布后的用户评价,靠时间来检验。那么,在软件设计过程中是否存在一些基本的原则,在不同的开发过程中,真正的指导、提高软件设计的水平呢?

一、功能分解

功能分解是非常朴素、普通的思想。然而,也是非常容易遗忘的思想。很多的设计人员总是雄心勃勃,试图设计出非常复杂的算法,非常完美的结构,陶醉于自己定义的世外桃源,不是将问题简化,而是将问题复杂化。而实践证明,这些出发点就是有偏差的。软件领域以外的很多实践和经验,都证明了分工、分解是处理复杂系统的基本前提。何况较很多系统更加复杂的软件系统?

二、代码重用

很多的软件方案中,开宗明义自己的设计原则是面向对象,那么,我们把需求影射成为一个一个的对象,就是好的设计吗?事实上,如何划分、设计真正好的对象,是非常难以掌握的,如果面向对象在实践中没有很大的问题,就不会有时髦的重构了。实际上,翻开任何一本解释面向对象的书,都会提到,面向对象的基本初衷是代码重用。那么,如果把代码重用作为设计原则,设计人员总是考虑如何能够代码重用的设计,则其效果会大大高于没有什么可操作性的面向对象原则

三、减少耦合 

如果将设计好的对象之间用有向箭头连在一起,很多时候会变成了一张网,如果将对象的方法之间用有向箭头连在一起,则看起来像信手涂鸦。对于设计人员,能够将其中的关系一一说明白,已经是不错的了,而对于的开发人员,则变成了黑洞。如果过一段时间、或者用户需求有些变化,对很多人讲,这样的设计会成为噩梦,这是比较极端的情况。但是也能说明,在设计各个层面减少耦合是设计人员需要随时提醒自己的。

四、规律的规律 

如果设计人员确实还有能量,可以考虑一些超越用户给定需求的PATTERN,很多情况下,是从用户的需求得到一些PATTERN,而不是相反。

五、常识和品味

政治局常委起何作用?一般的轿车百公里油耗是多少,这些和我们的软件设计有关么?是的,有很大的关系。设计人员会得到各个角度、各个层次的信息,需要作出方方面面的决策,而归根结底,这些决策的依据很多是设计人员的常识和品味,不同的人有不同的常识和品味,而设计人员的常识和品味是否足够高,一般只能随着系统的使用才能看出来。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有