软件=程序+软件工程,以前只知道程序=数据结构+算法,而软件呢则是很多程序组成起来的再加上一些软件开发过程的方法步骤组成的。其中包括需求分析,一个软件的需求是什么,然后进行开发阶段,然后还要进行不断的改进,这就是软件的构建。同时还要进行源代码的管理,版本的控制,这些都是软件的质量保障,验证过程就是软件测试。
书中提到软件的开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)是软件工程的核心部分,从而推出了软件=程序+软件工程,扩展出了软件企业=软件+商业模式。书中将软件的开发阶段与飞机的研究阶段进行了类比,说明了软件开发阶段是循序渐进的,一点一点的完成的。
其中重点提到了重要而不常用到的功能:飞机的安全功能,这也提醒我们在软件的开发过程中要全面考虑各种情况,增加软件的健壮性。
软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护的过程。软件具有复杂性、不可见性、易变性、服从性和非连续性等特殊性。
软件工程与计算机科学的关系:软件工程偏实践,计算机科学偏理论。
软件工程的目标:创建“足够好”的软件,衡量标准是用户满意度、可靠性、软件流程的质量和可维护性。