软件工程与项目管理PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:何礼富
- 出 版 社:长沙:国防科技大学出版社
- 出版年份:2011
- ISBN:9787810996563
- 页数:251 页
第1章 软件工程概述 1
1.1 软件危机 1
1.1.1 软件 1
1.1.2 软件生产的发展 4
1.1.3 软件开发面临的主要问题 5
1.1.4 软件危机的提出 7
1.2 软件工程 7
1.2.1 软件工程的定义 7
1.2.2 软件工程的内容和目标 7
1.2.3 软件工程的作用 8
1.2.4 软件工程的基本原则 9
1.3 软件生命周期 10
1.4 软件开发方法 13
1.4.1 结构化开发方法 13
1.4.2 面向数据结构的开发方法 13
1.4.3 面向对象的开发方法 14
1.5 软件开发模型 14
1.5.1 瀑布模型 14
1.5.2 快速原型模型 15
1.5.3 渐增模型 16
1.5.4 螺旋模型 17
1.5.5 喷泉模型 18
1.5.6 构件化开发模型 19
1.6 软件工具及支撑环境 20
1.6.1 软件工具的分类 20
1.6.2 软件开发支撑环境 20
1.6.3 常用CASE工具 21
本章小结 22
习题1 22
第2章 软件可行性分析与项目开发计划 23
2.1 软件可行性分析 23
2.1.1 可行性分析的目的 23
2.1.2 可行性分析的内容 23
2.1.3 可行性分析的步骤 26
2.1.4 可行性分析报告 26
2.2 项目开发计划 28
2.3 软件可行性分析与项目开发计划案例 31
2.3.1 案例概要 31
2.3.2 可行性分析 31
2.3.3 项目开发计划 33
本章小结 35
习题2 36
第3章 软件需求分析 37
3.1 需求分析概述 37
3.1.1 需求分析的重要性 37
3.1.2 需求分析的原则 37
3.1.3 需求分析的步骤 40
3.2 结构化分析方法及工具 40
3.2.1 概述 41
3.2.2 数据流图 41
3.2.3 数据字典 45
3.2.4 结构化语言 46
3.2.5 判定表和判定树 46
3.2.6 层次方框图 47
3.2.7 Warnier图 48
3.2.8 IPO图 48
3.3 需求评审 49
3.4 软件需求分析规格说明书 50
3.4.1 软件需求分析规格说明书的格式 51
3.4.2 案例分析 51
本章小结 55
习题3 56
第4章 软件设计 57
4.1 软件设计概述 57
4.1.1 软件设计的任务 57
4.1.2 模块与模块化 58
4.1.3 抽象与细化 58
4.1.4 信息隐蔽 58
4.1.5 模块的独立性 59
4.1.6 自顶向下与自底向上设计策略 61
4.1.7 结构化设计原则 62
4.2 概要设计 62
4.2.1 概要设计的基本任务 62
4.2.2 概要设计的步骤 63
4.2.3 软件结构图 64
4.2.4 数据流图 65
4.3 详细设计 65
4.3.1 详细设计的基本任务 65
4.3.2 程序流程图 65
4.3.3 盒图 66
4.3.4 详细设计中的IPO图 68
4.3.5 PAD图 69
4.3.6 伪代码 70
4.4 软件设计说明书与案例分析 70
4.4.1 软件设计说明书 70
4.4.2 案例分析 72
本章小结 86
习题4 86
第5章 软件编码 88
5.1 程序设计语言 88
5.1.1 程序设计语言分类 88
5.1.2 常见的程序设计语言及其特点 89
5.1.3 程序设计语言的选择 93
5.2 编码规范 94
5.2.1 编排格式 94
5.2.2 命名规则 96
5.2.3 注释 96
5.2.4 输入/输出 97
5.2.5 程序结构 98
5.2.6 效率和GOTO语句 98
5.3 结构化程序设计 99
5.3.1 结构化程序设计的形成 99
5.3.2 结构化程序设计方法 100
5.4 程序员的基本素质 102
本章小结 103
习题5 103
第6章 软件测试 105
6.1 软件测试概述 105
6.1.1 软件测试的概念 105
6.1.2 软件测试的目的 105
6.1.3 软件测试的原则 105
6.2 软件测试方法 106
6.2.1 软件测试方法分类 106
6.2.2 白盒测试 108
6.2.3 黑盒测试 108
6.3 测试用例 109
6.3.1 测试用例概述 109
6.3.2 逻辑覆盖 110
6.3.3 等价类划分 113
6.3.4 边界值分析 115
6.3.5 错误推测法 116
6.3.6 因果图法 116
6.4 软件测试策略 117
6.4.1 测试流程与测试计划 117
6.4.2 单元测试 118
6.4.3 集成测试 120
6.4.4 确认测试 121
6.4.5 系统测试 121
6.4.6 Alpha测试和Beta测试 122
6.4.7 软件测试自动化 123
6.4.8 测试分析报告 123
6.5 软件调试技术 123
6.5.1 调试步骤 124
6.5.2 调试方法 124
本章小结 125
习题6 125
第7章 软件维护 126
7.1 软件维护概述 126
7.1.1 软件维护的定义 126
7.1.2 软件维护的种类 127
7.1.3 软件维护的策略 128
7.1.4 软件维护的代价 128
7.2 软件维护的实施 129
7.2.1 维护组织 129
7.2.2 维护申请报告 129
7.2.3 软件维护工作流程 130
7.3 软件可维护性 131
7.3.1 软件可维护性的定义 131
7.3.2 软件可维护性度量 131
7.3.3 提高软件可维护性的方法 133
7.3.4 软件维护的副作用 134
本章小结 135
习题7 135
第8章 软件质量保证 136
8.1 软件质量概述 136
8.1.1 软件质量的定义 136
8.1.2 软件质量的特性与度量 136
8.1.3 软件质量保证 138
8.2 软件质量度量模型 138
8.2.1 McCall质量度量模型 138
8.2.2 ISO软件质量评价模型 139
8.3 软件复杂性 140
8.3.1 软件复杂性的基本概念 140
8.3.2 软件复杂性的度量方法 140
8.3.3 软件复杂性控制 142
8.4 软件可靠性 143
8.4.1 软件可靠性的定义 143
8.4.2 软件可靠性的指标 144
8.4.3 软件可靠性模型 144
8.5 软件评审 145
8.5.1 软件评审的概念 145
8.5.2 软件评审的阶段和内容 145
8.5.3 软件评审的原则和作用 146
8.6 容错软件 147
8.6.1 容错软件的定义 147
8.6.2 容错的一般方法 147
8.6.3 容错软件的设计过程 147
本章小结 148
习题8 148
第9章 面向对象的软件开发方法 149
9.1 面向对象方法概述 149
9.1.1 面向对象的由来与基本概念 149
9.1.2 面向对象的开发方法 153
9.1.3 UML 156
9.1.4 常用的UML视图 158
9.2 面向对象的分析与设计 161
9.2.1 面向对象的分析和设计过程 161
9.2.2 面向对象的分析 161
9.2.3 面向对象的设计 166
9.3 面向对象的编程 169
9.3.1 面向对象的编程语言 169
9.3.2 面向对象程序设计的过程 169
9.3.3 面向对象程序设计的风格 170
9.4 面向对象的软件测试 171
9.4.1 面向对象测试的分类 172
9.4.2 面向对象软件测试用例设计原则 172
9.4.3 面向对象软件测试的策略 172
本章小结 173
习题9 174
第10章 软件项目管理 175
10.1 软件项目管理概述 175
10.1.1 项目 175
10.1.2 项目管理 176
10.1.3 项目管理的内容 177
10.2 人力资源管理 177
10.2.1 组织结构 177
10.2.2 人员配置 178
10.2.3 沟通方式 180
10.3 软件成本管理 181
10.3.1 软件成本估算 181
10.3.2 代码行估算法 181
10.3.3 功能点估算法 182
10.3.4 COCOMO模型 183
10.3.5 Putnam模型 184
10.3.6 类比估算法 185
10.3.7 累加估算法 185
10.3.8 软件成本控制 185
10.3.9 效益预测与评估 186
10.4 开发进度管理 187
10.4.1 项目进度计划 187
10.4.2 Gantt图 187
10.4.3 工程网络图 188
10.4.4 项目进度估算 189
10.4.5 项目追踪与控制 189
10.5 软件项目风险管理 190
10.5.1 软件项目风险的基本概念 190
10.5.2 软件项目风险识别与分类 190
10.5.3 风险估计 191
10.5.4 风险评价 193
10.5.5 风险控制 193
10.6 软件质量保证 193
10.7 软件配置管理 193
10.7.1 软件配置管理的任务 194
10.7.2 基线 194
10.7.3 软件配置项 195
10.7.4 配置管理工具 196
10.8 软件项目文档管理 197
10.8.1 软件项目文档管理概述 197
10.8.2 项目文档的分类 198
10.8.3 主要项目文档 198
本章小结 199
习题10 200
第11章 软件过程改进 201
11.1 软件过程改进概述 201
11.1.1 软件过程及软件过程改进 201
11.1.2 软件过程管理的发展 201
11.2 软件过程能力成熟度模型 202
11.2.1 CMM的产生 202
11.2.2 CMM的内容简介 202
11.2.3 CMM的应用 207
11.3 统一软件过程 207
11.3.1 RUP概要 207
11.3.2 RUP的软件开发周期 208
11.3.3 RUP的核心工作流 208
11.3.4 RUP的应用 210
11.4 个体软件过程及团体软件过程 210
11.4.1 个体软件过程 210
11.4.2 团体软件过程 211
11.4.3 CMM、PSP和TSP之间的关系 212
本章小结 213
习题11 213
第12章 新型软件开发方法 214
12.1 基于构件的软件开发方法 214
12.1.1 软件复用与构件的定义 214
12.1.2 基于构件的软件开发方法 217
12.1.3 应用案例 218
12.2 敏捷方法 219
12.2.1 敏捷方法的概念与由来 219
12.2.2 敏捷方法的典型代表 221
12.3 基于Agent的软件开发方法 223
12.3.1 Agent的定义及其特点 223
12.3.2 基于Agent的软件开发方法 224
本章小结 226
习题12 226
附录 软件开发文档参考规范 227
参考文献 251
- 《市政工程基础》杨岚编著 2009
- 《管理信息系统习题集》郭晓军 2016
- 《MBA大师.2020年MBAMPAMPAcc管理类联考专用辅导教材 数学考点精讲》(中国)董璞 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《化学反应工程》许志美主编 2019
- 《卓有成效的管理者 中英文双语版》(美)彼得·德鲁克许是祥译;那国毅审校 2019
- 《危险化学品经营单位主要负责人和安全生产管理人员安全培训教材》李隆庭,徐一星主编 2012