当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 谈谈软件工程设计的艺术

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

ASP.NET 中的 谈谈软件工程设计的艺术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 39 ::
收藏到网摘: n/a

谈谈软件工程设计的艺术如果生活的方式与你背道而驰,如果正确的行为被你视而不见,毁灭就会降临,难得保全。马基雅维利, 约1514年作为最重要的事情之一,如果不是唯一最重要的,一个系统的核心性质是它必须在其生命周期内保持一种 稳定的 结构。艾瓦耳。雅可布森以上的两段话,一是引自一位文艺复兴时期的实用主义政治学家,另一是引自一位当代设计大师。这两段话很好的反映了软件设计工程所面临的困境,两个相反方向的作用力,就象阴阳相生相克:一方面,软件设计需要尽一切可能减少开发时间,使软件尽快面市,同时也对市场的和客户需求的变化作出 迅速的反应;而另一方面,我们又必须花费足够的时间以保证软件的设计有一个好的架构,这样我们可以降低软件的维护费用,而且软件可以有较长的生命期。软件设计过分强调任何一个方面都会造成软件工程投资的极大浪费甚至失败。过分强调软件开发的速度,而忽视软件架构的设计是那些对软件开发工程缺乏经验者最容易犯的错误。糟糕的软件架构设计会导致所谓的1.0版现象,即软件只能开发到第一版。后续开发往往因为修改原有代码过於困难而夭折。因为设计者缺乏长远的目光和足够的项目开发经验而导致过於急躁的作出架构上的决策,因而导致软件结构的支离破碎是很可悲的,往往很多好的软件设计创意就这样胎死腹中。另一个极端同样会导致灾难,因为如果过於强调软件结构的优雅和可扩展性,导致过多的开发时间放在软件架构设计上,结果使 软件的开发时间过长,等到软件推向市场的时候,虽然设计上是完美的,但是竞争对手却早已占据了市场。软件设计的完美主义者容易犯这样的错误。这种人通常是设计方面的行家里手,而且对软件结构的完美有着不懈的追求。但是正是过於追求完美才是工程开发方面的大忌。不是每一个软件的设计都有时间和精力(同时也是财力)做到象STL那样的完美设计。通常一个好的软件设计会努力在这两个互斥的极端之间达到一种平衡。就象儒家讲的中庸。这两个极端之间的张力是随着软件开发的领域,环境,条件,时间,客户的要求,竞争对手现有的水平,等等变化而变化的。就象水形之常变。但是若能领会其中的道,能够把握其中的艺术,就能够象庖丁解牛一样“以无厚而入有间”,游刃而有余了。但是关键在於经验的积累和对平衡的领悟。经验可以很大一部分从前人那里得来,但是对道的把握却是另一度的思维空间了。 所以说软件工程既是科学又是艺术。但是值得注意的是,这绝对不应当成为忽视软件工程规范的借口,就象杨振宁可以谈论科学研究的艺术并不表示柯云路之流的所谓“生命科学”就不是纯粹的胡扯。设计一个容易维护并且有很强生命力的软件不是一件很容易的事;设计一个能够很快实现的软件也不是小菜一碟。平衡这两者来给出一个可行的,健壮的设计,使软件能够在市场上获得成功并生存下去是一件需要奇迹般力量的事业, 然而我们却必须在普通的工作中用我们的创造力去完成这个奇迹。