楼主: tang2049

歪说软件工程

[复制链接]
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
21#
 楼主| 发表于 2006-9-28 23:49 | 只看该作者
歪说软件工程18 - 小精灵的意见

  话说《指环王》里的弗罗多说:“不要征求小精灵的意见,因为它们将会既说Yes又说No”。

  商业软件产品的许多用户有时也是既说Yes又说No,或者说既要那个又要这个。

  先换个领域,倘若一个生产猪饲料的,猪显然不知道自己想吃什么该吃什么,即使是养猪的也未必都知道或能科学地知道,所以厂商有责任研制有效的饲料产品,即告诉养猪的你的猪吃这些饲料就可以了。

  软件产品用户虽然作为人是有积极主动性的,但大多数时候确实是不知道自己要的是什么的,所以作为厂商,应该是特定商业领域的专家,有责任并有义务研发有效的软件产品。因为有长期的积累,所以不信口开河,因为有大量用户的验证,所以确实有效果。

  不征求小精灵的意见,是因为有能力告诉它们可以这样,而它们大多数认为这样确实可以。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
22#
 楼主| 发表于 2006-9-28 23:49 | 只看该作者
歪说软件工程19 - 巴比伦塔

  话说据圣经记载,在今天相当于巴格达附近的地方,人们曾想建造一座通天的巴比伦塔,使人类的智慧,达到上帝的高度。根据设计,整座塔共有七层,而当时其他的塔楼都仅有五层,而且这座正方形建筑的底座边长为91.50米。面对如此浩大的工程,耶和华惟有将之归结为人类不知天高地厚的狂妄自负,于是,他害怕这件事情,因此就有意把人们的语言搞乱了,使他们彼此不能听懂对方的语言,人们因对立而争斗,上帝却从中达到了自己的目的。

  巴比伦塔没有修建成功,但许多软件能以恰当的分层设计而成功,所以分层已经成为一种基础的设计模式。

  所谓层次的概念就是一层一层分割一目了然的处理方式。层次体系就是利用分层的方式来处理复杂的功能,层次系统要求上层子系统可以使用下层子系统的功能,而下层子系统不能够使用上层子系统的功能。一般下层每个程序接口执行当前的一个简单的功能,而上层通过调用不同的下层程序,并按不同的顺序来执行这些下层程序,层次体系就是以这种方式来完成多个复杂的业务功能的。

  软件分层有以下优点:

   良好的透明和封装;

   高内聚、低耦合;

   易于扩展、维护和重用;

   开发人员易于分工,提高开发效率。

  缺点:

   效率降低;

   开发难度增大。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
23#
 楼主| 发表于 2006-9-28 23:50 | 只看该作者
歪说软件工程20 - 餐具洗洁精

  话说老Y冬天有时吃完晚饭过许久才洗碗,碗中的油都结成坨,还好有餐具洗洁精,解油效果比热水好,但冬天为了手不冷,热水还是要。

  当然,简单的方案是既不用餐具洗洁精也不用热水,但是由于需求的复杂:既要手不冷、又要不油腻,所以用了两种方案。

  做软件也是这样,需求总是复杂的,许多时候并没有单一的方案能完美地解决所有问题。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
24#
 楼主| 发表于 2006-9-28 23:50 | 只看该作者
歪说软件工程21 - 狗屎GDP

  话说一则著名的笑话。两个学经济的学生在路上为了一点点小事争得面红耳赤,谁都说服不了谁。正当争执得不可开交的时候,两人看到了路边有一堆狗屎,甲就对乙说:如果你吃了这堆狗屎,我就给你5000万。乙想了想,把狗屎给吃了,虽然很不舒服,但甲给了乙5000万。走着走着,两个人又见到一堆狗屎,乙心理很不平衡,就对甲说:如果你也吃了这堆狗屎,我也给你5000万。甲为了赢回那5000万,也忍痛把这堆狗屎给吃了。结果乙又把那5000万还给了甲。两个人越想越不对劲,什么都没得到,还白吃了两堆狗屎。于是他们去找了一位很有名气的经济学教授。那个教授听了他们俩的事后,颤颤巍巍地伸出一个手指,激动地说:1个亿呀,1个亿!你们俩仅仅吃了两堆狗屎就为我们国家创造了1个亿的GDP……

  GDP计算的是流动率,即对一段时间内的流动量进行求和再除以时间,目前时间都是以1年为单位。

  对于软件开发来说,不能追求GDP式的流动率,如果一个软件开发了几个月,就推倒重来,代码的流动率显然是最大的,虽然这种情况并不是不会发生,但应该是要避免的。软件开发追求代码复用,复用不同于文章写作中的引用,引用是拷贝粘贴一个然后进行修改,而复用不是。

  也有时追求复用是妨碍发展的,比如中国经济中的一些国营企业问题,有时只有推倒重来,为现在和以后的流动率做贡献。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
25#
 楼主| 发表于 2006-9-28 23:50 | 只看该作者
歪说软件工程22 - 温暖的被窝

  话说在寒冷的冬天,早上要从温暖的被窝中爬起来,并不是一件舒适的事情。

  当人对于某些人、事、物习以为常后,便会产生「舒适区」;而改变,就会变成「非舒适区」。由于人是自我保护的动物,因此多会选择躲在舒适区。

  软件工程中也经常触碰到人的非舒适区,比如在要更换使用的工具软件、更换代码底层、更换代码结构、更换编码惯例、更换工作方式,等等情况。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
26#
 楼主| 发表于 2006-9-28 23:50 | 只看该作者
歪说软件工程23 - “阿波罗”计划

  话说在1961年,美国总统肯尼迪向全国发言,宣布开始一个为期十年的太空计划——“阿波罗”登月计划,目标是要把一个人送上月球;1969年登月计划成功完成。

  下文是人们对该计划为何能成功的总结,相信也适用于软件工程:

  “首先,选择了一个明确的目标——把人送上月球;

  其次,有一个基本的计划可以遵循,许多问题都还没有解答,但已有一个起步之处——一个基础计划;

  第三,有一个目标时间——在十年之内把这个梦想变成现实。

  参与登月计划的男人女人们一天接着一天地为实现他们的目标一起工作。他们并不确切知道怎样把一个人送上月球,但是他们忠实于目标并且确信它能被做到;他们并不确切知道宇宙飞船看起来是什么样子,更未想到计算机在这个项目里会起到那样大的积极作用。虽然存在着许多未知的因素,但是他们始终把目标摆在面前,他们利用了团体的智慧,即使碰到暂时的失败,也保持着实现目标的信心。因为他们确信他们的目标能够被实现,结果就是美国提前一年成功地把人送上月球。

  再重复一下他们开展计划的步骤:

  第一、设定了一个目标

  第二、着手制定计划

  第三、严格规定了一个实现目标的时间

  第四、利用集体的智慧

  第五、每个人都在头脑里不断记着目标

  第六、开展行动

  第七、抱有实现目标的必胜信心”

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
27#
 楼主| 发表于 2006-9-28 23:50 | 只看该作者
歪说软件工程24 - 郎闲评

  话说留洋博士郎闲评自信深喑西方经济学之道,曾通过第一财经的“财经郎闲评”节目,通过数据推理揭示国内几个巨大国企的老总借资产改革之名,行转移侵吞国有资产之实,虽然做得合中国法律、但并不合情合理。他所说的东西实在关系国计民生,所以一石激起千层浪,他也成为众矢之的。除了揭示“内幕”,他还给出了解决之道,即推行“职业经理人”制度。

  所谓“南橘北枳”,西方发展了一两百年的经济学,在只有二十多年市场经济经历的中国是不一定完全行得通的。所以有评论说,你用的数据没错,推理也没错,但我们的做法也没错,现在的资产改革模式,也是二十多年摸索的结果,你没有理由一下子就否定掉,你根本就不懂中国国情。

  国情确实是个很好的接口,似乎能让对方无话可说。其实西方软件工程科学中的CMM等,在中国也有类似的遭遇,CMM说我的东西就是好,许多公司说,你不懂我们公司情况,你的东西我们不适合。

  但话又说回来,中国已经步入市场经济,已经不是以前靠许多政府官员凭经验、靠感觉、拍脑袋搞经济的时代了,学者型组织“中央政府经济智囊团”已经对中国经济决策起着非常重要的作用。郎闲评说的东西,其实许多人都知道只是没说而已,所以,有人说他只是“皇帝的新装”中说真话的男孩。这种人不能多,但也是很需要的,本来就是要有人勇于说真话的。

  中国的文化以“人”为大,这样的文化承认甚至纵容人性的弱点(比如贪婪),西方文化以“科学”为大,这样的文化努力通过科学、法律等来限制和平衡人性的弱点。中国要走搞经济求发展的道路,而不是追求“鸡犬之声相闻,老死不相往来”的境界,就迟早要走西方经济的发展道路并求助于经济科学,只是需要一个过程而以,毕竟科学不是人说了就算的,其实事实也已经是这样。

  中国搞市场经济,成果有目共睹。许多软件公司搞CMM,也有收获甚丰的。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
28#
 楼主| 发表于 2006-9-28 23:51 | 只看该作者
歪说软件工程25 - 能见度不到5米

  话说今天大雾,能见度不到5米,老Y最近一直走一条新修的大道上班,今天也是,结果在一次拐弯后越走越觉得不对,新修的路两旁也没有公交站牌等明显标志,在路中,觉得自己就像被压在一口大锅下,不知道怎么出去,只好凭感觉原路折回到老路,这条路更熟悉些,路边标志也明显,有益于方向感的保持。

  软件开发中开发新东西有时也是,前方能见度不到5米,只能凭感觉先往前走,方向感好才能顺利到达目标,路径熟悉或走过也有利于到达目标。但有一点,就是目标首先要清晰,否则只有能走一步算一步,边走边清晰目标,折回原路另外找路有时也是不可避免的。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
29#
 楼主| 发表于 2006-9-28 23:51 | 只看该作者
歪说软件工程26 - 有罪推定

  话说古时候衙门逮到一个嫌疑犯,嫌疑犯经常要自己来自己来证明自己是无辜的,否则就会被判有罪。这种叫“有罪推定”原则,即“如果不能证明是好的,就是坏的”,这会造成冤案太多。

  随着社会法制的进步,嫌疑犯不需要自己来证明是无辜的,而是其在被证明有罪之前都是无罪的。这种叫“无罪推定”原则,即“如果不能证明是坏的,就是好的”。中国的刑法中规定嫌疑犯有义务配合警察调查,这种“有义务”可能会被加上“强迫”两个字,所以可能还有刑讯逼供的现象。据说中国的刑法也将承认“沉默权”,即“你有权保持沉默,但你说的一切都将成为呈堂证供”。

  但是,在软件开发中,任何全局资源(全局变量、全局实例等)在被证明无辜之前都符合“有罪推定”原则,应尽量避免使用。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
30#
 楼主| 发表于 2006-9-28 23:51 | 只看该作者
歪说软件工程27 - 德拉姆与黑洞

  话说云南省以马帮运输茶、盐、粮食的古道已有近千年的历史,马帮就像今日的汽车,在山路中将背上的货物运往各地。《德拉姆》是田壮壮的一部纪录片作品,记录云南滇西北怒江流域原住居民的生活现状,以及“最后的马帮”的古道之行,据说片名取自其中一头在路途中死去的马的名字。很难想象,人们还可以如此简单如此简朴地生活,那里可以没有互联网、没有计算机,甚至可以没有公路——正是因为还有地方没有公路,所以还有马帮的存在。

  马帮是还存在的一种现实的生活方式,而黑洞就完全是精神的产物。爱因斯坦提出广义相对论的第二年,即1916年,就在理论中发现了黑洞的存在,但直到1960年,科学家们才理解并接受了黑洞的存在。据天文观测,我们银河系的中心就有一颗超大质量的黑洞,它的质量是太阳质量的400万倍。今天,黑洞已经广为人知,并有许多人靠研究黑洞就可以生存。

  马帮和相对论都离普通人的生活十万八千里,但它们都存在着,你不能说哪个落后哪个先进。做软件的公司中,有许多小公司,它们甚至可以不知道软件工程为何物,几个人拉些项目做,活得上好;也有大公司,一个项目动不动就几百万几千万行代码,需要很多人的协作,它们努力研究并实施软件工程,以避免失败的惨痛。

  《德拉姆》中从云南丙中洛乡到西藏察瓦龙乡,只能沿怒江而上徒步而行,但公路已经在修,马帮的生活会随着公路的修通而完全改变。许多时候,我们都会并且可以忽视外界的变化,但是同时也无法觉察我们自己是如何变化的、或者过去是如何消失的。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表