电子信息工程概论课件第七章_第1页
电子信息工程概论课件第七章_第2页
电子信息工程概论课件第七章_第3页
电子信息工程概论课件第七章_第4页
电子信息工程概论课件第七章_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 目目 录录1 计算机科学与技术2 计算机科学简介3 计算机系统的组成结构4 软件工程5 计算机应用技术6 本章结束语o计算机抽象出计算机抽象出软件和硬件软件和硬件两个独立部分两个独立部分;o 软件又被抽象成专门与硬件打交道的操软件又被抽象成专门与硬件打交道的操作系统和建筑在操作系统之上的应用软件作系统和建筑在操作系统之上的应用软件;o 数据处理又是许多应用软件必须的前提,数据处理又是许多应用软件必须的前提,从而抽象出数据库系统。从而抽象出数据库系统。o到了网络时代,为了更好地适应网络软件到了网络时代,为了更好地适应网络软件的开发,应用软件中又抽象出应用服务器的开发,应用软件中又抽象出应用服务

2、器提供各种服务。提供各种服务。1 计算机科学与技术计算机科学与技术计算机科学技术除了具有较强的科学性计算机科学技术除了具有较强的科学性外外,还具有较强的工程性,因此,它是一门还具有较强的工程性,因此,它是一门科学性与工程性并重的学科。表现为理论科学性与工程性并重的学科。表现为理论性和实践性紧密结合的特征。性和实践性紧密结合的特征。 计算科学的研究领域有:计算机系统计算科学的研究领域有:计算机系统结构,程序设计科学与方法论,软件工程结构,程序设计科学与方法论,软件工程基础理论,人工智能与知识处理,网络、基础理论,人工智能与知识处理,网络、数据库及各种计算机辅助技术,理论计算数据库及各种计算机辅助

3、技术,理论计算机科学,计算机科学史等。机科学,计算机科学史等。o从学科体系和知识结构看,现在的计算从学科体系和知识结构看,现在的计算机科学与技术学科可分为应用层、专业机科学与技术学科可分为应用层、专业基础层和基础层三个层面的内容基础层和基础层三个层面的内容o应用层主要包括计算机应用的各个应用应用层主要包括计算机应用的各个应用方向,如移动计算与全球定位、计算机方向,如移动计算与全球定位、计算机自动控制、模式识别与图像处理、软件自动控制、模式识别与图像处理、软件测试技术等测试技术等o专业基础层为应用层提供技术与环境,专业基础层为应用层提供技术与环境,如软件开发方法学、软件工程技术、如软件开发方法学

4、、软件工程技术、软件开发工具与环境、计算机系统基软件开发工具与环境、计算机系统基础、计算机接口与通信、计算机网络础、计算机接口与通信、计算机网络与数据通信技术等与数据通信技术等o基础层主要包括计算的数学理论、逻基础层主要包括计算的数学理论、逻辑理论,如控制论基础、信息论基础、辑理论,如控制论基础、信息论基础、算法理论、可计算性理论、数字系统算法理论、可计算性理论、数字系统设计基础等。设计基础等。计算机的种类很多,在规模和性能计算机的种类很多,在规模和性能上存在很大的差别,然而各种计算机上存在很大的差别,然而各种计算机的逻辑结构和工作原理基本相同,计的逻辑结构和工作原理基本相同,计算机系统都是由

5、硬件系统和软件系统算机系统都是由硬件系统和软件系统两大部分组成两大部分组成( (图图7-1),7-1),它的层次结构它的层次结构如图如图7-27-2所示。所示。用用 户户应用程序应用程序操操 作作 系系 统统机机 器器 语语 言言硬硬 件件 系系 统统图图7-2计算机的层次结构计算机的层次结构 计算机硬件(计算机硬件(Hardware)是计算机系统使用)是计算机系统使用的电子线路和电子元件等物理设备的总称。的电子线路和电子元件等物理设备的总称。 20世纪世纪40年代中期,美国科学家冯年代中期,美国科学家冯诺依曼大诺依曼大胆的提出了采用二进制作为数字计算机的数制基础胆的提出了采用二进制作为数字计

6、算机的数制基础的理论。同时,他还提出了计算机组成结构、程序的理论。同时,他还提出了计算机组成结构、程序存储和计算机应该按照程序顺序执行的思想。存储和计算机应该按照程序顺序执行的思想。 冯冯诺依曼指出计算机硬件系统应由运算器、诺依曼指出计算机硬件系统应由运算器、控制器、存储器、输入设备、输出设备五大部分构控制器、存储器、输入设备、输出设备五大部分构成成运算器运算器控制器控制器存储器存储器输入设备输出设备CPU图3 计算机的基本结构1)最重要的硬件)最重要的硬件-主机主机 (1)中央处理器()中央处理器(CPU),它合成它合成了运算器和控制器的功能,是计算机系了运算器和控制器的功能,是计算机系统的

7、心脏,它负责算术运算、逻辑运算统的心脏,它负责算术运算、逻辑运算及系统控制及系统控制,是计算机硬件的核心部分。是计算机硬件的核心部分。(2)内部存储器简称内存)内部存储器简称内存,它是计算它是计算机系统工作时存储程序、数据的记忆机系统工作时存储程序、数据的记忆装置。内存读写数据的速度很快,与装置。内存读写数据的速度很快,与CPU的速度相当,因此,正在运行的的速度相当,因此,正在运行的程序总是放在内存中。程序总是放在内存中。 在在PC中,作为内存的中,作为内存的ROM一般只有一片,一般只有一片,用于存放基本输入输出系统用于存放基本输入输出系统(Basic Input/Output System)

8、。BIOS含有与主板搭含有与主板搭配的各种设备的驱动程序和初始化程序,配的各种设备的驱动程序和初始化程序,PC启动时,首先运行的是启动时,首先运行的是BIOS程序。多片程序。多片RAM芯片被焊在一个长条形的印刷电路板芯片被焊在一个长条形的印刷电路板上构成内存条,一个或多个内存条插入主上构成内存条,一个或多个内存条插入主板的内存插槽中构成内存主体。板的内存插槽中构成内存主体。(3)主板()主板(MainBoard)是一块有各种)是一块有各种接口接口,插槽及复杂的控制元器件的电路板插槽及复杂的控制元器件的电路板,主机箱中几乎所有的部件都与它相接主机箱中几乎所有的部件都与它相接,运运算器、控制器、算

9、器、控制器、I/O接口和内存储器以及接口和内存储器以及相关的导线、电阻、电容、插座等均固相关的导线、电阻、电容、插座等均固定在这块印刷电路板上。定在这块印刷电路板上。图5 CPU、内存条、主板2)外部设备)外部设备 (1)外存储器简称外存或辅存。)外存储器简称外存或辅存。内存虽然速度快,但价格昂贵、容内存虽然速度快,但价格昂贵、容量小,所以,还需要外存来存放数量小,所以,还需要外存来存放数据。据。图6 软盘、硬盘、光盘、U盘 (2)输入设备的功能是将文本、)输入设备的功能是将文本、图形、图像、声音以及其他形式的图形、图像、声音以及其他形式的信号转换成计算机能接受的数据形信号转换成计算机能接受的

10、数据形式并传送给计算机。式并传送给计算机。图7 键盘、鼠标、摄像头、图像扫描仪、触摸屏 (3)输出设备的功能是将计算)输出设备的功能是将计算机处理的数据转换为文本、图形、机处理的数据转换为文本、图形、图像、及声音等信号形式。图像、及声音等信号形式。 图7-8 显示器 打印机 软件系统是计算机正常工作所软件系统是计算机正常工作所需要的各种程序和数据的总和。根需要的各种程序和数据的总和。根据软件用途的不同,可将其分为两据软件用途的不同,可将其分为两大类:系统软件和应用软件。大类:系统软件和应用软件。1)系统软件)系统软件 系统软件主要指面向硬件或者开发者所系统软件主要指面向硬件或者开发者所设立的软

11、件,如操作系统,编译系统,数据设立的软件,如操作系统,编译系统,数据库管理系统,中间件等面向开发者的软件。库管理系统,中间件等面向开发者的软件。 (1)操作系统是人与计算机进行交流的)操作系统是人与计算机进行交流的接口程序,是用来管理计算机的全部硬件、接口程序,是用来管理计算机的全部硬件、软件资源和数据资源,为用户提供高效、周软件资源和数据资源,为用户提供高效、周到的服务界面。运用较为广泛的有到的服务界面。运用较为广泛的有Windows、Linux、Unix等。等。 (2)语言编译程序是人与计算机交流信息)语言编译程序是人与计算机交流信息的工具,分为机器语言、汇编语言和高级的工具,分为机器语言

12、、汇编语言和高级语言。语言。(3)数据库管理系统目前主要用于档案管)数据库管理系统目前主要用于档案管理、财务管理、图书资料管理及仓库管理理、财务管理、图书资料管理及仓库管理等。等。 (4)设备驱动程序用来使一个特定的硬件)设备驱动程序用来使一个特定的硬件或软件可以与一个特定的操作系统建立联或软件可以与一个特定的操作系统建立联系。系。2)应用软件)应用软件 应用软件是计算机软件的主要分类之一,应用软件是计算机软件的主要分类之一,是指为针对使用者的某种应用目的所撰写的是指为针对使用者的某种应用目的所撰写的软件。软件。 (1)文字表格处理软件中,最为广泛应用)文字表格处理软件中,最为广泛应用的就是的

13、就是Windows Office。Office 是一套由微是一套由微软公司开发的办公软件,它为软公司开发的办公软件,它为Microsoft Windows操作系统而开发。与办公室应用程操作系统而开发。与办公室应用程序一样,它包括联合的服务器和基于互联网序一样,它包括联合的服务器和基于互联网的服务。的服务。 (2)辅助设计软件目前在汽车、飞机、船)辅助设计软件目前在汽车、飞机、船舶、超大集成电路等项目的设计、制造过舶、超大集成电路等项目的设计、制造过程中,占据着重要的地位。程中,占据着重要的地位。(3)网络软件相对较为丰富,包括通信支)网络软件相对较为丰富,包括通信支撑平台软件、网络服务支撑平台

14、软件、网撑平台软件、网络服务支撑平台软件、网络应用支撑平台软件、网络应用系统、网络应用支撑平台软件、网络应用系统、网络管理系统以及用于特殊网络站点的软件络管理系统以及用于特殊网络站点的软件等等。 (4)用户为解决实际问题,还编制了许)用户为解决实际问题,还编制了许多特定作用的应用软件,如看图软件多特定作用的应用软件,如看图软件(ACDSee)、平面设计软件)、平面设计软件(Photoshop)、平面动画制作软件)、平面动画制作软件(Flash)、网页制作软件()、网页制作软件(Dreamweaver)等。等。 (1)运算速度)运算速度:是指计算机每秒钟能执行的是指计算机每秒钟能执行的指令数。单

15、位为每秒百万条指令,简称指令数。单位为每秒百万条指令,简称MIPS(MillionInstructions Per Second)。19801987年年,速度速度12MIPS, 目前几千目前几千MIPS。 (2)主频(时钟频率):是指计算机的)主频(时钟频率):是指计算机的CPU在单位时间内输出的脉冲数。通俗地可在单位时间内输出的脉冲数。通俗地可理解为每秒钟运算的次数,它在很大程度上理解为每秒钟运算的次数,它在很大程度上决定了计算机的运行速度。单位决定了计算机的运行速度。单位MHz。Intel486的主频为的主频为33MHz120MHz.等。目前,等。目前,微机的主频:几微机的主频:几GHz

16、(3)字长:是指计算机能够同时处理)字长:是指计算机能够同时处理的二进制数据的位数,它是一个重要的的二进制数据的位数,它是一个重要的技术指标,直接影响到计算机的计算精技术指标,直接影响到计算机的计算精度和速度。计算机的字长越长,表示的度和速度。计算机的字长越长,表示的有效位数就越多,因而精度和速度就越有效位数就越多,因而精度和速度就越高,功能越强,主要由高,功能越强,主要由CPU型号而定。型号而定。有有32位(微机)、位(微机)、64位(工作站)、位(工作站)、128位位(大、中型机)大、中型机) (4)内存容量:是指随机存储器)内存容量:是指随机存储器RAM存存储容量的大小,它反映了计算机处

17、理数据储容量的大小,它反映了计算机处理数据量的能力,内存容量越大,计算机处理时量的能力,内存容量越大,计算机处理时与外存储器交换数据的次数越少,处理速与外存储器交换数据的次数越少,处理速度越快度越快. 目前微机:目前微机:64MB、128MB、256MB、512MB,计算机的主频越高、,计算机的主频越高、字长越长,计算机的运算速度越快。字长越长,计算机的运算速度越快。 (5)可靠性与可用性:)可靠性与可用性: 系统的可靠性:系统的可靠性:指在给定的时间内,计算机系统能正常运转的概率,通常用平均无故障工作时间MTBF (Mean Time Between Failures)表示。 MTBF的时间

18、越长,系统的可靠性越高。 系统的可维护性:系统的可维护性:计算机的维修概率,通常用平均修复时间(Mean Time To Repair,简称MTTR)表示,即从故障发生到故障修复所需的时间。 系统的可用性:系统的可用性:若MTBF很高,且MTTR很低,则称该计算机具很高的可用性。 (6)性能)性能/价格比:是一项综合性评价格比:是一项综合性评价计算机性能的指标价计算机性能的指标.机器允许配置机器允许配置的外部设备的最大数目、计算机系统的外部设备的最大数目、计算机系统的汉字处理能力、数据库管理系统及的汉字处理能力、数据库管理系统及网络功能等。网络功能等。 软件软件(Software)是一系列按照

19、特定顺序)是一系列按照特定顺序组织的电脑数据和指令的集合。一般来讲软组织的电脑数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。和介于这两者之间的中间件。 系统软件为计算机使用提供最基本的功系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。户和所服务的领域提供不同的功能。 从从19461946年出现了世界上第一台计算机之后,就有了年出现了世界上第一台

20、计算机之后,就有了程序的概念。在几十年的发展中,计算机经历了程程序的概念。在几十年的发展中,计算机经历了程序设计阶段、程序系统阶段、软件工程阶段和第四序设计阶段、程序系统阶段、软件工程阶段和第四阶段。阶段。阶段程序设计阶段程序系统阶段软件工程阶段第四阶段典型技术面向批处理、有限的分布、自定义软件多用户、实时、数据库、软件产品分布式系统、嵌入“智能”、低成本硬件、消费者的影响强大的桌面系统、面对对象技术、专家系统、人工神经网络、并行计算、网格计算表7-1计算机发展的几个阶段 在软件的开发和维护过程中,如何在给定的成本和时间下开发出符合用户需求的软件,以及如何维护数量不断膨胀的已有软件产品,对于这

21、些问题的出现,均可定义为软件危机。具体表现如下:具体表现如下:(1)产品不符合用户要求;)产品不符合用户要求;(2)对软件开发成本和进度的估计不准;)对软件开发成本和进度的估计不准;(3)软件产品的评价困难;)软件产品的评价困难;(4)软件的生产仍然存在着低层次的重复)软件的生产仍然存在着低层次的重复开发,难以实现可重用;开发,难以实现可重用;(5)软件的可维护性差;维护代价昂贵;)软件的可维护性差;维护代价昂贵;(6)软件生产跟不上硬件发展的步伐,不)软件生产跟不上硬件发展的步伐,不能充分利用计算机硬件的潜力。能充分利用计算机硬件的潜力。 为应对和解决为应对和解决“软件危机软件危机”,在,在

22、1986年秋季,年秋季,NATO(北约)的科技委(北约)的科技委员会第一次提出了软件工程(员会第一次提出了软件工程(Software Engineering)。)。 o软件工程是指导计算机软件开发和维护的软件工程是指导计算机软件开发和维护的一门工程学科。一门工程学科。o采用工程的概念、原理、技术和方法来开采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技确的管理技术和当前能够得到的最好的技术方法结合起来。术方法结合起来。o从管理和技术两方面研究如何更好地开发从管理和技术两方面研究如何更好地开发和维护计

23、算机软件的一门新兴学科。和维护计算机软件的一门新兴学科。o它涉及到程序设计语言,数据库,软件开它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方发工具,系统平台,标准,设计模式等方面。面。 软件工程包括三个要素:方法、工具和过程。软件工程包括三个要素:方法、工具和过程。 方法为软件开发提供了方法为软件开发提供了“如何做如何做”的技术。的技术。它包括项目计划与估算、软件系统需求分析、数它包括项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法的设计、编据结构、系统总体结构的设计、算法的设计、编码、测试和维护等。码、测试和维护等。 工具为软件工程方法提供了工具

24、为软件工程方法提供了“如何更有效地如何更有效地做做”的项目支撑。由软件工具集成起来形成的软的项目支撑。由软件工具集成起来形成的软件开发支撑系统,即计算机辅助软件工程。件开发支撑系统,即计算机辅助软件工程。 主要包括以下基本活动:主要包括以下基本活动:(1)软件定义软件定义 进行软件规格和使用限制的定义。进行软件规格和使用限制的定义。(2)软件开发软件开发 根据软件规格定义制作出软件产品。根据软件规格定义制作出软件产品。(3)软件验证软件验证 确认软件能够满足用户提出的要求。确认软件能够满足用户提出的要求。(4)软件维护软件维护 修正软件缺陷,并能根据用户需求变修正软件缺陷,并能根据用户需求变化

25、改进软件化改进软件。 如同任何事都有一个发生、发展、成熟直如同任何事都有一个发生、发展、成熟直到衰亡的全过程,软件系统或软件产品也有到衰亡的全过程,软件系统或软件产品也有一个目标的提出、定义、开发、运行和维护一个目标的提出、定义、开发、运行和维护直到被废弃不用的全过程。整个软件的生命直到被废弃不用的全过程。整个软件的生命周期可分为软件定义、软件开发、软件运行周期可分为软件定义、软件开发、软件运行维护维护3个阶段。在这个阶段。在这3个阶段之中,可细分为个阶段之中,可细分为多个步骤。多个步骤。图10 软件生命周期 (1)定义时期)定义时期 其主要任务是收集和分析用其主要任务是收集和分析用户的要求,

26、确定软件开发的总目标,给出系统户的要求,确定软件开发的总目标,给出系统功能、性能结构、可靠性以及接口等方面的要功能、性能结构、可靠性以及接口等方面的要求。通过与用户充分的交流,研究该软件的可求。通过与用户充分的交流,研究该软件的可行性,制订软件项目的开发计划,最后提交项行性,制订软件项目的开发计划,最后提交项目报告。目报告。 (2)开发时期)开发时期 在定义完成之后,要对软件在定义完成之后,要对软件进行设计和生产,设计包括功能需求分析、概进行设计和生产,设计包括功能需求分析、概要设计和详细设计。生产则包括编码的实现和要设计和详细设计。生产则包括编码的实现和软件测试验证。软件测试验证。 (3)运

27、行时期)运行时期 将软件交付给用户后将软件交付给用户后就进入运行时期。软件产品不同于硬就进入运行时期。软件产品不同于硬件产品,没有机械磨损和化学性质的件产品,没有机械磨损和化学性质的改变,但是在运行时期会出现开发时改变,但是在运行时期会出现开发时期未考虑到的问题,所以需要对软件期未考虑到的问题,所以需要对软件进行维护和更新进行维护和更新 软件开发模型又称为软件生存期模型,软件开发模型又称为软件生存期模型,是软件开发实际过程的抽象与概括,是是软件开发实际过程的抽象与概括,是对开发过程中各阶段之间关系的描述和对开发过程中各阶段之间关系的描述和表示。表示。图11 瀑布模型和原型进化模型2)软件定义)

28、软件定义如图如图1212所示,在定义时期,根据定义的不同阶段,所示,在定义时期,根据定义的不同阶段,需要完成不同的工作。需要完成不同的工作。定义时期可行性研究软件项目的问题定义制定软件开发计划图12 定义时期的分段 首先说明软件项目的最基本情况并形成项目报告,通过与用户的交流,了解到待开发软件项目的类型(应用软件、系统软件、通用软件、专用软件)、性质(新软件、软件升级)、目标(使用功能)、大致规模等问题。 在问题定义阶段,不必讨论软件项目细节。而可行性研究阶段是在明确了上述问题之后,对软件项目从技术、经济等各方面进行研究与分析。可行性研究的基础和出发点是问题定义阶段的结果,通常经历四个阶段:确

29、认、分析、结论、书写文档。如图13所示。1.确认4.书写文档3.结论2.分析对问题定义的结果进一步完善、认定对问题定义初步确定的软件系统正确性进行确认技术可行性经济可行性操作可行性法律可行性是否继续该工程文档作为项目审查和决策的依据图13 可行性研究流程可行性研究之后,进入制订软件开发计划阶段。这是一个综合的计划,作用于开发的全部过程,是开展项目活动的基础,是软件项目跟踪与监控的基础,更是开发者对用户需求理解的体现。制定计划一般分为六个步骤,如图14所示。1.确认项目交付的时间4.项目资源计划3.任务的分解2.确定软件目标和范围由用户提出,难以变更,须在规定时间内完成由开发者根据实际情况提出大

30、致时间项目规模、类型、主要功能、性能限制、相关数据、系统借口、特殊要求、开发概述。按阶段进行任务分解(软件生命周期)结构化任务分解(体系结构、功能划分或软件模块)任务分解矩阵(用矩阵表格表现任务的分工)人力资源(参与项目开发的所有人员)软件资源(各种支撑软件、工具软件、可重用软件)6.计划书5.项目进度安排内容(时间分配、人员分配、定义责任、定义结果、定义里程碑)方法(时间季度表、关键路线网络计划、计划评审技术)通过技术复查和管理复查,完善计划书图14软件开发计划流程3)需求分析 需求分析需求分析的任务是借助当前系统的逻辑模型导出新系统的逻辑模型,决定新系统做什么的问题。这相当于“分析、理解和

31、表达”的过程。具体任务在于(1)确定对系统的综合需求(功能需求、性能需求、数据需求、运行环境需求)(2)提出新系统的逻辑模型(3)修正系统开发计划(4)开发原型系统根据需求分析的任务,需求分析的过程如图15所示。图15 需求分析流程 需求分析中的各个环节,均可分为五个步骤来实现:获取用户需求、分析用户需求、编写需求文档、评审需求文档、管理需求。4)软件设计 在需求分析之后,知道了系统“做什么”,但还不知道系统“怎么做”,软件设计的任务就是实现需求的过程。而实现过程中,包含着“概况地描述”的概要设计和“具体地描述”的详细设计。在详细设计给出目标系统的精确描述后,在编码阶段就可以完成计算机程序。

32、概要设计概要设计主要是将需求分析的内容转换为具体的软件结构。为了完成此目的,设计人员通常要进行四个设计过程和步骤:数据设计、软件结构设计、接口设计和过程设计。(1)数据设计是从分析阶段得到的逻辑模型出发,设计出相应的数据结构。(2)软件结构设计定义了系统的主要结构元素之间的关系,得到软件层次化的结构图。(3)接口设计是要描述系统内部、系统与系统之间以及系统与用户之间的通信。(4)过程设计是从分析阶段得到的软件过程说明,对系统各个功能进行过程化的描述。 详细设计详细设计的目标是在概要设计的基础上具体地设计目标系统的实现过程,得到新系统的详细规划。其中包括下列任务。(1)算法过程的设计,描述出每个

33、处理过程的详细算法。(2)数据结构的设计,对于处理过程中涉及的概念性的数据类型进行定义。(3)数据库的设计,确定那些依赖于数据库系统的数据的存储格式、存储方法等。(4)信息编码设计,将某些数据项的值用代号来表示,以提高数据处理的效率。(5)测试用例的设计,测试用例需要提供测试数据和测试结果,检测系统是否完善,一般由进行了软件详细设计的人员提供测试用例。(6)其他设计,包括人机对话设计、系统配置设计和网络系统设计等。(7)编写“详细设计说明书”,这是详细设计阶段最重要的任务,编写之后必须进行评审,直到满足要求为止。5)编码与测试(1)编码编码又称程序设计,使用选定的程序设计语言,将详细设计中得到

34、的内容转换成能在计算机系统上运行的源代码。目前,各类程序设计语言有许多种,不同的语言有不同的特点及其适用范围,为了提高代码的可读性、可测试性、可维护性和可靠性,应该选择恰当的程序设计语言进行编码。(2)测试测试是通过执行软件来发现软件中可能出现的错误和缺陷,从而改善软件的可用性与可靠性。测试的过程可分为4个步骤,单元测试、集成测试、确认测试和系统测试。如图16所示。5)编码与测试(1)编码编码又称程序设计,使用选定的程序设计语言,将详细设计中得到的内容转换成能在计算机系统上运行的源代码。目前,各类程序设计语言有许多种,不同的语言有不同的特点及其适用范围,为了提高代码的可读性、可测试性、可维护性

35、和可靠性,应该选择恰当的程序设计语言进行编码。(2)测试测试是通过执行软件来发现软件中可能出现的错误和缺陷,从而改善软件的可用性与可靠性。测试的过程可分为4个步骤,单元测试、集成测试、确认测试和系统测试。如图16所示。 图7-16 软件测试流程6)运行维护 软件的维护就是软件在交付之后对软件产品进行修改。根据软件维护的原因,维护活动可分为4种类型:(1)改正性维护。开发时测试的不彻底、不完全,导致软件在使用期间可能会发现程序的错误,也可能是性能上的错误。对这些错误进行识别、修正的过程,称为改正性维护。(2)适应性维护。由于计算机科学技术领域的飞速进步,外部环境或数据环境可能发生变化,为使软件适

36、应这些变化而做的修改的过程称为适应性维护。(3)完善性维护。在使用过程中,用户会提出新的要求来改变软件某些功能或者增强某些功能。为了满足用户的要求进行的维护活动称为完善性维护。(4)预防性维护。为了提高未来的可维护性和可靠性,或给未来的改进工作奠定基础而进行的维护活动,称为预防性维护。统计数字表明:在整个软件维护阶段花费的全部工作量中,预防性维护只占4%左右;完善性维护占51%左右:改正性维护占20%左右;适应性维护占25%左右。 进入进入21世纪以来,计算机的发展非常迅速,世纪以来,计算机的发展非常迅速,在科学技术、国防事业、经济、工农业生产在科学技术、国防事业、经济、工农业生产以及人类社会

37、的各个方面所起的作用越来越以及人类社会的各个方面所起的作用越来越大,它替代了人们许多烦琐的工作,提高了大,它替代了人们许多烦琐的工作,提高了我们的工作效率。我们的工作效率。 它在通讯技术上的应用,给人们的生活它在通讯技术上的应用,给人们的生活带来了极大的方便;在工业自动化应用上,带来了极大的方便;在工业自动化应用上,使产品的质量和数量都大幅度得到提高,特使产品的质量和数量都大幅度得到提高,特别是在现代尖端科学技术方面,更离不开计别是在现代尖端科学技术方面,更离不开计算机。算机。 计算机革命几乎冲击了所有的领计算机革命几乎冲击了所有的领域,计算机作为域,计算机作为20世纪科学技术的世纪科学技术的

38、卓越成就之一,它正在改变并将继续卓越成就之一,它正在改变并将继续影响和改变人类的学习、工作和生活影响和改变人类的学习、工作和生活方式,计算机诞生以后,信息的交流方式,计算机诞生以后,信息的交流和传播起了质的变化,计算机科学这和传播起了质的变化,计算机科学这门年轻的学科,正愈来愈被人们所重门年轻的学科,正愈来愈被人们所重视。视。 机器指令:机器指令:是要计算机执行某种操作的命是要计算机执行某种操作的命令。令。 指令系统:指令系统:所有指令的集合称为计算机的所有指令的集合称为计算机的指令系统。指令系统是软件和硬件的界面,指令系统。指令系统是软件和硬件的界面,指令是对计算机进行程序控制的最小单位。指

39、令是对计算机进行程序控制的最小单位。 机器语言程序:机器语言程序:用机器指令编写的程序,用机器指令编写的程序,也是目标程序。也是目标程序。取指令取指令:按照程序计数器的地址,从内存中取出指令,并送往指令寄存器。分析指令分析指令:对指令寄存器存放的指令进行分析,由译码器对操作码进行译码,将指令的操作码转换成相应的控制信号;由地址码确定操作数的地址。 执行指令:执行指令:指令的操作码指明了该指令要完成的操作类型或性质,所以由操作控制线路发出完成该操作所须的一系列控制信息,去完成该指令所要求的操作。图18 指令执行过程 计算机语言(计算机语言(Computer Language)指用于人与计算机之间

40、通讯的语言。计指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的算机语言是人与计算机之间传递信息的媒介。计算机程序设计语言的发展,经媒介。计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言历了从机器语言、汇编语言到高级语言的历程。的历程。(1)机器语言是指一台计算机全部的)机器语言是指一台计算机全部的指令集合,是第一代计算机语言。指令集合,是第一代计算机语言。(2)为了减轻使用机器语言编程的痛苦,)为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定洁的英文字母、符号串来替代一个特定

41、的指令的二进制串,的指令的二进制串, 汇编语言同样十分依赖于机器硬件,汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。常用而强有力的软件开发工具。(3)从最初与计算机交流的痛苦经历中,)从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人

42、的自然语这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。的程序能在所有机器上通用。#includevoid main()printf(hello); 以上程序是C语言里面最简单的一“HelloWorld”程序。其功能是在显示屏上打印出“HelloWorld”字样。1)操作系统的功能)操作系统的功能 操作系统能对计算机系统中的软件操作系统能对计算机系统中的软件和硬件资源进行有效地管理和控制,合和硬件资源进行有效地管理和控制,合理地组织计算机的工作流程,为用户提理地组织计算机的工作流程,为用户提供一个使用计算机的工作环

43、境,起到用供一个使用计算机的工作环境,起到用户和计算机之间的接口作用。户和计算机之间的接口作用。而其具体又可分为如下五类管理工作。而其具体又可分为如下五类管理工作。(1)处理器管理:用于分配和控制处理器。)处理器管理:用于分配和控制处理器。(2)存储器管理:主要负责内存的分配与回收。)存储器管理:主要负责内存的分配与回收。(3)设备管理:负责设备的分配与操纵。)设备管理:负责设备的分配与操纵。(4)文件管理:负责文件的存取、共享和保护。)文件管理:负责文件的存取、共享和保护。(5)接口管理:提供两种方式的接口为用户服务)接口管理:提供两种方式的接口为用户服务。 2)操作系统的分类)操作系统的分

44、类(1)按照与用户对话的界面分类可分为:)按照与用户对话的界面分类可分为:命令行界面操作系统和图形用户界面系统。命令行界面操作系统和图形用户界面系统。(2)按照支持的用户数分类可分为:单用)按照支持的用户数分类可分为:单用户操作系统和多用户操作系统。户操作系统和多用户操作系统。(3)按照运行任务的多少分类可分为:单)按照运行任务的多少分类可分为:单任务操作系统和多任务操作系统。任务操作系统和多任务操作系统。(4)按照系统的作用分类可分为:批处理)按照系统的作用分类可分为:批处理系统、分时操作系统、实时操作系统和网络系统、分时操作系统、实时操作系统和网络操作系统。操作系统。 1)科学计算科学计算

45、(或数值计算或数值计算) 科学计算是指利用计算机来完成科学研究科学计算是指利用计算机来完成科学研究和工程技术中提出的数学问题的计算。在现和工程技术中提出的数学问题的计算。在现代科学技术工作中,科学计算问题是大量的代科学技术工作中,科学计算问题是大量的和复杂的。利用计算机的高速计算、大存储和复杂的。利用计算机的高速计算、大存储容量和连续运算的能力,可以实现人工无法容量和连续运算的能力,可以实现人工无法解决的各种科学计算问题。解决的各种科学计算问题。2)数据处理数据处理(或信息处理或信息处理) 数据处理是指对各种数据进行收集、存储、数据处理是指对各种数据进行收集、存储、整理、分类、统计、加工、利用

46、、传播等一整理、分类、统计、加工、利用、传播等一系列活动的统称。据统计,系列活动的统称。据统计,80以上的计算以上的计算机主要用于数据处理,这类工作量大面宽,机主要用于数据处理,这类工作量大面宽,决定了计算机应用的主导方向。决定了计算机应用的主导方向。 3)辅助技术辅助技术(或计算机辅助设计与制造或计算机辅助设计与制造) 计算机辅助技术包括计算机辅助技术包括CAD、CAM和和CAI等。等。计算机辅助制造计算机辅助制造 计算机辅助制造是利用计算机系统进行计算机辅助制造是利用计算机系统进行生产设备的管理、控制和操作的过程。例如,生产设备的管理、控制和操作的过程。例如,在产品的制造过程中,用计算机控制机器的在产品的制造过程中,用计算机控制机器的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论