构建之法
从知乎看到很多人推荐这本书,便在多看买了本电子版。翻了几页就完全被这本书折服,的确可以被评为****软件开发必读经典****。作者邹欣老师在微软工作有着多年的软件开发经验,不同于学院派的教学方法,其主张“学中做”的学习方法确实有效的让学生掌握了知识。
精华摘要
构建不仅仅是cc和link命令,一个复杂的软件不但要有合理的软件架构(Software Architecture)、软件设计与实现(Software Design, Implementation and Debug),还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数,等等。这些都是软件构建的过程。
软件团队要从需求分析(Requirement Analysis)开始,把合适的需求梳理出来,然后逐步展开后续工作,如设计(软件架构)、实现(写数据结构和算法)、测试,到最后发布软件。
一个扩展的推论是:
软件企业 = 软件 + 商业模式程序(算法、数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。软件从业人员和软件企业的道德操守会极大地影响软件用户的利益。
软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
软件工程和下列的学科相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。
哲学家的宗旨是:我思,故我在
科学家的宗旨是:我发现,故我在
工程师的宗旨是:我构建,故我在