1.5 计算机软件系统
计算机软件由程序和相关的文档组成。程序是指令序列的符号表示,文档是软件开发过程中建立的技术资料。
1.5.1 计算机软件的发展
计算机软件的发展过程大致分为三个阶段。
(1)第一阶段(1946—1956年):从第一台计算机上的第一个程序诞生开始到高级程序设计语言出现之前。
(2)第二阶段(1956—1968年):从高级程序设计语言出现以后到软件工程出现之前。
(3)第三阶段(1968年以后):软件工程出现以后至今。
1.5.2 系统软件
计算机软件按用途分为系统软件和应用软件。
系统软件:由一组控制计算机系统并管理其资源的程序所组成,用于计算机的管理、控制和维护,以支持应用程序的开发和运行。
1.系统软件的功能
(1)对硬件和软件资源实施有效的控制和管理,从而使整个计算机系统协调而有效地运行。
(2)为各类用户创造一个方便、灵活、安全的使用环境和人机界面。
(3)为系统维护人员提供便捷而有效的工具。
(4)为软件开发提供方便的工具。
(5)模拟或扩展某些硬件功能。
2.系统软件的特点
(1)和硬件系统的不可分割性;
(2)公用性或共享性;
(3)基础性。
3.系统软件的分类
按软件的不同用途,系统软件可分为4类:操作系统、语言处理系统、数据库管理系统和实用程序。
(1)操作系统:操作系统是系统软件的核心。常见的操作系统有Windows XP/7/10、Linux、Unix、NetWare 等。操作系统是最靠近硬核的,其他软件均位于操作系统的外层。操作系统、硬件、软件的关系如图1-4所示。
图1-4 操作系统、硬件、软件的关系
(2)语言处理系统
计算机语言的发展:机器语言→汇编语言→高级语言→面向对象语言。
源程序:用汇编语言和各种高级语言各自规定的符号和语法规则,并按规定的规则编写的程序。
目标程序:将源程序翻译成相应的只含机器(二进制)指令代码的程序。CPU只能直接识别和执行机器语言程序。
语言处理系统的任务是将使用汇编语言或高级语言编写的源程序翻译成能被计算机直接识别和执行的机器指令代码。对于高级语言来说,翻译方式有解释(边翻译边执行,不产生目标代码)和编译(生成目标代码)两种。
(3)服务程序:服务程序能够提供一些常用的服务性功能,通常包括界面工具程序、编辑程序、装配调试程序、诊断排错程序等。
(4)数据库管理系统(DBMS)是能够对数据库中的数据进行加工、管理的系统软件。常见的数据库管理系统软件有SQL Sever、Oracle、Sybase、Visual FoxPro、Informix等。
4.嵌入式系统与嵌入式操作系统
嵌入式系统一般指非PC系统,有计算机功能但又不称为计算机的设备或器材,如iPhone、电视机顶盒、电梯、空调、自动售货机等。
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分。一般可分为两类,一是面向控制、通信等领域的实时操作系统,二是面向消费电子产品的非实时操作系统(如移动电话、机顶盒、电子书等)。
1.5.3 应用软件
应用软件是用户为解决各类实际问题而设计的程序及其有关资料。从服务对象的角度看,可分为通用应用软件和专用应用软件。通用应用软件通常是为解决某一类问题而设计的程序,如Microsoft Office套装软件等。专用软件是具有特殊功能和需求的软件,如财务管理软件、税务管理软件、辅助教育软件等。
计算机软件的分类如图1-5所示。
图1-5 计算机软件的分类
1.5.4 软件开发技术
软件工程生产软件的5个阶段:需求阶段、设计(总体设计、详细设计、模块设计)阶段、编程阶段、测试阶段、运行阶段。