《计算机软件》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《计算机软件》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《计算机软件》PPT课件.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华北电力大学计算机学院华北电力大学计算机学院计算机导论1第三章第三章 计算机软件计算机软件一一计算机软件计算机软件 计算机软件基于一类计算机硬件标准而开发的,计算机软件基于一类计算机硬件标准而开发的,具有特定功能,达到一定稳定度和可靠性标准,满具有特定功能,达到一定稳定度和可靠性标准,满足用户应用需求程序产品。足用户应用需求程序产品。软件的质量软件的质量:能满足用户的需要(功能说明);能满足用户的需要(功能说明);遵循标准和规范开发(代码规范,规范测试);遵循标准和规范开发(代码规范,规范测试);满足客户的需求满足客户的需求(隐性需求,功能测试);隐性需求,功能测试);满足可靠性,易用性标准(
2、性能测试);满足可靠性,易用性标准(性能测试);满足安全要求(安全测试)。满足安全要求(安全测试)。华北电力大学计算机学院华北电力大学计算机学院计算机导论21.1.程序程序 程序:是表现某一程序:是表现某一(些些)功能的指令与数据集合功能的指令与数据集合 (有序有序)。功能:解一个方程或控制某一过程,显示一个字符集。功能:解一个方程或控制某一过程,显示一个字符集。指令:人为规定的,计算机可以执行的一个基本操作。指令:人为规定的,计算机可以执行的一个基本操作。指令可分为:机器指令与程序指令。指令可分为:机器指令与程序指令。数据:指令的操作对象数据:指令的操作对象 。2.2.计算机机器指令与程序指
3、令计算机机器指令与程序指令 机器指令:是指机器指令:是指CPUCPU内硬件实现的一个基本操作。汇编加。内硬件实现的一个基本操作。汇编加。程序指令:是指某程序设计语言的一条指令语句,他可能程序指令:是指某程序设计语言的一条指令语句,他可能 包含数十条机器指令。包含数十条机器指令。ADD A,BAssignFile(File1,C:TEXT.TXT)华北电力大学计算机学院华北电力大学计算机学院计算机导论3机器指令是人们设计机器指令是人们设计CPUCPU时设计的时设计的CPUCPU的基本操作的基本操作单元。单元。目前目前CPUCPU指令设计有两大类型:指令设计有两大类型:CISCCISC和和RISC
4、.RISC.中国人发明的一种叫中国人发明的一种叫MISC.MISC.CISC CISC 的代表是的代表是 IntelIntel公司公司 RICS RICS 的代表是的代表是 IBM Berkeley Stanford CrayIBM Berkeley Stanford Cray MISC MISC 多思多思 开发开发 Complex Instruction Set Complex Instruction Set ComputerComputer Reduced Instruction Set Reduced Instruction Set ComputerComputerMacro Instr
5、uction Set ComputerMacro Instruction Set Computer华北电力大学计算机学院华北电力大学计算机学院计算机导论43 3.CISCCISC的特点的特点 指令就是人设计的一种关系,这种关系用电子电路来实现,指令就是人设计的一种关系,这种关系用电子电路来实现,使得输入一个值便可按既定关系输出一个值。使得输入一个值便可按既定关系输出一个值。设计师们根据对计算机的操作将指令分类为:设计师们根据对计算机的操作将指令分类为:数值计算、逻辑运算数值计算、逻辑运算 数据转移数据转移 寻址寻址 I/OI/O操作操作 特殊操作(栈、队列、中断等特殊操作(栈、队列、中断等)对
6、于对于CISCCISC系统分两级来实现全部的指令集系统分两级来实现全部的指令集 :第一部分是硬件、电子电路。第一部分是硬件、电子电路。第二部分是微指令。第二部分是微指令。华北电力大学计算机学院华北电力大学计算机学院计算机导论5 对对CISCCISC指令系统而言,指令的长度、执行时间、机周指令系统而言,指令的长度、执行时间、机周期都不是固定的,而且指令数目随着功能的增加而不断增期都不是固定的,而且指令数目随着功能的增加而不断增加。有些指令是增加第二级微指令来实现,有些指令则需加。有些指令是增加第二级微指令来实现,有些指令则需用电子电路来实现用电子电路来实现 ,这样就使得这样就使得CPUCPU及指
7、令系统越来越复及指令系统越来越复杂。通常杂。通常CISCCISC指令集的指令集的CPUCPU指令在指令在200500200500条。条。4.4.RISCRISC的特点:的特点:支持支持RISCRISC技术的厂家、学校、公司有:技术的厂家、学校、公司有:IBM IBM 公司公司 801 801 小机型小机型 Berkeley RISCI(II)Berkeley RISCI(II)加州大学帕克利分校加州大学帕克利分校 Stanford Mips Stanford Mips 斯坦福大学斯坦福大学 CRAY-1 CRAY-1 CRAY-1 CRAY-1 克雷公司克雷公司 目前所有的目前所有的RISCR
8、ISC机型均出自上述四家。机型均出自上述四家。华北电力大学计算机学院华北电力大学计算机学院计算机导论6RISCRISC结构对结构对CISCCISC结构进行了改进:结构进行了改进:CISCCISC指令系统中,应用效率达指令系统中,应用效率达80%80%以上的指令仅占指以上的指令仅占指令总数的令总数的20%20%。精简指令。精简指令。双层指令系统(微指令)延长了每条指令的执行周期。双层指令系统(微指令)延长了每条指令的执行周期。CISC CPUCISC CPU直接存取直接存取RAMRAM中数据降低了指令执行速度中数据降低了指令执行速度。可变长指令结构。可变长指令结构。RISCRISC结构的特点结构
9、的特点:(1)(1)短周期时间。短周期时间。(时钟周期变短)(时钟周期变短)(2)(2)单周期执行指令。单周期执行指令。(硬件指令)(硬件指令)(3)Load/Store(3)Load/Store结构。结构。(批量数据交换)(批量数据交换)(4)(4)简单固定格式的指令。简单固定格式的指令。(便于翻译、设计)(便于翻译、设计)(5)(5)不用微码技术。不用微码技术。(直接硬件指令)(直接硬件指令)华北电力大学计算机学院华北电力大学计算机学院计算机导论7(6)(6)大寄存器堆。大寄存器堆。(CACHE(CACHE)(7)(7)哈佛总线结构。哈佛总线结构。(HarvardHarvard)高速双总线
10、动态访问高速双总线动态访问 (8)(8)高速流水线操作。(指令预测功能)高速流水线操作。(指令预测功能)(9)(9)延迟转移。延迟转移。(由(由RISCRISC编译系统配合,可调换前、编译系统配合,可调换前、后指定的位置,减少指令的装载)后指定的位置,减少指令的装载)(10)(10)硬件控制。(代替微码)硬件控制。(代替微码)(11)(11)重叠寄存器窗口技术。(调用重叠寄存器窗口技术。(调用.跳转跳转.快速)快速)(12)(12)优化编译程序。(优化数据流、控制流)优化编译程序。(优化数据流、控制流)(13)(13)增强存贮管理功能。增强存贮管理功能。(14)(14)面向高级语言。面向高级语
11、言。(一次可生成直接硬件执行的指令一次可生成直接硬件执行的指令)RISC指令能在100条左右,通常面向具体的应用,常用于工作站、小型机等。华北电力大学计算机学院华北电力大学计算机学院计算机导论8MISCMISC结构的特点结构的特点:Intel 80586Intel 80586应用的应用的CACHECACHE技术,使指令执行速度技术,使指令执行速度 比原来快比原来快75%75%。将微指令与直接硬件指令结合。将微指令与直接硬件指令结合。(运用新的编译系统运用新的编译系统)5.5.指令的执行过程指令的执行过程上电上电硬件时钟ROM程序指令译码指令执行机器时钟由PC指针的地址取第一条指令由指令码生成具
12、体的电气控制信号再取指令华北电力大学计算机学院华北电力大学计算机学院计算机导论96 6.计算机的软件计算机的软件 软件是指除了看得见摸得着的硬件实体之外的,能够体软件是指除了看得见摸得着的硬件实体之外的,能够体现整个系统水平和功能的其它抽象的、逻辑的东西现整个系统水平和功能的其它抽象的、逻辑的东西 。计算机的软件的核心内容是指程序,是一种产品化了的程序。与程序不同,软件除了具有程序的功能之外,还必须具有一定可靠性、可用性、稳定性,以及符合一定的标准。具体属性:基于特定的硬件基础。为某类问题而编制的程序。可以作为商品出售。华北电力大学计算机学院华北电力大学计算机学院计算机导论107.7.软件分类
13、软件分类分类必须依照标准,一般的分类标准有:分类必须依照标准,一般的分类标准有:依照软件的功能;依照软件的功能;依照计算机系统的组成。依照计算机系统的组成。依照软件的功能:依照软件的功能:应用软件(应用程序)(应用程序)开发软件(开发应用程序的软件)(开发应用程序的软件)执行软件(控制管理计算机本身的程序)(控制管理计算机本身的程序)华北电力大学计算机学院华北电力大学计算机学院计算机导论11依照计算机系统来分:依照计算机系统来分:应用软件系统软件开发软件控制软件(计算机与用户应用系计算机与用户应用系统的接口统的接口)(计算机硬件及其与用计算机硬件及其与用户接口户接口)程序设计程序设计语言,编语
14、言,编译系统等译系统等操作系统操作系统(用户应用软件(共用,私用)华北电力大学计算机学院华北电力大学计算机学院计算机导论12二二.程序设计的步骤和方法程序设计的步骤和方法程序设计的概念程序设计的概念 在特定的计算机平台上,利用程序设计语言,设计编在特定的计算机平台上,利用程序设计语言,设计编制满足特定应用功能的指令集合。制满足特定应用功能的指令集合。机器语言机器语言 面向机器面向机器 汇编语言汇编语言 以面向机器为主以面向机器为主 高级程序设计语言高级程序设计语言 以人为主以人为主华北电力大学计算机学院华北电力大学计算机学院计算机导论13汇编语言程序汇编语言程序机器语言机器语言计算机执行计算机
15、执行高级语言程序高级语言程序机器语言机器语言计算机执行计算机执行(源程序)(源程序)(源程序)(源程序)汇编(翻译)(目标程序)汇编(翻译)(目标程序)(翻译)(翻译)(目标程序)(目标程序)汇编程序汇编程序编译,解释编译,解释华北电力大学计算机学院华北电力大学计算机学院计算机导论14典型的程序设计语言(高级):典型的程序设计语言(高级):FORTRAN 科学计算COBOL 商业管理(数据描述与处理)PASCAL 结构化、数字语言C语言 专业应用语言LISP 逻辑演绎语言(智能推理)JAVA 跨平台网络编程语言程序设计就是:程序设计就是:在特定的计算机系统平台上,应用程序设计语言,开发设在特定
16、的计算机系统平台上,应用程序设计语言,开发设计满足特定应用功能的程序过程。计满足特定应用功能的程序过程。华北电力大学计算机学院华北电力大学计算机学院计算机导论15三三.程序设计的思维方法程序设计的思维方法1.1.算法算法算法定义:用计算机解题的精确描述。算法定义:用计算机解题的精确描述。算法具有如下属性:算法具有如下属性:有限个步骤(动作序列)合成一组有序指令的集合有限个步骤(动作序列)合成一组有序指令的集合 (程序);(有效)(程序);(有效)仅有一个初始动作;(输入)仅有一个初始动作;(输入)每个动作仅有一个后续动作;(输出)每个动作仅有一个后续动作;(输出)序列中止表示问题得到结论。(解
17、或无解,终止)序列中止表示问题得到结论。(解或无解,终止)程序是将算法用编程语言实现的一种逻辑产品。程序是将算法用编程语言实现的一种逻辑产品。算法设计是程序设计的核心,一个好的算法应该是既省时间,又省空间,解答又正确。华北电力大学计算机学院华北电力大学计算机学院计算机导论162.2.算法设计的基本思路算法设计的基本思路抽象法抽象法用变量去取代具体的值,这个变量就是对具体值的抽象。用变量去取代具体的值,这个变量就是对具体值的抽象。一旦在程序设计中,学会了如何使用变量,你就掌握了一旦在程序设计中,学会了如何使用变量,你就掌握了程序设计的精华。程序设计的精华。每个月的每个月的工资工资是由是由岗级岗级
18、乘以乘以岗级工资岗级工资加上加上奖金数奖金数再减再减去去其它扣除其它扣除。yaxb1b2y=ax+b1-b2(抽象)华北电力大学计算机学院华北电力大学计算机学院计算机导论17Programtext1y:Float;a:Integer;x,b1,b2:Float;Beginwritein(“a=“,a);writein(“x=“,x);writein(“b1=“,b1);writein(“b2=“,b2);writein(“y=“,ax+b1-b2);End;华北电力大学计算机学院华北电力大学计算机学院计算机导论18枚举法枚举法 一种方法不行,换另一种方法,不行,再换一种,一种方法不行,换另一种
19、方法,不行,再换一种,直到所有想到的方法都用完为止。直到所有想到的方法都用完为止。在计算机解决问题时,如果我们一时找不到规律性的在计算机解决问题时,如果我们一时找不到规律性的描述,或不值得花太多的精力去找规律时,就用枚举法。描述,或不值得花太多的精力去找规律时,就用枚举法。(查表,数字滤波)。(查表,数字滤波)。归纳法归纳法 归纳法是枚举法的归纳法是枚举法的反向方法反向方法(思维上的反向)。它(思维上的反向)。它是指由是指由特殊特殊到到一般一般的归纳推理。的归纳推理。如何从特殊性中找到共性的规律这是需要智慧的。如何从特殊性中找到共性的规律这是需要智慧的。华北电力大学计算机学院华北电力大学计算机
20、学院计算机导论19例如:例如:求求1100的自然数之和的自然数之和5014999511001个个50+49个个100+1个个100即:即:1个个50加加50个个100归纳归纳:50 x100+50=5050设设1n则则nn=1=(n/2)*n+n/2=(n/2)*(n+1)华北电力大学计算机学院华北电力大学计算机学院计算机导论20验证:验证:100n=1100/2(100+1)=5x101=5050 回溯法回溯法 回溯法的基本思想是试探。典型的应用是解密。回溯法的基本思想是试探。典型的应用是解密。a:a:排列组合产生数据排列组合产生数据 b:b:特征码产生数据特征码产生数据 子问题法子问题法
21、将一个问题,按其结构关系,划分成若干个比较简单的将一个问题,按其结构关系,划分成若干个比较简单的问题。从而各个突破。这是程序设计必须要掌握的方法。问题。从而各个突破。这是程序设计必须要掌握的方法。华北电力大学计算机学院华北电力大学计算机学院计算机导论21软件工程软件工程中对程序中对程序的评价标的评价标准规定:准规定:正确性正确性 子程序结构子程序结构 易读性易读性 时时.空效率空效率 文档文档 通用性通用性正确性正确性 按原来的程序说明,程序是否正确完成了要做的工作。按原来的程序说明,程序是否正确完成了要做的工作。对于大型程序来说,仅用正确性来很衡量是不够的。还对于大型程序来说,仅用正确性来很
22、衡量是不够的。还应应 考虑程序对环境的适应性(例如计算硬件配置的变化考虑程序对环境的适应性(例如计算硬件配置的变化输入异常,参数变化等)输入异常,参数变化等)这用这用“健状性健状性”来表达。来表达。四四.程序评价标准程序评价标准早期早期(60(60年代年代)评价标准评价标准:正确性正确性 速度快速度快 占用内存少占用内存少华北电力大学计算机学院华北电力大学计算机学院计算机导论22如何证明程序的正确性是一个重要的问题,现在常用的如何证明程序的正确性是一个重要的问题,现在常用的 方法是方法是人工测试人工测试,主要是应用,主要是应用枚举法枚举法,对如大型软件,对如大型软件,研究自动检验正确性的方法很
23、重要。研究自动检验正确性的方法很重要。程序程序结构结构是否以是否以实现用逻辑子功实现用逻辑子功 能的方式能的方式来建立子程序来建立子程序。程序的易读性程序的易读性程序的易读性主要是满足测试,维护的方便性。从社会的程序的易读性主要是满足测试,维护的方便性。从社会的角度来看可以节约人力物力。通常注释程序占程序编制的角度来看可以节约人力物力。通常注释程序占程序编制的2030%2030%工作量。工作量。时时.空空效率效率速度速度,内存空间内存空间时时.空效率是程序的执行效率。空效率是程序的执行效率。戴克斯特拉(戴克斯特拉(E.W.Dijkstra)E.W.Dijkstra)提提出出:枚举法,归纳法,抽
24、象法枚举法,归纳法,抽象法每个子程序是具有相对独每个子程序是具有相对独立的逻辑功能。立的逻辑功能。华北电力大学计算机学院华北电力大学计算机学院计算机导论23 程序说明文档清楚程序说明文档清楚程序的技术文档,使用说明文档清楚程序的技术文档,使用说明文档清楚 。通用性(可移植性)通用性(可移植性)代码的共享性,可提高程序开发的效率。代码的共享性,可提高程序开发的效率。程序设计中应用模块化,抽象思维,标准化。程序设计中应用模块化,抽象思维,标准化。时间效率取决于:时间效率取决于:a a:源程序转换为目标程序的时间:源程序转换为目标程序的时间 b b:目标程序执行的时间空间效率:在程序设计中,占用内:
25、目标程序执行的时间空间效率:在程序设计中,占用内存越少越好,主要是在算法中,有效利用每个存储单元。存越少越好,主要是在算法中,有效利用每个存储单元。华北电力大学计算机学院华北电力大学计算机学院计算机导论24五五.程序与软件的体系结构程序与软件的体系结构 u程序的基本结构程序的基本结构 华北电力大学计算机学院华北电力大学计算机学院计算机导论25u软件的基本结构软件的基本结构 混成结构混成结构 软件软件C/SC/S结构结构 三三层层 C/apS/dbSC/apS/dbS结构结构 B/SB/S结构结构 三层三层 B/webS/dbSB/webS/dbS结构结构四层四层 B/webS/apS/dbS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内