楼主: tang2049

歪说软件工程

[复制链接]
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
11#
 楼主| 发表于 2006-9-27 23:41 | 只看该作者
歪说软件工程8 - 鲨鱼与天蚕

  话说海里的鲨鱼可以闻到1公里之外的血腥;陆上的雄天蚕能够感知到4公里外正在求偶的天蚕雄蛾的存在。

  离圣诞还有很多天,街上已经布满圣诞的味道,到处可见圣诞小屋和圣诞树。几十天后的圣诞商机是固定,似乎不需要去预测,但软件行业变化多端,1年以后的商机已经很难预测,更不用说多年以后。

  听闻大公司为了保持竞争力,而投入研发力量现在做未来的预测产品,许多东西做出来时可能没有意义,但等有意义时,哪怕只有1%的产品是成功的,它也能因为遥遥领先对手而占尽先机。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
12#
 楼主| 发表于 2006-9-27 23:41 | 只看该作者
歪说软件工程9 - 比基尼

  话说老Y从乡下来到迷人的夏威夷海滩,看到满眼的比基尼泳装,甚是不习惯,心里想到:“比基尼展示了令人感兴趣的部分,但却隐藏了关键的部分”。

  许多竞争对手的产品在它们的技术白皮书中展示了许多技术特性,许多业界领先的观念得到了怎么样的贯彻与实现,甚是诱人,具体研究,有些果然如此,但不知道它是怎么做的,当然,这些就是被隐藏的关键,只有努力深入研究才能搞清楚。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
13#
 楼主| 发表于 2006-9-27 23:41 | 只看该作者
歪说软件工程10 - 红绿灯

  话说比较早的时候街上的红绿灯很简单,一个方向红的时候一个方向绿,每隔60秒交替变化。这时用简单的定时模拟电路控制就可以了,而且通过电阻电容的调整也能调整变化间隔。

  后来觉得这样很不人性化,用户界面不好,让行人干等不好,应该加一个数字计时器,显示还剩下的需要等待秒数。这时用模拟电路的架构就不行了,必须用数字电路,需求变化第一次导致架构变化。

  许多路口,由于两个方向的流量不一样,导致需要两个方向的灯亮的时间不一样,比如一个90秒,一个30秒,这时要求红绿灯能进行设置。对数字电路架构添加这种功能不是很难。

  再后来,由于许多路口的流量变化很大,要求红绿灯能智能控制,于是安装了摄像头监控流量,与红绿灯一起跟监控中心联网……,就是所谓的智能交通。

  需求总是变化的,其中许多是由竞争对手而不是用户驱动的;许多需求导致产品架构变化,代价通常是很大的。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
14#
 楼主| 发表于 2006-9-27 23:41 | 只看该作者
歪说软件工程11 - 池鱼

  话说小池塘里只养了一种鱼,冬去春来,春来冬去,鱼儿不停地生殖繁衍,看着一群群小鱼儿长大,然后又会有新的一群,但尽管没有人捕捞,鱼儿从来没有把小池塘填满过。

  鱼妈妈会一边生小鱼,一边把自己的小孩吃掉。简单的自然生态自己维护着自己的平衡。

  软件市场也是一个自然生态系统,微软再大,它也不会吃掉所有市场,自己长满整个池塘。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
15#
 楼主| 发表于 2006-9-27 23:42 | 只看该作者
歪说软件工程12 - 浪漫的事

  话说IBM向开放源码社区贡献了一个Java集成开发环境“Eclipse”,这个原来没有什么名气的IDE,现在已经成为一统Java开发工具江山的开放平台,IBM收购的Rational商业开发工具体系已经全部迁移到Eclipse中,Borland的Java开发工具体系也在逐渐迁移,做Java的Sun原来也做有自己的IDE,现在基本上放弃自己做了。

  “Eclipse”是日蚀的意思,不过这个项目现在确实有遮住“太阳”(Sun)光辉的趋势。中国人想象“月蚀”是天狗把月亮吃了,这是一件很浪漫的事情,开放源码也是一件很浪漫的事情,“天下为公,各尽所能,各取所需”,不过,开发的东西要能确实可用、实用,而不只是一种玩具,却一点也不浪漫,同样要一行行代码地编写,一行行代码地测试。

  Eclipse的所有源代码都可以在其网站上下载到,下面是3.1版本一些不完全统计数据:

  开发目录708M;

  目录个数1.4万;

  文件个数5.2万;

  Java源程序文件个数3.5万,共199M,代码行数592万;

  其中JUnit测试代码文件个数1.3万,共40M,代码行数119万;

  文档*.htm个数0.36万,共45.9M;

  文档*.ppt;*.doc;*.swf个数33个,共17.4M。

使用道具 举报

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

  话说山上的树长得高低不齐,高大的树都有高大的主干,如果是千年老树,则主干更尤庞大;许多低矮的灌木则到处都是枝桠,看不出哪儿是主干。

  软件的生长理应如能长高的树,而不是低矮灌木。树木从地底下长出来,先只有一片叶,一小枝,而后成两片叶,枝叶自己生长的同时,主干也不断生长。

  而许多软件都生长成低矮灌木,因为主干没有生长,即生长的过程中没有不断积累并形成自己的技术基础。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
17#
 楼主| 发表于 2006-9-27 23:42 | 只看该作者
歪说软件工程14 - 李宇春

  话说李宇春成名后代言的广告不少,可以被轻轻地总结一下。

  老Y所知的大概有三种:食品、手机、电脑,第一种显然是消耗品,手机基本上也已经成为消耗品,商业社会的魔力就是能把技术转化为商品并以时尚的名义销售,消费者既消费实用又消费时尚,但产品会在购买后一年后价值降低到原来的一半或更低,电脑也是这样,所以也可以说是消耗品。

  老Y一朋友,家里做批发生意,98年开始用管家婆软件,用到现在没做升级,当然店面和店员也没什么变化。许多商品软件都是耐用品,当然消耗品的也多,比如售价<1000元的各种游戏,许多人买了用不久就会去买新的,而购买售价>1000元的商业软件大多数消费者还是很慎重的,因为使用后如需更换还要付出额外的成本。

  作为耐用品的商业软件,其广告代言人,从各种广告可以看出,大都选择老成持重的。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
18#
 楼主| 发表于 2006-9-27 23:42 | 只看该作者
歪说软件工程15 - 超人鲁班

  话说一个工地上,许多人在忙着修一座拱桥,其中一个老头,每天不紧不忙地凿着一块石头,凿得方不方、圆不圆、长不长、扁不扁,大家都以为别人认识他,都没理他,他凿好后就扬长而去。桥快要竣工时,桥面中间出现了一个空隙,怎么努力也弄不来一个合适的石头,有人想起那个陌生老头凿的石头,把它搬来,结果严丝合缝。那个老头就是鲁班。

  古代的拱桥都不太长,鲁班不画工程图也能把它修好,但如果请他来修旧金山金门大桥,估计他也得先学好几何学和力学。软件工程也有很多学问,下文摘抄MartinFowler在《企业应用架构模式》中的一段话:

  “即使你对极限编程[BeckXP]不感兴趣,你还是应该认真地思考三个方面的技术实践:持续集成[FlowerCI]、测试驱动的开发[BackTDD]和重构[FowlerRefactoring]。这些技术虽然不是万能的灵丹妙药,但它们能够帮助你在需要的时候更容易地改变你的系统。除非你比迄今为止我见过的人更能干或更走运。”

使用道具 举报

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

  话说老Y住处楼下就是一个自由市场,好几次听到一个卖柚子的在吆喝:“梁平柚子,一元一个,现场直剥……”。“现场直剥”的意思是买了之后现场直接给你剥开。

  语言可以这样用吗,妙哉!随意摘录一句古文:“夫玄黄色杂,方圆体分,日月叠璧,以垂丽天之象;山川焕绮,以铺理地之形……”(刘勰,《文心雕龙》)。真不知道这些辞藻是怎么被堆砌起来的,奇哉!

  发明汉字的仓颉看到这些,估计也会问道:“汉字可以这么用吗?”。软件产品用户多了,有时收到用户的反馈,说怎么怎么操作后出了什么问题,程序员心里想:“这个软件居然可以这么用?”

  如果用户说了怎么操作,那要解决问题比较好办,如果用户没说,只说出的问题,就麻烦了。软件中有很多隐藏的假设,比如假设用户会这样操作、假设用户这个地方会输什么内容,一旦这些隐藏的假设被“不守规矩”的用户触碰到,就可能导致问题。

  但软件总不可能把什么都考虑到,就如仓颉不能限制卖柚子的也玩汉字谐音,程序员在软件没加约束时也不能限制用户不能那么操作,所以为了避免出问题,解决方法之一就加尽可能多需要的功能约束,之二就是遵循“契约编程”的道理,在每个方法、每个函数做约束,以便出问题时能知道问题所在。

  简单的方法是可以这样:由于每个方法、每个函数对传入的参数都会有一些假定,可以把已知的假定直接写成代码约束,比如用Assert来要求某某参数不能为空,同时给出违反约束时的提示。

使用道具 举报

回复
论坛徽章:
7
六级虎吧徽章
日期:2009-03-30 21:56:32
20#
 楼主| 发表于 2006-9-28 23:49 | 只看该作者
歪说软件工程17 - 横过深渊的一根绳子

  话说尼采认为“人之所以伟大乃是他是一个桥梁,而不是一个目标”。尽管这座“桥梁”如“横过深渊的一根绳子”,“渡过是危险的,在路上是危险的,回顾是危险的,在中途战栗和踌躇是危险的”,但人却必须越过它。

  软件产品即使把周期拉长,也很难断定它是一个桥梁还是一个目标,但确实不管前进、还是后退、还是踌躇也都是危险的。

  比如CRT显示器,几年前还几乎都是弧面的,没有平面的,而现在几乎没有人买弧面显示器甚至有人都知道什么是弧面显示器了。两种显示器,从基本需求的角度来说,都能满足显示的需求,但竞争总是使更先进的功能变成常态,竞争导致优胜劣汰。

  软件产品如果前进而没走对,可能危及即得的地位,而如果不前进或者后退就容易被竞争对手找茬,所以不管速度如何还是要前进,为了避免前进的风险,我们求助于软件工程的一些过程管理方法。

使用道具 举报

回复

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

本版积分规则 发表回复

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