计算机文化基础—计算机软件

来源:互联网 发布:酷家乐是软件吗 编辑:程序博客网 时间:2024/03/29 17:53

第3章计算机软件

软件概述

系统软件

应用软件

软件工程

计算机软件的应用

3.1 软件概述

3.1.1 计算机软件

软件

软件是计算机的重要组成部分。软件是指能指挥计算机工作的程序与程序运行时所需要的数据,以及与这些程序和数据相关的文档说明。软件是用户与机器的接口。

程序

程序由计算机基本的操作指令组成,由程序员用计算机语言编写而成的。计算机按照程序中的命令执行操作,解决问题,完成任务。

软件与程序的发展

最初,人们使用的程序都由用户自己编写,随着程序的复杂程度以指数形式增长,编程人员必须经过大量的培训掌握专业技能,从而成立了一些软件公司。软件公司的产品不一定对每个公司都适合,因此有的公司也组织人员编写具有特定功能的程序。

3.1.2 软件与硬件

  硬件

硬件是看得见摸得到的实体,如CPU、存储器、显示器、键盘等。

   软件

软件是相对硬件而言的,是看不见摸不着无形的东西。计算机的硬件只能按照程序员给予它的指令按部就班地运行。

软件通常分为系统软件与应用软件。系统软件是管理计算机的软件,应用软件是为解决各种实际问题而设计的软件。 

软件和硬件是一个完整的计算机系统中互相依存的两大部分,其关系主要体现在以下几个方面。

(1)硬件和软件互相依存。硬件是软件赖以工作的基础,软件的正常工作是硬件发挥作用的唯一途径。计算机系统必须要配备完善的软件系统才能正常工作。

(2)硬件和软件无严格界线。随着计算机技术的发展,在许多情况下,计算机的某些功能既可以由硬件实现,也可以由软件来实现。

(3)硬件和软件协同发展。硬件的高速发展为软件的发展提供了支持,软件依托硬件的高速运算能力和大容量的存储而发挥作用。

3.1.3 软件兼容性

软件兼容问题是指软件与硬件、操作系统或其他软件之间的冲突问题。造成不兼容的原因很多,主要有以下几个方面。

(1)操作系统不兼容

不同的操作系统几乎不兼容。针对Windows系统开发的软件,在Linux系统上可能无法运行。

(2)硬件不兼容

有的软件对机器的内存要求较高,当机器实际内存达不到要求时,软件或者运行慢或者根本就不能运行,如3D MAX。

有的软件需要有高质量的显卡才能生成高质量的图形,而实际使用的机器可能不满足要求,如Adobe Premiere 。

(3)软件之间不兼容

不同软件同时安装时可能会发生冲突。如微软的Studio.NET 2002和Office 2003,如果同时安装在一台机器上,软件不能正常使用。

3.1.4 软件版本

软件的版本很多,安装任何软件,首先要区别软件的不同版本。

l  Alpha版(内部测试版):一般只在软件开发公司内部运行,不对外公开。主要用于开发人员对软件产品进行测试、检查,验证产品的功能等。

l  Beta版(外部测试版):软件开发公司为进行对外宣传,将非正式产品免费发送给潜在用户,让用户测试该软件的不足以及存在的问题,以便在正式发行前进一步改进和完善。可通过Internet免费下载,也可以向软件公司索取。

l  Demo版(演示版):主要用于演示正式软件的部分功能,让用户从中获知软件的基本操作,为正式产品的发售扩大影响。该版本可以从Internet上免费下载。

l  Enhance版(增强版或加强版):如果是一般软件,通常称为“增强版”,加入了一些新功能;如果是游戏,称为“加强版”,加入了一些新的场景和情节等。

l  Free版(自由版):一般是个人或自由软件联盟组织制作的软件,免费使用,没有版权,也可以通过Internet免费下载。

l  Full Version版(完全版):是最终正式发售的版本。

l  Shareware版(共享版):有些公司为了吸引客户,允许用户通过Internet免费下载他们的某些软件。不过,共享版软件多会带有使用时间或次数的限制。用户可以利用在线注册或电子注册成为正式版用户。

l  Release版(发行版):非正式版带有时间限制,也是为扩大影响所做的宣传策略之一。

l  Upgrade版(升级版):当你拥有某一软件旧的正式版本时,可以购买升级版,将你的软件升级为最新版。主要是为了给原来的正式版用户提供优惠。如瑞星杀毒软件。

3.1.4 软件版权

软件同其他产品一样受版权保护。最初人们需要的软件,往往由个人或使用单位自行编写,而现在的软件大多数由软件公司编写,并作为商品出售。

版权是授予程序的作者或者版权所有者的独占权利的一种合法的保护形式,只有版权的所有者才唯一享有拷贝、发布、出售、更改软件等诸多权利。因而任何未经许可的即复制、销售、更改等都可能会引起法律问题。

我国在2001年12月20日公布并于2002年1月1日起实施的《计算机软件保护条例》,对软件开发者和软件都做了明确的定义,有效保护了著作权人的权益。促进了软件产业和国民经济信息化的快速发展。

3.2 系统软件

系统软件是用来管理、监控和维护计算机的软件,它是为整个计算机系统所配置的、必不可少的软件,其他程序都在它的支持下编写和运行。

3.2.1 操作系统

●操作系统是最基本、最重要的系统软件,由一组控制计算机系统并对计算机系统进行管理的程序组成,是用户与计算机硬件系统的接口,并为用户和应用软件提供了访问与控制计算机硬件的桥梁。

●每台计算机都至少需要一种操作系统,没有操作系统,计算机就无法启动。只有安装操作系统后,计算机才能执行读、写或计算操作。

●计算机的基本输入/输出系统(BIOS),用于启动操作系统,装载操作系统的过程称为自举或引导。

●计算机系统完成引导后,只有一部分操作系统驻留在计算机内存中。常驻内存的这部分叫内部命令,其他的外部命令,只在使用时才被装载到内存。  

硬件、操作系统、应用软件之间的层次关系

l  操作系统主要有以下五大管理功能

(1)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等;

(2)文件管理:又称为信息管理;

(3)存储管理:实质是对存储“空间”的管理,主要指对主存的管理;

(4)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收;

(5)进程管理:实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。

l  操作系统的分类

目前操作系统种类繁多,没有单一的分类标准。

※根据使用环境和对作业处理方式,分为批处理系统(MVX、DOS/VSE),分时系统(Windows、UNIX、XENIX、Mac OS),实时系统(iEMX、VRTX、RTOS、RT Linux)。

※根据所支持的用户数目,分为单用户系统(MSDOS、OS/2),多用户系统(UNIX、MVS、Windows)。

※根据硬件结构,分为网络系统(Netware、Windows NT、OS/2 warp)、分布式系统(Amoeba)、多媒体系统(Amiga)。

※按照操作系统所提供的功能进行分类,分为批处理操作系统、分时操作系统、实时操作系统、单用户操作系统、网络操作系统和分布式(多处理器)操作系统等。

3.2.2 几种常见的计算机操作系统

1.操作系统诞生——盘古开天地

最初的操作系统出现在IBM/704大型机上,微型计算机的操作系统诞生于20世纪70年代—CP/M。CP/M是加里·基尔达尔领导开发的操作系统,是当时操作系统的标准。

2.操作系统远古霸主——DOS

 磁盘操作系统,1981年微软推出的最早的操作系统。它不需要十分强劲的硬件系统来支持,当Windows出问题时,还得需要在DOS环境下才能得到解决。它是单用户单任务操作系统。 

3.操作系统当代大亨——Windows

从微软1985年推出Windows 1.0以来,Windows系统不断更新。从最初运行在DOS下的Windows 3.x,到风靡全球的Windows 9x、Windows 2000、Windows XP,Windows 7,Windows成为新一代的操作系统大亨。

4.诱人的小企鹅——Linux

Linux是多用户多任务操作系统。它是由芬兰赫尔辛基大学的学生Linus B. Torvolds在1991年首次编写实现的。其标志性图标是一个可爱的小企鹅。由于其源代码的免费开放,使其在很多高级应用中占有很大市场。被业界视为打破微软Windows垄断的希望。

5.神奇的精灵——FreeBSD

FreeBSD是一种运行在x86平台下的类UNIX系统。它以一个神话中的小精灵作为标志,这款操作系统主要应用于网络服务器端,不适合个人用户。也是多用户多任务操作系统。

6.多才多艺的艺术大师——BeOS

BeOS以其出色的多媒体功能而闻名,主要应用于多媒体制作、编辑、播放。

3.2.3 数据库管理系统

●数据库管理系统(Database Management System,简称DBMS )是一种用于操纵和管理数据库的大型系统软件,用于建立、使用和维护数据库。

● DBMS对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。

● DBMS提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改和查询数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。

1. 数据库管理系统功能划分

按功能划分,数据库管理系统大致可分为六个部分:

(1)模式翻译:提供数据定义语言(DDL)。用它书写的数据库模式被翻译为内部表示。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。

(2)应用程序的编译:把包含访问数据库语句的应用程序,编译成在DBMS支持下可运行的目标程序。

(3)交互式查询:提供易使用的交互式查询语言,如SQL。DBMS负责执行查询命令,并将查询结果显示在屏幕上。

(4)数据的组织与存取:提供数据在外围存储设备上的物理组织与存取方法。

(5)事务运行管理:提供事务运行管理及运行日志、事务运行的安全性监控和数据完整性检查、事务的并发控制及系统恢复等功能。

(6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等。

基于关系模型的数据库管理系统已广泛应用于各行各业,应用领域也将进一步拓宽。如客户/服务器结构的分布式多用户环境中的应用就是数据库系统的应用进一步扩展。

2.数据库管理系统的层次结构

根据处理对象的不同,数据库管理系统的层次结构由高级到低级分为五层。

(1)应用层:应用层是DBMS与终端用户和应用程序的界面层,处理的对象是各种各样的数据库应用;

(2)语言翻译处理层:语言翻译处理层是对数据库语言的各类语句进行语法分析、视图转换、授权检查、完整性检查等;

(3)数据存取层:处理的对象是单个元组,它将上层的集合操作转换为单记录操作;

(4)数据存储层:处理的对象是数据页和系统缓冲区;

(5)操作系统:操作系统是DBMS的基础,操作系统提供的存取原语和基本的存取方法通常作为和DBMS存储层的接口。

3.2.4 程序设计语言处理程序

计算机语言是进行程序设计的工具,又称程序设计语言。

●程序设计语言的分类

  ※ 机器语言:计算机唯一能直接识别的语言,由二进制的0、1代码组成

  ※ 汇编语言:用助记符和地址符号来表示指令的语言

  ※ 高级语言:面向问题的程序设计语言,又称算法语言

用汇编语言和高级语言编写的程序,必须通过语言处理程序处理后计算机才能执行。

计算机语言是进行程序设计的工具,又称程序设计语言。

●程序设计语言的分类

  ※ 机器语言:计算机唯一能直接识别的语言,由二进制的0、1代码组成

  ※ 汇编语言:用助记符和地址符号来表示指令的语言

  ※ 高级语言:面向问题的程序设计语言,又称算法语言

用汇编语言和高级语言编写的程序,必须通过语言处理程序处理后计算机才能执行。

●语言处理程序

  ※ 汇编程序:用来处理汇编语言编写的程序,它把汇编语言源程序汇编成机器语言程序。

  ※ 解释程序和编译程序都可以用来处理用高级语言编写的程序,但二者有不同之处。

Ø  解释程序是边解释边执行的语言处理程序,效率较低

Ø  编译程序是把全部程序翻译之后再执行,效率较高

Ø  不同的计算机语言要使用与其相对应的语言处理程序

3.2.5 实用工具程序

计算机在运行过程中总会发生意想不到的事情,如硬盘损坏、病毒侵害系统、计算机无法启动、运行速度减慢等。要解决这些问题就需要实用工具。

实用工具是系统软件的一个子类,为计算机用户有效控制、分配和使用计算机资源提供一些方法。不同的使用工具功能不同。

  ※ 包含在操作系统内的实用工具:能完成备份、磁盘格式化、磁盘分区和磁盘整理的工作;

  ※ 独立于操作系统之外实用工具:如Norton,它能从硬盘中恢复数据并解决一些硬盘问题;

  ※ 诊断程序:有些实用程序能帮助诊断计算机系统中所存在的问题,如网卡安装正确与否等。

3.3 应用软件

应用软件是为解决各类实际问题而设计的软件,是最终用户所需要的软件,计算机软件中应用软件多于系统软件。

3.3.1 通用应用软件

文字处理软件、电子表格软件和数据库管理软件都属于通用应用软件,主要为完成一些基本任务而设计的,又称为基础应用软件。

l  通用应用软件特征

(1)窗口:窗口是显示屏上的一块矩形区域,利用窗口进行信息的输入和显示。同一时间可以启用若干窗口。

(2)菜单:现在几乎所有的应用软件都可以利用菜单来输入命令,一般位于显示屏的最上面一行。

(3)工具栏:一般位于菜单的下面,为用户提供一些快捷的命令操作。

(4)帮助:用户遇到问题时,可以查看“帮助”

●文字处理软件:为创建、编辑、存储和打印文件而设计的软件,常用的有Word和WPS等。

●电子表格软件:为处理数字型数据设计的,以分类账目为设计模型。比较著名的有Excel和Lotus 1-2-3。

●图形软件:用于制作、编辑和操作图片,处理照片,制作贺卡、海报等;有的也能编辑动画和视频。图形软件对计算机配置要求较高,常见的有Photoshop、 CorelDraw等。

●多媒体软件:将文字、图像、动画、视频、音频和音效结合在起来,效果生动,内容丰富,对计算机系统要求较高。多媒体软件包括播放软件和制作软件。常用的有Quick Time、Video for Windows 、Adobe公司的Premiere等。

3.3.2 专用应用软件

专用应用软件是专门为少数用户设计的、目标单一的应用软件,如用于某实验仪器的数据采集与数据处理的专用软件、某机床设备的自动控制软件、为专门学习某门课程而设计的辅助教学软件等。

专用应用软件用于特殊领域或行业,一般用户几乎接触不到。

3.3.3 中间件

l  中间件的定义

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通信。

中间件是目前比较热门的软件,从技术上讲,它介于系统软件和应用软件之间。

l   中间件的作用

为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

l  中间件的发展

最早具有中间件技术思想及功能的软件是IBM的 CICS,但由于CICS不是分布式环境的产物。

Tuxedo是第一个严格意义上的中间件产品, 1984年在AT&T的贝尔实验室开发完成,但没有在商业应用上获得成功,Tuxedo只是一个实验室产品。

后来被Novell收购,也没有成功的商业推广。

1995年被现在的BEA公司收购。成为真正的中间件厂商,其他许多中间件产品也逐渐成熟起来。

l  中间件的分类

中间件所包括的范围广泛,针对不同的应用需求中间件产品各具特色。因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。

中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务平台。基于目的和实现机制的不同,我们将平台主要分为以下三类:

Ø  远程过程调用中间件(RemoteProcedure Call);

Ø  面向消息的中间件(Message-OrientedMiddleware)

Ø  对象请求代理中间件(ObjectRequest Brokers

在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器(OTM)等。

3.4 软件工程

在计算机系统发展的早期,软件的规模往往比较小,软件的编写者和使用者往往是同一组人。这时,软件编写的速度和质量主要看编写者个人的技巧。

在20世纪60~70年代,随着计算机的普及,软件的数量和规模急剧扩大,而原有的软件生产方式却没有太大变化。人们在软件编写中常常遇到很多问题,如:软件开发成本和进度;软件产品的质量不好;用户不满意等。软件成本在整个计算机系统中的比例逐年上升。这种由于软件生产的复杂性和高成本而导致大型软件的生产遇到很大困难的现象称为软件危机。

3.4.1 软件危机

软件危机的主要表现:

(1)软件需求增长得不到满足;

(2)软件生产成本高,价格高昂;

(3)软件生产进度无法控制;

(4)软件需求定义不准确,易偏离用户需求;

(5)软件质量不易保证;

(6)软件可维护性差。

●美国国防部对软件的划分

Ø  小程序:少于10万条指令的程序

Ø  中等程序:10万~100万行的程序

Ø  大程序:大于100万行的程序

一般字处理程序有75万行,而宇宙飞船的软件要有几千万甚至上亿行,程序的复杂程度急剧增加。

一个软件程序员平均每天只能完成20行左右的正确代码。这就要求许多人协同工作,开发团队越来越庞大,而软件的开发也越来越复杂。

l  软件危机产生的原因

1)程序员对用户的需求还没有完整认识时就开始着手编写程序。

2)人们对软件维护工作的重要性认识不足。实际上用于软件维护的费用占总费用的55%~70%。

3)在软件开发的实践过程中,理论和实践经验不足。

4)没有合适的理论和方法的指导。

5)没有合适的工具帮助。

3.4.2 软件工程

面对软件危机的出现,1968年和1969年,北大西洋公约组织成员国的软件工作者两次召开会议(NATO会议),讨论摆脱软件危机的办法,并提出了软件工程的概念。

l   软件工程的定义

“以工程化的方式组织软件的开发”。从而使软件生产规范化,提高了开发质量,降低了成本,控制开发进度。

l   软件工程包含的内容

1)软件开发技术。包括软件开发方法学、软件工具、软件工程环境。

2)软件工程管理。包括软件管理、软件工程经济学。

3.4.3 软件企业

l  软件企业

以开发、研究、经营、销售软件产品或软件服务为主的企业组织。

l   软件企业的认定标准

1)在我国境内依法设立的企业法人;

2)以计算机软件开发生产、系统集成、应用服务和其他相应技术服务为其经营业务和主要经营收入;

3)具有一种以上由本企业开发或由本企业拥有知识产权的软件产品,或者提供通过资质等级认证的计算机信息系统集成等技术服务;

4)从事软件产品开发和技术服务的技术人员占企业职工总数的比例不低于50%;

5)具有从事软件开发和相应技术服务等业务所需的技术装备和经营场所;

l  软件企业的认定标准

6)具有软件产品质量和技术服务质量保证的手段与能力;

7)软件技术及产品的研究开发经费占企业年软件收入8%以上;

8)年软件销售收入占企业年总收入的35%以上,其中,自产软件收入占软件销售收入的50%以上;

9)企业产权明晰,管理规范,遵纪守法。

2009年,华为软件年收入555.6亿元;中兴通讯年收入248亿元,神州数码(中国)年收入110亿元,分别排在前三位。

我国软件产业正不断朝规模化、优质化和服务化发展,产品结构、研发水平都得到了进一步提升,市场正不断向大企业集中,产品不断向服务型转化,技术不断向国际前沿推进。

3.4.4 软件产业

l  软件产业

以开发、研究、经营、销售软件产品或软件服务为主的企业组织及其在市场上的相互关系的集合。它是与信息产业中的硬件产业相对应的。

产业是介于微观经济细胞(企业和家庭消费者)与宏观经济单位(国民经济)之间的若干经济单位的“集合”

现代经济社会中,存在着大大小小的、居于不同层次的经济单位,企业和家庭是最基本的,也是最小的经济单位。整个国民经济为最大的经济单位,介于二者之间的经济单位大小不同、数目繁多,因具有某种同一属性而组合到一起的企业集合,国民经济按某一标准划分的部分就是产业。

不同国家的软件产业,发展模式不同:

u  技术与服务领导型——美国模式;

u  国际加工服务型——印度模式;

u  嵌入式系统开发型——日本和欧洲模式;

u  生产本地化型——爱尔兰模式。

软件产业链中,大部分上游企业位于美国;中游主要分为子模块开发和独立的嵌入式软件开发两类,前一类以印度、爱尔兰,后一类中日本实力比较强大。

中国主要在软件产业链的下游部分,主要是在上游的基础平台上进行的二次开发。

国务院办公厅2002年9月18日发布了《振兴软件产业行动纲要(2002年至2005年)》,我国软件产业的政策环境不断改善,增长速度明显加快,国家已经把对软件产业的重视程度上升到战略层面。

3.5 计算机软件应用

3.5.1 计算机软件的社会应用

l  电影特技效果制作

电影《阿凡达》的特技效果制作,是通过使用欧特克软件,创造出一个虚拟的表演舞台,3D立体体验无疑是《阿凡达》视觉奇迹的核心部。

作为全球传媒娱乐业软件的行业领导者,欧特克传媒娱乐解决方案为客户提供了尖端、高效的设计工具,产品全面覆盖了从影视特效、调色配光、剪辑到动画、游戏开发和设计可视化等所有领域。

3.5.2 计算机软件的技术应用

国内外新一代飞机的设计中,为进一步提高飞机的性能,同时降低系统费用,采用飞行器管理系统进行综合管理,包括飞行控制、发动机控制、机电公共设备管理等飞机平台的功能。飞行器管理系统的核心就是管理计算机。对软件提出了更高的性能要求,管理计算机的软件主要包括操作系统、开发软件及位于面向应用的任务软件和操作系统之间的系统管理软件。

1.高可靠强实时操作系统

u  强实时性是完成飞行控制功能必须满足的首要条件,交叉传输是飞行控制的核心;

u  安全性也是飞行器管理计算机操作系统所必须考虑的一个特性,该特性分两个方面:一是操作系统对用户程序的安全支撑(Security);二是对操作系统自身的安全性评估(Safety)。

容错性是飞行器管理计算机系统的特殊性能,主要衡量软件对系统的故障(软件故障、硬件故障)处理能力

2.软件开发环境

飞行器管理计算机的软件开发环境面向的是多节点计算机系统的开发,需支持飞行器管理计算机软硬件开发过程。

l  软件开发环境由两部分组成

Ø  支持多节点计算机软件开发环境

Ø  支持多节点计算机硬件开发环境

3.高实时高安全系统管理软件

u  高实时高安全系统管理软件满足了新一代飞行器管理计算机对不同安全需求的任务共享同一硬件平台的需求;

u  高实时高安全系统管理软件将应用软件与平台公共资源隔离,完成综合化的核心系统功能;

高实时高安全系统管理软件实现分布式系统通讯的透明性,使发送者和接收者之间可以异步工作,当硬件升级或者结构发生变化时,应用程序可以和新系统

3.5.3 计算机软件的日常应用

  1. 文字处理软件

   1)Word 2003            2)UltraEdit              3)Edit Plus

2. 表格处理软件

   1) Excel 2003           2)Lotus 1-2-3

3. 演示软件

   1)PowerPoint           2)OpenOffice.orgImpress

4. 统计分析软件

   1)SPSS                      2)SAS

5. 科学运算软件

   1)Matlab                     2)Scilab                3)Mathematica

6. 绘图软件

   1)AutoCAD                2)CorelDraw 

   3)Photoshop              4)CAXA电子图板

(1) 软件是计算机实现各种功能的关键。

(2) 软件和硬件是一个完整的计算机系统互相依存的两 大部分,二者互相依存,协同发展。

(3) 系统软件是基础且必备的软件,应用软件是基础软件,是完成一定具体任务的软件;只有系统软件和应用软件协同工作,才能够使计算机能够完成各种任务。

(4) 软件工程解决了软件危机,提高了软件质量,控制了开发成本和进度,满足了用户需求。

(5) 本章最后从社会应用、技术应用和日常应用的角度对计算机软件的应用进行了概要描述。

 

0 0
原创粉丝点击