![]()
内容推荐 本书以一个案例的演变模拟不断变化的用户需求,按照增量迭代的开发模式,将碎片化的功能开发、用户交互、数据处理等知识,以及软件设计、软件测试及敏捷开发的最佳实践,与软件开发的原理、技术和工具融合到设计、编码、调试及测试的构造过程。内容包括软件构造的一般原理(如依赖倒转原则、增量迭代)、常用技术(如表驱动编程、测试驱动开发)、软件设计(契约式设计、设计模式)、软件知识(如软件测试、软件复用)及软件构造的工作要素(如编码规范、构造工具)和活动(如设计、编码、调试、测试、交付)。本书提供配套的电子课件、案例源程序、例子代码、教学参考方案等。 本书面向计算机类专业的本科学生,可作为“软件构造”“Java面向对象课程设计”等课程的教材,也可作为“实用软件工程”的参考书,同时也适合学习软件开发的其他专业及爱好者参考。 目录 第1章 软件开发概述 1.1 程序与软件 1.1.1 从程序到软件 1.1.2 软件类型 1.1.3 程序设计与软件开发 1.2 软件生存周期 1.2.1 使用角度的软件生存周期 1.2.2 开发角度的软件生存周期 1.3 软件开发过程 1.3.1 瀑布式开发过程 1.3.2 增量开发过程 1.3.3 个体软件过程 1.4 敏捷开发 1.4.1 概述 1.4.2 Scrum方法 1.5 软件构造 1.5.1 有关概念 1.5.2 构造与开发过程 1.5.3 主要内容 1.5.4 软件构造的重要性 1.6 为什么不直接编写软件 1.6.1 软件开发语言 1.6.2 编程工具与集成化开发环境 1.6.3 软件运行环境 1.6.4 软件开发的最佳实践 1.6.5 开发过程与管理 1.7 案例导读 1.8 讨论与提高 1.8.1 案例的文档管理 1.8.2 课程思政 1.9 思考与练习题 第2章 模块化软件构造 2.1 分解与模块化 2.1.1 分解 2.1.2 模块化 2.2 数据结构与算法 2.2.1 数据结构与算法的关系 2.2.2 选择与设计数据结构 2.2.3 选择与设计算法 2.3 模块化设计理论初步 2.3.1 模块化原则 2.3.2 模块的内聚性 2.3.3 模块的耦合性 2.4 测试程序 2.4.1 测试需求 2.4.2 测试设计与测试用例 2.4.3 测试覆盖与黑盒测试 2.5 调试程序 2.5.1 缺陷的相关术语 2.5.2 调试基础 2.6 案例分析与实践 2.6.1 案例程序的初始构造 2.6.2 无相同算式的基础构造 2.6.3 编程实现测试 2.6.4 创建代码仓库 2.7 讨论与提高 2.7.1 软件质量 2.7.2 软件测试的其他观点 2.7.3 编程风格 2.7.4 撰写软件需求说明书 2.7.5 课程思政 2.8 思考与练习题 第3章 面向对象的软件构造 3.1 抽象与封装 3.1.1 模块产生与合成 3.1.2 抽象与封装 3.1.3 抽象数据类型 3.2 认识面向对象 3.2.1 软件设计 3.2.2 设计类 3.2.3 设计操作 3.2.4 分类 3.3 面向对象的设计 3.3.1 面向对象的设计符号 …… 第4章 数据处理的软件构造 第5章 用户交互的软件构造 第6章 软件重构与交付 第7章 GUI软件构造 第8章 应用数据库 第9章 基于复用的软件构造 参考文献 |