




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章 应用软件设计与开发技术 1软件工程概述 2软件详细设计的表达 3结构化分析与设计方法 4测试与调试基本技术 5软件开发其它技术 1软件工程概述 1 1软件工程的概念 1 2软件生命周期 1 3软件支持环境 1 1软件工程的概念 一 计算机软 硬件的发展计算机硬件指CPU 存储器 I O设备 网络等 经历电子管 晶体管 集成电路和大规模集成电路 超大规模集成电路等四代的发展 第一代 硬件简单 软件也简单 个体化设计 第二代 硬件功能变强 软件开发变复杂 作坊式生产 第三代以后 硬件发展迅速 功能强大 软件发展成一门专门的学科 机器语言 0 1代码 计算机系统能识别的语言 汇编语言 助记符代替0 1代码 帮助记忆 高级语言 有一定的语法 接近人的语言习惯 方便编程 操作系统 解决人机对话 中断处理 多道作业等基本问题以及计算机本身的管理 使人更方便地使用计算机 数据库 对大量复杂数据的存储 检索 更新 删除等进行管理 减少数据冗余 提高访问效率 网络软件 实现数据传送 资源共享 均衡加载等 多媒体软件 支持多样性输入输出 二 软件发展过程 三 计算机资源 裸机 无任何软件的计算机 虚拟计算机 计算机 外围设备及软件的总和 计算机的资源 软件 硬件的总和 开始 软件就是程序 早期 软件就是程序加文档 现在 软件是计算机程序 方法 规则 相关文档以及在计算机上运行时所必需的数据总和 四 软件的定义 软件开发 软件发展迅速 功能不断强大 研制和开发越来越复杂 成本越来越高 因此 在开发时必须考虑到将来的更新 发展 移植 维护等因素 要求从技术和管理两方面研究 更好地开发和维护计算机软件 五 软件工程 软件工程 采用工程的概念 原理 技术和方法指导软件的开发和维护 主要利用工程学中的生存周期法和各种结构分析方法和结构设计方法 1 2软件生命周期 软件工程注重研究如何指导软件生产全过程的所有活动 以最终达到 在合理的时间 成本等资源的约束下 生产出高质量的软件产品 的目标 软件的生存周期 软件从被提出 实现 运用直到完成其使命的全过程 软件生存周期的几个阶段 一 软件支持环境指在宿主硬件和软件的基础上 用于辅助 支援其他软件的研制和维护的一组软件 1 3软件支持环境 二 软件支持环境的功能 能够支持软件生成的全周期 能够支持大型软件工程项目 能够支持软件配置管理 环境数据库 接口软件 工具组 三 软件支持环境的组成 2软件详细设计的表达 2 1程序流程图 2 2NS图 2 3问题分析图PAD 2 4判定表 2 5过程设计语言PDL 用图形 表格 语言等工具描述软件中各功能的算法 2 1程序流程图 2 2NS图 顺序结构 选择结构 多选择结构 当型循环结构 直到型循环结构 2 3问题分析图PAD 2 4判定表 例 大学挑选男子篮球队队员 2 5过程设计语言PDL 语言法描述程序的结构和算法 特点 1 用固定的语法说明程序的控制结构 2 用自然语言的自由语法来描述处理部分 3 具有数据说明手段 4 具有模块定义和调用的机制 3结构化分析与设计方法 3 1应用软件开发的原则和方法 3 2结构化分析方法 3 3结构化设计方法 一 基本原则1 自上而下的系统结构开发原则分解系统 由高度抽象到逐步具体 形成一个树形结构 又称为层次结构 优点 关系明了 简单 模块相对独立 2 模块化结构开发原则系统分成若干子模块 整体结构不一定是树形结构 总功能用模块组合完成 优点 提高软件的可测试性和可靠性 提高软件的可扩充性 有助于开发过程的组织和管理 3 1应用软件开发的原则和方法 二 开发方法 开发方法分成手动 半自动和自动开发方式 1 设计方法 自上而下构思 自下而上实现 自上而下 可读性好 可靠性高 自下而上 检查关键算法是否可行 返工少 2 设计风格 保证程序易读 易调试 易维护 选择合适的程序设计语言 数据说明标准化 注意程序的效率 时间效率 空间效率 4测试与调试基本技术 4 1测试的概念 4 2测试的过程 4 3测试的层次 4 4测试的方法 4 5调试 4 1测试的概念 一 测试的目的发现软件中的错误 给出软件可靠性鉴定 软件可靠性指在给定的时间和环境下 软件成功完成所指定功能的概率 二 测试的特征 挑剔性 目的是发现错误 成功的测试是发现了至今未发现的错误 完全测试的不可能性 测试只能证明软件有错 不能证明软件无错 测试的经济性 测试要花费大量的人力 物力 时间 4 2测试的过程 一 静态测试 不执行程序 人工检查 检查编码错误 语法错误 逻辑错误 二 动态测试 执行程序 在运行过程中暴露错误 运行有无结果 对典型数据有无正确结果 对无效数据有无防范措施 对一切可能的数据是否出错 三 自动测试工具 用测试软件代替人工测试 4 3测试的层次 一 模块测试测试模块接口 路径 错误处理能力 I O功能等 二 整体测试测试模块之间的互相联系 互相影响等 三 高级测试功能测试 系统测试 验收测试 安装测试等 4 4测试的方法 使用一些数据让软件运行 检查软件运行的结果是否有问题 用于测试的数据叫测试用例 用尽可能少的测试用例发现尽可能多的错误 一 测试用例的选择 选择测试用例时要同时预期程序运行的结果 合理和不合理的数据都要选择 检查程序是否做了该做和不该做的事 保留有用的测试用例以便再测试 系统地选择测试用例 不要幻想程序是正确的 二 白箱法选择测试用例 根据程序内部的逻辑结构来选择测试用例 语句覆盖 使程序中每条语句都执行一次 分支覆盖 使程序中每个分支都通过一次 条件覆盖 使程序中每条判定的每个条件都能取两种结果 组合条件覆盖 使程序中每条判定条件的各种组合都出现一次 白箱法选择测试用例 续1 例 IF a b and b 0 THENx x aIF a 2 or x 1 THENx x 1 白箱法选择测试用例 续2 语句覆盖 a 2 b 0 x 任意值 分支覆盖 a 3 b 0 x 2 测试路径ACE a 1 x 1 b 任意值 测试路径ABD 条件覆盖 a 2 b 1 x 1 a 1 b 0 x 3 组合条件覆盖 a 2 b 0 x 4 a 2 b 1 x 1 a 1 b 0 x 2 a 1 b 1 x 1 三 黑箱法选择测试用例 根据程序的功能来选择测试用例 1 等价类法 把所有输入分成几个等价类 使每一类中的任一数据用于测试时的效果一样 实际测试时 从每一类中取一个数据作为测试用例 2 边值分析法 程序错误往往出现在边界情况 测试用例选择在边界 通常考虑的几个原则 输入输出范围 对范围的边界情况和稍微超出范围的无效情况进行测试 输入输出个数 对最大个数 最小个数 稍多于最大个数 稍少于最小个数进行测试 输入输出为有序集 对序列的第一个和最后一个进行测试 边值分析法举例 考虑边界分析法选择测试用例 X为整型数时 X 2 3 4 5 6X为实型数时 X 2 9 3 0 3 1 4 9 5 0 5 1 3 因果法 输入为 因 输出为 果 根据因果关系导出测试用例 4 错误推测法 根据经验推测常出错的地方 从而导出测试用例 5 综合策略 各种方法联合运用 4 5调试 一 调试的目的发现软件发生错误的位置 并改正错误 调试一般是程序员自己完成 二 常用方法1 检查存储器内容 2 插入调试语句 设置状态变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安检培训试题及答案
- 治安管理培训课件
- 建工法律培训课件下载
- 大数据平台建设及运维服务合同
- 企业文化建设手册统一行为规范
- 生产线设备维护检查表
- 期末考试作文我们班的活宝800字(13篇)
- 汉语中常用谦敬词语的使用规则解析:社交汉语课程教案
- 泌尿外科管道的护理
- 双相情感障碍护理诊断
- 高中化学学法指导课件
- 仪表安装规范以及验收
- 《观潮》课件.ppt2
- 人教版(PEP)小学英语_3~6年级_单词表(带有音标)
- 农业环境讲义4
- 地下连续墙施工质量控制要点(北京17号线)
- 冀教版五年级下册数学应用题专项综合练习题
- 鲫鱼的外形与内部解剖
- 安全保证体系图及组织机构图
- CPS21F变频恒压供水调节器使用说明书1
- 视频会议系统中调音台的使用
评论
0/150
提交评论