最近我花了几天的时间看了一下《现代软件工程基础》这本教材,阅读完这本教材后,我有了一些问题,如下:
一、软件工程这个学科将来会发展成什么样子?
书中提到:”软件“一词事实上表达了一个很宽泛的概念,即任何构筑在建筑、机械、电子等物理设备和设施之上可灵活调整的流程、规则、服务和各种处理逻辑。而软件工程则是可以理解为工程化的软件开发或者软件开发的工程化。经过多年的发展,软件的运行、使用和服务模式不断变化,已经形成了多种不同维度的分类。与此同时,软件表现出了越来越强的渗透性,其应用的触角已经深入人类社会经济生活的方方面面。软件应用范围的不断扩大以及软件开发要求的不断提高使得工程化的软件开发逐渐成为共识,从而形成了软件工程这一学科。作为一名软件工程专业的学生,我的心中不由得产生了一个疑问,软件工程这个学科将来会发展成什么样子?
二、除了代码风格、代码逻辑、安全与可靠性编码这三个方面外,还有没有可以提高编码质量的方法?
书中对于这三个方面是这样说的:代码从某些方面看就像文学作品一样,有它的读者,好的代码风格可以让代码具有自解释性,即在没有额外文档的情况下也能通过仅阅读代码从而知道其功能。高质量编码要求代码逻辑严密,尽量避免错误。开发人员需要了解一些容易出现安全性和可靠性问题的函数,并尽量使用不容易出错的安全函数。那么除了这三个方面,还有什么可以提高编码质量的方法呢?
三、软件复用会不会导致程序员的水平大幅下降,使其缺乏创新能力?
书中对软件复用是这样子介绍的,随着软件开发项目所面临的软件需求愈发复杂以及所开发的软件系统规模愈发庞大,从零开始的开发方式已经无法满足软件开发在快速交付、成本控制、质量保障等方面的要求。这些问题催生了软件复用的提出。在1968年的NATO软件工程会议上,McIlroy等在论文中第一次提出了软件复用的概念。软件复用意味着利用已有的知识、经验或软件制品来开发新的软件产品,这种建立在已有基础之上的软件开发方式能够有效提高开发效率、降低开发成本、提高软件质量、并且缩短产品发布周期。那么在频繁的复用后,程序员的个人水平是否会下降呢,他们的创新能力是否会降低呢?