计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件的概念
计算机软件
计算机软件
计算机软件(Computer Software)是指计算机系统中的程序、数据及其文档。程序[1]是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。
软件的含义
(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
(2)程序能够满意地处理信息的数据结构。
(3)描述程序功能需求以及程序如何操作和使用所要求的文档。
软件的特点
(1)计算机软件与一般作品的目的不同。计算机软件多用于某种特定目的,如控制一定生产过程,使计算机完成某些工作;而文学作品则是为了阅读欣赏,满足人们精神文化生活需要。
(2)要求法律保护的侧重点不同。著作权法一般只保护作品的形式,不保护作品的内容。而计算机软件则要求保护其内容。
(3)计算机软件语言与作品语言不同。计算机软件语言是一种符号化、形式化的语言,其表现力十分有限;文字作品则是人类的自然语言,其表现力十分丰富。
(4)计算机软件可援引多种法律保护,文字作品则只能援引著作权法。
2不同点
编辑
表现形式不同
软件
软件
硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。
生产方式不同
软件是开发,它是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
要求不同
硬件产品允许有误差,而软件产品却不允许有误差。
维护不同
硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。
3计算机软件分类
编辑
总述
计算机软件总体分为系统软件和应用软件两大类:
系统软件是各类操作系统,如windows、Linux、UNIX等,还包括操作系统的补丁程序及硬件驱动程序,都是系统软件类。
应用软件可以细分的种类就更多了,如工具软件、游戏软件、管理软件等都属于应用软件类。
系统软件
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。
应用软件
应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。
较常见的有:
文字处理软件如WPS、Word等
信息管理软件
辅助设计软件如AutoCAD
实时控制软件如极域电子教室等
教育与软件
4计算机软件系统的组成
编辑
[pre]所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于开发、使用和维护的有关文档。软件系统可分为系统软件和应用软件两大类。 1系统软件 系统软件由一组控制计算机系统并管理其资源的程序组成,其主要功能包括:启动计算机,存储、加载和执行应用程序,对文件进行排序、检索,将程序语言翻译成机器语言等。实际上,系统软件可以看作用户与计算机的接口,它为应用软件和用户提供了控制、访问硬件的手段,这些功能主要由操作系统完成。此外,编译系统和各种工具软件也属此类,它们从另一方面辅助用户使用计算机。下面分别介绍它们的功能。
1)操作系统(Operating System, OS) 操作系统是管理、控制和监督计算机软、硬件资源协调运行的程序系统,由一系列具有不同控制和管理功能的程序组成,它是直接运行在计算机硬件上的、最基本的系统软件,是系统软件的核心。操作系统是计算机发展中的产物,它的主要目的有两个:一是方便用户使用计算机,是用户和计算机的接口。比如用户键入一条简单的命令就能自动完成复杂的功能,这就是操作系统帮助的结果;二是统一管理计算机系统的全部资源,合理组织计算机工作流程,以便充分、合理地发挥计算机的效率。操作系统通常应包括下列五大功能模块:
(1)处理器管理。当多个程序同时运行时,解决处理器(CPU)时间的分配问题。 (2)作业管理。完成某个独立任务的程序及其所需的数据组成一个作业。作业管理的任务主要是为用户提供一个使用计算机的界面使其方便地运行自己的作业,并对所有进入系统的作业进行调度和控制,尽可能高效地利用整个系统的资源。 (3)存储器管理。为各个程序及其使用的数据分配存储空间,并保证它们互不干扰。 (4)设备管理。根据用户提出使用设备的请求进行设备分配,同时还能随时接收设备的请求(称为中断),如要求输入信息。 (5)文件管理。主要负责文件的存储、检索、共享和保护,为用户提供文件操作的方便。
操作系统的种类繁多,依其功能和特性分为批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。按其发展前后过程,通常分成以下六类: (1)单用户操作系统(Single User Operating System) 单用户操作系统的主要特征是计算机系统内一次只能支持运行一个用户程序。这类系统的缺点是计算机系统的资源不能充分利用。微型机的DOS、Windows操作系统属于这一类。 (2)批处理操作系统(Batch Processing
Operating System) 批处理操作系统是20世纪70年代运行于大、中型计算机上的操作系统。当时由于单用户单任务操作系统的CPU使用效率低,I/O设备资源未充分利用,因而产生了多道批处理系统,它主要运行在大中型机上。多道是指多个程序或多个作业(Multi-Programs or Multi Jobs)同时存在和运行,故也称为多任务操作系统。IBM的DOS/VSE就是这类系统。 (3)分时操作系统(Time-Sharing Operating System) 分时系统是一种具有如下特征的操作系统:在一台计算机周围挂上若干台近程或远程终端,每个用户可以在各自的终端上以交互的方式控制作业运行。
在分时系统管理下,虽然各用户使用的是同一台计算机,但却能给用户一种“独占计算机”的感觉。实际上是分时操作系统将CPU时间资源划分成极小的时间片(毫秒量级),轮流分给每个终端用户使用,当一个用户的时间片用完后,CPU就转给另一个用户,前一个用户只能等待下一次轮到。由于人的思考、反应和键入的速度通常比cpu的速度慢得多,所以只要同时上机的用户不超过一定数量,人们不会有延迟的感觉,好像每个用户都独占着计算机。分时系统的优点是:,经济实惠,可充分利用计算机资源;第二,由于采用交互会话方式控制作业,用户可以坐在终端前边思考、边调整、边修改,从而大大缩短了解题周期;第三,分时系统的多个用户间可以通过文件系统彼此交流数据和共享各种文件,在各自的终端上协同完成共同的任务。分时操作系统是多用户多任务操作系统,UNIX是国际上的分时操作系统。此外,UNIX具有网络通信与网络服务的功能,也是广泛使用的网络操作系统。
(4)实时操作系统(Real-Time Operating System) 在某些应用领域,要求计算机对数据能进行迅速处理。例如,在自动驾驶仪控制下飞行的飞机、导弹的自动控制系统中,计算机必须对测量系统测得的数据及时、快速地进行处理和反应,以便达到控制的目的,否则就会失去战机。这种有响应时间要求的快速处理过程叫做实时处理过程,当然,响应的时间要求可长可短,可以是秒、毫秒或微秒级的。对于这类实时处理过程,批处理系统或分时系统均无能为力了,因此产生了另一类操作系统——实时操作系统。配置实时操作系统的计算机系统称为实时系统。实时系统按其使用方式可分成两类:一类是广泛用于钢铁、炼油、化工生产过程控制,武器制导等各个领域中的实时控制系统;另一类是广泛用于自动订票系统、情报检索系统、银行业务系统、超级市场销售系统中的实时数据处理系统。
(5)网络操作系统(Network Operating System) 计算机网络是通过通信线路将地理上分散且独立的计算机联结起来的一种网络,有了计算机网络之后,用户可以突破地理条件的限制,方便地使用远处的计算机资源。提供网络通信和网络资源共享功能的操作系统称为网络操作系统。 (6)微机操作系统 微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一单用户多任务系统,经过十几年的发展,已从Windows 3.1发展到目前的Windows
NT、Windows 2000和Windows XP,它是当前微机中广泛使用的操作系统之一。Linux是一个原码公开的操作系统,目前已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。 2)语言处理系统(翻译程序) 如前所述,机器语言是计算机能直接识别和执行的程序语言。如果要在计算机上运行语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的语言都有相应的翻译程序。 对于语言来说,翻译的方法有两种: 一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。
另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。 对源程序进行解释和编译任务的程序,分别叫做编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等语言,使用时需有相应的编译程序;BASIC、LISP等语言,使用时需用相应的解释程序。 3)服务程序
服务程序能够提供一些常用的服务性功能,它们为用户开发程序和使用计算机提供了方便,像微机上经常使用的诊断程序、调试程序、编辑程序均属此类。 4)数据库管理系统 在信息社会里,社会和生产活动产生的信息很多,使人工管理难以应付,人们希望借助计算机对信息进行搜集、存储、处理和使用。数据库系统(Data Base System, DBS)就是在这种需求背景下产生和发展的。 数据库是指按照一定联系存储的数据集合,可为多种应用共享。数据库管理系统(Data Base Management System, DBMS)则是能够对数据库进行加工、管理的系统软件。其主要功能是建立、消除、维护数据库及对库中数据进行各种操作。数据库系统主要由数据库(DB)、数据库管理系统(DBMS)以及相应的应用程序组成。数据库系统不但能够存放大量的数据,更重要的是能迅速、自动地对数据进行检索、修改、统计、排序、合并等操作,以得到所需的信息。这一点是传统的文件柜无法做到的。
数据库技术是计算机技术中发展最快、应用最广的一个分支。可以说,在今后的计算机应用开发中大都离不开数据库。因此,了解数据库技术尤其是微机环境下的数据库应用是非常必要的。 2应用软件 为解决各类实际问题而设计的程序系统称为应用软件。从其服务对象的角度,又可分为通用软件和专用软件两类。 1)通用软件 这类软件通常是为解决某一类问题而设计的,而这类问题是很多人都要遇到和解决的。例如:文字处理、表格处理、电子演示等。 2)专用软件 在市场上可以买到通用软件,但有些具有特殊功能和需求的软件是无法买到的。比如某个用户希望有一个程序能自动控制车床,同时也能将各种事务性工作集成起来统一管理。因为它对于一般用户是太特殊了,所以只能组织人力开发。当然开发出来的这种软件也只能专用于这种情况。
软件产品是指向用户提供的计算机软件、信息系统或设备中嵌入的软件或在提供计算机信息系统集成、应用服务等技术服务时提供的计算机软件。
特性:
编辑
软件是一种逻辑产品,不是客观的实体,看不见摸不着,具有无形性,它是脑力劳动的结晶,它以程序和文档的形式保存在作为计算机存储器的磁盘和光盘介质上,通过操作计算机才能体现出它的功能和作用。
软件产品的生产主要是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发研制完成后,通过复制就可以产生大量的软件产品,不需要再花人力和物力。
软件产品不会用坏,不存在磨损、消耗等问题。
软件产品生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做的”。
软件费用不断增加,软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本非常高。
2政策
编辑
软件产品经登记生效后,自2000年6月24日起至2010年底以前,对增值税一般纳税人销售其自行开发生产的软件产品,按17%的法定税率征收增值税后,对其增值税实际税负超过3%的部分实行即征即退政策。所退税款由企业用于研究开发软件产品和扩大再生产,不作为企业所得税应税收入,不予征收企业所得税。
软件产品登记的有效期为五年,有效期满后可申请续延。