




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章计算机软件系统 3 2 一 什么是软件软件 计算机系统中的程序及其文档 程序 计算任务的处理对象和处理规则的描述 文档 为了便于了解程序所需的阐明性资料 3 1计算机软件概述 程序必须装入机器内部才能工作文档是给人看的 不一定装入机器 3 3 IEEE对软件的定义 1983 软件是计算机程序 方法 规则 相关的文档资料以及在计算机上运行的程序时所必需的数据的集合 3 1计算机软件概述 程序 是计算机需要遵照执行的一系列指令 它作为一种具有逻辑结构的信息 精确而完整地描述计算任务中的处理对象和处理规则 方法 规则 通常是在文档中说明并在程序中实现的 文档 开发 使用和维护程序所需要的图文资料 数据 向一个程序提供的输入 3 4 3 1计算机软件概述 软件有三层含义 个体含义 即指计算机系统中的程序及其文档 整体含义 即指在特定计算机系统中所有上述个体含义下的软件的总体 学科含义 即指在研究 开发 维护以及使用前述含义下的软件所涉及的理论 原则 方法和技术所构成的学科 在这种含义下 软件宜称为软件学 但一般仍称作软件 3 5 二 发展过程软件的发展受到应用和硬件发展的推动和制约 其发展过程大致可分为三个阶段 3 1计算机软件概述 3 6 三 软件的分类系统软件 居于计算机系统中最靠近硬件的一层 其他软件一般通过系统软件发挥作用 如操作系统 编译程序 网络软件系统 数据库系统 人机交互软件系统等 支撑软件 支撑软件的开发与维护的软件工具和软件开发环境 如环境数据库 各种接口软件和工具组等 应用软件 特定应用领域专用的软件 3 1计算机软件概述 3 7 四 软件与硬件的关系硬件 构成计算机系统的物理装置 软件 用计算机指令和算法语言编写的程序以及运行程序所需的文档 数据 关系 硬件是软件运行的基础软件是对硬件功能的扩充和完善软件的运行最终被转换为对硬件的操作 3 1计算机软件概述 计算机 硬件 软件 人工生命人 躯体 灵魂 自然生命 3 8 3 2操作系统 操作系统是所有从事计算机应用 开发和研究的人经常使用的系统软件 一 什么是操作系统 管理硬件资源 控制程序运行 改善人机界面 为应用软件提供支持的系统软件 特征 并发性 同时执行多个程序共享性 多个并发程序共同使用系统资源随机性 程序运行顺序 完成时间以及运行结果都是不确定的 3 9 二 操作系统的功能1 主要作用 管理各种软硬件资源 提供良好的用户界面 2 基本功能进程管理 对处理机进行管理 通过进程管理协调多道程序间的关系 解决对处理机实施分配调度策略 进行分配和回收等 进程状态 就绪 运行 挂起 等待 3 2操作系统 3 10 存储管理 管理内存资源 主要包括内存分配 地址映射 内存保护和内存扩充 设备管理 对硬件设备进行管理 主要包括缓冲区管理 设备分配 设备驱动和设备无关性 用户接口 用户操作计算机的界面 3 2操作系统 命令接口 通过交互命令方式 对计算机进行操作程序接口 通过API调用例行程序实现既定的操作 3 11 文件管理 对信息资源的管理 操作系统将这些资源以文件的形式存储在外存上 文件 按一定格式建立在存储设备上的一批相关信息的有序集合 文件名 每个文件必须起一个名字 主文件名 扩展名 文件类型目录 文件的存放通过目录形式来实现一个目录 可以有子目录可以存放一组文件 3 2操作系统 3 12 多级目录结构 3 2操作系统 盘符 子目录1 子目录2 子目录n 文件名C ProgramFiles MicrosoftOffice OFFICE11 winword exe 3 13 三 操作系统的分类1 批处理操作系统特点 用户脱机使用计算机 作业成批处理 多道程序运行 但无交互手段 2 分时操作系统特点 多路性 交互性 独占性 3 实时操作系统特点 及时性 高可靠性和完整性 3 2操作系统 3 14 4 嵌入式操作系统特点 运行在嵌入式环境中 5 个人计算机操作系统特点 单用户 单任务 DOS 多任务 Windows 6 网络操作系统特点 基于计算机网络 Netware WindowsNT 7 分布式操作系统特点 统一性 共享性 透明性 自治性 3 2操作系统 3 15 四 常用的操作系统操作系统是现代计算机必不可少的系统软件 它是计算机的灵魂所在 1 操作系统的诞生 盘古开天地最初的操作系统出现在IBM704大型机上微型计算机的操作系统则诞生于20世纪70年代 CP M controlprogram microprocessor 它能够进行文件管理 具有磁盘驱动装置 可控制磁盘的I O 显示器的显示以及打印的输出 3 2操作系统 3 16 2 操作系统早期霸主 DOS1981年IBM公司首次推出IBMPC 就采用了Microsoft公司开发的DOS操作系统 DOS是在CP M的基础上进行了较大扩充 增加了许多内部和外部命令 使该操作系统具有较强的功能及性能优良的文件系统 由于Microsoft软件有向下兼容的特点 因此决定了Windows出问题时 很多时候需要在DOS下才能得到解决 3 2操作系统 3 17 DOS的发展历史 DOS的组成 3 2操作系统 3 18 3 操作系统当代大亨 Windows1981年 微软公司内部制定了发展界面管理者的计划 到1983年5月 微软公司决定把这一计划命名为MicrosoftWindows 1983年11月 Bill宣布推出Windows1 0版本 但不成功 直到1985年才正式发布 1987年 微软公司推出Windows2 0 直到1990年 微软公司推出Windows3 0 才逐渐取代DOS成为主流操作系统 3 2操作系统 3 19 Windows内核系列发布表 3 2操作系统 3 20 WindowsNT 2000 XP总体结构 3 2操作系统 3 21 4 天皇巨星 UNIXUNIX是使用比较广泛 影响比较大的主流操作系统之一 UNIX结构简练 功能强 可移植性和兼容性都比较好 因而它被认为是开放系统的代表 UNIX是1969年贝尔实验室开发的多用户操作系统 最早用于PDP 7和PDP 11小型机 并很快得到普及 迄今已成为跨越从微型机到巨型机范围的唯一操作系统 3 2操作系统 3 22 3 2操作系统 UNIX发展简图 3 23 3 2操作系统 UNIX系统的框架结构 3 24 5 诱人的小企鹅 Linux1991年 芬兰赫尔辛基大学的21岁学生LinusTorvolds在学习操作系统时 将自己开发的Linux系统源程序完整地上传到FTP服务器上 供大家下载测试 3 2操作系统 OperatingSystems DesignandImplementationAndrewS Tanenbaum AlbertS Woodhull 3 25 3 2操作系统 流行的Linux版本Linux内核版本 测试版 稳定版2 6 8 主版本号 次版本号 奇数 测试版偶数 稳定版 当前版本错误修改次数 3 26 3 2操作系统 Linux操作系统的组成 3 27 3 2操作系统 6 天使的化身 MacOSXApple Lisa Macintosh 1976 1983 1984 3 28 一 办公软件概述MicrosoftOffice2003 Word ExcelPowerPoint AccessFrontPage OutlookExpressWPSOffice2003 金山文字 金山表格金山演示 金山邮件 3 3办公软件 3 29 二 文字处理文字处理软件是指在计算机上辅助人们制作文档的系统 通用的文字处理软件 1979 WordStar1983 WordPerfect1988 WPS1990 Word1 0forWindows1994 Word6 0 Excel5 0 Office4 x 3 3办公软件 3 30 三 电子表格电子表格软件是利用计算机来处理带数值计算的表格软件 通用的电子表格软件有 1979 Visicalc1982 Lotus1 2 3198x ExcelforMacintosh1994 Word6 0 Excel5 0 Office4 x 3 3办公软件 3 31 四 演示文稿演示文稿制作软件可以创建美观 实用的幻灯片 并以简洁的方式表达出文稿内容1987 4 PowerPoint1 0 Windows2 0 1990 5 PowerPoint2 0 Windows3 0 1992 5 PowerPoint3 0 Windows3 1 1994 2 PowerPoint4 01995 2 PowerPoint7 0 Windows95 PowerPoint97 2000 2002 2003 3 3办公软件 3 32 一 程序设计的概念程序设计 指利用计算机解决具体问题的全过程 程序设计的基本过程 分析所求解的问题 抽象数学模型 设计合适的算法 编写程序 调试运行 3 4程序设计基础 3 33 二 程序设计方法1 结构化程序设计基本思想 顺序结构选择结构循环结构设计原则 自顶向下逐步求精模块化 3 4程序设计基础 3 34 2 面向对象程序设计对象 用来描述客观事物的实体 反映系统为之保存信息和与之交互的能力 每个对象有各自的内部属性和操作方法 3 4程序设计基础 属性 频道颜色音量 方法 调节频道调节颜色调节音量 电视机 电视机对象 整个程序是由一系列相互作用的对象构成的 对象之间的交互通过发送消息来实现 3 35 类 具有相同的属性和操作方法 并遵守相同规则的对象的集合 类是对象集合的抽象 规定了这些对象的公共属性 即数据结构 和方法 操作数据的函数 对象是类的一个实例 3 4程序设计基础 例如 一个面向对象的图形程序 在屏幕的左下角显示一个半径为2cm的红色圆 在屏幕的中部显示一个半径为3cm的黄色圆 在屏幕的右下角显示一个半径为4cm的蓝色圆 这三个圆的圆心位置 半径大小和颜色均不相同 是三个不同的对象 但是它们有相同的属性 圆心坐标 半径 颜色 和相同的操作 显示图形 移动 缩放等 因此它们是同一类事物 可以用 Circle类 来定义 OOP特点 封装 继承 多态性 3 36 3 4程序设计基础 三 程序设计语言 计算机语言 计算机所能够识别的语言程序 利用计算机语言编写的能够完成一定功能的一组代码 程序设计 利用计算机语言编写程序的过程 程序设计语言 计算机语言 3 37 1 语言的分类 3 4程序设计基础 3 38 机器语言从本质上说 计算机只能识别0和1两个数字 因此 计算机能够直接识别的指令是由一连串的0和1组合起来的二进制编码 机器指令 操作码 操作数机器语言 指计算机能够直接识别的指令的集合 即以二进制代码表示的机器指令集合 它是计算机能够直接识别和执行的语言 3 4程序设计基础 3 39 优点 占用内存少 执行速度快 缺点 面向机器语言 通用性差 不易阅读和记忆 编程工作量大 难以维护 3 4程序设计基础 例题 用Intel8086指令系统来编写机器语言程序 要求完成9 8 3 40 优点 比机器语言程序容易阅读和修改缺点 面向机器语言 通用性差 3 4程序设计基础 汇编语言汇编语言 用符号代替机器指令所产生的语言 例如 8086汇编语言对9 8 编程 3 41 源程序 用汇编语言编写的程序 汇编程序 负责翻译的软件 主要作用 源程序转换成用二进制代码表示的目标程序 连接程序 将目标程序与库文件或其他目标程序连接起来形成可执行程序 3 4程序设计基础 3 42 高级语言高级语言 用接近自然语言和数学语言的语法 符号描述基本操作的程序设计语言BASIC FORTRAN Pascal COBOL CVB VC Delphi Java C 例如前面9 8 用C语言编程 main intal al 9 8 3 4程序设计基础 3 43 优点 符合人类习惯 简单易学通用性强 便于维护源程序 用高级语言编写的程序 翻译程序 将源程序翻译成用二进制代码表示的目标程序 翻译程序的工作方式 解释方式 边解释边执行 编译方式 写程序 编译程序运行程序 3 4程序设计基础 3 44 3 4程序设计基础 3 45 2 程序设计语言的选择 p90 选择编程语言涉及很多因素 人的因素 编程小组精通这门语言吗 任务需要 选择的语言能否实现任务的全部功能 能跨平台吗 有数据库接口功能吗 能直接控制声卡等硬件吗 客户指定 或要通过串行口控制一个外部设备 C 汇编语言是最明智的选择 了解一些流行的语言 对于做出合理选择会有帮助 3 4程序设计基础 3 46 3 4程序设计基础 3 47 3 4程序设计基础 3 48 四 数据结构与算法程序 数据结构 算法1 数据结构数据 对客观事物的符号表示 指所有能输入到计算机中并被处理的符号的总和 数据元素 由若干个数据项组成 而数据项是具有独立含义的数据最小单位 3 4程序设计基础 数据元素 记录 结点数据项 字段 域 3 49 数据结构 研究数据及数据元素之间的关系的一门学科 基本内容 数据的逻辑结构 数据元素之间的逻辑关系 集合 线性 树形 网状结构 数据的存储结构 数据元素及其关系在计算机存储器中的存储方式 顺序 数据的运算 施加在该数据上的操作 3 4程序设计基础 3 50 2 算法及其复杂性分析求解一个给定的可计算问题 不同的人常常编写出不同的正确程序 与计算方法相关的算法问题 程序设计的技术问题 例6 给定两个整数 求它们的最大公因数算法A 计算函数gcd x y A1 输入x y z为临时变量 A2 重复执行如下操作步骤 3 4程序设计基础 3 51 若y 0 则输出 x 算法停止 若y 0 则z xmody x y y z includemain intx y z printf Inputx y scanf d d 3 4程序设计基础 3 52 问题 计算方法 算法 程序同一算法 不同程序员 程序差别大 例7 用程序变换技术设计gcd x y 的程序 上述两例都反映辗转相除计算方法 3 4程序设计基础 3 53 问题 不同计算方法 算法 不同程序怎样判断程序和算法的好坏呢 这涉及到算法的存在性和算法的复杂性 算法复杂性分析 对算法计算所需要的时间和空间的一种度量 类型 时间复杂性 空间复杂性算法复杂性的高低体现在运行该算法所需要的计算机资源上 所需资源越多 该算法的复杂性越高 反之 所需资源越少 3 4程序设计基础 3 54 例 计算第n个素数 所谓素数是指恰有1和本身两个自然数为其因数的大于1的整数 除2为偶素数外 其余素数都是奇数 算法A 简单算法 A1 从素数定义出发 对自然数从小到大一个一个去试 A2 当n很大时 算法所需要的计算时间非常大 3 4程序设计基础 3 55 算法B 筛法 快速算法 B1 输入n 输出第一个素数2 B2 M 2 N M 2 B3 从2开始 依次筛除M 1到N之间所有2的倍数 3的倍数 直到某个已求得的素数的平方大于N为止 B4 依小到大输出N 1到M之间剩下的数 B5 若已求得第n个素数 则输出第n个素数 否则 M 当前最大素数 N M 2 转B3 3 4程序设计基础 3 56 例 三个中国人算法 国王 艾述 喜爱数学 宰相 孔唤石 数学家 公主 秋碧贞楠 邻国 公主 求出48770428644836899的真因子国王 2 3 4 30000多数据 一天 公主 验证一下 223092871宰相 将全国百姓按自然数顺序编号 百姓用自己的编号去除公主的数 谁除尽来领赏 3 4程序设计基础 3 57 童话说明 国王本人计算 串行算法 时间复杂性 全国百姓计算 并行算法 空间复杂性 假设一个问题有两种算法 算法复杂性是n3 0 2s 算法复杂性是3n 4 1028s 1千万亿年 用每秒百万次的计算机 n 60 如果一个问题没有多项式时间复杂性算法 则称为难解型问题 计算复杂性理论 3 4程序设计基础 3 58 算法定义 一个算法就是一个有穷规则的集合 其中的规则确定了一个解决某一特定类型问题的运算序列 算法的规则序列应满足五个重要条件 有穷性 算法必须执行有穷步后结束 确定性 算法的每一步必须是确定的 输入 算法有零个或多个输入 输出 算法有一个或多个输出 能行性 算法原则上能精确进行 3 4程序设计基础 3 59 现代新型智能算法 物理启发式模拟退火算法 模拟固体熔化状态下由逐渐冷却至最终达到结晶状态的物理过程 量子计算 模拟量子态的叠加性和相干性以及量子比特之间的纠缠性 社会与文化启发文化算法 模拟人类社会的演化过程 人口迁移算法 模拟人口流动与人口迁移 3 60 现代新型智能算法 扩展 生物启发式计算遗传算法 模拟自然界生物种群优胜劣汰 适者生存的过程 神经网络 模拟生物神经系统的并行信息处理的计算方法 蚂蚁算法 模拟蚂蚁集体觅食时的路径行为选择而提出 粒子群算法 模拟鸟群 鱼群等社会型生物群体生物觅食行为而提出 其它 蛙跳算法鱼群算法菌群算法等 3 61 A C 3 62 A C 3 63 A C 3 64 轨迹更新 Visibility ij 1 dij 蚂蚁算法 表示轨迹的相对重要性 表示能见度的相对重要性 轨迹的持久性 表示第K只蚂蚁在本次循环中留在路径ij上的信息量 3 65 3 66 3 67 3 68 3 69 3 70 鸟群觅食模型 Food GlobalBestSolution PastBestSolution 3 71 Randomlysearchingfoods 社会型行为的模拟 3 72 局部最优解 全局最优解 运动向量 惯性向量 HereIam Thebestpositionofteam Mybestposition x t pg pi v PBest gBest x t 1 粒子群算法 3 73 3 5软件工程 一 软件危机与软件问题1 软件危机观点1 软件产品的生产总是超出预
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国热熔断器行业市场深度研究及发展趋势预测报告
- 玻璃钢通风机项目投资可行性研究分析报告(2024-2030版)
- 教师情绪管理指南
- 2025年 雅安市市级机关遴选考试笔试试题附答案
- 中国石油化工用加氢反应器市场前景预测及投资规划研究报告
- 仪器仪表项目可行性报告
- 2025年 丹东凤城市公立医院普通高校招聘考试笔试试题附答案
- 2025年 保健按摩师高级职业技能考试试题附答案
- 中国扩孔机行业市场运行态势与投资战略咨询报告
- 性报告2025年鱼、虾、贝、藻类多倍体项目可行性研究分析报告
- 15S202 室内消火栓安装
- 2024年国资委研究中心事业单位招聘5人历年(高频重点复习提升训练)共500题附带答案详解
- 2023年上海高中学业水平合格性考试历史试卷真题(含答案详解)
- 风力发电工程施工与验收规范
- 2024年个人劳务承包合同书
- 2024浙江嘉兴市海宁高新技术产业园区公开招聘3人重点基础提升难、易点模拟试题(共500题)附带答案详解
- 18 设计紧急避难路线图(教案)人美版(北京)(2012)美术三年级下册
- GB 9744-2024载重汽车轮胎
- ISO15614-1 2017 金属材料焊接工艺规程及评定(中文版)
- 抖音来客商家门店经营
- 术后镇痛慢性疼痛癌性疼痛诊疗标准规范及作业流程
评论
0/150
提交评论