电脑软件(Computer Software)是指
计算机系统中的
程序及其
文档。程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。电脑软件一般可以分为
应用软件和
系统软件两种。
电脑硬件是构成电脑系统的各种物质实体的总称,而电脑软件是指可以运行在电脑硬件基础上的各种程序的总称,其作用是发挥和扩大电脑的功能,相当于人的思想和灵魂。电脑硬件主要为软件提供运行环境,是电脑系统的物质基础,相当于人的躯体。一台电脑只有硬件设备,是无法发挥其功能作用的。只有在电脑中安装相关软件,才能为我们解决实际问题。
软件是用户与
硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。
软件的发展过程大致可分为三个阶段。从第一台计算机上第一个程序的出现到实用的高级程序设计语言出现以前(20世纪40年代中期至50年代中))为第一阶段。从实用的高级程序设计语言出现以后到软件工程出现以前(50年代中期至60年代后期)为第二阶段。软件工程出现以后迄今(60年代后期以来)为第三阶段。
软件的基本内容包括软件语言、
软件方法学、软件工程以及软件系统。软件语言是用以书写软件的语言。它包括书写软件需求定义的需求级语言、书写软件功能规约的功能级语言、书写软件设计规约的设计级语言、书写实现算法的实现级语言以及书写软件文档的文档语言。软件方法学是以软件方法为研究对象的学科。从开发范型上看,有自顶向下的软件开发方法以及自底向上的软件开发方法。从表现形式上看,有形式方法与非形式方法。从适用范围来看,有整体性方法与局部性方法。
软件工程是应用计算机科学与数学原理制作软件的工程。它含有四个要素:第一为目标,如产品的正确性、可用性以及价格合宜等。第二为范型,它反映软件开发过程的原则与风格。范型是模型的基础,模型是范型的体现,方法又是模型的体现。一般有功能分解范型、功能综合范型等等。第三为过程,它主要包括需求、设计、实现、确认以及支撑等阶段。第四为原则,它主要涉及系统设计、软件设计、软件过程支撑以及软件过程管理等方面。如认识需求的变动性,采用稳妥的设计方法,提供高水平的支撑,提供有效的管理等等。软件系统包括操作系统、语言处理系统、
数据库系统、分布式软件系统、网络软件系统及人机交互软件系统等。操作系统是用以管理系统资源的软件,旨在提高计算机的总体效用。一般包括存储管理、设备管理、信息管理、作业管理等。语言处理系统包括各种类型的语言处理程序,如解释程序、汇编程序、编译程序、编辑程序、装配程序等。数据库系统包括数据库及其管理系统。数据库是相互关联的在某种特定的数据模式指导下组织而成的各种类型的数据的集合。数据库管理系统则是为数据库的建立、使用和维护而配置的软件,它建立在操作系统的基础上,对数据库进行统一的控制和维护。它一般包括模式翻译、应用程序的编译、查询命令的解释执行以及运行管理等部分。分布式软件系统是管理、支撑分布式计算系统的软件系统。它一般包括分布式
操作系统、分布式程序设计语言及其编译程序、
分布式数据库管理系统、分布式算法及其软件包、分布式开发工具包等。网络软件系统是在计算机网络环境中,用于支持数据通信和各种网络活动的软件系统。它主要包括通信软件、网络协议软件和网络应用系统、网络服务管理系统以及用于特殊网络站点的软件等。人机交互软件系统是人机交互系统中的软件子系统,它一般包括
人机接口软件、命令语言及其处理系统、用户接口管理系统、多媒体软件、超文本软件等。
一般来讲软件被划分为系统软件、应用软件,其中系统软件包括操作系统和
支撑软件(微软又发布
嵌入式系统,即硬件级的软件,是电脑及其它设备运算速度更快更节能)。系统软件是计算机系统中最靠近硬件层次的软件,如操作系统、编译程序等均为系统软件。它和具体的应用领域无关,解任何领域的问题一般都要用到系统软件。支撑软件是支撑其它软件的开发与维护的软件,例如:软件开发环境即为支撑软件。应用软件是特定应用领域的专用软件,如人口普查软件、飞机订票软件等。上述分类也并非绝对,而是相互有所覆盖交叉和变动,三者既有分工,又相结合,不能截然分开。
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
1.操作系统是一管理
电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与
输出设备、操作网络与管理文件系统等基本
事务。操作系统也提供一个让使用者与系统交互的操作接口。操作系统分为
BIOS、
BSD、
DOS、
Linux、
Mac OS、
OS/2、
QNX、
Unix、Windows等。
2.
支撑软件是支撑各种软件的开发与维护的软件,又称为
软件开发环境(SDE)。它主要包括
环境数据库、各种接口软件和工具组。著名的软件开发环境有IBM公司的Web Sphere,
微软公司的“ Microsoft Visual Studio .NET”等。包括一系列基本的工具(比如
编译器,数据库管理,
存储器格式化,文件系统管理,用户
身份验证,驱动管理,网络连接等方面的工具)。
但是
系统软件并不针对某一特定应用领域。而应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。