二级C 考试辅导程序设计与软件工程PPT课件_第1页
二级C 考试辅导程序设计与软件工程PPT课件_第2页
二级C 考试辅导程序设计与软件工程PPT课件_第3页
二级C 考试辅导程序设计与软件工程PPT课件_第4页
二级C 考试辅导程序设计与软件工程PPT课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1 计算机二级C 考试辅导 第3部分 程序设计与软件工程徐品 2 第二章程序设计基础 15 考试大纲1 程序设计方法与风格 2 结构化程序设计 3 面向对象的程序设计方法 对象 方法 属性及继承与多态性 3 知识点归纳 程序设计方法程序设计是一门技术 需要相应的理论 方法和工具来支持 就程序设计方法和技术的发展而言 主要经历了结构化的程序设计和面向对象的程序设计阶段 在程序设计中 通常采用 自顶向下 逐步求精 的方法 即把一个模块的功能逐步分解 细化为一系列具体的步骤 进而转换成一系列用某种程序设计语言编写的程序 4 程序设计风格 除了程序设计设计方法和技术之外 程序风格也是非常重要的 良好的程序设计风格概括起来包括以下及格方面 源程序文档化数据说明的方法语句的结构输入和输出 5 程序设计风格 源程序文档化标识符的命名程序的注释序言性注释功能性注释程序的视觉组织数据的说明数据说明的次序应该规范化说明语句中变量的安排有序化使用注释说明复杂的数据结构 6 程序设计风格 语句结构在一行内只写一条语句程序编写应优先考虑清晰性除非对效率有特殊要求 程序编写要做到清晰第一 效率第二首先要保证程序正确 然后才要求提高速度避免使用临时变量而使程序的可读性下降避免不必要的转移尽可能使用库函数 7 程序设计风格 语句结构避免使用复杂的条件语句尽量减少使用 否定 条件的条件语句数据结构要有利于程序的简化要模块化 使模块功能尽可能单一化利用信息隐蔽 确保每一个模块的独立性从数据出发构造程序不要修补不好的程序 要重新编写 8 程序设计风格 输入和输出对所有输入数据检验合法性检查输入项的各种重要组合的合法性输入格式要简单 以使输入的步骤和操作尽可能简单输入数据时 应允许使用自由格式应允许缺省值 9 程序设计风格 输入和输出输入一批数据时 最好使用输入结束标志在以交互式输入 输出方式进行输入时 要在屏幕上使用提示符明确提示输入的请求 同时在数据输入结束时 应在屏幕上给出状态信息当程序设计语言对输入格式有严格要求时 应保持输入格式与输入语句的一致性 给所有的输出加注释 并设计输出报表格式 10 结构化程序设计 结构化程序设计的原则自顶向下 程序设计时 应先考虑总体 后考虑细节 先考虑全局目标 后考虑局部目标 不要一开始就过多追求细节 先从最上层总目标开始设计 逐步使问题具体化 逐步求精 对复杂的问题 应设计一些子目标过渡 逐步细化 模块化 一个复杂问题肯定是有若干简单问题构成 模块化是把程序要解决的总目标分解为分目标 再进一步分解为具体的小目标 每个小目标成为一个模块 严格限制GOTO语句的使用 11 结构化程序设计的基本结构和特点 程序由一些基本结构组成 任何一个程序都可以用三种基本控制结构组成 顺序结构 选择结构和循环结构 并且具有如下特点 单入口 单出口 结构中无死循环 程序中三种基本控制结构之间形成顺序执行关系 一个大型程序应按功能分割成一些模块 并把这些模块按层次关系进行组织 在程序设计时应采用自顶向下 逐步细化的实施方法 12 面向对象程序设计 面向对象方法的基本概念1 对象 类和属性在面向对象程序设计中 对象是程序的基本单位 对象可以表示客观世界中的任何实体 是对问题域中某个实体的抽象 每个对象可以用它本身的一组属性和它可以执行的一组操作来定义 类是对一组具有共同属性和相似行为的对象的一种抽象 描述了属于该类的所有对象的性质 2 方法方法有称为操作或服务 它描述了对象执行的功能 若通过消息传递 还可为其他对象使用 13 面向对象方法的基本概念 3 继承 继承是对象方法的一个重要特征 指一个类 子类 直接使用另一个类 父类 的所有属性和方法 它可以减少相似类的重复说明 从而体现一般性和特殊性的原则 4 多态性 多态性可以用 一个对外界面 多个内部实现 来表示 可以通过方法重载和方法重写来实现多态 重载指一个类中可以有多个具有相同名称的方法 由传递给它们的不同个数和类型的参数来决定执行那个方法 重写指子类可以重新实现父类的某些方法 使其具有自己的特征 多态性机制增加了面向对象软件系统的灵活性 提高了软件的可重用性和可扩充性 14 面向对象方法的基本概念 5 消息 面向对象系统中的对象之间是通过消息机制彼此相互合作的 消息是一个对象与另一个对象之间传递的信息 它请求对象执行某一处理或回答某一要求的信息 15 面向对象程序设计的特点 按照人的思维方式对客观世界进行抽象稳定性好可重用性好易于开发大型软件可维护性好 16 第三章软件工程基础 考试大纲1 软件工程基本概念 软件生命周期的概念 软件工具与软件开发环境 2 结构化分析方法 数据流图 数据字典 软件需求规格说明书 3 结构化设计方法 总体设计与详细设计 4 软件测试的方法 白盒测试与黑盒测试 测试用例设计 软件测试的实施 单元测试 集成测试和系统测试 5 程序的调试 静态调试与动态调试 17 知识点归纳 软件定义和特点计算机软件式计算机系统中与硬件相互依存的另一部分 是包括程序 数据及相关文档的完整集合 计算机软件具有如下特点 软件是一种逻辑实体 具有抽象性软件生产没有明显的制造过程软件在运行 使用期间不存在磨损 老化问题软件的开发 运行对计算机系统具有依赖性软件复杂性高 成本昂贵软件开发涉及诸多社会因素 18 软件危机 所谓软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题 包括 软件需求的增长得不到满足软件开发成本和进度无法控制软件质量难以保证软件不可维护或可维护性低软件成本不断提高软件开发生产率的提高赶不上硬件的发展和应用需求的增长 19 软件工程 为了消除软件危机 提出了软件工程学 软件工程是应用于计算机软件定义 开发和维护的一整套方法 工具 文档 实践标准和工序 软件工程的三要素方法工具过程 20 软件工程过程 软件工程过程是把输入转化为输出的一组彼此相关的资源和活动 它包括两方面含义 1 软件工程过程是指为获得软件产品 在软件工具支持下由软件工程师完成的一系列工程活动 通常包括四种基本活动 P Plan 软件规格说明D Do 软件开发C Check 软件确认A Action 软件演进2 从软件开发的观点看 软件工程过程是使用适当的资源 为开发软件进行的一组开发活动 在活动结束时将输入 用户需求 转化为输出 软件产品 21 软件生命周期 软件从提出 实现 使用 维护到停止使用的过程称为软件的生命周期 一般包括以下几个阶段 可行性研究与计划制定需求分析软件设计软件实现软件测试运行和维护 22 软件工程目标与原则 软件工程的目标是在给定成本 进度的前提下 开发出具有有效性 可靠性 可理解性 可维护性 可重用性 可适应性 可移植性 可追踪性和可互操作性且满足用户需求的软件产品 为达到上述目标 在软件开发的过程中 必须遵循软件工程的基本原则 抽象信息隐蔽模块化局部化确定性一致性完备性可验证性 23 软件开发工具与软件开发环境 软件开发工具对过程和方法提供自动或半自动的支持 当这些工具被集成起来使得一个工具产生的信息可以被另外一个工具使用时 一个支持软件开发的系统就建立起来了 称为计算机辅助软件工程 CASE CASE集成了软件 硬件和一个软件工程数据库 包含了有关分析 设计 程序构造和测试的重要信息 从而创建了一个软件开发环境 24 结构化分析方法 结构化分析方法大多使用自顶向下 逐层分解的系统分析方法来定义系统需求 在结构化分析的基础上 完成系统的规格说明 建立系统的一个自顶向下的任务分析模型 结构化分析方法是一种建模技术 模型的核心是数据辞典 它描述了所有在目标系统中使用和生成的数据对象 结构化分析常用的工具 数据流图 DFD 描述数据在系统中如何被传送或变换以及描述如何对数据流进行变换的功能 用于功能建模 数据字典判定树判定表 25 数据流图 数据流图是描述数据处理过程的工具 它从数据传递和加工的角度 来刻画数据流从输入系统到从系统输入的移动变换过程 数据流图的基本元素外部实体数据流处理 加工 数据存储 26 数据流图举例 27 数据字典 数据字典是关于数据的信息的集合 对数据流图中的各个元素进行完整的定义和说明 数据流图和数据字典共同构成系统的逻辑模型 数据字典通常包含的信息有 名称 别名 何处使用 如何使用 内容描述以及补充信息等 28 数据字典举例 存折 户名 所号 帐号 开户日 性质 印密 1 存取行 50户名 2 字母 24所号 001 999 帐号 00000001 99999999 开户日 年 月 日性质 1 6 注 1 表示普通户 5 表示工资户等印密 0 注 印密在存折上不显示存取行 日期 摘要 支出 存入 余额 操作 复核 29 软件需求 软件需求包括 功能需求 性能需求 环境需求 可靠性需求 安全保密需求 用户界面需求 资源使用需求 成本消耗需求 开发进度需求等 需求分析应交付的主要文档是软件需求规格说明书 SRS 30 结构化设计 结构化设计就是采用最佳的可能方法设计系统的各个组成部分以及个成分之间的内部联系的技术 也就是说 结构化设计是这样一个过程 它决定用哪些方法把哪些部分联系起来 才能解决好某个具体的有清楚定义的问题 从工程管理的角度看 软件设计分两步完成 1 概要设计 即总体设计 将软件需求转化为数据结构和软件的系统结构 常用的软件结构设计工具是结构图 StructureChart 2 详细设计 即过程设计 通过对结构表示进行细化 得到软件详细的数据结构和算法 过程设计常用的工具有 程序流程图 N S图 PAD图 过程设计语言PDL 伪码 31 软件测试 定义 使用人工或自动手段来运行或测定某个系统的过程 其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别 软件测试是为了发现错误而执行程序的过程 一个好的测试用例是指可能找到迄今为止尚未发现的错误的用例 一个成功的测试是发现了至今尚未发现的错误的测试 测试不能表明软件中不存在错误 它只能说明软件中存在错误 32 测试技术与方法综述 从是否需要执行被测试软件的角度 可将测试分为静态测试和动态测试 静态测试主要包括代码检查 静态结构分析 代码质量度量等 动态测试是基于计算机的测试 是为了发现错误而执行程序的过程 或者说 是根据软件开发的各个阶段的规格说明和程序的内部结构而精心设计的一批测试用例 并利用这些测试用例去运行程序 以发现程序错误的过程 33 测试技术与方法综述 按照功能划分 可将软件测试分为黑盒测试和白盒测试 黑盒测试将测试对象看作一个黑盒 不考虑程序内部的逻辑结构和内部特性 只依据程序的需求规格说明 检查程序的功能是否符合它的功能说明 这种测试又称为功能测试或数据驱动测试 白盒测试把测试对象看作一个透明的盒子 利用程序内部的逻辑机构及有关信息 设计或选择测试用例 对程序的所有逻辑路径进行测试 通过在不同点检查程序的状态 确定实际的状态是否与预期的一致 这种测试又称为结构测试或逻辑驱动测试 34 软件测试的实施 软件测试按四个步骤进行 单元测试 对软件设计的最小单位 模块进行正确性的测试 其目的是发现各模块内部可能存在的各种错误 集成测试 是测试和

温馨提示

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

评论

0/150

提交评论