软件 = 程序 + 软件工程(构建之法读书笔记一)

简介:   在我正式开始阅读这本书之前,我对于软件工程这个词汇的概念还是模糊的,认为它只是停留在是一门学科,一个专业,或者是一大堆硬生生的理论知识,然而当我读完构建之法这本书的推荐序和第一,第二版前言开始,我就深刻意识到我之前对于软件工程的肤浅认识是多么错误。

  在我正式开始阅读这本书之前,我对于软件工程这个词汇的概念还是模糊的,认为它只是停留在是一门学科,一个专业,或者是一大堆硬生生的理论知识,然而当我读完构建之法这本书的推荐序和第一,第二版前言开始,我就深刻意识到我之前对于软件工程的肤浅认识是多么错误。

  我看书一般喜欢从从书的封面开始看起,或许这也是大多数人看书的习惯,·在本书的封面素描着一副鲁班锁,刚开始让人感觉有点奇怪,明明是一本讲软件工程的书,为什么要用鲁班锁做为封面图案呢?原来玄机深藏于鲁班锁的内部,这鲁班锁从外部看,是严丝合缝的十字立方体,但是各个部件在内部凹凸部分互相咬合,这正是“构建之法”的体现。

  上完数据结构的课程后,或者在更早之前,“程序=数据结构+算法”这句话,就早已深记于心,可是一个实现理论的程序在实际的学习和生活中好像并没有什么用,我们在工作中,老板不可能叫你完成一个求最短路径算法的实现,我们要完成的项目是包括需要求最短路径在内的各种程序的集合,本书中的引例就非常详细并且生动的说明了所谓的程序,软件,软件工程这三者之间的关系,从完成一个随机打印小学二年级的加减法题目,到由此带来的用户和需求,进而扩展为支持例如二元一次方程的,并且网站可以长时间访问的一个工程。从一个简单的程序,扩展到满足各种功能的应用软件,再扩展到能保证维修的软件服务,这正是软件工程的这一“工程”的一步步构建的过程。

  一般来说,软件团队都要用户提出需求开始的,再到软件的整体构建,然后是软件设计,这是各个功能的代码实现阶段,再者是软件测试阶段,测试完之后,投入到实际生活中使用,在实际生活中接受用户的各种各样的反馈,解决bug,维护软件。这是一整个软件开发的流程,再加上对源代码以及项目的管理,构成了软件开发的核心,广义上的软件工程还包括用户体验部分,交互界面的设计部分等等,由此,作者得出一个推论:

               软件 = 程序 + 软件工程

这个推论让我对软件这个概念有了深刻的认识。

       然而软件工程这个名词解释是什么呢,作者给出的解释是“·软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程;软件工程包括下列领域:软件需求分析,软件设计,软件构建,软件测试和维护;软件工程和下列学科相关:计算机科学,计算机工程,管理学,数学等等。”

       从作者讲到的软件的不同开发阶段,也让我对软件的开发有了进一步认识,那就是一个成熟的软件都是从一个玩具模型(简单的程序)开始然后慢慢发展到影响到一个公司或者一群用户的生态系统,例如淘宝和Windows操作系统,如果说这两者都出现了更新上严重错误,那么这将会对人们的生产生活造成巨大的影响。

       读完本书的绪论,就激起了我对软件工程巨大的兴趣,也彻底颠覆了我原来对软件及软件工程的理解。一个复杂且庞大的软件的构建过程不亚于一栋大厦的建造过程,用“工程”称其,当之无愧。 

目录
相关文章
|
存储
【读书笔记】RISC存储程序机的电路设计(1)
【读书笔记】RISC存储程序机的电路设计(1)
173 1
【读书笔记】RISC存储程序机的电路设计(1)
|
存储
【读书笔记】RISC存储程序机的电路设计(2)
【读书笔记】RISC存储程序机的电路设计(2)
184 0
【读书笔记】RISC存储程序机的电路设计(2)
|
存储
【读书笔记】RISC存储程序机的电路设计(3)
【读书笔记】RISC存储程序机的电路设计(3)
117 0
【读书笔记】RISC存储程序机的电路设计(3)
|
存储 索引
【读书笔记】RISC存储程序机的电路设计(4)
【读书笔记】RISC存储程序机的电路设计(4)
197 0
【读书笔记】RISC存储程序机的电路设计(4)
|
敏捷开发 架构师 测试技术
软技能2:软件开发者职业生涯指南-读书笔记
整书有很多内容,从成为一名软件开发者一直到完整的职业生涯,这里只是记录自己阅读过程中感受最深或者最受用的部分。
软件需求分析读书笔记2
这是第二个读书笔记,通过读这本书真是受益匪浅啊,里面有很多的知识都不知道。要一点点的查,学到的知识也很多。      需求工程有三个主要任务:第一,需求工程必须说明软件系统将被应用的环境极其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式,方法所施加的限制和约束,也即要同时说明软件需要做什么和为什么需要做。
1037 0
"软件随想录" 读书笔记
人员管理: 三种方法: 军事化管理方法, 经济利益驱动法, 认同法. 军事化管理方法不行. 经济利益驱动法也不行. 认同法, 其中一条建议是一起干活的人一起吃饭. 但这种做法比较困难. 设计的作用 寸土必争, 不放过任何注意细节, 做微小的改进.
1282 0