随着软件的深入发展,它可能是最为复杂的工业产品之一

“软件”这个词20世纪60年代初从国外传来,它由soft和ware两个词组合而成,有人译为“软制品”,也有人译为“软体”,现在大陆称之为“软件”。一直以来,软件缺乏一个统一的定义,业界比较统一的认识是:软件是与硬件相互依存的计算机系统的组成部分,它包括程序、程序运行时所需的数据及相关文档。其中,程序是按特定功能设计的适合于计算机运行的指令序列;数据是使程序能正常处理信息的数据结构;文档是与软件开发、维护和使用有关的,方便人们阅读、修改和维护程序的图文资料。软件同传统的工业产品相比,具有以下的特性。

随着软件的深入发展,它可能是最为复杂的工业产品之一

(1)软件具有抽象性。软件是以程序、数据和文档的集合形式出现的,看不见,摸不着,它被保存在计算机的存储介质上,只有通过计算机的执行才能实现其功能。

(2)软件具有可复制性。软件一旦被开发出来后,通过简单复制就可以产生大量软件产品。

(3)软件具有耐用性。软件在使用过程中,不会被磨损,不会出现老化问题。但是软件在使用过程中会为了适应需求环境的变化而被修改,当修改的成本不可接受时,软件就会被淘汰。

随着软件的深入发展,它可能是最为复杂的工业产品之一

(4)软件具有可移植性。软件在经过简单修改或不经修改就可以运行于不同的软硬件环境,主要体现在程序代码的可移植性。但是如何提高软件的可移植性仍然是软件工程师面临的主要问题之一。

(5)软件具有复杂性。软件产品的开发不仅要用到计算机的专业知识,而且涉及到各行各业的软件应用领域的专门知识,是目前为止最为复杂的工业产品之一。

(6)软件开发的效率低。不同于现代工业产品是通过对各种厂商生产的零部件进行组装而成,大多数软件需要为不同用户的不同需求专门开发,从而使软件产品的开发至今尚未完全摆脱手工作坊的方式,生产效率较低。

随着软件的深入发展,它可能是最为复杂的工业产品之一

(7)软件开发的成本高。软件的开发工作一方面需要投入大量的、复杂的、高强度的脑力劳动,使其开发成本较高;另一方面,软件开发中重复修改导致的工作量增大、工期延长等问题也增加了软件的开发成本。

(8)软件开发和运行受到的制约因素多。其中包括体制管理、使用者的观念及心理等因素的影响。

随着软件的深入发展,它可能是最为复杂的工业产品之一

随着软件技术的不断发展和软件应用领域不断深入,软件根据不同标准被划分为多种类型。例如,从功能上看,软件可以分为系统软件、支撑软件和应用软件;从软件服务对象上看,软件可以分为项目软件(也称定制软件)和产品软件,项目软件如铁路售票系统,产品软件如文字处理软件;从开发软件的规模,如人数、时间以及完成的源程序行数上看,软件可以分为小型软件、中型软件、大型软件和超大型软件。


分享到:


相關文章: