软件教育随想
邹欣
6) 三文鱼模型
很多学生在学校里认真学习了很多软件知识,在同学中间也很牛的样子,于是他们踌躇满志地毕业了。 但是到了工作单位,他们发现项目组中老中青,各种背景的人都有。 没有人请自己从头设计全新的软件, 自己得从读别人的代码,维护软件系统上手。 我在《移山之道》 这本书里写过 “三文鱼模型”:
软件学院的小慧老师对阿超抱怨,软件工程这门课看似容易,实际太难教。 小慧说:我是按照经典的瀑布模型来讲课的,本来以为会是高屋建瓴,一泻千里,但是实际情况是这样的: 1. 需求分析:学生们都不懂企业的需求是什么,上课睡觉。 最后大部分同学们都说自己根本没学到什么本事,然后下个学期,新的一批学生进来重复这一过程。。。 阿超沉吟半晌,说,事实上,一个软件工程师在现实世界中的职业发展好像和瀑布相反: 1. 毕业进入公司,开始维护一些已有的软件(维护阶段) 那软件工程的课程能否也像这样安排? 可以试一试这样的流程:
阿超说:嗯,看起来像是从瀑布下方一步一步上溯到源头,不妨叫“大马哈鱼洄游模型” , 或者简称“三文鱼模型”。 |
==============
邹欣现任微软亚洲研究院 (Microsoft Research Asia) 技术创新组项目主管。主要负责研究成果到商业产品的转化。他从1996年起在微软公司Outlook, Visual Studio 产品团队工作。 在加入微软公司之前,邹欣从事过 软件开发及软件测试工作。
邹欣1991 年毕业于北大计算机软件专业,获学士学位,1996 年获美国Wayne State Univ. (韦恩州立大学) 计算机软件专业硕士学位。
出版:《移山之道 – VSTS 软件开发指南》,《编程之美 – 微软技术面试心得》(合作)
教学:
讲授清华大学理论计算机中心 软件科学试验班 《现代软件工程》(2007, 2008)
讲授(合作) 北京大学软件学院 《软件实现技术》 (2008, 2009)
博客: http://yishan.cc/members/xin.aspx