资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机软件技术基础计算机软件技术基础 第一章 概 述 第 2 页 第一章第一章 概概 述述 1.1 计算机系统 1.2 软件技术概述 1.3 程序设计语言 1.4 数据结构与算法 1.5 操作系统 1.6 数据库技术 1.7 软件工程 1.8 软件开发方法 第 3 页 1.1 1.1 计算机系统计算机系统 什么是计算机? 计算机计算机是接收、处理和提供数据的装置, 它由硬件和软件两大部分组成。 计算机就是我们平时常用的PC机吗? PC机只是计算机的一种,计算机家族中还 有很多其他的成员。 第 4 页 无所不在的嵌入式家族无所不在的嵌入式家族 第 5 页 养在深闺的巨型计算机养在深闺的巨型计算机 t世界上最快的计算机 IBM的Blue Gene/L , 拥有超过100万个处理 器,每个处理器每秒 可运算10亿次。运算 能力相当于击败国际 象棋世界级棋手的超 级电脑“深蓝”的1000 倍。占地达两个篮球 场之大,重达106吨。 第 6 页 1 1、计算机硬件及发展、计算机硬件及发展 t什么是硬件? 硬件是组成计算机系统的所有电子的、机 械的、磁性的、光学的装置和部件。 t配置一台计算机需要购买哪些东西? t存储程序式计算机的工作原理 t5大部件: ( (运算器控制器运算器控制器) )存储器输入设备输出设备存储器输入设备输出设备 第 7 页 硬件的发展硬件的发展 t发展历史 t电子管晶体管集成电路 t发展规律及特点 t速度慢速度快 t体积大容量小体积小容量大 t外设少、简单外设繁多、复杂 t外设速度发展慢于CPU速度的发展 t摩尔定律(假设价格保持不变,处理器芯片上 的晶体管数每18个月翻一番) 第 8 页 世界上第一台电子计算机世界上第一台电子计算机ENIACENIAC 诞生于1942年 18800个晶体管 70000个电阻器 18000个电容器 重量30吨 耗电140千瓦/h 5000次加法/s 第 9 页 Pentium IVPentium IV(20002000) 42,000,000个晶体管 时钟频率1.5GHz 运算速度为1700 MIPS (MIPS 代表百万指令集 每秒 ) 第 10 页 2 2、计算机软件、计算机软件 t软件程序,开发软件写程序? t错误! t程序只是软件的一个组成部分 t写程序只是软件开发的过程中的一个步骤 软件是程序、数据以及有关文档资料的集合。软件是程序、数据以及有关文档资料的集合。 t(可运行的)思想和内容的数字化 t思想:算法、规律、办法(程序) t内容:图形、图像、数据、声音、文字等(数 据) 第 11 页 软件的分类软件的分类 t所有的硬件都是相似的,软件则各有各的不同。 t但是软件的开发过程存在很多规律和共性,找到 并利用这些规律来帮助和指导软件的开发,这正 是各类软件技术研究的内容。 操作系统 、语言 编译器、数据库管 理系统 财务软件、文字处 理软件、用户自己 开发的系统等 硬 件 系统软件 应用软件 用 户 第 12 页 3 3、硬件与软件的关系、硬件与软件的关系 t软硬件独立原理和互动原理 t独立原理:软件理论上能实现的功能本质上与 硬件是独立的(不管硬件是何种形式) t互动原理:软件实际能实现的功能受制于硬件 ,硬件发展一个台阶,软件就能前进一大步 t软硬件等效定律 t简单的硬件+复杂的软件 t简单的软件+复杂的硬件 t最终都可以完成同一个任务,不同的只是时间 ! 第 13 页 3 3、硬件与软件的关系、硬件与软件的关系 t硬件是计算机系统的物质基础;软件是提高计算 机系统效率和方便用户使用计算机的程序;它们 二者相互依赖、相互促进、共同发展。 t好的软件能充分发挥硬件的性能,提升计算机的 价值。 t没有软件的硬件是僵尸,没有硬件的软件是幽灵 。 各类软件技术的最终目的就是设计出好的软件 ,以便最大限度地合理利用和发挥硬件的能力, 使计算机系统更好地为用户服务。 第 14 页 1.2 1.2 软件技术概述软件技术概述 软件本质上是一种思想,利用计算机来解决某个问 题的思想!软件的实现就是将这个思想数字化的过程 ! 在这个过程中要用到各种各样的软件技术,有的是在这个过程中要用到各种各样的软件技术,有的是 抽象的指导理论,有的是具体的实现工具。抽象的指导理论,有的是具体的实现工具。 计算机解题过程:计算机解题过程: 1.理解问题,建立数学模型 设计解题方案 程序编码和调试 1.程序测试和维护 第 15 页 软件技术分类软件技术分类 程序设计语言 编译技术 软件及实现技术 操作系统及实用程序 计算机 数据库技术 软件技术 软件工具 软件工程 软件开发方法与技术 程序设计方法 数据结构和算法 第 16 页 1.3 1.3 程序与程序与程序设计语言程序设计语言 程序程序: :是使计算机完成某种任务的一个有序的命令( 指令语句)和数据的集合。 程序设计语言发展的三个阶段: 机器语言机器语言汇编语言汇编语言高级语言高级语言 写程序就像写文章,要解决两个问题:写程序就像写文章,要解决两个问题: 1.1.明确自己要表达的是什么明确自己要表达的是什么 2.2.用一种语言把它表达出来用一种语言把它表达出来 程序设计语言程序设计语言是编写计算机程序所用的语言。是编写计算机程序所用的语言。 第 17 页 1.3 1.3 程序设计语言程序设计语言 t t 机器语言机器语言 是机器指令的集合,其代码由0、 1组成的二进制串表示,不需翻译可直接为 机器所接受。 t t 汇编语言汇编语言 为符号化的机器语言。它用助记 符和标识符代替机器指令的操作码和地址码 。 t t 高级语言高级语言 是一种与具体的计算机指令系统 无关,独立于计算机类型,而且表达方式接 近于自然语言或数学语言,容易被人们掌握 和书写的语言。如C,Pascal,java。 第 18 页 举例举例 任务:任务:x x1x1x t机器语言 00111110 00001001 00111111B 或 3E 09 3FH t汇编语言 MOV AX,X / INC AX / MOV X,AX tC语言 tx=x+1或 tx+或 t+x 第 19 页 高级语言的优点高级语言的优点 t比机器或汇编语言更易于学习 t程序更易于调试(程序更为短小;记号本身 更自然,因此更多注意力可放在程序逻辑而 非语法细节上) t程序更易于理解 t较好的平台无关性 t上述原因导致解决问题的时间和代价减少 第 20 页 语言翻译语言翻译 t翻译程序 是把甲种语言程序翻译为等价的乙种语言程序的程序。 其中,甲种语言称为源语言。乙种语言称为目标语言。 t汇编程序 若源语言是汇编语言,目标语言是机器语言,则该翻译 程序被称为汇编程序。 t编译程序 若源语言是高级语言,目标语言是汇编语言或机器语言 ,则该翻译程序被称为。 t解释程序 是翻译程序的另一种形式,它对源程序的语句边解释边 执行,不产生目标程序。 第 21 页 1.4 1.4 数据结构和算法数据结构和算法 t程序中往往要处理大量的数据,这些数据采 用什么样的方式来组织、存放才能最大限度 地方便应用处理,提高程序效率呢? t数据结构研究数据的组织形式,包括数据的 逻辑结构,物理结构以及在该数据结构上所 施加的运算。 t一类数据结构指的是一类数学模型。 t数据结构是软件技术基础的基础。 第 22 页 1.4 1.4 数据结构和算法数据结构和算法 t算法是对解题方法的精确描述。描述的方式 可以是各种各样的。如自然语言,流程图, 伪代码等。 t算法必须具有有穷性,确定性,能行性,输 入和输出。 t一个问题可以有多种解题方法,那么就有多 个对应的算法。算法的优劣由算法的时间复 杂度和空间复杂度来衡量。 第 23 页 1.5 1.5 操作系统操作系统 t没有安装任何软件的计算机称为裸机。 t操作系统是直接运行于裸机之上的系统软件 ,它负责对计算机系统的各种软硬件资源进 行管理和分配,为用户提供友好的计算机使 用界面和平台。 t在裸机上配置操作系统之后就构成了操作系 统虚拟机。 t所有其它的程序都在扩充后的机器上运行。 第 24 页 应用程序 用户程序 操作系统虚拟机 操作系统 裸 机 第 25 页 1.6 1.6 数据库技术数据库技术 t数据库是一种强大的数据处理技术。 t它把应用中所有的数据有结构地集中在一起 ,并提供对这些数据的存储管理、多用户共 享、操纵、安全保护、完整性控制等强大功 能。 t一个国家的信息化程度是衡量该国国力的重 要标准,而信息化是以数据库技术为基础的 。 t现代的银行、金融、证券、保险等各行业的 高效运营都依赖于数据库技术。 第 26 页 1.7 1.7 软件工程软件工程 t产生背景 t硬件的发展使得计算机的应用领域迅速扩大, 同时程序的规模和复杂度也急剧增长。 t早期手工作坊式的软件开发方式因无法适应这 种变化而形成了“软件危机”。主要表现在: t开发成本和进度估计不准确,生产效率低。 t用户对软件系统不满意的现象经常发生。 t软件产品的质量不可靠。 t软件常常是不可维护的。 t软件成本在计算机系统总成本中的比例上升 。 第 27 页 软件工程概念软件工程概念 t软件工程是指导计算机软件开发和维护的工程学 科,采用工程的概念、原理、技术和方法来开发 与维护软件。 t贯穿于这一学科的基本线索是软件生命期学说, 它告诉软件研制者和维护者“什么时候做什么以及 怎么做”。 t软件生命期就象人的寿命一样,从出生算到死亡 ,从产生开发要求算到软件报废为止。包括:软 件计划、需求分析、软件开发和软件维护四个时 期。 第 28 页 软件过程软件过程 t软件计划 t用户想解决什么问题?(软件定义) t这个问题能否解决?(可行性分析) t需求分析 t目标系统应该做成什么样子? t软件开发 t怎样实现目标系统?(软件设计) t系统的具体实现。(软件编码) t实现系统与是否符合目标?(软件测试) t软件维护 t如何保持系统正常运行? 第 29 页 软件过程模型:瀑布模型软件过程模型:瀑布模型 软件计划 需求分析 软件设计 软件编码 软件测试 软件维护 变化的需求 第 30 页 1.8 1.8 软件开发方法软件开发方法 t结构化方法 t自顶向下,逐步细化 t模块化 t结构化程序设计 第 31 页 模块化模块化 t把一个程序按功能分解成若干彼此具有一定独立 性同时也具有一定联系的组成部分,这些组成部 分称为模块。每个程序由一个或多个模块组成。 t优点: t降低复杂度:若P=P1+P2,则C(P) C(P1)+C(P2) t软件结构清晰 t容易测试和调试 t提高软件的可修改性 t方便开发任务的分配 第 32 页 结构化程序设计结构化程序设计 t强调使用程序的三种基本控制结构(顺序、 选择和循环 ),有限制地使用goto语句。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号