如上所述,软件是充分发挥计算机系统效率的是一组程序及其有关资料和说明的组合。
从计算机系统的观点,除了硬件,就是软件。软件是事先编好的程序及其相应资料说明的集合。软件存放在计算机里,由计算机执行软件中包含的指令,按照指令的要求去完成特定的任务,软件能够对计算机处理对象进行更合理的控制;诊断和分配计算机系统内部的资源;……等等。总之,软件使用户更方便、更有效地使用计算机。
存储在计算机中的软件不外乎两类方式,一类是能够被计算机执行的程序代码,这类代码被以应用程序的形式出现;另一类是数据文件。从用户使用的角度看,数据文件与应用程序同样重要。比如,人们用Word编写的论文文件是数据文件,而负责处理DOC文档的Word系统则是应用程序。从狭义的是角度讲,人们通常把能够完成一定功能的应用程序叫做软件,而把由应用程序所处理的文档(不是可运行的程序)成为数据文件。由此来看,我们可以说软件是程序又不是程序。从发展的历史来看,软件的概念是程序设计概念的一次认识上的飞越。
从应用的角度来看,未配备任何软件(应用程序)的计算机叫“裸机”,裸机是很难使用的。但是,一旦穿上了软件这件“外衣”,使用环境就改变了,用户不必过多地了解计算机本身,也不必了解它的语言(指机器语言)、原理和操作方式。因此,从使用计算机的角度看,软件是合理使用计算机系统的一个组成部分,便于用户熟悉和掌握计算机的使用,扩大计算机的功能。
从计算机的角度看,计算机硬件是一台真实的机器,每穿上一件软件“外衣”时,这台机器就得到某种程度的改造,成为接近某种理想的计算机,我们称之为“虚拟”计算机。如果某虚拟计算机再穿上一件特定的“外衣”,那么又成为能完成某一特定任务的理想机器,……这样下去,使这种虚拟计算机越来越接近某种理想机器,也就越接近用户的需要,用户使用起来越方便。当然,软件并非越多越好,而是要符合需要,这有点象人们穿衣服,并不是衣服穿得越多越好看,而应穿得合适,应分场合,才能显出落落大方。
一般来说,软件应具有以下特征:
. 实现一定的系统功能。
. 有实用价值,可商品化,有友好的用户界面,提供易读的文档。
. 有生产周期,利用软件支撑环境和开发工具。
作为计算机用户,人们要让计算机为自己提供服务,不外乎两种可能,一种是操作员级的,一种是程序员级的。所谓操作员级,就是指计算机用户直接在操作系统上操作计算机或者操作已经设计好的应用软件,从而完成特定的任务,这种用户对计算机的操作是直观的、比较简单的。所谓程序员级,是指用户要解决的问题比较复杂,必须在充分了解和规划的基础上,利用特定的计算机语言书写程序,然后让计算机系统执行编写好的程序,从而解决自己的计算问题。