我是上海海洋大学的一名学生,就读于信息学院的软件工程专业。在翻开这本书之前,我对这个专业一直是很模糊的概念。除了学校的小学期,也没有契机,能让我去编写一个小程序,对于一些编程技巧和方法还是比较陌生。
所以,在这个周末,我学习了《构建之法》的第一章。一开始我以为是很枯燥的教科书类的题材,只有系统的代码教学之类的内容,但是翻了几页后,竟然出乎我的意料,编者的语言相当幽默有趣,引人入胜。于是,我津津有味的读了下去。
“软件=程序+软件工程”这句名言,几乎所有的程序员都知道,但是大家心中也有疑虑,软件行业赖以生存的“软件”,程序员用来安身立命的“程序”是什么,什么又是构建呢?在书中,我找到了很好的解答。程序,就是指源程序,就是一行行代码,是建立在数据结构上的一些算法。程序还要对数据进行操作,这些数据有些是静态的,有些是动态的。但是光有代码和静态数据还是不行,工程师要把他们构建为机器能懂得可执行代码。一个软件不但要有合理的软件架构,软件设计与实现,还要有各种文件和数据来描述来描述各个程序文件之间的依赖关系、编译参数、链接参数等等。这些都是软件构建的过程。
还了解了软件开发背后的需求分析,软件的生命周期,维护,运营,软件的开发活动,软件开发的不同阶段,增长了我的见识,也用飞机的不同阶段作类比,介绍的更加简单浅显了。其中,也介绍了软件的五种性质。软件工程和计算机科学与技术的关系也做了介绍。根据软件特性及工程这一概念的了解,可以看到,计算机科学中的理论研究部分可以从形式上证明,与数学,离散数学,数理逻辑密切相关;计算机科学中与实践相关的部分,都和数据以及其他学科发生关系;软件工程则和人的行为、现实社会的需求息息相关。软件工程的研究目标需要人员的参与,可以是软件的开发人员也可以是软件的用户,这一特征与其他计算机科学的子领域明显不同。两者的侧重点,知识领域也不同。
读到这一章末尾,我终于明白了软件工程的目标——创造“足够好”的软件。这让我想起,在我们生活中,电脑上,手机上,我们都下载了许多软件,来满足我们日常生活中的需要。这些好软件,方便了我们,也给我们带来了快乐。
总的来说,现代生活中,少不了软件。也给了我学习软件工程的目标——制造出好软件,方便你我他。