大学课程 信息技术第三章.ppt_第1页
大学课程 信息技术第三章.ppt_第2页
大学课程 信息技术第三章.ppt_第3页
大学课程 信息技术第三章.ppt_第4页
大学课程 信息技术第三章.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第三章计算机软件 本章要点与计算思维 本章要点计算机软件分为系统软件和应用软件 系统软件是硬件层之上 与应用领域无关软件 如操作系统软件 应用软件则通过系统软件工作本章介绍计算机软件 程序与程序设计语言 数据结构与算法 软件和软件工程以及操作系统软件 本章与计算思维计算机软件是计算机硬件的扩展和延伸本章着重理解关于程序设计 算法类问题数学建模 数据结构设计及算法描述 算法设计与程序实现 程序在计算机中的执行 以及软件全生命周期计算思维的过程 本章要点与计算思维 软件的主要作用体现 提高了计算机资源的利用率降低了计算机的硬件成本扩展了计算机的功能使用用户操作计算机更加方便灵活提供了更多的计算机开发和应用 本章要点与计算思维 3 1程序及程序设计语言3 2数据结构与算法3 3软件和软件工程3 4操作系统 本章内容提要 3 1 1程序3 1 2程序基本结构3 1 3程序设计语言 3 1程序及程序设计语言 程序 Program 是人与计算机交流信息的基本方式 人通过程序指挥计算机的活动描述 编制 计算机程序的工作称为程序设计或编程 其产品就是程序 程序 是告诉计算机做什么和怎么做的一组指令集软件设计与开发的过程就是人们运用计算思维的方式来设计和编写程序 3 1 1程序 什么是程序设计 程序设计 数据结构 算法 方法 工具 一般来说 程序设计的过程可以分为以下五个基本步骤 1 问题分析2 结构特性设计3 算法设计4 流程描述5 调试与运行 程序的基本结构 包括 顺序结构选择结构 选取结构或分支结构 循环结构特点 1 以控制结构为单位 只有一个入口和一个出口 各单位之间的接口比较简单 每个单位也容易被人们所理解 2 缩小了程序的静态结构与动态执行之间的差异 使人们能方便 正确地理解程序的功能 3 1 2程序基本结构 顺序结构如图3 2 a 为传统流程图 3 2 b 为N S图 选择结构 选取结构或分支结构 如图3 3 a 为传统流程图 3 3 b 为N S图 循环结构循环结构又称重复结构 即反复执行某一部分的操作 有两种循环结构 当型和直到型 1 当型循环结构如图3 4 a 为传统流程图 3 4 b 为N S图 2 直到型循环如图3 5 a 为传统流程图 3 5 b 为N S图 程序设计语言是用户用来编写程序的语言 它是人与计算机之间交换信息的工具1 机器语言二进制代码语言 最底层的计算机语言2 汇编语言反映指令功能的助记符3 高级语言与具体的计算机指令系统无关 表达方式更接近于人们对求解过程或问题的描述方式 且易于掌握和书写的语言 3 1 3程序设计语言 4 常用程序设计语言VisualBasic VB 语言是一种由微软公司开发的包含协助开发环境的事件驱动编程语言C语言是目前世界上流行 使用非常广泛的高级程序设计语言 适于编写系统软件 二维 三维图形和动画 它是数值计算的高级语言 C语言常用的编译软件有MicrosoftVisualC BorlandC TurboC等Delphi语言集中了第三代语言的优点 以ObjectPascal为基础 扩充了面向对象的能力 并且完美地结合了可视化的开发手段 Java语言是由Sun微系统公司所发展出来的程序语言 本身是一种Object Oriented 对象导向 的程序语言 目前 在手机上应用最多的就是JAVA游戏Fortran语言是一种主要用于数值计算的面向过程的程序设计语言 Fortran语言的特点是接近数学公式 简单易用 3 2 1数据结构3 2 2算法 3 2数据结构与算法 什么是数据结构 数据结构 DataStructure 是由若干特性相同的数据元素构成的集合 且在集合上存在一种或多种关系 3 2 1数据结构 1 数据结构基本概念数据 数据元素 关键字 数据对象2 数据结构三个基本含义逻辑结构 存储结构 物理结构 运算3 典型数据结构线性表 栈 队列 树 所谓算法 Algorithm 是描述计算机解决给定问题的操作过程 解题方法 即为解决某一特定问题而由若干条指令组成的有穷序列 1 算法的要素可行性 确定性 有穷性 有输入 有输出2 算法效率的度量算法复杂度分为时间复杂度和空间复杂度 1 时间频度 2 计算方法3 评价算法优劣基本标准正确性 Correctness 可读性 Readability 健壮性 Robustness 高效性 Efficiency 3 2 2算法 4 常见算法查找算法 折半查找 二分法 顺序查找 线性查找 排序算法 排序分类内部排序法与外部排序法 选择排序 冒泡排序 软件 一词是20世纪60年代才出现的 计算机科学对软件的定义是 在计算机系统支持下 能够完成特定功能和性能的程序 数据和相关文档 从应用的角度分类 1 系统软件 泛指那些为了有效的使用计算机系统 给应用软件开发与运行提供支持 或者为用户管理与使用计算机提供方便的一类软件 2 应用软件 是指那些专门用于解决各种具体的应用问题而开发的软件 3 3软件和软件工程 软件的特性 1 软件是一种逻辑产品 2 软件产品的生产主要是研制 成本主要体现在软件的开发和研制上 软件开发研制完成后 通过复制就产生了大量软件产品 3 软件产品不存在磨损 消耗问题 4 软件产品生产的成本主要是脑力劳动 还未完全摆脱手工开发方式 多为 定做 的产品 5 软件成本相当昂贵 软件的研制工作需要投入大量的 复杂的 高强度的脑力劳动 1 程序设计时代 1946年 1956年 这个阶段的生产方式是个体手工劳动 使用的工具是机器语言 汇编语言2 程序系统时代 1956年 1968年 这阶段的生产方式是作坊的小集团合作生产 生产工具是高级语言 开发方法主要靠个人技巧 但开始提出结构化方法 3 3 1软件生产的发展 3 软件工程时代 1968年至现在 这阶段的生产方式是工程化的生产 使用数据库 开发工具 开发环境 网络 分布式 面向对象技术来开发软件软件危机在上个世纪60年代中期 软件技术开始面临两个重大问题 复杂性 生产率 进而爆发了众所周知的软件危机 为了克服这一危机 在1968 1969年连续召开的两次著名的北大西洋公约组织 NATO 会议上 提出了软件工程这一术语 并在以后不断发展 完善 软件危机产生的原因 1 软件规模越来越大 结构越来越复杂 2 软件开发管理困难而复杂 3 软件开发费用不断增加 4 软件开发技术落后 5 生产方式落后 6 开发工具落后 生产提高缓慢软件危机的主要特征 1 软件开发周期大大超过规定日期 2 软件开发成本严重超标 3 软件质量难于保证 什么是软件工程 概括地说 软件工程是应用计算机科学 数学及管理科学等原理开发软件的工程 它借鉴传统工程的原则 方法 以提高质量 降低成本为目的 3 3 2软件工程 1 软件工程定义1968年 FritzBauer在NATO会议上首先提出软件工程的概念 软件工程 是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理 方法 1993年 美国电气电子工程师协会 IEEE 给出软件工程是将系统化的 规范的 可度量的方法应用于软件的开发 运行和维护的过程 即将工程化应用于软件中 2 软件工程性质软件工程是一门综合性的交叉学科 涉及计算机科学 工程科学 管理科学 数学等领域3 软件工程目标 1 付出较低的开发成本 2 达到要求的软件功能 3 取得较好的软件性能 4 开发的软件易于移植 5 需要较低的维护费用 6 能按时完成开发任务 及时交付使用 7 开发的软件可靠性高 4 软件工程内容软件工程研究的主要内容是软件开发技术和软件管理两方面 在软件开发技术中 主要研究软件开发方法 软件开发过程 软件开发工具和环境 在软件开发管理中 主要是研究软件管理学 软件经济学 软件心理学等5 软件工程面临的问题 1 软件费用 2 软件可靠性 3 软件维护 4 软件生产率 5 软件重用 图3 12计算机与软件工程关系 软件工业化生产过程应具备的特点 1 明确的工作步骤 2 详细具体的规范化文档 3 明确的质量评价标准软件工程技术的两个明显特点 1 强调规范化 2 强调文档化 软件开发过程 Process 是描述 开发 维护软件产品 创建 管理和支持软件项目的一系列活动 1 软件描述 必须定义软件功能以及对其使用的限制 2 软件开发 必须制作出满足描述的软件 3 软件有效性验证 必须经过验证以保证能够满足客户要求 4 软件进化 必须随客户需求的变化不断改进 3 3 3软件开发过程 软件开发过程模型为了描述 规范软件开发的管理和技术活动 就需要建立软件开发过程模型 对软件开发过程的结构和属性进行抽象软件开发过程模型定义了软件开发活动 给出了其间的逻辑关系 为软件工程管理提供里程碑和进度表 为软件开发提供框架和方法 1 瀑布模型瀑布模型将软件开发过程分解成可行性研究 软件需求分析 软件设计 概要设计 详细设计 编码 测试 运行与维护 退役等阶段 如图3 13所示 图3 13带反馈的瀑布模型 2 增量模型增量模型是将需求分解 划分成一系列的增量 并根据增量急需和缓需为其排序 每个增量都经历需求分析 设计 编码 测试等过程 如图3 14所示 图3 14增量模型 3 原型模型原型 Prototyping 是开发人员根据客户提出的软件 部分或者全部 的定义 快速开发一个原型 原型向客户展示待开发软件系统的全部和部分功能和性能 由于原型是客户和软件开发人员共同设计和评审 因此利用原型能统一客户和软件开发人员对软件项目的理解 消弭歧义 有助于需求的定义和确认 如图3 15所示 图3 15原型模型 4 螺旋模型螺旋模型 SpiralModel 是B Boehm在1988年提出 螺旋模型是迭代模型 从里向外每个回路表示软件过程的4个阶段组成 如图3 16所示 软件开发过程阶段 1 定义目标 2 风险分析 3 开发验证 4 对项目进行评审 图3 16螺旋模型 5 基于构件的过程模型构件 Component 是指可复用的软件单元 粗略分有基础构件 功能构件 接口构件和用户界面构件等 基于构件的软件开发核心思想在于软件复用 行业分工及软件工业化基于构件开发模型减少了软件开发工作量 降低了软件开发成本和风险 缩短了软件开发周期 当然具有足够的可选择构件 以及构件标准的完备也直接影响到基于构件的软件开发的质量和进度 1 基础构件2 功能构件3 接口构件4 用户界面构件图3 17基于构件的开发过程模型 软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程 软件开发的目标是在规定的投资和时间内 开发出符合用户需求的高质量的软件 1 结构化方法2 Jackson方法3 维也纳开发方法 VDM 4 面向对象的开发方法 3 3 4软件开发方法 软件开发工具是用于辅助软件生命周期过程的基于计算机的工具 通常可以设计并实现工具来支持特定的软件工程方法 减少手工方式管理的负担良好的软件工具不仅能够提高软件的开发效率和质量 而且具有便于使用 工作可靠 易安装 能剪裁 适应性强等特点 3 3 5软件开发工具 软件开发工具分类 1 软件需求工具2 软件设计工具3 软件构造工具4 软件测试工具5 软件维护工具6 软件配置管理工具7 软件工程管理工具8 软件工程过程工具9 软件质量工具 软件项目管理是软件工程学科的重要组成部分 在软件生存周期中发挥着重要作用 是为了使软件项目能够按照预定的成本 进度 质量顺利完成 而对人员 产品 过程和项目进行分析和管理的活动主要内容 人员的组织与管理 软件度量 软件项目计划 风险管理 软件质量保证 软件过程能力评估 软件配置管理等 3 3 7软件项目管理 3 4 1操作系统3 4 2Windows文件系统3 4 3常用操作系统介绍 3 4操作系统 计算机软件系统分为系统软件和应用软件 系统软件是由计算机生产厂家提供给用户的一组程序 可分为两类 一类是面向机器的系统程序 操作系统 主要作用是对系统的硬 软件资源进行有效的管理 建立计算机的工作环境 另一类是面向用户的软件 对用户编制的程序进行编辑 编译 连接 加工成计算机能直接执行的目标程序软件系统的最内层是系统软件 它由操作系统 实用程序 编译程序等组成 操作系统实现对各种软硬件资源的管理控制 软件系统的构成 如图3 19所示 图3 19计算机软件系统组成 操作系统 OperatingSystem OS 是管理系统硬件与软件资源的程序 同时也是计算机系统的内核与基石操作系统身负诸如管理与配置内存 决定系统资源供需的优先次序 控制输入与输出设备 操作网络与管理文件系统等基本事务 操作系统管理计算机系统的全部硬件资源 软件资源及数据资源 控制程序运行 改善人机界面 为其它应用软件提供支持等 OS使计算机系统所有资源最大限度地发挥作用 为用户提供方便的 有效的 友善的服务界面 3 4 1操作系统 操作系统提供的基本功能进程管理存储管理文件管理设备管理多任务处理与处理器管理 在现代操作系统中 文件系统为存储设备提供了流方式的数据管理 允许应用程序共享卷的存储空间 同时又可以独享不同的数据流在Windows中 文件系统提供了一个层次状的名字空间 并集成了系统的全局名字空间中 文件对象既是设备对象的已打开实例的抽象 也代表了文件系统中一个已打开的数据流实例Windows文件系统以卷设备对象为存储基础 不同种类的文件系统定义了不同的存储格式文件系统 在windows中 存储管理结构只是一个环节 其驱动程序位于存储栈的上部 它们通常依赖于缓存管理器来实现文件数据的缓存Windows支持的原生文件系统式NTFS NewTechnologyFileSystem 提供长文件名 数据保护和恢复 并通过目录和文件许可实现安全性文件系统中通常有两类对象 目录 directory 和文件 file 3 4 2Windows文件系统 1 Windows系统Microsoft开发的Windows是目前世界上用户最多 并且兼容性最强的操作系统 Windows系统是 有声有色 的操作系统Windows7是微软公司最新的一款视窗操作系统 内部版本是6 1 即WindowsNT6 1 正式版的Build是6 1 7600 2009年7月14日 Windows7开发完成并正式进入批量生产 3 4 3常用操作系统介绍 2 UNIX系统UNIX系统是1969年在贝尔实验室诞生 最初运用于中小型计算机上 最早移植到80286微机上的UNIX系统 称为Xenix Xenix系统的特点是短小精干 系统开销小 运行速度快 UNIX为用户提供了一个分时的系统以控制计算机的活动和资源 并且提供一个交互 灵活的操作界面UNIX有很多种 许多公司都有自己的版本 如AT T Sun HP等 3 Linux系统Linux是一套免费使用和自由传播的类UNIX的操作系统 是一种基于POSIX和UNIX操作系统的多用户 多任务 支持多线程和多CPU的操作系统 Linux操作系统继承了UNIX操作系统以网络为核心的设计思想 是一个性能稳定的多用户网络操作系统Linu

温馨提示

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

评论

0/150

提交评论