注册 登录 进入教材巡展
#

出版时间:2023-12

出版社:电子工业出版社

以下为《基于案例的软件构造教程(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 电子工业出版社
  • 9787121446528
  • 1-3
  • 466047
  • 48253711-5
  • 平塑
  • 16开
  • 2023-12
  • 544
  • 316
  • 计算机科学与技术
  • 本科 研究生及以上
内容简介
本书以一个案例的演变模拟不断变化的用户需求,按照增量迭代的开发模式,将碎片化的功能开发、用户交互、数据处理等知识,以及软件设计、软件测试及敏捷开发的最佳实践,与软件开发的原理、技术和工具融合到设计、编码、调试及测试的构造过程。内容包括软件构造的一般原理(如依赖倒转原则、增量迭代)、常用技术(如表驱动编程、测试驱动开发)、软件设计(契约式设计、设计模式)、软件知识(如软件测试、软件复用)及软件构造的工作要素(如编码规范、构造工具)和活动(如设计、编码、调试、测试、交付)。本书提供配套的电子课件、案例源程序、例子代码、教学参考方案等。
目录
目 录__eol__第1章 软件开发概述 1__eol__1.1 程序与软件 1__eol__1.1.1 从程序到软件 1__eol__1.1.2 软件类型 2__eol__1.1.3 程序设计与软件开发 2__eol__1.2 软件生存周期 4__eol__1.2.1 使用角度的软件生存周期 4__eol__1.2.2 开发角度的软件生存周期 4__eol__1.3 软件开发过程 6__eol__1.3.1 瀑布式开发过程 7__eol__1.3.2 增量开发过程 7__eol__1.3.3 个体软件过程 8__eol__1.4 敏捷开发 9__eol__1.4.1 概述 10__eol__1.4.2 Scrum方法 12__eol__1.5 软件构造 13__eol__1.5.1 有关概念 13__eol__1.5.2 构造与开发过程 14__eol__1.5.3 主要内容 14__eol__1.5.4 软件构造的重要性 15__eol__1.6 为什么不直接编写软件 15__eol__1.6.1 软件开发语言 16__eol__1.6.2 编程工具与集成化开发环境 18__eol__1.6.3 软件运行环境 19__eol__1.6.4 软件开发的最佳实践 19__eol__1.6.5 开发过程与管理 22__eol__1.7 案例导读 22__eol__1.8 讨论与提高 24__eol__1.8.1 案例的文档管理 24__eol__1.8.2 课程思政 25__eol__1.9 思考与练习题 25__eol__第2章 模块化软件构造 27__eol__2.1 分解与模块化 28__eol__2.1.1 分解 28__eol__2.1.2 模块化 29__eol__2.2 数据结构与算法 30__eol__2.2.1 数据结构与算法的关系 31__eol__2.2.2 选择与设计数据结构 32__eol__2.2.3 选择与设计算法 35__eol__2.3 模块化设计理论初步 37__eol__2.3.1 模块化原则 37__eol__2.3.2 模块的内聚性 37__eol__2.3.3 模块的耦合性 38__eol__2.4 测试程序 40__eol__2.4.1 测试需求 41__eol__2.4.2 测试设计与测试用例 42__eol__2.4.3 测试覆盖与黑盒测试 43__eol__2.5 调试程序 48__eol__2.5.1 缺陷的相关术语 48__eol__2.5.2 调试基础 48__eol__2.6 案例分析与实践 49__eol__2.6.1 案例程序的初始构造 49__eol__2.6.2 无相同算式的基础构造 51__eol__2.6.3 编程实现测试 54__eol__2.6.4 创建代码仓库 57__eol__2.7 讨论与提高 57__eol__2.7.1 软件质量 57__eol__2.7.2 软件测试的其他观点 58__eol__2.7.3 编程风格 59__eol__2.7.4 撰写软件需求说明书 60__eol__2.7.5 课程思政 61__eol__2.8 思考与练习题 61__eol__第3章 面向对象的软件构造 63__eol__3.1 抽象与封装 63__eol__3.1.1 模块产生与合成 63__eol__3.1.2 抽象与封装 64__eol__3.1.3 抽象数据类型 65__eol__3.2 认识面向对象 67__eol__3.2.1 软件设计 67__eol__3.2.2 设计类 67__eol__3.2.3 设计操作 68__eol__3.2.4 分类 69__eol__3.3 面向对象的设计 70__eol__3.3.1 面向对象的设计符号 70__eol__3.3.2 案例设计一 71__eol__3.3.3 案例设计二 75__eol__3.4 调试的基本技术 82__eol__3.4.1 单步调试源程序 83__eol__3.4.2 检查或更改变量的值 84__eol__3.4.3 设置监视点观察变量 84__eol__3.4.4 上下移动调用栈 84__eol__3.5 软件的自动化测试 85__eol__3.5.1 初识JUnit 85__eol__3.5.2 编写JUnit测试代码 87__eol__3.6 案例分析与实践 89__eol__3.6.1 分析 89__eol__3.6.2 构造 89__eol__3.6.3 代码托管 92__eol__3.7 讨论与提高 93__eol__3.7.1 进一步认识调试 93__eol__3.7.2 设计原则与设计模式 93__eol__3.7.3 面向对象的设计原则 95__eol__3.7.4 课程思政 98__eol__3.8 思考与练习题 98__eol__第4章 数据处理的软件构造 102__eol__4.1 数据及其持久性 103__eol__4.2 文件与输入/输出流 104__eol__4.2.1 文件 104__eol__4.2.2 输入/输出流 105__eol__4.2.3 数据序列化 106__eol__4.2.4 CSV格式的文本文件 107__eol__4.3 编写健壮的程序 107__eol__4.3.1 防御性编程 108__eol__4.3.2 使用断言 111__eol__4.4 字符串处理与正则表达式 112__eol__4.5 持久使用程序中的数据集 115__eol__4.5.1 算式基 115__eol__4.5.2 表驱动编程 116__eol__4.6 基于程序结构的测试 118__eol__4.6.1 语句覆盖测试 118__eol__4.6.2 程序控制测试 119__eol__4.6.3 逻辑覆盖测试 120__eol__4.6.4 路径覆盖测试 121__eol__4.7 运用JUnit 123__eol__4.7.1 异常测试 123__eol__4.7.2 参数化测试 124__eol__4.7.3 测试套件 125__eol__4.7.4 JUnit断言 126__eol__4.7.5 JUnit使用指南 126__eol__4.8 案例分析与实践 126__eol__4.8.1 批量生成100以内算式 128__eol__4.8.2 构造并应用算式基 130__eol__4.8.3 批改练习并存储 132__eol__4.8.4 管理测试 134__eol__4.9 讨论与提高 134__eol__4.9.1 应用表驱动编程 134__eol__4.9.2 使用文件还是数据库 136__eol__4.9.3 契约式编程 136__eol__4.9.4 撰写设计文档 136__eol__4.9.5 课程思政 137__eol__4.10 思考与练习题 137__eol__第5章 用户交互的软件构造 140__eol__5.1 程序及其功能的使用 141__eol__5.1.1 程序的两个观察视角 141__eol__5.1.2 多个功能程序的整合 141__eol__5.1.3 多个功能的组织与呈现 142__eol__5.1.4 基于菜单式功能选择的用户交互 143__eol__5.2 用户交互概述 148__eol__5.2.1 基本概念 148__eol__5.2.2 交互设备 148__eol__5.2.3 交互风格 148__eol__5.2.4 交互界面 149__eol__5.2.5 交互设计的原则 150__eol__5.3 用户交互的开发 151__eol__5.3.1 交互设计的基本过程 151__eol__5.3.2 快速原型法 152__eol__5.4 静态测试 153__eol__5.4.1 程序的可用性与静态测试 153__eol__5.4.2 基本的静态测试 153__eol__5.4.3 检查表 155__eol__5.4.4 静态程序分析 155__eol__5.4.5 代码覆盖率与工具 156__eol__5.5 软件集成与测试 157__eol__5.5.1 驱动模块和桩模块 158__eol__5.5.2 集成策略 159__eol__5.5.3 回归测试 160__eol__5.5.4 集成测试与策略 160__eol__5.6 案例分析与实践 162__eol__5.6.1 分析与设计 162__eol__5.6.2 案例的菜单式用户交互的构造 163__eol__5.6.3 循环语句的路径测试 170__eol__5.7 讨论与提高 170__eol__5.7.1 软件建模 170__eol__5.7.2 基于模型的测试 172__eol__5.7.3 执行函数名符号串的表驱动编程 174__eol__5.7.4 持续集成 175__eol__5.7.5 测试报告的撰写 176__eol__5.7.6 课程思政 176__eol__5.8 思考与练习题 176__eol__第6章 软件重构与交付 178__eol__6.1 代码重构 178__eol__6.1.