




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程基础 公共基础知识 软件工程基本概念 软件生命周期概念 软件工具与软件开发环境 结构化分析方法 数据流图 数据字典 软件需求规格说明书 结构化设计方法 总体设计与详细设计 软件测试的方法 白盒测试与黑盒测试 测试用例设计 软件测试的实施 单元测试 集成测试和系统测试 程序的调试 2 内容提要 3 1软件工程基本概念 软件的定义和组成计算机软件 Software 是计算机系统中与硬件相互依赖的另一部分 包括程序 数据 文档 软件分成三类 应用软件系统软件 操作系统 数据库管理系统 编译程序 设备驱动程序等 支撑软件 介于应用软件与系统软件间 协助用户开发软件的工具性软件 比如需求分析工具软件 编码工具软件 测试 维护工具软件 4 3 1 1软件定义与软件特点 软件危机落后的软件生产方式无法满足迅速增长的计算机软件需求 从而导致软件开发与维护过程中出现一系列严重问题的现象 严重问题归结为成本 质量和生产率等问题为了解决软件危机 1968年提出了软件工程这一概念 并逐渐形成了软件工程学 软件工程源自于软件危机 5 3 1 2软件危机与软件工程 软件工程将工程化应用到软件开发过程中 在软件的开发工程中应用工程化原则 软件工程学 工程学的新兴领域软件工程3个要素 方法 完成工程项目的技术手段工具 支持软件开发 管理 文档生成的工具过程 对开发的各个环节进行控制和管理 6 3 1 2软件危机与软件工程 软件工程过程软件开发过程 把用户的要求转变为软件产品的过程 7 3 1 3软件工程过程与软件生命周期 3 1 3软件工程过程与软件生命周期 软件的生命周期软件产品从提出 实现 使用维护 停止使用到退役的过程3个阶段软件定义软件开发软件运行维护6个阶段工作 8 可行性报告 软件规格说明书 测试分析报告 3 1 3软件工程过程与软件生命周期 定义阶段可行性研究与计划指定 能做吗 需求分析 做什么 开发阶段 软件设计 如何做 分为概要设计和详细设计两个阶段 软件实现 实现 编码 软件测试 做的怎么样 运行维护阶段使用 不断维护 9 可行性报告 软件规格说明书 测试分析报告 概要设计说明书 详细设计说明书 完成编码及面向用户的手册 软件工程的目标在给定成本 进度的前提下 开发出具有有效性 可靠性 可理解性 可维护性 可重用性 可适应性 可移植性 可追踪性和可互操作性且满足用户需求的产品软件工程学的范畴 10 3 1 4软件工程的目标与原则 软件工程原则抽象抽取事物最基本的特性和行为 忽略非本质细节信息隐蔽采用封装技术 将程序模块的实现细节隐藏起来模块化解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块局部化确定性一致性完备性可验证性 11 3 1 4软件工程的目标与原则 软件开发工具协助开发人员进行软件开发活动所使用的软件或环境需求分析工具 设计工具 编码工具 排错工具 测试工具等 软件开发环境全面支持软件开发全过程的软件工具的集合计算机辅助软件工程 CASE 12 3 1 5软件开发工具与软件开发环境 3 2结构化分析方法 1 需求分析定义 任务 导出目标系统的逻辑模型全面理解用户的各项要求 准确地表达各项要求主要工作 需求获取 需求分析 编写需求规格说明书 需求审评 验证需求文档的一致性 可行性 完整性和有效性 2 需求分析方法 结构化分析方法面向数据流的结构化分析方法 SA 面向数据结构的Jackson方法 JSD 面向数据结构的结构化数据系统开发方法 DSSD 面向对象分析方法 OOA 静态分析方法 动态分析方法 14 3 2 1需求分析与需求分析方法 需求分析 解决 做什么 问题 1 关于结构化分析方法结构化程序设计理论在需求分析阶段的运用面向数据流进行需求分析的方法自顶向下 逐层分解主要工具 数据流图 DFD 数据字典 DD 结构化英语 判定树 判定表 15 3 2 2结构化分析方法 2 结构化分析的常用工具数据流图 DFD 数据字典 DD 结构化分析方法的核心对数据流图 DFD 中出现的被命名的图形元素的确切解释判定树 判定表以图形形式描述数据流图 DFD 的加工逻辑 16 3 2 2结构化分析方法 数据流图 DFD 17 3 2 2结构化分析方法 基本图形元素 软件需求规格说明书是需求分析阶段的最后成果特点 正确性 无歧义性 完整性 可验证性 一致性 可理解性 可修改性 可追踪性 最重要的是正确性 18 3 2 3软件需求规格说明书 3 3结构化设计方法 1 软件设计的基础开发阶段包括了软件设计 实现 编码 和软件测试三部分 软件设计是开发阶段最重要的步骤 从工程管理角度来看 软件设计分两步完成 概要设计和详细设计 20 3 3 1软件设计的基本概念 需求分析 解决 做什么 问题软件设计 解决 怎么做 问题 2 软件设计的基本原理抽象抽出事物本质的共同特点模块化信息隐蔽每个模块的实现细节对于其它模块来说是隐蔽的模块独立性每个模块只涉及软件要求的具体的子功能和软件系统中其它的模块的接口是简单的衡量指标 耦合性 模块间互相连接的紧密程序的度量内聚性 模块内部各个元素之间彼此结合的紧密程度的度量应做到 高内聚 低耦合 21 3 3 1软件设计的基本概念 1 概要设计的基本任务系统结构设计 数据结构和数据库的设计 编写概要设计文档 概要设计的评审常用的软件结构设计工具是结构 SC 图 22 3 3 2概要设计 3 面向数据流的设计方法数据流图 DFD 需求分析工具系统结构图 SC 概要设计工作主要任务 数据流图变换成结构图数据流的类型 变换流 事务流实施要点与设计过程分析 确认数据流图的类型 区分是事务型还是变换型说明数据流的边界数据流图映射为程序结构根据设计准则把数据流转换成程序结构图 23 3 3 2概要设计 续 详细设计的任务 确定实现算法和局部数据结构不同于编码或编程常用过程设计工具 图形工具 程序流程图 N S PAD 问题分析图 和HIPO表格工具 判定表 语言工具 PDL 伪码 24 3 3 3详细设计 3 3 3详细设计 续 程序流程图图形元素 方框 处理步骤菱形 逻辑条件箭头 控制流5种控制结构顺序型选择型先判断重复型后判断重复型多分支选择型 25 3 4软件测试 测试是为了发现错误而执行程序的过程 没有改正错误一个好的测试用例在于能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试准则 所有的测试都应该追溯到需求程序员应避免检查自己的程序 测试用例 TestCase 为测试设计的数据 包含两部分 输入值集和输出值集 27 3 4软件测试 从是否需要执行被检测的软件的角度 分为静态测试与动态测试静态测试人工评审软件文档或程序 借以发现其中的错误主要方法 代码检查 静态结构分析 代码质量度量动态测试上机测试关键 设计高效 合理的测试用例分两类 白盒测试方法和黑盒测试方法 28 3 4软件测试 按照功能划分 分为白盒测试和黑盒测试白盒测试也称结构测试或逻辑驱动测试在程序内部进行 主要用于完成软件内部操作的验证 测试用例是根据程序的内部逻辑来设计主要用于单元测试基本原则保证所测模块中每一个独立路径至少执行一次保证所测模块所有判断的每一个分支至少执行一次保证所测模块每一个循环都在边界条件和一般条件至少执行一次验证所有内部数据结构的有效性主要方法 逻辑覆盖 基本路径测试 29 3 4软件测试 按照功能划分 分为白盒测试和黑盒测试黑盒测试也称功能测试或数据驱动测试对软件已经实现的功能是否满足需求进行测试和验证根据程序的功能说明来设计测试用例主要用于确认测试主要方法等价类划分法边界值分析法错误推测法 30 3 4软件测试 31 软件测试步骤 单元测试 集成测试 确认测试 系统测试 3 4软件测试 1 单元测试对象 针对程序模块 进行正确性检验的测试目的 发现各模块内部可能存在的各种差错依据 从程序的内部结构出发设计测试用例 其依据是详细的设计说明书和源程序方法 以白盒测试为主 辅以黑盒测试在编码阶段进行驱动模块 相当于被测模块的主程序 将测试数据传递给被测试的模块 桩模块 代替被测模块调用的其他模块 32 3 4软件测试 1 单元测试驱动模块 相当于被测模块的主程序 将测试数据传递给被测试的模块桩模块 代替被测模块调用的其他模块 33 3 4软件测试 2 集成测试任务 把模块在按照设计要求组装起来的同时进行测试目的 发现与接口有关的错误依据 集成测试的依据是概要设计说明书内容 软件单元的接口测试 全局数据结构测试 边界条件和非法输入的测试方式 非增量方式组装与增量方式组装 34 3 4软件测试 3 确认测试又称有效性测试目的 验证软件的功能和性能及其它特性是否与用户的要求一致依据 软件需求规格说明书方法 黑盒测试法4 系统测试任务 在实际运行 使用 环境下 对计算机系统进行一系列的组装测试和确认测试目的 在于通过与系统的需求定义作比较 发现软件与系统定义不符合或与之矛盾的地方依据 需求分析规格说明来设计内容 功能测试 性能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度汽车车身广告投放与城市品牌推广综合服务合同
- 2025年创意园区项目居间代理协议:文化产业园投资合作
- 2025年山地生态修复与高性能推土机租赁综合服务合同
- 2025年光伏发电系统设备采购反担保协议汇编
- 2025年度影视明星线上线下联动营销服务合同
- 2025年新能源研发中心设备租赁合同
- 2025合同范本大全
- 2025年绿色建筑认证办公楼劳务施工环保服务合同
- 2025年城市智慧交通网络布线施工及维护合同范本
- 2025年生态养殖项目承包与地方农业品牌推广服务合同
- 2025-2030中医药大健康产业链整合与投资机会分析报告
- 2025年第九届“学宪法、讲宪法”知识竞赛题库及答案(中小学组)
- 2025年大型上市公司合同管理与合规制度
- 送瘟神教学课件
- 2025四川省公安厅招聘辅警(448人)笔试备考题库及答案解析
- 2025年内容分发网络(CDN)行业当前市场规模及未来五到十年发展趋势报告
- 故宫博物馆院课件
- 豌豆栽培种植技术
- 学前教育学完整-2017课件
- 英语中考常用一词多义词
- 上海港港口拖轮经营人和港口拖轮名录
评论
0/150
提交评论