1.4.2 软件系统及其组成

1.4.2 软件系统及其组成

计算机软件分为系统软件(System Software)和应用软件(Application Software,简称App)两大类,如图1-30所示。

图1-30 计算机软件系统的组成

1.系统软件

系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的软件。系统软件的主要功能是调度、监控和维护计算机系统;负责管理计算机系统中各独立硬件,使得它们协调工作。系统软件使得底层硬件对计算机用户是透明的,用户在使用计算机时无须了解硬件的工作过程。

系统软件是软件的基础,所有应用软件都依赖系统软件的服务和环境。系统软件主要包括操作系统、语言处理系统、数据库管理系统和系统辅助处理程序等。

1)操作系统(Operating System,OS)

系统软件中最重要且最基本的是操作系统。它是最底层的软件,控制所有计算机上运行的程序并管理整个计算机的软硬件资源,是计算机硬件与应用程序及用户之间的桥梁。操作系统的功能包括处理机管理、存储器管理、设备管理和文件管理,并为用户提供方便用的用户接口。

常用的操作系统有Windows、Unix、Linux、Mac OS等。

2)语言处理系统

语言处理系统是系统软件的重要成员。早期的第一代和第二代计算机所使用的编程语言一般是由计算机硬件厂家随机器配置的。随着编程语言发展到高级语言,IBM公司宣布不再捆绑语言软件,因此语言系统就开始成为用户可选择的一种产品化的软件,它也是最早开始商品化和系统化的软件。

目前Windows操作系统下市场占有率最高的语言处理系统包括甲骨文公司(Oracle)的Java、微软公司(Microsoft)的Visual Studio.Net等。

3)数据库管理系统(DataBase Management System,DBMS)

数据库管理系统是应用最广泛的系统软件之一,用于建立、使用和维护数据库,把各种不同性质的数据进行组织,以便能够有效地进行查询、检索,管理这些数据是运用数据库的主要目的。对当今社会生产、商业活动起重要作用的各种管理信息系统(MIS)、企业资源计划(ERP)、办公自动化(OA)等系统,都需要数据库管理系统的支持。

数据库管理系统为应用软件提供了通用的数据定义、操作操纵、数据查询服务,成为应用软件的重要支撑,因此将数据库管理系统划归系统软件范畴。

4)系统辅助处理程序

系统辅助处理程序主要是指一些为计算机系统提供服务的工具软件和支撑软件,如编辑程序、调试程序、系统诊断程序等,这些程序主要是为了维护计算机系统的正常运行,方便用户在软件开发和实施过程中的应用,如Windows中的磁盘整理工具程序等。还有一些著名的工具软件如Norton Utility,它集成了对计算机维护的各种工具程序。实际上Windows和其他操作系统,都有附加的实用工具程序。因而随着操作系统功能的延伸,已很难严格划分系统软件和系统服务软件,这种对系统软件的分类方法也在变化之中。

另外,随着软件生产的工程化,用于支撑软件分析、设计、开发的软件工程软件已属于语言处理系统的重要组成部分。因此,软件工程工具软件属于系统软件范畴。

2.应用软件

应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。

计算机软件系统中,应用软件是使用广泛、最频繁的软件。它们包括从一般的文字处理到大型的科学计算和各种控制系统的实现,有成千上万种类型。把这类为解决特定问题而与计算机本身关联不多的软件通称为应用软件。常用的应用软件有办公软件套件、多媒体处理软件、Internet工具软件。

1)办公软件

办公软件是日常办公需要的一些软件,它一般包括文字处理软件、电子表格处理软件、演示文稿制作软件、桌面个人数据库、个人信息管理软件等。常见的办公软件套件有微软公司的Microsoft Office和金山公司的WPS Office等。

2)多媒体处理软件

多媒体技术已经成为计算机技术的一个重要方面,因此多媒体处理软件是应用软件领域中一个重要的分支。多媒体处理软件主要包括图形处理软件、图像处理软件、动画制作软件、音频视频处理软件、桌面排版软件等。如Adobe公司的Illustrator(矢量画处理)、Photoshop(图像处理)、Audition(音频处理)、Flash(动画制作)和Premiere(影视剪辑)等,AutoDesk公司的AutoCAD(三维建模)、3ds Max(三维动画)和Maya(三维影视)等。

3)Internet工具软件

随着计算机网络技术的发展和Internet的普及,涌现了许许多多基于Internet环境的应用软件,如Web服务软件、Web浏览器、文件传送工具FTP、远程访问工具Telnet、下载工具FlashGet等。