代码改变世界

读书笔记1(软件 = 程序 + 工程)

2017-02-05 11:07  ovols  阅读(218)  评论(0编辑  收藏  举报

        今天我阅读了《构建之法》的第一章——概论,其中有一个等式对我的感触特别深,那就是:软件 = 程序 + 工程。诚如书上所说,绝大多数的像我们一样刚进入软

件工程的学生都知道:程序 = 数据结构 + 算法。而我们却一直认为软件就是程序,学好了程序便相当于学好了软件工程。其实不然,软件工程绝非学好程序就可以学好的。

         正如书中的例子所说,移山公司的程序员阿超为儿子编写的一个小程序在经过老师、教导主任以及校长的不同需求之下进行了很多次的修改,而且最后还要考虑到当

网站打不开时对网站的管理和维护。从这里面我们可以看出软件工程不同于其他计算机学科的最大特点,也就是老师上课所讲的:软件工程的软件是做给人用的,也就是说

我们做的程序要满足用户的需求,同时也要根据用户的各种需求来修改自己的程序,在修改的过程中我们不停地对自己的算法以及数据进行修正和删改,这就是一个构建的

过程。当我们得到一个开发软件的项目的时候,我们需要做:需求分析,软件测试,软件维护等等,而这所有的工作都是以客户的需求为中心点的。从这里我们不难看出,

软件工程绝非程序那么简单。

         第二,书中讲述的关于软件的“好与坏”引发了我的深思。世界上没有完美的软件,即使软件没人任何Bug,同时在任何操作系统之下都能够完整的运行,但是如果客

户对它不满意,或者单纯的是客户不喜欢它的界面,我们也不能够说它是一个好的软件。世界上每一个人的审美和需求都是不尽相同的,因此我们需要尽量做出最满足大部

分人需求和审美的软件,与此同时我们也不能够一条路走到黑,不能因为个别客户的需求不同而影响整个软件的开发进度。而这也是软件工程的一个重要的任务——决定一

个软件在什么时候能够“足够好”,可以发布。

         最后,用书中的一句话总结软件工程——软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程