软件工程是什么
对于这个问题,我不想用那些概念的话语来解释这个名词,只想写下一些自己的理解。
在自己实现的项目中,没有具体的开发计划,遇到问题的时候只是见招拆招,一个一个地解决。有些问题虽然解决了,但是有会出现一些新的问题。维护起来非常困难。有时候发现自己写的代码都是重复的,但不知道怎么改进,合成一个方法。不懂得举一反三。学习了软件工程这门课程,解开了我的很对困惑。
软件工程学让我知道,软件项目的开发其实是一个工程,整个开发过程是可以有效组织起来的;对于开发的各个阶段,已经有很多解决问题的最佳实践,有很多方法帮助我们高效完成任务;我们还可以借助工具协助管理,提升开发销量。
编程方法,编程技术只是术的体现,软件工程就是对道的思考。什么又是道呢?
亚马逊的创始人杰夫·贝索斯(Jeff Bezos)曾在演讲的时候说过
人们经常问我,未来10年什么会被改变,我觉得这个问题很有意思,但也很普通。从来没有人问我,未来10年,什么不会变?
对于开发领域,我相信大家对数据结构、算法、面向对象思想、设计模式、软件工程。都不会很陌生。基本上所有关于软件的事情,都绕不开软件工程。
软件工程的知识架构
软件工程的目的就是聚集与质量,构建和维护高质量的软件,所以要知道质量焦点是软件工程的基石。
软件工程 = 工具 + 方法 + 过程。工具、方法、过程就构成了软件工程的三要素。
如何学习软件工程
- 通过实践去学习。
- 领悟软件工程的思想。
- 写下自己对软件工程的感悟。
参考书目
- 《构建之法》
- 《人月神话》
- 《人件》
- 《持续交付》