目录

更新于 2026年10月10日 版权声明

目 录

前言

第一部分:软件工程引论。

第二部分:传统软件工程。

第三部分:面向对象软件工程。

第四部分:软件管理与项目实例。

第一部分 软件工程引论

第1章 软件工程概述

1.1 软件

1.1.1 软件的意义和特性

1.1.2 软件的分类

1.2 软件危机

1.2.1 软件危机产生的原因

1.2.2 软件危机的表现形式

1.2.3 消除软件危机的途径

1.3 软件工程

1.3.1 软件工程的形成与发展

1.3.2 软件工程的定义

1.3.3 软件工程的目标和原则

1.3.4 软件工程知识体系及知识域

1.4 软件生存周期

1.4.1 软件生存周期的定义

1.4.2 软件生存周期各个阶段的任务

1.5 软件过程模型

1.5.1 瀑布模型

1.5.2 快速原型模型

1.5.3 增量模型

1.5.4 螺旋模型

1.5.5 喷泉模型

1.5.6 统一过程

1.5.7 基于构件的开发模型

1.5.8 敏捷软件开发模型

1.5.9 几种模型之间的关系

1.5.10 软件过程模型的选择

1.6 软件工程发展趋势

1.7 本章小结

习 题

第二部分 传统软件工程

第2章 软件问题定义及可行性分析

2.1 软件问题定义

2.1.1 覆盖测试明确系统的目标、规模和基本要求

2.1.2 问题定义的方法

2.1.3 设计新系统可能的解决方案

2.2 可行性研究的任务

2.2.1 技术可行性

2.2.2 经济可行性

2.2.3 社会因素方面的可行性

2.2.4 操作可行性

2.3 可行性研究的步骤

2.3.1 系统定义

2.3.2 对现行系统进行分析研究

2.3.3 导出新系统的逻辑模型

2.3.4 设计方案

2.3.5 推荐可行的方案

2.3.6 推荐行动方针

2.3.7 草拟开发计划

2.3.8 编写可行性研究报告

2.4 系统流程图

2.4.1 系统流程图的作用

2.4.2 系统流程图的基本内容

2.4.3 系统流程图的符号

2.4.4 系统流程图的示例

2.5 数据流图

2.5.1 数据流图的表示符号

2.5.2 设计数据流图的步骤

2.5.3 数据流图的层次结构

2.5.4 数据流图的举例

2.6 数据字典

2.6.1 数据字典的内容

2.6.2 数据字典使用的符号

2.6.3 数据字典的示例

2.7 成本-效益分析

2.7.1 成本估计

2.7.2 货币的时间价值

2.8 本章小结

习 题

第3章 需求分析

3.1 需求分析的任务

3.1.1 需求分析的意义

3.1.2 需求分析的目标

3.1.3 需求分析的特征

3.1.4 需求分析的具体任务

3.2 需求分析的步骤

3.3 结构化需求分析方法

3.3.1 需求的获取

3.3.2 结构化需求分析

3.4 需求分析的图形工具

3.4.1 E-R图

3.4.2 状态图

3.4.3 层次方框图

3.4.4 Warnier图

3.4.5 IPO图

3.5 需求验证与管理

3.5.1 需求验证

3.5.2 需求管理

3.6 本章小节

习 题

第4章 总体设计

4.1 总体设计的目标和任务

4.2 总体设计的过程

4.3 总体设计的原理

4.3.1 模块和模块化

4.3.2 抽象

4.3.3 逐步求精

4.3.4 信息隐藏与局部化

4.3.5 模块独立

4.4 软件结构设计准则

4.5 描绘软件结构的图形工具

4.5.1 层次图

4.5.2 HIPO图

4.5.3 结构图

4.6 面向数据流的软件结构设计方法

4.6.1 概念

4.6.2 面向数据流设计方法的过程

4.6.3 变换分析法

4.6.4 事务分析法

4.7 本章小结

习 题

第5章 详细设计

5.1 详细设计的目标和任务

5.1.1 详细设计的目标

5.1.2 详细设计的任务

5.2 详细设计的原则

5.3 用户界面的设计

5.3.1 设计驱动开发

5.3.2 目标用户群体

5.3.3 简洁与清晰

5.3.4 实现模型与心智模型

5.3.5 设计的规范性

5.3.6 设计的可用性和易用性

5.3.7 设计的一致性

5.3.8 设计的容错性

5.4 详细设计的工具

5.4.1 程序流程图

5.4.2 盒图

5.4.3 PAD图

5.4.4 判定表与判定树

5.4.5 过程设计语言

5.5 面向数据结构的设计方法

5.5.1 Jackson方法简介

5.5.2 Jackson方法

5.5.3 Jackson实例

5.6 程序结构复杂性的定量度量

5.6.1 McCabe方法

5.6.2 Halstead方法

5.7 本章小结

习 题

第6章 软件编码和测试

6.1 程序设计语言

6.2 程序设计风格

6.3 软件测试

6.3.1 软件测试的定义

6.3.2 软件测试的目标和原则

6.4 软件测试分类

6.4.1 按测试方式分类

6.4.2 按测试方法分类

6.4.3 按测试过程分类

6.4.4 按测试目的分类

6.5 软件测试过程

6.5.1 单元测试

6.5.2 集成测试

6.5.3 系统测试

6.5.4 验收测试

6.5.5 回归测试

6.6 软件测试用例定义(https://www.daowen.com)

6.7 黑盒测试用例设计

6.7.1 等价类划分

6.7.2 边界值分析

6.7.3 因果图

6.7.4 决策表

6.7.5 错误推测法

6.7.6 场景法

6.8 白盒测试用例设计

6.8.1 逻辑覆盖

6.8.2 基本路径测试

6.8.3 程序插桩

6.9 软件测试方法应用策略

6.9.1 黑盒测试方法应用策略

6.9.2 白盒测试方法应用策略

6.10 软件调试

6.10.1 软件调试过程

6.10.2 软件调试策略

6.11 本章小结

习 题

第7章 软件维护

7.1 软件维护概述

7.2 软件维护类型

7.2.1 软件维护的基本类型

7.2.2 软件维护的最新方法

7.3 软件维护过程

7.3.1 软件维护基本流程

7.3.2 组建维护机构

7.3.3 记录维护流程

7.3.4 软件维护文档

7.3.5 软件维护的成本问题

7.4 软件可维护性

7.4.1 决定软件可维护性的因素

7.4.2 维护的副作用

7.5 软件重用和再工程

7.5.1 重用的概念

7.5.2 重用的障碍

7.5.3 软件再工程

7.6 本章小结

习 题

第三部分 面向对象软件工程

第8章 面向对象技术与UML

8.1 面向对象技术概述

8.1.1 面向对象方法简介

8.1.2 面向对象的基本概念

8.2 UML概述

8.3 UML图

8.3.1 用例图

8.3.2 类图

8.3.3 对象图

8.3.4 顺序图

8.3.5 协作图

8.3.6 状态图

8.3.7 活动图

8.3.8 包图

8.3.9 构件图和部署图

8.4 本章小结

习 题

第9章 面向对象分析

9.1 面向对象分析概述

9.2 面向对象分析过程

9.3 面向对象分析原则

9.4 建立对象模型

9.5 建立动态模型

9.6 建立功能模型

9.7 本章小结

习 题

第10章 面向对象设计

10.1 面向对象设计概述

10.2 面向对象设计过程与准则

10.3 面向对象设计启发规则

10.4 系统设计

10.5 对象设计

10.6 本章小结

习 题

第11章 面向对象编码与测试

11.1 面向对象设计语言

11.1.1 典型的面向对象设计语言

11.1.2 面向对象设计语言的优点

11.1.3 面向对象设计语言的技术特点

11.1.4 选择面向对象设计语言

11.2 面向对象设计风格

11.2.1 复用性

11.2.2 使用继承机制

11.2.3 提高可扩充性

11.2.4 不容忽视健壮性

11.3 面向对象测试策略

11.3.1 面向对象环境中的单元测试

11.3.2 面向对象环境中的集成测试

11.3.3 面向对象环境中的确认测试

11.4 面向对象测试用例设计

11.4.1 设计测试用例的要点

11.4.2 设计类测试用例

11.4.3 测试类间测试用例

11.5 本章小结

习 题

第四部分 软件管理与项目实例

第12章 软件项目管理

12.1 软件项目管理概述

12.1.1 软件项目管理目标

12.1.2 软件项目管理内容

12.1.3 软件项目的特点

12.1.4 软件项目的组织范围

12.2 软件项目估算

12.2.1 项目策划与项目估算

12.2.2 代码行技术

12.2.3 功能点技术

12.2.4 软件开发成本估算

12.3 软件项目进度管理

12.3.1 影响项目进度的因素

12.3.2 项目进度安排的内容

12.3.3 软件过程调整完善与任务分解

12.3.4 安排计划的编排与优化

12.4 软件项目风险管理

12.4.1 软件风险

12.4.2 软件风险分类

12.4.3 风险管理任务

12.4.4 软件项目中的风险识别

12.4.5 项目风险管理策略

12.5 团队管理

12.5.1 开发人员

12.5.2 组织机构

12.5.3 用户

12.6 质量管理

12.6.1 软件质量因素的定义

12.6.2 软件质量保证

12.6.3 软件项目的跟踪与控制

12.7 软件配置管理

12.7.1 基线

12.7.2 软件配置项

12.7.3 版本控制

12.7.4 变更控制

12.8 本章小结

习 题

第13章 软件工程标准与文档

13.1 软件工程标准

13.1.1 软件工程标准的概念

13.1.2 软件工程标准的类型

13.1.3 软件工程标准的层次

13.1.4 软件工程标准的制定与推行

13.2 软件文档与编写要求

13.2.1 软件文档的作用

13.2.2 软件文档的分类

13.2.3 软件文档的编写要求

13.2.4 软件文档的管理维护

13.3 软件文档撰写规范指南

13.4 本章小结

习 题

第14章 项目实例

14.1 传统软件工程项目实例——学生宿舍管理系统

14.1.1 问题定义

14.1.2 可行性分析

14.1.3 系统需求分析

14.1.4 系统概要设计

14.1.5 系统详细设计及实现

14.2 面向对象软件工程项目实例——学生在线选课系统

14.2.1 开发背景

14.2.2 可行性分析

14.2.3 系统需求分析

14.2.4 系统概要设计

14.2.5 系统详细设计及实现

14.3 本章小结

习 题

参考文献

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)