计算机二级C语言辅导 公共基础知识 第二、三章

上传人:go****e 文档编号:121023781 上传时间:2020-02-14 格式:PPT 页数:41 大小:345.50KB
返回 下载 相关 举报
计算机二级C语言辅导 公共基础知识 第二、三章_第1页
第1页 / 共41页
计算机二级C语言辅导 公共基础知识 第二、三章_第2页
第2页 / 共41页
计算机二级C语言辅导 公共基础知识 第二、三章_第3页
第3页 / 共41页
计算机二级C语言辅导 公共基础知识 第二、三章_第4页
第4页 / 共41页
计算机二级C语言辅导 公共基础知识 第二、三章_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《计算机二级C语言辅导 公共基础知识 第二、三章》由会员分享,可在线阅读,更多相关《计算机二级C语言辅导 公共基础知识 第二、三章(41页珍藏版)》请在金锄头文库上搜索。

1、第二 三章 程序设计及软件工程基础 本章主要内容本章主要内容 vv 程序设计方法和风格程序设计方法和风格 vv 结构化程序设计结构化程序设计 vv 面向对象程序设计面向对象程序设计 vv 软件工程基本概念软件工程基本概念 vv 结构化分析方法结构化分析方法 vv 软件测试软件测试 vv 程序的调试程序的调试 2 1 程序设计方法和风格 vv什么是程序什么是程序 指令的集合指令的集合 解释指令 解释指令 通过硬件控制系统自动完成通过硬件控制系统自动完成 某一功能 某一功能 通过一系列代码实现 通过一系列代码实现 vv程序设计语言程序设计语言 计算机本身仅能识别二进制代码 0 1 编译程序和解释程

2、序 编程最直接 最低级的就是机器语言 汇编语言 vv程序设计风格程序设计风格 基本概念 编写程序时所表现出来的特点 习惯和逻辑 思路 一般从以下四部分加以规范 源程序中的内部文档 选择标示符的名字 注释 序言性和 功能性注释 程序的视觉组织 数据说明 显式地说明一切变量 数据说明的次序应该规范 化 便于查找变量 按顺序排列 对复杂数据结构应注释 说明 语句的结构 每条语句简单明了 尽量不用或少用GOTO语 句 尽量只采用3种基本控制结构编程 输入和输出 对所有输入数据进行校验和合理性检查 输 入输出格式保持一致 设计良好的输出报表 vv程序设计三种方法程序设计三种方法 结构化设计法 模块内部程

3、序各部分要按照自顶向下的结构划分 各程序部分应按功能组合 快速原型法 软件工程法 利用现有的工具和原型方法快速地开发所要的程序 面向对象程序设计法 以对象为核心 与人类习惯的思维方法一致 2 2 结构化程序设计 vv基本思想基本思想 对大型的程序设计 使用一些基本的结构来设计程序 无论多复杂的程序 都可以使用这些基本结构按一定的顺序 组合起来 这些基本结构的特点都是只有一个入口 一个出 口 由这些基本结构组成的程序就避免了任意转移 阅读起 来需要来回寻找的问题 vv设计原则设计原则 自顶向下 逐步求精 模块化 限制使用goto语句 vv基本结构 顺序 选择 循环基本结构 顺序 选择 循环 2

4、3 2 3 面向面向对对对对象程序象程序设计设计设计设计 vv基本思想基本思想 客观世界中任何一个事物都可以被看成是一个对象 面向 对象方法的本质就是主张从客观世界固有的事物出发来构造系 统 系统中的对象及对象之间的关系能够如实地反映问题域中 固有的事物及其关系 vv结构化与面向对象方法比较结构化与面向对象方法比较 结构化的分解突出过程 即如何做 How to do 它强调 代码的功能是如何实现的 面向对象的分解突出现实世界和抽象的对象 即做什么 What to do vv主要优点主要优点 与人类习惯的思维方法一致 稳定性好 可重用性好 易于开发大型软件产品 可维护性好 面向对象程序设计主要考

5、虑的是提高软件的可重用性 面向对象程序设计主要考虑的是提高软件的可重用性 vv面向对象的基本概念面向对象的基本概念 对象 Object 对象是基本的运行时认得实体 它既包括数据 属性 也 包括作用于数据的操作 行为 一个对象把属性和行为封装为一个整体 一个对象通常可由对象名 属性和操作3部分组成 面向对象 Object Oriented OO 从该问题所涉及的对象入手来研究问题 消息 Message 对象之间进行通信的一种数据构造 消息包括 接受消息对 象名 消息标识符 零个或多个参数 vv面向对象的基本概念面向对象的基本概念 类 Class 一个类定义了一组大体上相似的对象 一个类所包含的方

6、法和数据描述一组对象的共同行为和属性 类是在对象之上的抽象 对象是类的具体化 是类的实例 封装 Encapsulation 将数据和操作数据的函数衔接在一起 构成一个具有类类型的对象的描 述 对象的内部实现受保护 外界不能访问 封装简化了程序员对对象的使用 vv面向对象的基本概念面向对象的基本概念 继承 Inheritance 继承是父类和子类之间共享数据的方法的机制 一个子类可以继承它的父类 或祖先类 中的属性和操作 子类中可以定义自己的属性和操作 单重继承 多重继承 多态性 Polymorphism 不同的对象收到同一消息可以产生完全不同的结构 这一现象叫做多 态性 多态的实现受到继承的支

7、持 vv软件的定义软件的定义 软件 software 是计算机系统中与硬件 hardware 相 互依存的另一部分 软件包括三个部分 程序 program 相关数据 data 说明文档 document vv软件的特点软件的特点 软件是一种逻辑实体 不是物理实体 具有抽象性 软件没有明显的制造过程 软件在使用过程中 没有磨损 老化问题 软件依赖与硬件和环境 导致了移植问题 软件是复杂的 而且以后会更复杂 软件的成本相当昂贵 软件工作牵涉到很多社会因素 2 4 2 4 软软软软件工程基本概念件工程基本概念 vv软件危机软件危机 早期的软件主要指程序 采用个体工作方式 缺少相关 文档 质量低 维护

8、困难 这些问题称为 软件危机 软 件工程概念的出现源自于软件危机 vv软件工程软件工程 软件工程是指应用计算机科学 数学及管理科学等原理 以工程化的原则和方法来解决软件问题的工程 其目的是 提高软件生产率 提高软件质量 降低软件成本 vv软件工程基本目标软件工程基本目标 在给定成本 进度的前提下 开发出具有有效性 可 靠性 可理解性 可维护性 可重用性 可适应性 可移 植性 可追踪性和可互操作性且满足用户需求的产品 vv软件工程原则 软件工程原则 抽象 信息隐蔽 模块化 局部化 确定抽象 信息隐蔽 模块化 局部化 确定 性 一致性 完备性和可验证性 性 一致性 完备性和可验证性 1 抽象 抽象

9、是事物最基本的特性和行为 忽略非本质细节 采用分 层次抽象 自顶向下 逐层细化来控制软件开发过程的复杂性 2 信息隐蔽 采用封装技术 将程序模块的实现细节隐蔽起来 使 模块接口尽量简单 3 模块化 模块是程序中相对独立的成分 一个独立的编程单位 模 块的大小要适中 过大模块内部复杂性增加 太小整个系统过于复杂 4 局部化 保证模块间具有松耦合性 模块内部有高内聚性 5 确定性 软件中所有概念的表达应是确定 无歧义且规范的 6 一致性 内外部接口保持一致 系统规格说明与行为保持一致 7 完备性 软件系统不丢失任何重要成分 完全实现系统所需功能 8 可验证性 遵循容易检查 测评 评审原则 确保系统

10、正确性 vv软件工程三要素软件工程三要素 方法 方法 完成软件工程项目的技术手段完成软件工程项目的技术手段 工具 工具 支持软件的开发 管理 文档生成支持软件的开发 管理 文档生成 过程 过程 支持软件开发的各个环节的控制 管理支持软件开发的各个环节的控制 管理 vv软件工具和软件开发环境软件工具和软件开发环境 软件工具 CASE 用来辅助软件开 运行 维护 管理 支持等过程中的活动的软件 软件开发环境 支持软件产品开发的软件系统 它由 软件工具集和环境集成机制构成 vv软件生命周期软件生命周期 软件产品从提出 实现 使用维护到停止使用退役的过程 称为软件生命周期 分为软件定义 软件开发及软件

11、运行维护 3个阶段 1 软件定义阶段 包括制定计划和需求分析 制定计划 确定总目标 可行性研究 探讨解决方案 制定开发计划 需求分析 对待开发软件提出的需求进行分析并给出详细的定义 2 软件开发阶段 软件设计 分为概要设计和详细设计两个部分 软件实现 把软件设计转换成计 算机可以接受的程序代码 软件测试 在设计测试用例的基础上检验软件的各个组成部分 3 软件运行维护阶段 生命周期中花费最多的阶段 软件投入运行 并在使用中不断地维护 进行必要的扩充和删改 vv需求分析需求分析 用户对目标软件系统在功能 行为 性能 设计约束等方面的 期望 需求分析的任务是发现需求 求精 建模和定义需求的过程 需求

12、分析将创建所需的数据模型 功能模型和控制模型 vv需求分析的四步骤需求分析的四步骤 需求获取 需求分析 编写需求规格说明书和需求评审 vv需求分析的方法需求分析的方法 结构化分析方法 面向对象分析方法 2 5 2 5 结结结结构化分析方法构化分析方法 结构化分析方法结构化分析方法 结构化程序设计理论在软件需求分析阶段的运用 其目的是帮助弄清用户对软件的需求 vv常用工具常用工具 数据流图 数据字典 判定 树 判定表 vv开发策略开发策略 自顶向下 逐层分解 vv数据流图数据流图 DFD DFD 以图形的方式描绘数据在系统中流动和处理 的过程 它反映了系统必须完成的逻辑功能 是结构化分析方法 中

13、用于表示系统逻辑模型的一种工具 加工 存储文件 源 潭 数据流 加工 转换 输入数据经加工变换产生输出 数据流 沿箭头方向传送数据的通道 旁边标注数据流名 存储文件 数据源 表示处理过程中存放各种数据的文件 源 潭 表示系统和环境的接口 属系统之外的实体 vv画数据流图的基本步骤画数据流图的基本步骤 自外向内 自顶向下 逐层细化 完善求精自外向内 自顶向下 逐层细化 完善求精 数据流图的示例 vv数据字典数据字典 DD DD 对所有与系统相关的数据元素的一个有组 织的列表 其作用是对数据流图中出现的被命名的图形元素的 确切解释 数据字典常包括5个部分 数据项 数据结构 数据流 数据 存储 数据

14、处理 数据字典是结构化分析方法的核心 vv软件需求规格说明书 软件需求规格说明书 SRSSRS 需求分析阶段的最后成 果 通过建立完整的信息描述 详细的功能和行为描述 性 能需求和设计约束的说明 合适的验收标准 给出对目标软 件的各种需求 v需求分析主要解决 做什么 的问题 而软件设 计主要解决 怎么做 的问题 v从技术观点来看 软件设计包括软件结构设计 数据设计 接口设计 过程设计 结构设计 定义软件系统各主要部件之间的关系 数据设计 将分析时创建的模型转化为数据结构的定 义 接口设计 描述软件内部 软件和协作系统之间以及 软件与人之间如何通信 过程设计 把系统结构部件转换成软件的过程性描述

15、 v从工程角度来看 软件设计分两步完成 即概要 设计和详细设计 概要设计 又称结构设计 将软件需求转化为软件 体系结构 确定系统级接口 全局数据结构或数据库 模式 编写概要设计文档 概要设计文档评审 详细设计 确定每个模块的实现算法和局部数据 结构 用适当方法表示算法和数据结构的细节 v软件设计基本原理 抽象 模块化 信息隐蔽和模块 独立性 抽象 抽象是一种思维工具 就是把事物本质的共同特性提 取出来而不考虑其他细节 模块化 解决一个复杂问题时自顶向下逐步把软件系统划分 成较小的 相对独立但又不相互关联的模块的过程 信息隐蔽 模块的实施细节对于其他模块来说是隐蔽的 模块独立性 软件系统中每个模

16、块只涉及软件要求的具体的 子功能 和软件系统中其他模块的接口是简单的 模块独立性指标 耦合性和内聚性 模块划分原则是 高内聚度 低耦合度 v总体设计 概要设计 基本任务 1 设计软件系统结构 2 数据结构及数据库设计 3 编写概要设计文档 4 概要设计文档评审 v软件结构设计工具 结构图 程序结构图 程序结构图的基本图符程序结构图的基本图符 矩形表示模块 箭头表示模块间的调用关系 用带注释的箭头表示模块调用过程中来回传递的信息 实心圆箭头表示控制信息 空心圆箭头表示数据信息 v软件结构设计工具 结构图 程序结构图 常用结构图的四种模块类型常用结构图的四种模块类型 传入模块 从下属模块取得数据 经处理再将其传送给上级模块 传出模块 从上级模块取得数据 经处理再将其传送给下属模块 变换模块 从上级模块取得数据 进行特定的处理 转换成其他形式 再传送给上级模块 协调模块 对所有下属模块进行协调和管理的模块 v软件结构设计工具 结构图 程序结构图 结构图例及术语结构图例及术语 深度 表示控制的层数 宽度 整体控制跨度 扇入 调用一个给定模块的模 块个数 扇出 一个模块直接调用的其 他模块数 上

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号