计算机软件技术基础.ppt

上传人:少林足球 文档编号:4963174 上传时间:2020-01-21 格式:PPT 页数:33 大小:686.59KB
返回 下载 相关 举报
计算机软件技术基础.ppt_第1页
第1页 / 共33页
计算机软件技术基础.ppt_第2页
第2页 / 共33页
计算机软件技术基础.ppt_第3页
第3页 / 共33页
计算机软件技术基础.ppt_第4页
第4页 / 共33页
计算机软件技术基础.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《计算机软件技术基础.ppt》由会员分享,可在线阅读,更多相关《计算机软件技术基础.ppt(33页珍藏版)》请在三一文库上搜索。

1、计算机软件技术基础,第一章 概 述,第 2 页,第一章 概 述,1.1 计算机系统 1.2 软件技术概述 1.3 程序设计语言 1.4 数据结构与算法 1.5 操作系统 1.6 数据库技术 1.7 软件工程 1.8 软件开发方法,第 3 页,1.1 计算机系统,什么是计算机? 计算机是接收、处理和提供数据的装置,它由硬件和软件两大部分组成。 计算机就是我们平时常用的PC机吗? PC机只是计算机的一种,计算机家族中还有很多其他的成员。,第 4 页,无所不在的嵌入式家族,第 5 页,养在深闺的巨型计算机,世界上最快的计算机 IBM的Blue Gene/L ,拥有超过100万个处理器,每个处理器每秒

2、可运算10亿次。运算能力相当于击败国际象棋世界级棋手的超级电脑“深蓝”的1000倍。占地达两个篮球场之大,重达106吨。,第 6 页,1、计算机硬件及发展,什么是硬件? 硬件是组成计算机系统的所有电子的、机械的、磁性的、光学的装置和部件。 配置一台计算机需要购买哪些东西? 存储程序式计算机的工作原理 5大部件: (运算器控制器)存储器输入设备输出设备,第 7 页,硬件的发展,发展历史 电子管晶体管集成电路 发展规律及特点 速度慢速度快 体积大容量小体积小容量大 外设少、简单外设繁多、复杂 外设速度发展慢于CPU速度的发展 摩尔定律(假设价格保持不变,处理器芯片上的晶体管数每18个月翻一番),第

3、 8 页,世界上第一台电子计算机ENIAC,诞生于1942年 18800个晶体管 70000个电阻器 18000个电容器 重量30吨 耗电140千瓦/h 5000次加法/s,第 9 页,Pentium IV(2000),42,000,000个晶体管 时钟频率1.5GHz 运算速度为1700 MIPS (MIPS 代表百万指令集每秒 ),第 10 页,2、计算机软件,软件程序,开发软件写程序? 错误! 程序只是软件的一个组成部分 写程序只是软件开发的过程中的一个步骤 软件是程序、数据以及有关文档资料的集合。 (可运行的)思想和内容的数字化 思想:算法、规律、办法(程序) 内容:图形、图像、数据、

4、声音、文字等(数据),第 11 页,软件的分类,所有的硬件都是相似的,软件则各有各的不同。 但是软件的开发过程存在很多规律和共性,找到并利用这些规律来帮助和指导软件的开发,这正是各类软件技术研究的内容。,操作系统 、语言编译器、数据库管理系统,财务软件、文字处理软件、用户自己开发的系统等,第 12 页,3、硬件与软件的关系,软硬件独立原理和互动原理 独立原理:软件理论上能实现的功能本质上与硬件是独立的(不管硬件是何种形式) 互动原理:软件实际能实现的功能受制于硬件,硬件发展一个台阶,软件就能前进一大步 软硬件等效定律 简单的硬件+复杂的软件 简单的软件+复杂的硬件 最终都可以完成同一个任务,不

5、同的只是时间!,第 13 页,3、硬件与软件的关系,硬件是计算机系统的物质基础;软件是提高计算机系统效率和方便用户使用计算机的程序;它们二者相互依赖、相互促进、共同发展。 好的软件能充分发挥硬件的性能,提升计算机的价值。 没有软件的硬件是僵尸,没有硬件的软件是幽灵。 各类软件技术的最终目的就是设计出好的软件,以便最大限度地合理利用和发挥硬件的能力,使计算机系统更好地为用户服务。,第 14 页,1.2 软件技术概述,软件本质上是一种思想,利用计算机来解决某个问题的思想!软件的实现就是将这个思想数字化的过程!,在这个过程中要用到各种各样的软件技术,有的是抽象的指导理论,有的是具体的实现工具。,计算

6、机解题过程: 理解问题,建立数学模型 设计解题方案 程序编码和调试 程序测试和维护,第 15 页,软件技术分类,程序设计语言 编译技术 软件及实现技术 操作系统及实用程序 计算机 数据库技术 软件技术 软件工具 软件工程 软件开发方法与技术 程序设计方法 数据结构和算法,第 16 页,1.3 程序与程序设计语言,程序:是使计算机完成某种任务的一个有序的命令(指令语句)和数据的集合。,程序设计语言发展的三个阶段: 机器语言汇编语言高级语言,写程序就像写文章,要解决两个问题: 1.明确自己要表达的是什么 2.用一种语言把它表达出来,程序设计语言是编写计算机程序所用的语言。,第 17 页,1.3 程

7、序设计语言,机器语言 是机器指令的集合,其代码由0、1组成的二进制串表示,不需翻译可直接为机器所接受。 汇编语言 为符号化的机器语言。它用助记符和标识符代替机器指令的操作码和地址码。 高级语言 是一种与具体的计算机指令系统无关,独立于计算机类型,而且表达方式接近于自然语言或数学语言,容易被人们掌握和书写的语言。如C,Pascal,java。,第 18 页,举例,任务:x1x 机器语言 00111110 00001001 00111111B 或 3E 09 3FH 汇编语言 MOV AX,X / INC AX / MOV X,AX C语言 x=x+1 或 x+ 或 +x,第 19 页,高级语言的

8、优点,比机器或汇编语言更易于学习 程序更易于调试(程序更为短小;记号本身更自然,因此更多注意力可放在程序逻辑而非语法细节上) 程序更易于理解 较好的平台无关性 上述原因导致解决问题的时间和代价减少,第 20 页,语言翻译,翻译程序 是把甲种语言程序翻译为等价的乙种语言程序的程序。其中,甲种语言称为源语言。乙种语言称为目标语言。 汇编程序 若源语言是汇编语言,目标语言是机器语言,则该翻译程序被称为汇编程序。 编译程序 若源语言是高级语言,目标语言是汇编语言或机器语言,则该翻译程序被称为。 解释程序 是翻译程序的另一种形式,它对源程序的语句边解释边执行,不产生目标程序。,第 21 页,1.4 数据

9、结构和算法,程序中往往要处理大量的数据,这些数据采用什么样的方式来组织、存放才能最大限度地方便应用处理,提高程序效率呢? 数据结构研究数据的组织形式,包括数据的逻辑结构,物理结构以及在该数据结构上所施加的运算。 一类数据结构指的是一类数学模型。 数据结构是软件技术基础的基础。,第 22 页,1.4 数据结构和算法,算法是对解题方法的精确描述。描述的方式可以是各种各样的。如自然语言,流程图,伪代码等。 算法必须具有有穷性,确定性,能行性,输入和输出。 一个问题可以有多种解题方法,那么就有多个对应的算法。算法的优劣由算法的时间复杂度和空间复杂度来衡量。,第 23 页,1.5 操作系统,没有安装任何

10、软件的计算机称为裸机。 操作系统是直接运行于裸机之上的系统软件,它负责对计算机系统的各种软硬件资源进行管理和分配,为用户提供友好的计算机使用界面和平台。 在裸机上配置操作系统之后就构成了操作系统虚拟机。 所有其它的程序都在扩充后的机器上运行。,第 24 页,第 25 页,1.6 数据库技术,数据库是一种强大的数据处理技术。 它把应用中所有的数据有结构地集中在一起,并提供对这些数据的存储管理、多用户共享、操纵、安全保护、完整性控制等强大功能。 一个国家的信息化程度是衡量该国国力的重要标准,而信息化是以数据库技术为基础的。 现代的银行、金融、证券、保险等各行业的高效运营都依赖于数据库技术。,第 2

11、6 页,1.7 软件工程,产生背景 硬件的发展使得计算机的应用领域迅速扩大,同时程序的规模和复杂度也急剧增长。 早期手工作坊式的软件开发方式因无法适应这种变化而形成了“软件危机”。主要表现在: 开发成本和进度估计不准确,生产效率低。 用户对软件系统不满意的现象经常发生。 软件产品的质量不可靠。 软件常常是不可维护的。 软件成本在计算机系统总成本中的比例上升。,第 27 页,软件工程概念,软件工程是指导计算机软件开发和维护的工程学科,采用工程的概念、原理、技术和方法来开发与维护软件。 贯穿于这一学科的基本线索是软件生命期学说,它告诉软件研制者和维护者“什么时候做什么以及怎么做”。 软件生命期就象

12、人的寿命一样,从出生算到死亡,从产生开发要求算到软件报废为止。包括:软件计划、需求分析、软件开发和软件维护四个时期。,第 28 页,软件过程,软件计划 用户想解决什么问题?(软件定义) 这个问题能否解决?(可行性分析) 需求分析 目标系统应该做成什么样子? 软件开发 怎样实现目标系统?(软件设计) 系统的具体实现。(软件编码) 实现系统与是否符合目标?(软件测试) 软件维护 如何保持系统正常运行?,第 29 页,软件过程模型:瀑布模型,第 30 页,1.8 软件开发方法,结构化方法 自顶向下,逐步细化 模块化 结构化程序设计,第 31 页,自顶向下,逐步细化,由于人类思维能力的限制,如果一次面

13、临的因素太多,就无法作出精确的思维。 例如:举办一个生日party 布置场地 准备食物 准备节目 邀请客人 自顶向下,逐步细化就是将复杂的问题分解成若干个子问题,直到所有子问题都简单到能用程序设计语言来表达的方法。,第 32 页,模块化,把一个程序按功能分解成若干彼此具有一定独立性同时也具有一定联系的组成部分,这些组成部分称为模块。每个程序由一个或多个模块组成。 优点: 降低复杂度:若P=P1+P2,则C(P) C(P1)+C(P2) 软件结构清晰 容易测试和调试 提高软件的可修改性 方便开发任务的分配,第 33 页,结构化程序设计,强调使用程序的三种基本控制结构(顺序、选择和循环 ),有限制地使用goto语句。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1