




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 1 软件工程基本概念 软件生命周期概念 软件工具与软件开发环境 2 结构化分析方法 数据流图 数据字典 软件需求规格说明书 3 结构化设计方法 总体设计与详细设计 4 软件测试的方法 白盒测试与黑盒测试 测试用例设计 软件测试的实施 单元测试 集成测试和系统测试 5 程序的调试 本次学习的内容 2 1 1软件定义与软件特点 1 软件的定义和组成定义 计算机软件 Software 是计算机系统中与硬件相互依赖的另一部分 组成 程序 数据 文档国标 GB 定义与计算机系统的操作有关的计算机程序 规程 规则 以及可能有的文件 文档及数据 2 软件的特点软件是一种逻辑实体 而不是具体的物理实体3 软件的分类 应用软件 系统软件 操作系统 数据库管理系统和设备驱动程序等 和支撑软件 1软件工程 3 1 2软件危机与软件工程 1 软件危机软件工程源自于软件危机主要表现 软件需求的增长得不到满足软件开发成本和进度无法控制软件质量难以保证软件不可维护或维护程度非常低软件成本不断提高软件开发生产效率的提高赶不上硬件的发展和应用需求的增长归结为成本 质量和生产率等问题 4 2 软件工程的产生与定义定义 国标 GB 应用于计算机软件的定义 开发和维护的一整套方法 工具 文档 实践标准和工序 主要思想 在软件开发过程中需要应用工程化原则的重要性软件工程3个要素 方法 工具和过程1 3软件工程过程与软件生命周期1 软件工程过程P Plan 软件规格说明D Do 软件开发C Check 软件确认A Action 软件演进 5 软件生命周期是指软件产品从提出 实现 使用维护 停止使用到退役的过程 3个阶段和6个阶段工作 6 例1 软件是指A 程序B 程序和文档C 算法加数据结构D 程序 数据与相关文档的完整集合例2 下面描述中 不属于软件危机表现的是软件过程不规范B 软件开发生产率低C 软件质量难以控制D 软件成本不断提高例3 下列描述中正确的是 A 软件工程只是解决软件项目的管理问题B 软件工程主要解决软件产品的生产率问题C 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D 软件工程只是解决软件开发过程中的技术问题 D A C 7 例4 下列不属于软件工程3个要素的是 A 工具B 过程C 方法D 环境例5 软件工程三要素包括方法 工具和过程 其中 支持软件开发的各个环节的控制和管理 例6 软件生命周期是指A 软件产品从提出 实现 使用维护到停止使用退役的过程B 软件从需求分析 设计 实现到测试完成的过程C 软件的开发过程D 软件的运行维护过程例7 软件生命周期可分为多个阶段 一般分为定义阶段 开发阶段和维护阶段 编码和测试属于 阶段 例8 软件生命周期分为软件定义期 软件开发期和软件维护期 详细设计属于 中的一个阶段 软件开发 D 过程 A 软件开发 开发 2结构化分析方法2 1需求分析与需求分析方法1 需求分析定义 全面理解用户的各项要求 准确地表达各项要求 其任务是 导出目标系统的逻辑模型 解决 做什么 的问题主要工作 需求获取 需求分析 编写需求规格说明书和需求审评2 需求分析方法1 结构化分析方法 面向数据流的结构化分析方法 SA 和面向数据结构的Jackson方法 JSD 2 面向对象分析方法 OOA 静态分析方法和动态分析方法 9 2 2结构化分析方法 1 关于结构化分析方法结构化程序设计理论在需求分析阶段的运用面向数据流进行需求分析的方法自顶向下 逐层分解主要工具 数据流图 数据字典2 结构化分析的常用工具数据流图 DFD 数据字典 判定树和判定表 10 2 3软件需求规格说明书 需求分析阶段的最后成果作用 便于用户 开发人员进行理解和交流 反映出用户问题的结构 可以作为软件开发工作的基础和依据 作为确认测试和验收的依据 主要内容概述 数据描述 功能描述 性能描述 参考文献 附录特点 正确性 无歧义性 完整性 可验证性 一致性 可理解性 可修改性 可追踪性 11 例9 Jackson方法是一种面向 的结构化方法例10 软件需求分析阶段的工作 可以分为4个方面 需求获取 需求分析 编写需求规格说明书以及 A 阶段性报告B 需求评审C 总结D 都不正确例11 软件开发过程主要分为需求分析 设计 编码与测试四个阶段 其中 阶段产生 软件需求规格说明书 例12 在软件开发中 需求分析阶段可以使用的工具是A N S图B DFD图C PAD图D 流程程序图例13 软件需求规格说明书应具有完整性 无岐义性 正确性 可验证性 可修改性等特征 其中最重要的是 数据结构 B 需求分析 B 无歧义性 3结构化设计方法 3 1软件设计的基本概念 1 软件设计的基础软件设计 主要解决 怎么做 问题主要内容 结构设计 数据设计 接口设计 过程设计步骤 概要设计和详细设计2 软件设计的基本原理1 抽象 抽出事物本质的共同特点 不考虑细节 2 模块化 3 信息隐蔽 每个模块的实现细节对于其它模块来说是隐蔽的4 模块独立性 衡量指标是低耦合性 高内聚性 13 内聚性一个模块只做一件事7种类型 耦合性度量模块之间的相互联系程度模块连接方式有7种 构成耦合性的7种类型 14 例14 两个或两个以上模块之间联系的紧密程度称为 A 耦合性B 内聚性C 复杂性D 数据传输特性例15 为了提高软件模块的独立性 模块之间最好是 A 控制耦合B 公共耦合C 内容耦合D 数据耦合 A D 15 3 2概要设计 1 概要设计的基本任务系统结构设计主要任务 划分为模块数据结构和数据库的设计实现需求定义和规格说明过程中提出的数据对象的逻辑表示编写概要设计文档概要设计说明书 数据库设计说明书 用户手册和集成测试计划 概要设计的评审对概要设计文档中给出的设计方案可行性 正确性 有效性 一致性等进行审核 16 系统结构图 SC 中的模块 原子模块 4种类型的模块 结构图的形态特征 深度 宽度 扇出 扇入 17 3 面向数据流的设计方法数据流图 DFD 需求分析工具 用带有箭头的线段表示数据流系统结构图 SC 概要设计工作主要任务 数据流图变换成结构图数据流的类型 变换型和事务型变换型数据流 事务型数据流 18 用变换型数据流表示的系统的结构图 输入 中心变换 输出 19 事物型数据流和变换型数据流综合表示的系统的结构图 输入 中心变换 输出 20 例16 下列软件系统结构图的宽度为例17 一个模块直接调用的其他模块个数称为 例18 常用的软件结构设计工具是结构图 SC 也称程序结构图 其中 用矩形表示 用带空心圆的箭头表示传递的是数据 例19 数据流图中带有箭头的线段表示的是A 控制流B 事件驱动C 模块调用D 数据流例20 在结构化分析使用的数据流图 DFD 中 利用 对其中的图形元素进行确切解释 3 扇出 模块 D 数据字典 21 3 3详细设计 详细设计的任务 确定实现算法和局部数据结构不同于编码或编程详细设计的常用工具 图形工具 程序流程图 N S PAD和HIPO表格工具 判定表 语言工具 PDL 伪码 22 程序流程图图形元素 方框 处理步骤 菱形 逻辑条件 箭头 控制流5种控制结构 顺序型 选择型 先判断重复型 后判断重复型 多分支选择型 23 程序流程图 图中带有箭头的线段 菱形框和矩形框分别表示 控制流 处理步骤 逻辑条件 3 4软件测试 3 4 1软件测试的目的 检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别 目的在于发现错误 3 4 2软件测试的准则 所有测试都应追溯到需求严格执行测试计划 排除测试的随意性充分注意测试中的群集现象程序员应避免检查自己的程序穷举测试不可能妥善保存测试计划 测试用例 出错统计和最终分析报告 为维护提供方便 25 3 4 3软件测试技术与方法综述 1 静态测试与动态测试静态测试人工评审软件文档或程序 借以发现其中的错误主要方法 代码检查 静态结构分析 代码质量度量动态测试上机测试关键 设计高效 合理的测试用例分两类 白盒测试方法和黑盒测试方法 26 2 白盒测试方法也称结构测试或逻辑驱动测试测试用例是根据程序的内部逻辑来设计主要用于单元测试基本原则保证所测模块中每一个独立路径至少执行一次保证所测模块所有判断的每一个分支至少执行一次保证所测模块每一个循环都在边界条件和一般条件至少执行一次验证所有内部数据结构的有效性主要方法 逻辑覆盖 基本路径测试 27 3 黑盒测试方法也称功能测试或数据驱动测试对软件已经实现的功能是否满足需求进行测试和验证根据程序的功能说明来设计测试用例主要用于确认测试主要方法等价类划分法边界值分析法错误推测法 28 例21 软件测试的目的是A 评估软件的可靠性B 发现并改正程序中的错误C 改正程序中的错误D 发现程序中的错误例22 程序测试分为静态分析和动态测试 其中 是指不执行程序 而只是对程序文本进行检查 通过阅读和讨论 分析和发现程序中的错误 例23 软件测试分为 测试和 测试 等价类划分法属于 测试 例24 使用白盒测试法时 确定测试数据应该根据 和指定的覆盖标准 A 程序的内部逻辑B 程序的复杂结构C 使用说明书D 程序的功能 D 静态测试 白盒 黑盒 黑盒 A 29 3 4 4软件测试的实施 例25 按照软件测试的一般步骤 集成测试应在 测试之后进行 单元 30 1 单元测试对象 针对程序模块 进行正确性检验的测试目的 发现各模块内部可能存在的各种差错依据 从程序的内部结构出发设计测试用例 其依据是详细的设计说明书和源程序方法 以白盒测试为主 辅以黑盒测试 驱动模块 桩模块 31 2 集成测试任务 把模块在按照设计要求组装起来的同时进行测试目的 发现与接口有关的错误依据 集成测试的依据是概要设计说明书内容 软件单元的接口测试 全局数据结构测试 边界条件和非法输入的测试方式 非增量方式组装与增量方式组装 非增量方式组装也称为一次性组装方式增量方式组装也称渐增式集成方式 3种方式 自顶向下 自底向上和自顶向与自底向上相结合 33 例26 在进行模块测试时 要为每个被测试的模块另外设计两类模块 驱动模块和承接模块 桩模块 其中 的作用是将测试数据传送给被测试的模块 并显示被测试模块所产生的结果 其中 充当被测试的模块调用模块 驱动模块 庄模块 34 3 确认测试 又称有效性测试目的 验证软件的功能和性能及其它特性是否与用户的要求一致依据 软件需求规格说明书方法 黑盒测试法4 系统测试任务 在实际运行 使用 环境下 对计算机系统进行一系列的组装测试和确认测试目的 在于通过与系统的需求定义作比较 发现软件与系统定义不符合或与之矛盾的地方依据 需求分析规格说明来设计内容 功能测试 性能测试 操作测试 配置测试 外部接口测试 安全性测试 3 5程序的调试 3 5 1基本概念 任务 诊断和改正程序中的错误时机 调试主要在开发阶段进行1 基本步骤 错误定位 纠正错误 回归测试 3 5 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.2细胞器之间的分工合作 教学设计-2024-2025学年高一上学期生物人教版(2019)必修1
- 第二节 撒哈拉以南非洲说课稿-2025-2026学年初中地理粤人版七年级下册-粤人版2012
- 2025专营合同范本下载
- 2025二手房屋交易合同范本下载
- 《2025年电子配件购销合同》
- 2025买卖合同的解除条件及方法
- 2025房地产买卖合同3
- 第8讲 东南亚 南亚-印度 第1课时 教学设计 2023-2024学年高二下学期
- 2025仓库租赁合同终止协议
- 线缆厂办公区域管理细则
- GB 26572-2025电器电子产品有害物质限制使用要求
- 2025年执纪监督考试题库
- 2025年官方三力测试题库及答案
- 2025年高考重庆卷生物试题答案解读及备考指导(精校打印)
- 周围神经损伤护理
- 高一信息技术课件全套
- 护理时政面试题目及答案
- 2025年中国搬家公司行业市场运行动态及投资发展潜力分析报告
- 围手术期患者管理
- 光存储技术革新-洞察及研究
- 创伤记忆的集体性遗忘-洞察及研究
评论
0/150
提交评论