邹欣老师在《构建之法》一书中将枯燥的理论概念讲解得非常生动,寓教于乐,深入浅出,举出的例子也是形象而易懂,读完几章之后很受启发。
第一章是概论部分,作者为我们介绍了一些关于软件工程的基本知识。大致总结如下:
①软件=程序+软件工程:正是因为对软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)相关的内容的完成,才能完成把整个程序转化成为一个可用的软件的过程。
扩展的推论:软件企业=软件+商业模式
②软件开发的不同阶段:玩具阶段→业余爱好阶段→探索阶段→成熟的产业阶段
③软件所具有的特殊性:复杂性、不可见性、易变性、服从性、非连续性(由软件的本质所决定的)
软件还有其他特性:
·有许多不同的程序设计语言、软件工具和软件开发平台
·存在许多不同的软件开发流程
·软件团队中存在许多不同的角色
·软件通常既可以存储在磁带上,也可以存储在CD/DVD上
个人感受:
说实话以前我也没仔细思考过软件到底是什么,在我的认知里软件好像就是我们日常使用的APP。而软件工程呢?就是开发一款APP吧。
读完书之后才发现这种想法真的是大错特错。那么软件工程到底是什么呢?软件工程具有以下的特殊性:复杂性、不可见性、易变性、服从性、非连续性。这些非本质、临时的特性并不能决定软件工程的本质问题。
除此之外,在软件开发的过程中存在如下几个阶段:玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段。根据书中的阶段与软件业的对比我忽然发现自己好像,不,就是存在于玩具阶段(写程序练习数据结构/算法,用新语言尝试Hello World)。由此可见自己的离软件开发还远着呢,所以自己要走的路还很远啊。基础,基本功是最重要的,这也是老师们经常强调的。