- 浏览: 36695 次
最新评论
不论是吵吵嚷嚷的软件工程、XP建模,还是死灰复燃的MDA、一心统一的UML,软件领域越来越多的新名词似乎展现着软件开发繁华的现状,或者是预示着软件开发光辉的未来。可是在实际的开发中,任何的理论都是力不从心。典型的例子,就是越到开发后期,越发现程序的现状偏离初始的设计。作为一种本身不可控的开发项目,我们没有什么很好的办法对它进行有效的控制和管理。当然我们可以用包括Together在内的一些很好的工具进行辅助,可是Together的作用也仅仅是对解决问题的辅助而非解决问题本身。
为什么我们会这么迷信软件工程可能会解决开发中的所有问题?因为我们已经相信了一点:一定有什么方法或者技术可以解决软件开发中存在的各种问题。而今,我们习惯于把这种希望甚至理想寄托在UML、MDA、软件工程……等等各种各样的理论上了。可是细想一想,UML的那些奇形怪状的图真的能比代码本身更有说服力么,至少我是宁愿观察、调试代码也不愿去看Rose里那些配色其丑没有丝毫美感的黄图的。顺序图、用例图、结构图,合在一起除了让人发晕之外说明不了什么问题。问题的关键在于,软件开发是要解决真实世界中许多流动场景的管理,UML本身根本不可能描述这个真实世界的流动场景。这是UML自身的缺陷。
MDA看上去很美,似乎可以解决很多问题,可是MDA也是基于UML而发展出来的。这种矛盾的结果也限制了MDA的发展。而且以变为本的世界上的问题并不是图上拉两根线就能解决得了的。代码我可以调试、可以测试,图呢? 而XP更是需要批判的继承了,众所周知,它的许多细节要求都是只能纸上谈兵的。
在形式化语言表现真实场景的问题没有得到根本解决的条件下,任何的模型、任何的模式都只能是小打小闹,无关大局。当然,不论是什么模型、什么模式,我们的初衷都是要脱离纯粹代码的层面,而希望可以从一个更高的角度、更全面的眼光审视、构建、搭造我们的软件。而不是始终停留在底层,只能继续没有休息的coding和应付没有止境的需求更改。可惜的是,在一段时间内,我们仍然得停留在底层。
为什么我们会这么迷信软件工程可能会解决开发中的所有问题?因为我们已经相信了一点:一定有什么方法或者技术可以解决软件开发中存在的各种问题。而今,我们习惯于把这种希望甚至理想寄托在UML、MDA、软件工程……等等各种各样的理论上了。可是细想一想,UML的那些奇形怪状的图真的能比代码本身更有说服力么,至少我是宁愿观察、调试代码也不愿去看Rose里那些配色其丑没有丝毫美感的黄图的。顺序图、用例图、结构图,合在一起除了让人发晕之外说明不了什么问题。问题的关键在于,软件开发是要解决真实世界中许多流动场景的管理,UML本身根本不可能描述这个真实世界的流动场景。这是UML自身的缺陷。
MDA看上去很美,似乎可以解决很多问题,可是MDA也是基于UML而发展出来的。这种矛盾的结果也限制了MDA的发展。而且以变为本的世界上的问题并不是图上拉两根线就能解决得了的。代码我可以调试、可以测试,图呢? 而XP更是需要批判的继承了,众所周知,它的许多细节要求都是只能纸上谈兵的。
在形式化语言表现真实场景的问题没有得到根本解决的条件下,任何的模型、任何的模式都只能是小打小闹,无关大局。当然,不论是什么模型、什么模式,我们的初衷都是要脱离纯粹代码的层面,而希望可以从一个更高的角度、更全面的眼光审视、构建、搭造我们的软件。而不是始终停留在底层,只能继续没有休息的coding和应付没有止境的需求更改。可惜的是,在一段时间内,我们仍然得停留在底层。
发表评论
-
入职第一天
2004-07-12 20:20 545很喧闹的一天新人训。当然,可以说是激情四射,或者说是嘈杂无聊。 ... -
迎接部门训
2004-07-13 18:07 502今天开始迎接部门的专业训了,C#、SQL Server、数据库 ... -
生活的颜色
2004-07-14 18:57 570一个诚实的裁判就这样慷慨赴义了,很多很多黑暗中的裁判们却还好端 ... -
历史的沉思
2004-07-16 12:43 631很久以前的一篇文章, ... -
选择的未来
2004-07-17 15:11 480先提一个问题:做一个技术员,技术能力重要还是业务知识重要?再提 ... -
统一的困惑
2004-07-19 20:45 524RUP(Rational统一过程)的基本开发方式是迭代。需求迭 ... -
开发的效率
2004-07-21 17:44 525面对多人协同开发的分层系统,有两种开发方式:其一、一人负责一到 ... -
对象的效率
2004-07-28 21:22 532面向对象带来方便的同时亦带来很多的问题。类的继承在扩展的同时也 ... -
泪写的文章
2004-07-29 20:20 506今天我又哭了。一个月前,我还觉得哭于我是很遥远的事情。甚至,我 ... -
期待的精彩
2004-07-31 11:08 526好久好久没有看到国足这么酣畅的胜利了,好久好久没有体会到看球的 ... -
转载的文章
2004-08-01 10:50 497今天转载一篇吧,记录一段可笑的过往。 别了,Dr.Dobb's ... -
TDD 心得
2004-08-03 16:19 776一直觉得,近年来,真正有意义的技术或者思想只有两个:Refac ... -
近期的任务
2004-08-06 12:54 5711、Test Driven Development2、Java ... -
上海印象一
2004-08-09 22:28 552车一进入上海,扑面而来的就是一片一片的高楼,黑压压地便压了过来 ... -
上海印象二
2004-08-10 21:19 510上海当然是天堂,但也是仅对一部分人一部分地区。对大多数人大部分 ... -
转载的文章
2004-08-13 23:38 445O/R Mapping中的继承~ http://www.cnb ... -
生日的祝福
2004-08-15 10:49 700今天是agate的生日。尽管这句话已经被用得很俗,不过我还是想 ... -
等爱的狐狸
2004-08-27 18:16 557“对我来说,你还只是一个小男孩,就像其他千万个小男孩一样。我不 ... -
飞翔的寓言
2004-08-30 20:58 502我才发现梦想与现实间的差别逆着风让自己体验每一个感觉就像是寓言 ... -
客户端回调
2004-09-07 12:30 671Client Callback 是ASP.NET 2.0新增 ...
相关推荐
对象模型 策略 模式 应用 PDF版,还算清晰
《深入探索C++对象模型》是一本深度剖析C++编程语言内部机制的著作,而设计模式则是软件工程中的一种最佳实践,是解决常见问题的模板。这两者结合在一起,为开发者提供了理解C++如何实现面向对象特性以及如何高效地...
标题《分析模式-可复用的对象模型》以及描述中提到的软件系统设计、责任模式、观察和测量模式、公司财务观察模式、库存与账务、使用财务模式、计划、交易、派生合同、交易包等,均指向了软件工程中的设计模式和面向...
本压缩包文件"15 把设计模式和模型联系起来 237-246.rar"可能包含了一篇关于如何将设计模式与模型相结合的文章或教程,涵盖了第237页至246页的内容。虽然具体的章节细节未给出,但我们可以根据常规的软件开发知识来...
4. **特殊气象条件下的扩散模式**:在实际应用中,如逆温、山谷风、风向突变等特殊气象条件会显著影响扩散过程,需要对高斯模型进行修正或采用更复杂的扩散模型来适应这些复杂情况。 5. **城市及山区的扩散模式**:...
模型驱动的软件开发模式研究 模型驱动的软件开发模式是指在软件开发过程中,使用模型来描述软件系统的结构、行为和功能,通过模型转换和代码生成来自动产生软件代码的开发模式。该模式的研究旨在探讨模型驱动的软件...
2. **易于扩展和修改**:由于模型、视图和控制器之间的解耦合,可以在不修改其他部分的情况下更改或扩展某一部分的功能。 3. **更好的测试性**:由于MVC模式将业务逻辑与用户界面分开,使得单元测试变得更加简单。 ...
该文件名为《分析模式——可复用的对象模型》,是一部探讨如何通过设计模式建立可复用对象模型的专业著作。书中内容针对程序开发人员,尤其是对在程序开发中应用设计模式及构建可复用对象模型有深厚兴趣的专业人士。...
模式设计 分析模式 可复用的对象模型
"分析模式可复用的对象模型"这一主题着重于如何构建能够跨越不同项目和应用的通用对象模型。 在面向对象设计中,对象模型是系统的核心,它代表了现实世界中的实体以及它们之间的关系。通过使用分析模式,我们可以...
分析模式是一种在软件分析阶段形成的结构化解决方案,它针对常见的问题或需求提供了一种标准的、可复用的设计方法。这些模式是经过实践检验的,可以在不同项目中重复使用,从而减少开发时间,降低维护成本,提高代码...
**MVC 模型-视图-控制器**是一种软件设计模式,起源于1980年代的Xerox PARC为Smalltalk-80编程语言设计的。MVC模式被广泛应用于现代软件开发,特别是在Java、ColdFusion和PHP等平台上。它的主要目标是将应用程序的...
类设计分析,很好的一本书,具有很好的知道意义。拓宽自己的视野。
### 领域(业务)模型的分析模式 #### 软件的根本目标与领域模型的重要性 在现代软件开发过程中,软件的目标始终是为了解决实际业务问题,满足企业的核心需求。为了达到这一目的,建立合适的领域模型至关重要。领域...
《分析模式:可复用的对象模型》是一本深入探讨软件设计模式的重要著作,它由Erich Gamma和Richard Helm等著名软件工程专家共同撰写。这本书的中文版为中国的开发者提供了理解和应用这些模式的便利,使他们能够更好...
- **遗传序列分析**:在生物学研究中,马尔可夫模型被用来分析DNA或RNA序列中的模式。这对于理解基因功能、疾病机制等方面至关重要。 #### 理论基础与算法实现 书中不仅介绍了马尔可夫模型的基本原理,还详细讨论了...