1
第 3章 计算机软件系统
计算机
软件系统
2
3.1 计算机软件概述( 1)
一,什么是软件
根据 1983年 IEEE的定义:软件是计算机 程序, 方法, 规则,
相关的 文档 资料以及在计算机上运行的程序时所必需的 数据 的集合。
方法和规则通常是在文档中说明并在程序中实现的。
程序:是计算机需要遵照执行的一系列指令,它作为一种具有逻辑
结构的信息,精确而完整地描述计算任务中的处理对象和处
理规则。
数据:就是我们向一个程序提供的输入 。
文档:是开发、使用和维护程序所需要的图文资料
软件是用户与计算机硬件之间的接口,用户主要通过软件与
计算机进行交往。
计算机
软件系统
3
3.1 计算机软件概述( 1)
程 序
计 算 机
数 据
输 出
运行一个简单程序的示意图
#include <iostream>
using namespace std;
int main()
{
int num1,num2,sum;
cout<<”Please input nums:”;
cin>>num1>>num2;
sum=num1+num2;
cout<<”sum=”<<sum<<endl;
return 0;
}
一个简单的 C++程序
计算机
软件系统
4
3.1 计算机软件概述( 1)
算法:非正式地,可以定义为描述完成一项任务的步
骤的集合。
例如,有一袋带壳的花生,我们可用算法来描述吃花
生这一事情:
① 从袋中拿出一粒花生
② 剥开花生的壳
③ 吃掉花生仁
④ 丢弃花生壳
⑤ 如果袋中没有花生或不想吃花生,就结束,否则返
回步骤 1
计算机
软件系统
5
3.1 计算机软件概述( 1)
算法和程序之间的关系:
程序是算法的一个表达,这就好比一个故事和
一本书的关系。一个故事本质上是抽象的,或者说
是概念的。一本书是一个故事的物理表达。如果一
本书被翻译成另外一种语言或以另外一种样式出版,
仅仅是故事的表达发生了变化,而故事本身没有改
变。
同样,算法是抽象的,它不同与它的表达。一
个算法可以以多种方式来表达,也即一个算法可由
多种程序来表示。实际上。计算机工作者用, 程序,
这个术语来表示设计为计算机应用的算法的表达。
计算机
软件系统
6
3.1 计算机软件概述( 2)
二、软件的分类
计算机软件可分为系统软件和应用
软件。 系统 软件又可分为支撑软件和操作
系统。 软 件
系统软件 应用软件
支撑软件 操作系统
软件分类
计算机
软件系统
7
3.2 操作系统( 1)
一、什么是操作系统
操作系统是计算机系统中的一个系统软件,
它是这样一些程序模块的集合:它们能有效地组
织和管理计算机系统中的硬件及软件资源,合理
地组织计算机工作流程,控制程序的执行,并向
用户提供各种服务功能,使得用户能够灵活、方
便和有效地使用计算机,使整个计算机系统能高
效地运行。操作系统对硬件功能进行扩充,并统
一管理和支持各种软件的运行。
特征:并发性,共享性,随机性
计算机
软件系统
8
3.2 操作系统( 2)
二、操作系统的功能
操作系统需要管理系统中的 各种硬件与软件
资源,并为用户提供良好的 界面 。因此,操作
系统具有以下重要功能:
? 进程管理
? 存储管理
? 文件管理
? 作业管理
? 设备管理
计算机
软件系统
9
3.2 操作系统( 2)
进程管理:
进程管理又称处理机管理,即如何合理地
把 CPU分配给每一个进程
其涉及进程的概括、进程的状态及其转
换、进程的控制、进程的通信、进程的同步与
互斥等概念。
存储管理:
存储管理主要管理内存资源,对内存资源
进行合理分配。
计算机
软件系统
10
3.2 操作系统( 2)
文件管理:
文件管理的任务是有效地支持文件的存储、检索和修改
等操作,解决文件的共存、保密和保护问题,以便用户方
便、安全地访问文件。
操作系统一般都提供很强的文件系统。
作业管理:
作业是指用户在一次计算过程中或一个事务处理中要求
计算机系统所要完成工作的集合,它是用户向计算机提交
一项工作的基本单位 。
作业管理的任务是为用户提供一个使用系统的良好环
境,使用户能有效地组织自己的工作流程,并使整个系统
能高效地运行。
计算机
软件系统
11
3.2 操作系统( 2)
设备管理:
设备管理是指对计算机系统所有输入输出设备
(外部设备)的管理。设备管理不仅涵盖了进行
实际 I/O操作的设备,还涵盖了诸如设备控制器、
通道等输入输出支持设备。
计算机
软件系统
12
3.2 操作系统( 3)
三、操作系统的分类
1,批处理操作系统
特点:用户脱机使用计算机,作业成批处
理,多道程序运行。
2,分时操作系统
特点:同时性,独立性,及时性,交互性
3,实时操作系统
特点:及时响应、快速处理,高可靠性,安
全性。
计算机
软件系统
13
3.2 操作系统( 3)
4,嵌入式操作系统
特点:运行在嵌入式环境中
5,个人计算机操作系统
特点:单用户,单任务(如 DOS),多任务(如
windows)
6,网络操作系统
特点:基于计算机网络,如 Netware,windows
NT
7,分布式操作系统
特点:统一性,共享性,透明性,自治性
计算机
软件系统
14
3.2 操作系统( 4)
四、操作系统的用户界面
操作系统的用户界面是操作系统提供给用户与计算机打交道的外
部机制。用户能够借助这种机制和系统提供的手段来控制用户所在的
系统。操作系统的用户界面在计算机系统中所处的位置如下图所示:
操作系统用户界面在计算机系统中所处位置示意图
计算机
软件系统
15
3.2 操作系统( 4)
操作系统提供两种类型的 用户界面,
( 1)命令型的界面
如 DOS,UNIX等
( 2)图形化的界面
如 Mac OS,windows等
计算机
软件系统
16
3.2 操作系统( 5)
五、常见的操作系统
1,DOS
DOS 的 全 称 是 磁 盘 操 作 系 统 ( Disk
Operating System) 。 DOS操作系统的主
要功能是设备管理和文件管理 。
MS-DOS是美国微软公司开发的单用户,
单任务磁盘操作系统 。
计算机
软件系统
17
3.2 操作系统( 5)
2,Windows
Windows是美国微软公司推出的一个运行在微型机上的图形窗口操作系
统。 Windows的开发是微型机操作系统发展史上的一个里程碑。 1990年
5月,推出首次推出成熟版 Windows 3.0,后发展迅速经历 Windows
3.x,Windows 95,Windows NT,Windows 2000,Windows XP
Windows主要特点
? 图形化的人机交互界面
? 多任务操作
? 丰富的管理工具和应用程序
? 网络支持良好
? 即插即用硬件管理
? 出色的媒体功能色的媒体功能
计算机
软件系统
18
3.2 操作系统( 5)
3,Linux
Linux是由芬兰赫尔辛基大学的一个大学生 Linus B,Torvolds在 1991年
首次编写的。标志性图标是一个可爱的小企鹅。
Linux是一个免费的操作系统,用户可以免费获得其源代码,并能够随
意修改。
Linux是一种类 UNIX系统,具有许多 UNIX系统的功能和特点,能够兼
容 UNIX。
Linux的特点:
? 完全免费
? 多用户,多任务
? 安全、稳定
? 支持多种平台
? 丰富的网络功能
? 同时具有字符界面和图形界面
计算机
软件系统
19
3.2 操作系统( 5)
4,UNIX
UNIX操作系统是美国电报电话公司的 Bell实验室开发的,UNIX
操作系统是惟一能在微型计算机工作站、小型计算机到大型计算机上
都能运行的操作系统,也是当今世界广泛流行的多用户、多任务操作
系统。
UNIX的特点
?UNIX具有良好的层次结构
?UNIX具有很好可移植性
?UNIX是一种多用户、多任务操作系统
?可直接支持网络功能
?树形文件系统
计算机
软件系统
20
3.2 操作系统( 5)
5,Mac OS
1984年,苹果发布了 System 1,这是一个黑白界
面的,也是世界上第一款成功的图形化用户界面
操作系统。 System 1含有桌面、窗口、图标、光
标、菜单和卷动栏等项目。在随后的十几年中,
苹果操作系统历经了 System 1到 6,到 7.5.3的巨
大变化,苹果操作系统从单调的黑白界面变成 8色、
16色、真彩色,在稳定性、应用程序数量、界面
效果等各方面,苹果操作系统逐渐发展日益成熟。
从 7.6版开始,苹果操作系统更名为 Mac OS,此后
的 Mac OS 8和 Mac OS 9,直至 Mac OS 9.2.2以及
今天的 Mac OS 10.3,采用的都是这种命名方式。
计算机
软件系统
21
3.3 办公软件( 1)
一、办公软件概述
? 办公自动化( Office Automation )将计算机技术、通信技术、科学管理思想和行为科
学有机结合在一起,应用在传统的数据处理技术难于处理的数据量庞大的、包括非数值
型信息且结构不明确的办公事务上,有效地提高了办公质量和办公选效率。
? 办公自动化离不开办公软件,目前,在我国较具代表性的办公软件有两个,它们是微软
公司的 Office、金山公司的 WPS。
? 美国微软件公司开发的 Microsoft Office 2003办公自动化应用软件, 由文字处理软件
Word,电子表格 Excel,演示文稿 PowerPoint,电子邮件 Outlook Express,网页设
计 FrontPage和数据库管理系统 Access六个模块组成 。
? 我国金山公司推出的 WPS Office 2003 WPS Office 2003由金山文字, 金山表格, 金
山演示和金山邮件四个模块组成 。
计算机
软件系统
22
3.3 办公软件( 2)
二、文字处理
文字处理软件是指在计算机上辅助人们制作文档的系
统。
Word 2003的工作窗口:
计算机
软件系统
23
3.3 办公软件( 3)
三、电子表格
电子表格软件主要针对那些带有数值计算的表格,例
如财务报表、实验数据分析等等。
Excel 2003的工作窗口:
计算机
软件系统
24
3.3 办公软件( 4)
四、演示文稿
演示文稿是由一张一张的幻灯片按照特定的顺序排列形成的。
PowerPoint是创作幻灯片演示文稿的专用软件,它能够制作出集
文字、图形、图像、声音以及视频剪辑等多媒体元素于一体的媒
体演示制作软件。
PowerPoint 2003的工作窗口,
计算机
软件系统
25
3.4 程序设计语言( 1)
一、程序设计的概念
开 始
问题定义
算法设计
测 试
转换成某种
编程语言
语言
测 试
程 序
问题求解阶段 实现阶段
计算机
软件系统
26
3.4 程序设计语言( 1)
概括地说,程序设计就是分析问题、编写程序、
调试程序的过程。
程序设计步骤如下:
( 1)分析要解决的问题,明确任务
( 2)分析问题,建立数学模型,并选择合适的解
决方案
( 3)确定数据结构和算法
( 4)编写程序
( 5)调试程序
( 6)整理文档,交付使用
计算机
软件系统
27
3.4 程序设计语言( 2)
二、常用的编程语言
程序设计语言是人们根据描述问题的需要而设计的,
是计算机能够直接识别的语言, 有一套固定的符号和语法
规则,是人与计算机交流所使用的, 语言, 。
程序设计语言可分成机器语言、汇编语言和高级语
言。前两类依赖于计算机硬件,因机器而异,又称为低级
语言,而高级语言与计算机硬件基本无关,是目前使用非
常广泛的程序设计语言。
常用的高级程序设计语言,如 FORTRAN、
BASIC,Pascal,C,C++,C#和 Java等语言。
计算机
软件系统
28
3.4 程序设计语言( 3)
三、算法与数据结构
1,算法
算法就是一组明确的、可以执行的步骤的有序集合。
算法的特征:
? 算法的概念要求步骤集是有序的。
? 算法中的步骤要是有效的,这意味着它是可执行
的。
? 算法中的步骤必须是明确的。
? 要求算法定义的是一个有终结的过程,也就是说
一个算法的 执行必须能够最终结束。
计算机
软件系统
29
3.4 程序设计语言( 3)
2,数据结构
? 数据( Data):是对客观事物的符号表示,在计
算 机中是指所有能输入到计算机中并被计算机程序
处理的符号总称。
? 数据元素( Data Element):是数据的基本单位,
通常我们也称之为结点,在计算机程序中通常作为一
个整体进行考虑和处理。
? 数据项 是数据不可分割的最小单位。
? 有时一个 数据元素 由若干个 数据项 组成,此时称
数据元素为 记录 。
计算机
软件系统
30
个人书库
3.4 程序设计语言( 3)
计算机
软件系统
31
数据对象( Data Object),是性质相同的数据元素的集合,是数据的一
个子集。
数据结构( Data Structure),是相互之间存在一种或多种特定关系的
数据元素的集合。数据元素相互之间的关系称为 结构 ( structure)。
四类基本结构:
(1).集合
(2).线性结构
(3).树形结构
(4).图状结构或网状结构
3.4 程序设计语言( 3)
计算机
软件系统
32
数据结构的主要研究内容:
主要研究程序设计中计算机所操作的 对象 以及它们之间的 关系 和运
算。包括以下三方面:
( 1)数据的逻辑结构:结点、结点 (数据元素 )之间的逻辑关系
Data-Structure=(D,S)
D:数据元素的集合; S,D上关系的集合
( 2)数据的存储结构(物理结构):数据结构在计算机中的存储表
示(映象)。顺序存储结构、链式存储结构
任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的
实现依赖于采用的存储结构。
( 3)对数据的各种操作
3.4 程序设计语言( 3)
计算机
软件系统
33
3.5 软件工程( 1)
一、软件危机与软件问题
软件危机包括下述两方面的问题:如何开发
软件,以满足对软件日益增长的需求;如何维护
数量不断膨胀的已有软件。
在软件开发和维护的过程中存在这么多严重
问题,一方面与软件本身的特点有关,另一方面
也和软件开发与维护的方法不正确有关。
计算机
软件系统
34
3.5 软件工程( 2)
二、软件工程与基本原理
1968年由 NATO (北大西洋公约组织 )在德国 Garmish
召开的学术会议上,Feitz Bauer首先提出了, 软件工程,

念。
软件工程是指导计算机开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,
把经过时间考验而证明正确的管理技术和当前能够得到的
最好的技术方法结合起来,以经济地开发出高质量的软件
并有效地维护它 。
计算机
软件系统
35
3.5 软件工程( 2)
软件工程的基本原理:
? 用分阶段的生命周期计划严格管理
? 持进行阶段评审
? 实行严格的产品控制
? 采用现代程序设计技术
? 结果应能清楚地审查
? 开发小组的人员应该少而精
? 承认不断改进软件工程实践的必要性
计算机
软件系统
36
3.5 软件工程( 3)
三、软件生命周期
定义
维护
开发
软件生命周期每个阶段的基本任务,
问题定义 ;可行性研究 ;需求分析 ;总体设
计 ;详细设计 ;编码和单元测试;综合测试 ;
软件维护
计算机
软件系统
37
3.5 软件工程( 4)
四、常用软件开发环境
Delphi 2005的集成开发环境 Visual Studio,Net的集成开发环境
计算机
软件系统
38
3.5 软件工程( 4)
JBuilder X的集成开发环境
计算机
软件系统
39
3.6 中文信息处理( 1)
一,汉字及其属性
汉字属性是指汉字所负荷的各种信息,即汉字在
字音、字形、字频、笔数、笔顺、部首、结构、部首
笔数、部首序号、部件、异体字、编码、电报码等方
面所具有的特征。
汉字属性系统,是汉字信息处理系统的一个重要
组成部分,可以使计算机处理中文信息的功能更为齐
全,提高效率,促进标准化。建立汉字属性系统的关
键是建立一个汉字属性库,也就是汉字属性电子字
典。
计算机
软件系统
40
3.6 中文信息处理( 2)
二、汉字编码字符集
1984年, 全国计算机与信息处理标准化技术委员会, 提出编码字符集
的繁体字和简体字对应编码的原则,并做出了制定六个信息交换用汉字
编码字符集的计划。这六个集分别命名为基本集、第一辅助集(辅一)、
第二辅助集(辅二)、第三辅助集(辅三)、第四辅助集(辅四)、第
五辅助集(辅五)。
三、汉字输入方法
键盘输入、小键盘输入,手写输入,语音输入,光电扫描输入
四、汉字字库
中文处理技术的主要思想之一是建立汉字字库,把汉字转换成某种计算
机能够识别的内码,然后根据一定的规则把这些内码和汉字的一一对应
关系记录在一个大的数据库里,这个数据库就叫做汉字字库。
计算机
软件系统
41
计算机系统的资源
计算机系统资源
硬件资源
CPU 存储器 I/O设备 …
软件资源
系统程序 库函数 用户程序 …
计算机
软件系统
42
操作系统界面
C:\> 我的文件夹
Windows 2000的桌面
桌面图标
任务栏
DOS的操作界面 Windows 98的操作界面