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

ASP.NET
Internet Explorer 编程简述(二)在IE中编辑OLE嵌入文档
移动窗体
.NET 2.0获取数据库连接统计数据
VB.NET 拖动无边框的窗体
利用WH_CBT Hook将非模态对话框显示为模态对话框
Aspect#应用 - 权限验证
VB 从零开始编外挂(一)
【错误解决】Unable to find script library 'WebUIValidation.js'
VB 从零开始编外挂(四)
DTD指南(3)-DTD-Elements(元素)
知识库文章MDL9745154-File:Microsoft Visual Basic 运行时库
.net手机软件开发(六)OBEX应用:文件传输部分
在winform中使用WebBrowser控件时怎样去除IE的滚动条
WINZIP及WINRAR命令!!!!!
智能客户端相关Application Block结构功能分析(二)
如何在VB中操作EXCEL(一段代码,两个可以使用的过程)
在C#中用最简洁有效的代码执行存储过程并返回数据
.Net的Collection类的一些使用说明
ASP.NET实现数据图表c
用asp.net画饼图

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


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

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