51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4477|回复: 0
打印 上一主题 下一主题

软件工程辩证法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-2 12:27:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来源:希赛网软件工程频道

摘要:
  本文用辩证法思想分析了软件工程需求和设计中的一些问题、关系、方法,探讨了轻量级和重量级软件开发过程的辩证关系。

  关键字:
  辩证法、软件工程、需求、设计、轻量级、重量级
  
  正文:
  近日某教授所做“智能机器的困境”的专题讲座引起了在座热烈的讨论。其中讨论得最热烈的问题就是:“某说法是唯物论,还是唯心论?”

  其实,“某说法是唯物论,还是唯心论?”这样的争论大概是永远不会有结果的。其主要原因是:不管是唯物论还是唯心论,人们对它的概念即使是专家也不能说就完全清楚了。有些专家自以为清楚,其实并不完全清楚。更不用说普通老百姓了,只是简单地学了一些名词而已。

  上面的观点让我们举个例子就明白了。

  有些人认为《老子》是唯心论。另一些人认为《老子》是唯物论。有些人可能研究过,而有些人根本不知《老子》之所言为何物,也跟着喊“《老子》是XX论”。因为它确实太博大精深了,本人对他也是一知半解,在此只能谈谈自己的一些浅见。
  《老子》的第一句是“道可道,非常道;名可名,非常名。”。其中第一个“道”可以解释为“自然的规律”,第二第三个“道”可以解释为“用语言文字描述”;第一个“名”可以解释为“事物的概念”,第二第三个“名”可以解释为“用语言文字定义”。因此,“道可道,非常道;名可名,非常名。”翻译成白话文就是“如果一个自然的规律可以被(有限的)文字语言描述,那么这样的描述就不可能是完整的一成不变的,需要根据条件变化而修正;如果一个事物的概念可以被(有限的)文字语言定义,那么这样的定义就不可能是完整的一成不变的,需要根据环境变化而调整。”。这句话实际上说明了语言文字相对于宇宙世界的局限性,而这就是《老子》的中心思想。

  举个具体例子说明。大家都知道Jack就是某某,某某就是Jack。说起来好像都知道了,但要唯一地说清楚Jack的全部特征却不是那么容易的,说得够不够明白也是根据人们各不相同的需求。按姓名,有同名同姓的;加上按出生年月,也有其他同年同月的;再加上按地址,地址也是不断变化的就是连姓名都有可能变;如果再加上按体型相貌的信息,更是有限的文字(即使是二进制)无法唯一完整描述的,就像指纹信息或照片信息,根据采集的精度要求也有一定的重复率,也会根据精度的提高而增加存储的size。

  因此,假设有一天,有个单位需要建设一个信息管理系统,其中一条需求是:要能够存储每个人的所有信息。我们能不能满足这样的需求呢?

  答案是否定的,因为这样我们建立的数据库的表结构中就必须含有无穷多个字段才能满足这一需求。即使计算机再怎么发展,其存储空间也是有限的,也就是说即使把全世界所有的硬盘拿来也装不下一个Jack的完整信息。不要说一个人了,连一个π都装不下。

  所以,老子的中心思想在软件工程中可以翻译成“无论什么时候,要使系统能完整地存储一个π,这样的需求都是无法满足的”,或者简单地说“即使把全世界所有的硬盘拿来也装不下一个pie”(所以as easy as pie应当改成as impossible as π)。这大概也算是所谓“智能机器的困境”中的一个吧。

  再举《老子》中的另一句“大音希声”为例,这可以从很多角度来解读。一种可能的解释是,老子认为世界上有些声音是人们很难感觉得到的,像次声波或超声波,就可能是他所谓的“大音”, “希声”就是很少有人能够听到或感觉到(老子曰:视而不见名曰夷、听而不闻名曰希。)。如果没有人发明超声波仪和次声波仪,除了蝙蝠、海豚等等动物外,也许人们永远也无法理解这类“大音”的存在。当然,也许“大音希声”的真实含义是无法用有限的语言文字来解释的。例如,我们也可以把“大音希声”解释为“真正的大道理是很难用(有限的)文字来说明的”、“真正的大道理,人们只能感觉或发现他的很小一部分”、“掷地有声的话是不会经常听到的”或者“上好的东西是很少去用吵吵嚷嚷的方式去宣传广告的(酒香不怕巷子深)”。语言文字的能力是有限的,却给人带来无限的想象空间。

  通过以上的例子和分析可以说明,简单地断言老子是唯物论还是唯心论是很荒谬的,因为无论唯物论还是唯心论,其概念都是人们根据自己的有限的感觉创造出来,并用人们创造出来的有限的语言文字表达的。

  当然,老庄哲学在论述到具体实践时有不少相对消极的思想,这些思想是不符合时代潮流的,在当代形势下是不可取的。同时,这些思想都是学术层面上的讨论,和封建迷信没有任何联系。

  上面所引用的老子的章句,无非是为了说明了人的感觉能力是有限的,而用来表达这些感觉的语言文字能力是更有限的。所以其弟子庄子说:用有限的语言文字来全面地描述这个浩瀚的宇宙,是MISSION IMPOSSIBLE。如果一味执著地追求,也许一切努力都只带来更多的痛苦,也许生命会在寻找中徒然逝去。能有那么一天吗,你终将你的世界占有?也可以用软件工程的术语说,需求的完整性和有效性是争对特定的时间和特定的对象而言的,随着时间和对象的改变而有可能改变。

  所以,在争论双方无法用有限的语言文字全面地描述或解释什么是“心”、什么是“物”、什么是唯心论、什么是唯物论的情况下,或者在争论双方根本还无法完全理解什么是“心”、什么是“物”、什么是唯心论、什么是唯物论的情况下,去争论“某说法是唯物论,还是唯心论?”,是永远不会有结果的。

  当然,并不是说这些争论就毫无价值,它可以开拓思路、活跃思维,至少也可以作为PASTIME、SHOW、或者作为谋生手段,创造一个又一个的商业机会和就业机会,使人们的生活丰富多彩。

  所以,当你在参加一场辩论竞赛时,无论你抽到的是多么不可能获胜的论题,你都不要灰心,认为自己输定了。因为在辩论双方还没有把论题中的概念阐述清楚时,辩论会就已经time’s up了。裁判们主要是按照他们自己的标准,根据对你在场上的表现的印象来评判你的输赢的。辩论双方乃至裁判们可能到最后自己都没有搞清楚那些概念,甚至连刚刚在辩论什么都有可能记不得了,因为那并不重要,重要的是参与和获奖。

[ 本帖最后由 hnhyjyjh 于 2006-11-8 11:27 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-19 02:29 , Processed in 0.064322 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表