电子商城网站开发支持手机端,郴州有哪些推广平台,可以看那种东西的浏览器,劳务外包和劳务派遣要想了解世界#xff0c;就必须亲自来打造它。—— 帕韦泽#xff08;Cesare Pavese#xff09;国庆假日期间#xff0c;我重读了邹欣老师的《构建之法》一书。我从事软件行业相关工作超过15年#xff0c;每每在被问到给在校计算机专业大学生的学习建议时#xff0c;我都… 要想了解世界就必须亲自来打造它。—— 帕韦泽Cesare Pavese国庆假日期间我重读了邹欣老师的《构建之法》一书。我从事软件行业相关工作超过15年每每在被问到给在校计算机专业大学生的学习建议时我都会推荐这本在教育界引起广泛关注、旨在推动中国现代软件工程教育改革的教材。我当年没有机会接受这么有体系且现代的软件工程教育这一定意义上成为了走向软件领域更高殿堂的阻碍虽然有一些吃亏上当后长的见识和东一下西一点偷学来的、经常会相互打架的草莽经验但邹老师写的这本书面世后我如获至宝曾经写下170多页的读书笔记并给当时我所带领的研发团队及周围的朋友们分享所以在我看来它不仅仅在学校教育中有巨大的现实意义对于很多像我们这样的已经走上工作岗位甚至工作很多年的人也有很好的参考价值。构建之法是什么这本《构建之法》一版再版可见其受欢迎程度之高。我有幸跟邹老师成为同事但早在我加入微软之前就因为看了他第一本书《移山之道》后主动写信讨教承蒙不弃后来也一直保持联系。正如我在开头处引用的这句话 “要想了解世界就必须亲自来打造它。”我们所处的世界、我们自己不管是物质层面还是精神层面其实都是一点一点构建出来的。邹欣老师有超过20年、在世界顶级公司从事大型软件研发的经历更是不可多得的既能传道授业、又深谙合作之道的人才他通过三本书给我们构建了一个“如何构建开发复杂软件” 的知识结构。软件开发能力 软件工程能力程序构造能力移山之道。我第一次看到这本书的感觉就是“哇技术图书居然还可以这样写啊”。这本书用多个丰富生动的角色给读者呈现了一个虚拟的软件公司及其日常发生的故事。这本书我个人觉得是构建之法的雏形只是当时在工具应用这个方面着墨较多。编程之美。这是邹老师和几位同事一起编写的微软技术面试心得干货满满有大量的算法案例。这一本书强调的是程序员的个人建设中最为核心的能力算法和编程能力。构建之法。这本书则是真正成体系的软件工程教材他利用业余时间在数所高校进行了长达6年的软件工程教学实践总结出了在16周的时间内让同学们通过“做中学learning by doing”掌握实用的软件工程技术的教学计划得到了高校师生的积极反馈。在此基础上对软件工程的各个知识点和技能要求进行了系统性整理形成教材。本书共分17章对照美国ACM/IEEE 2013年新出版的计算机科学教学指导Computer Science Curricula 2013中的软件工程部分这本教材覆盖了其中大多数Core-Tier 1和Core –Tier 2的内容。可以说全书对软件工程内容的覆盖不逊于任何一本现行的教材同时讲述了业界最新实践方法。构建之法是怎么构建出来的构建之法 已经不仅仅是作为一本书更是现代软件工程教育的一个有益实践。2007年在清华大学首次实践后从2009年至今经过北京航空航天大学、福州大学、集美大学等三十余所学校的不断迭代与改进现已形成了一套成熟的软件工程课程教学体系覆盖了软件工程和编程语言的教学。该教学体系有下面的特点练习量大, 内容多除了大量的代码练习还有大量的博客写作练习。结构紧凑个人项目/结对项目/团队项目紧密配合, 能在16 周讲完针对8或12周的教学长度也有对应的配置与组合。理论和实践相结合讲现代理论同时结合体现理论的工具例如要求所有代码使用Git和Github进行管理真实的团队开发要求使用原型设计工具设计项目使用团队开发工具管理任务分配使用燃尽图进行进度管控、等等一应俱全…面向实战强调“做中学” , 团队项目公开发布使用用户数量与用户的真实反馈作为评价项目重要的标准。学生助教企业助教模式学生助教熟悉课程能够协助老师与学生充分互动企业助教则经验丰富视野开阔能使用工业界中的鲜活实例解答学生在实践中的疑问。鼓励探索鼓励学生 “动手实践自己摸索提出问题解决问并总结 从实践中从同伴中从思辨中学习” 。在2017年底的“第一届构建之法软件工程实践教学论坛”上面邹老师分享了这十多年来的历程。我这里还想给大家分享一点我的观察。这本书以及它所倡导的软件工程教育改革目前所取得的一点点成功并不是偶然的正如所有的大型、复杂软件的成功必有缘由一样。它至少拥有如下的成功要素社会需求明显改革适逢其时。任何的改革都是讲究时机的教育的改革尤其如此。当年是教育部和微软研究院合作的一个契机邹老师作为特派的专家到清华开展软件工程的实践由此找到了一个切入点他通过不懈的努力不仅得到了中国科学院院士及国务院学位委员会委员的支持和认可更带动了一批同样有想法的老师和学生得以持续把这个工作深化下去星星之火渐成燎原之势。核心架构师或主程的能力超强。如果拿开发软件来说邹老师就是这整个工程的架构师或主程。虽然软件工程可以从一定意义上降低对“超级巨星”的依赖确保大部分软件项目的水准在平均线以上但毫无疑问拥有一个能力超强的架构师或主程则肯定会事半功倍更何况邹老师的能力可不仅仅是软件工程呢。项目团队强大运营有方。我必须强调这一点是因为我对于邹老师背后的策划、出版、运营团队也很熟悉。他们的口号是“服务能人中的忙人忙人中的能人”他们做了很多专业且细致的工作让架构师设计的架构能真的得以实现。构建之法所带来的成效构建之法是一个为期16周的现代软件工程教程要检验它的成效就必须由学校老师和学生来发言。我找到一份材料是北航计算机学院的罗杰老师在“第一届构建之法软件工程实践教学论坛” 上面所做的分享。罗老师分别从几个方面总结和展示了他们学院的课程改革成果。软件工程教育是一种综合素质培养罗老师还特别总结了对学生的升学、科研、实习和工作等方面的影响。我对构建之法的展望与思考如果按照工程的方法去构建软件项目则其成功的机会将远远大于没有采用软件工程的项目。构建之法是关于现代软件工程的知识体系这本书必将在相当长的时间内对中国的软件工程教育产生积极和深远影响。另一方面来说时代是在不断地发展它也给我们提出了越来越多的新课题。我做如下的展望同时也有一些思考给邹老师及大家参考。当今的世界是一个技术驱动和数据驱动的世界而人工智能AI大行其道也是很自然的。软件一方面要体现出来越来越易于使用的体验对最终用户或者对前端开发者一方面则体现出平台层面尤其是底层后台会越来越复杂。软件服务模式的变化随之而来对于软件开发者来说的要求也会发生变化总体来说编写软件会越来越容易——至少看起来是这样——谁都可以马上写出一个“软件”来同时一个残酷的事实就是专业的程序员的门槛将越来越高。那么这就提出了一个命题对于这两类软件开发者他们对于软件工程的需求是否有不一样是否需要或者如果针对他们有不同的方案如果以后有 AI 参与编程对软件工程是否有什么新的挑战不光是软件服务模式在发生变化软件构建和交付模式也在发生一些变化。在《构建之法》中有对敏捷流程和MSFMicrosoft Solution Framework的精彩阐述而现在几乎所有的软件项目都在想办法DevOps了吧。不知道在新一版的构建之法中是否会考虑这种变化文末福利感谢你认真读完这篇文章欢迎大家提出反馈意见。 希章原文的福利请阅读现代软件工程的《构建之法》我的《Office 365 开发入门指南》的介绍有机会请参考 《Office 365开发入门指南》上市说明和读者服务
相关文章: