今天阅读了构建之法的第一章,第一章主要讲解了计算机科学的领域,软件的特性,软件工程,软件工程与计算机科学的关系。
我过去一直以为软件就是一大长串代码组合在一起,并且我以为写软件就是写代码,然后将它封装起来,通过第一章阅读明白了软件=程序+软件工程,而程序=数据结构+算法,程序指的是源程序,就是一行行的代码,程序要对数据进行操作,这些数据有些是静态的,有些是动态的,但是光有代码和静态数据不行,一个复杂的软件要有软件构架,软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等,这些都是软件构建的过程。软件工程的核心部分就是构建管理,源代码管理,软件设计,软件测试,项目管理,所以有一个结论 软件=程序+软件工程,有一个推论 软件企业=软件+商业模式。还了解了软件开发的不同阶段,先是玩具阶段,其次是业余爱好阶段,再次是探索阶段,最后是成熟的产业阶段。
软件工程是什么?软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程,软件工程包括下领域:软件需求分析、软件设计、软件构建、软件测试和软件维护,软件工程和下列的学科相关:计算机科学,计算机公程,管理学,数学,项目管理学,质量管理,软件人体工学,系统工程,工业设计和用户界面设计。软件具有复杂性,不可见性,易变性,服从性,非连续性,这些特性是由软件的本质所决定的,软件还有其他特性:有许多不同的程序设计语言、软件工具和软件开发平台,存在不同的软件开发流程,软件团队中存在许多不同的角色,软件通常既可以存储在磁带上,也可以存在在CD/DVD上。
在以后的学习中我会认真的认识软件工程。