昨天(6月29日)下午,我应中关村创新研修学院院长袁传宽教授的邀请,去现场聆听了北航麦中凡教授的一场讲座。麦中凡教 授是我国我国软件工程领域的著名学者,上世纪90年代中期,我开始学习C++和面向对象编程的时候,拜读过他编著的两卷本教程,受益匪浅。这次讲座的主题 是国际软件工程的标准,以及CSDP认证考试的有关情况介绍,也正好是我关注的话题,所以尽管当时有另外一个活动安排,我还是临时决定要来听麦教授的讲 座。
尽管由于消息渠道的原因,到场的听众人数不多,但是麦教授的讲座却十分精彩,内容涉及面广泛,观点非常深刻,确实不愧是在软件以及软 件工程领域耕耘了一辈子的大家。其中有一些观点,我认为很有必要让更多的人知道,所以根据自己的记忆将讲座中的一些精彩观点记录下来。由于没有经过麦教授 的审订,可能有不准确的地方,待将来向麦教授请教以后再修正。
1. 谈到软件工程作为一个独立的专业和职业的时候,麦教授说:
“软件工程作为一门独立的专业,软件工程师作为一个被认可的职业,是以2004年SWEBOK的发布作为标志的,这时候距离1968年软件工程这个概念被提出来已经过了36年。在此之前,人们实际上是把计算机科学混同与软件工程了,
殊不知科学与工程是有本质差别的,科学是要追求完美的,而工程的原则是,有多少资源就干多少事。我们整个教育体系都按照培养计算机科学家的方式来培养软件工程师,结果培养出来的学生对技术很崇拜,但是脑子里时间的观念很少,钱的概念更几乎没有。”
2. 谈到中国的软件创新环境:
“关键问题是政府和有关的行业协会缺位。他们的主要工作应该是踏踏实实把软件产业的环境建设好,尤其是把市场环境建设好。而做这个工作是慢活,一届人砌一 块砖,等他离任的时候,可能看上去没什么成绩,然后下一届人再砌一块砖,这么好几届干下来,才能把这个环境建设好。但是现在大家都追求短期成绩,既然追求 短期效果,那就把精力集中到搞项目去了,那个来的快嘛。”
3. 谈中国软件市场:
“我不知道在座的同志是不是知道,我们中国的软件市场情况很糟糕,根本不是什么自由竞争的市场,很多情况下,就是靠关系,靠拍肩膀。在这种情况下,你跟老 板去谈软件工程,他当然不认同。因为既然可以靠关系解决问题,那当然这就是最经济的做法,反倒是最符合软件工程的原则——花少钱办大事。”
4. 谈目前中国软件开发文档工程的现状:
“按软件工程的国际标准,一个大型项目应有125个文档,国内一般不超过25个,甚至有的项目只有7、8个。”
5. 但是麦教授又说:
“这就是中国的现实情况,在实践中可以妥协也必须妥协,但是我们心理要知道,这是不对的,需要改进。将来条件具备了,还是要回到正确的方法上来。”
6. 谈瀑布模型为什么无效:
“瀑布模型是一个阶段一个阶段做,每一个阶段都做对做完,下一个阶段在上一个阶段的基础上进行。这就要求我们从一开始就把系统认识清楚。可是软件本身就是一个思想产品,开发的过程就是不断加深认识的过程,生产过程结束了,对系统也才真正认识。所以一开始就认识系统是根本不可能的事情。瀑布模型不行,根本原因在这里。”
7. 谈软件开发的本质:
“软件开发的本质是在概念空间中构造(construction)。难就难在是在概念空间中,有些概念是存在现实对应物的,有些只是概念,有些甚至是为了 做软件系统才被发现或者发明出来的概念。搞软件的人如果不善于发现概念、创造概念和术语,技术再好也算不上高明。也正是因为这个道理,文档是软件工程中绝 对不可以缺少的。”
“软件开发就是模型转化的过程,从现实事物转化为概念模型,转化为解体模型,也就是逻辑模型,再转化为平台无关模型,平台有关模型,最好编译成为实现模型。这一系列转化过程都必须遵守等价的原则。”
8. 谈Web Services:
“Web Services将会给现在的软件工程概念带来有一次变革。重要的已经不是‘数据结构+算法’,或者至少对于绝大多数人来说,不需要掌握那么深入的算法技 术,因为少量专业公司已经通过Web Services在网络上提供了最好的专业计算功能,你只需要会整合就可以。”
9. Web Services时代的产业链:
“现在的软件通常是由专业的软件公司开发的,因为现在开发软件的核心是 ‘写’ 软件。但是在Web Services时代,‘写’ 软件变得不那么困难,难点向两端转移,一端是建模,一端是测试集成,于是软件的开发会越来越多地由专业咨询公司完成,他们要了解业务,了解现有那些专业 Web服务可供选择,并且指导怎样把合适的Web服务整合起来。”
posted on 2007-07-27 23:39
前方的路 阅读(160)
评论(0) 编辑 收藏 所属分类:
软件思想