计算机二级 公共基础第三章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机二级 公共基础第三章.ppt

第三章 软件工程基础 复习:软件的分类? 基本概念:1、软件的定义 定义1: 软件是计算机程序和程序说明文档的集合 定义2:GB 软件是包括程序、数据及其相关文档的完整集合。 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 2、软件的特点 1)软件是一种逻辑实体,具有抽象性。 2)软件没有明显的制作过程,可任意COPY 3)软件在使用过程期间不存在磨损、老化问题 4)对硬件和环境具有依赖性 5)软件复杂性高,成本昂贵。 6)软件开发涉及诸多的社会因素 3、“软件危机” 代价高 进度难控制 工作量和成本估算难 质量差 维护难 用户不满意 软件生产率提高的速度 跟不上计算机应用迅速 普及深入的趋势 4、软件工程 软件工程是应用于计算机软件的定义、开发、运行、维护的一整套方法、工具、文档和工序。 三要素: 软件工程方法:完成软件开发的技术手段 软件工程工具:用来支持软件的开发等工作 软件工程过程:对软件开发的各个环节的控制和管理。 5、软件生命周期 生命周期概念 简单的说 ,包含定义、开发、运行维护三个阶段 软件生命期是软件产品或系统一系列相关活动的全周期。从形成概念开始,经过研制,交付使用,在使用中不断增补修订,直到最后被淘汰,让位于新的软件产品的过程。 二、结构化分析方法 即软件开发过程所遵循的方法和步骤 1、需求分析:用户对目标软件系统在功能、行为、性能、设计、约束等方面的期望。 需求分析的工作: (强调用户全程参与) 需求获取 :确定系统各方面的需求 需求分析与建模:确定解决方案,系统的逻辑模型 需求描述(需求说明书) 需求评审:复审 需求分析方法 结构化方法 面向对象方法 2、结构化分析方法 常用面向数据流结构化分析方法,建立新的,结构化说明的目标文档 采用4种常用工具 数据流图(DFD) 数据字典(DD) 判代表 判定树 1)数据流图 实质描述数据的处理过程,表达系统内数据从输入到输出的运动情况 系统的功能体现在核心的数据变换中 系统的输入源于用方框表示的外部实体,这种输入引发系统的数据变换,产生传递给外部实体的输出 基本元素 判定表例子:把多分支判断改为两分支判断 三、 结构化设计方法 1、软件设计的基本原理和原则 模块化:分解 抽象:提取公共属性 信息隐藏:禁止访问需要的信息 模块独立性:每个模块只完成系统要求的子功能,但要提供接口 2、概要设计 概要设计称为总体设计,将软件需求转化为数据结构和软件的系统结构。 选择合适的数据结构 (1)层次图 结构图 3、详细设计 详细设计:对结构表示进行细化,得到每个模块详细的数据结构和算法。 设计工具 程序流程图 N-S图 PAD图 HIPO图 程序流程图 常用图符号 设计工具(1):程序流程图 特点 独立于程序设计语言,比较直观、清晰,易于学习掌握 符号不够规范,语义不严格 设计工具(2):N-S图 Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图 设计工具(3):PAD图(问题分析图) 4、PDL的使用实例(用英语和伪代码描述设计过程) 软件测试的概念 软件测试是指: 狭义上:测试是对软件产品质量的检验和评价 广义上:测试是软件产品生存周期内所有的检查、评审和确认活动 软件测试的目的 测试是一个程序的执行过程,其目的在于发现错误 一个好的测试用例很可能发现至今尚未察觉的错误 一个成功的测试用例是发现至今尚未察觉的错误的测试 软件测试是以最少的时间和人力,系统地找出软件中的错误和缺陷 软件测试方法的分类 从是否需要执行被测软件的角度,分为 静态测试 动态测试 从测试是否针对系统的内部结构和具体实现算法的角度,分为 白盒测试 黑盒测试 静态测试和动态测试 静态测试:采用人工检测和计算机辅助静态分析的手段,不运行被测试程序 人工测试:人工审查程序或评审软件 计算机辅助静态分析:利用静态分析工具对被测试程序进行特性分析,检查程序逻辑的各种错误和可疑的程序构造 动态测试:通过运行程序发现错误 黑盒 白盒 白盒测试 知道产品内部工作过程,根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作 主要用于软件验证 主要方法 程序模块中的所有独立路径至少执行一次 对所有逻辑判定的取值(“真”与“假”)都至少测试一次 在上下边界及可操作范围内运行所有循环 测试内部数据结构的有效性等 黑盒测试 已知产品所应具有功能,通过测试来检测每个功能是否都能正常使用 把程序看作黑盒,在程序接口进行测试 主要方法: 等价类划分 边界值分析 错误推测 逻辑覆盖测试(控制

文档评论(0)

xx88606 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档