20世纪中期,计算机从原来只应用于军用领域,逐渐向民用领域渗透。在那个时候,编写程序的工作显得非常神秘,因为昂贵的计算机并不是每个普通人都能够接触到的。程序员写程序的原则是要在有限的处理速度和存储空间下,编写出同时拥有较快的执行速度且要有较小体积的程序,与现在相比这主要更考验程序编写员个人的聪明才智。
但是随着计算机的应用领域得到广泛的发展,对软件的需求和复杂度也急剧上升,传统的软件开发模式根本不能满足用户对质量、效率的需求。为了解决这个问题,后来才提出了软件工程的概念,它的指导思想是通过计算机科学的技术基础和工程特有的管理方式,按照预定的费用和时间,完成能够满足用户需求软件的开发和后期维护。软件是一种很特殊的产品,它不同与我们在日常生活中所接触的物质和精神产品,它很显然不会是物质产品,我们却可以使用它,但又不会有人像阅读其他精神产品一样阅读软件的源代码。
软件和我们所常见的工业产品不同,工业产品的生产成,主要在原材料、生产管理、设备损耗上,但是在生产线上生产软件的费用却很低。人们在购买了工业产品后,就拥有了这个产品的所有权和使用权,但购买软件产品后,只是拥有它的使用权。我们可以清楚地看到生产线上生产工业产品的流程、进度,但软件的生产过程一般在人的大脑中进行,基本没有办法进行度量。软件工程的其中一个主要目的,就是要把这种无法度量的思维活动,定量、可视地表现出来。(本文来源:正航仪器)
http://www.zhenghangsb.com