软件工程 第2版PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:李伟波,刘永祥,王庆春主编
- 出 版 社:武汉:武汉大学出版社
- 出版年份:2010
- ISBN:9787307079823
- 页数:334 页
第1章 软件工程概述 1
1.1 计算机软件 1
1.1.1 软件的概念 1
1.1.2 软件的特点 1
1.1.3 软件的分类 2
1.1.4 软件的发展历程 3
1.1.5 软件危机及其解决危机的途径 3
1.2 软件工程 5
1.2.1 软件工程的概念 5
1.2.2 软件工程的基本原理和原则 6
1.2.3 软件工程学研究的内容 7
1.2.4 软件开发方法简述 7
1.2.5 软件工具与环境 9
本章小结 10
习题 10
第2章 软件过程和模型 12
2.1 软件过程与软件生存周期 12
2.1.1 软件过程 12
2.1.2 软件生存周期 13
2.2 典型软件过程模型 14
2.2.1 瀑布模型 14
2.2.2 快速原型模型 15
2.2.3 螺旋模型 18
2.2.4 增量模型 19
2.3 面向对象的软件过程模型 20
2.3.1 构件复用模型 20
2.3.2 统一过程模型RUP 22
2.4 统一建模语言UML 25
2.4.1 UML的结构 25
2.4.2 UML建模机制 28
2.4.3 UML图形示例 29
本章小结 36
习题 37
第3章 需求分析与建模 38
3.1 需求分析 38
3.1.1 需求分析的任务和原则 38
3.1.2 获取需求的方法 39
3.1.3 需求分析的模型和方法 40
3.1.4 需求分析的主要过程 40
3.2 结构化分析方法 42
3.2.1 基本思想和分析过程 42
3.2.2 系统流程图 43
3.2.3 数据流图 45
3.2.4 数据字典 49
3.2.5 加工逻辑说明 51
3.3 功能建模 52
3.3.1 IDEF0模型 52
3.3.2 IDEF0建模方法 52
3.3.3 IDEF0建模步骤 57
3.4 数据建模与ER图 57
3.4.1 实体、属性与联系 57
3.4.2 实体-联系图 58
3.4.3 扩充实体联系图 61
3.4.4 数据建模步骤 62
3.5 行为建模与STD图 62
3.5.1 处理模型和控制模型之间的关系 63
3.5.2 控制流图 63
3.5.3 状态转换图 63
3.6 需求规格说明与验证 65
3.6.1 需求规格说明书的主要内容 65
3.6.2 软件需求的验证 69
本章小结 70
习题 70
第4章 软件设计与编码 71
4.1 软件设计的基本概念和原则 71
4.1.1 模块化 71
4.1.2 抽象 72
4.1.3 求精 73
4.1.4 信息隐藏 73
4.1.5 体系结构 73
4.1.6 设计模式 74
4.1.7 重构 74
4.1.8 功能独立性 74
4.2 概要设计 76
4.2.1 概要设计的任务和过程 76
4.2.2 概要设计的原则 78
4.2.3 常见的软件体系结构 80
4.2.4 体系结构设计 84
4.2.5 数据库的概念结构设计 85
4.2.6 概要设计中常用的图形工具 87
4.3 结构化设计方法 91
4.3.1 数据流的类型 92
4.3.2 变换分析 92
4.3.3 事务分析 94
4.3.4 设计过程和原则 95
4.4 详细设计 96
4.4.1 详细设计的目标与任务 96
4.4.2 过程设计的常用工具 97
4.4.3 数据库逻辑结构设计和物理设计 101
4.4.4 人机界面设计 104
4.5 面向数据结构的设计方法 107
4.5.1 Jackson方法 107
4.5.2 Wamier方法 113
4.6 编码 115
4.6.1 选择程序设计语言 115
4.6.2 编码的准则 116
本章小结 117
习题 118
第5章 面向对象的分析与建模 120
5.1 面向对象方法学概述 120
5.1.1 面向对象方法学的概念 120
5.1.2 面向对象方法学的基本特点 122
5.1.3 面向对象的软件工程及开发模型 123
5.1.4 常用的面向对象的开发方法 124
5.2 面向对象的分析 128
5.2.1 面向对象分析的任务和模型 128
5.2.2 面向对象分析的过程 129
5.3 用例分析建立功能模型 129
5.3.1 用例分析的步骤 130
5.3.2 确定系统边界和参与者 130
5.3.3 建立场景和用例 132
5.3.4 定义关系和建立用例图 133
5.3.5 用户界面草案 136
5.3.6 系统用例的优先级处理 137
5.4 建立对象模型 138
5.4.1 确定类与对象 138
5.4.2 定义属性与服务 139
5.4.3 定义关系和建立类图 141
5.5 建立动态模型 145
5.5.1 画顺序图 145
5.5.2 画协作图 147
5.5.3 画状态图 147
5.5.4 画活动图 150
本章小结 153
习题 153
第6章 面向对象的软件设计与实现 155
6.1 面向对象软件设计概述 155
6.1.1 面向对象设计的目标 155
6.1.2 面向对象设计的模型 156
6.2 系统设计 156
6.2.1 系统设计的主要内容 156
6.2.2 系统顶层架构的选择 157
6.2.3 系统设计的分层模式 159
6.3 详细设计 162
6.3.1 详细设计的主要内容 162
6.3.2 问题域子系统设计 162
6.3.3 人机交互子系统设计 164
6.3.4 任务管理子系统设计 165
6.3.5 数据管理子系统设计 167
6.3.6 设计优化 168
6.4 面向对象的编码 170
6.4.1 程序设计语言的特点 170
6.4.2 程序设计语言的选择 173
6.4.3 编码的风格与准则 173
6.4.4 类的实现 175
6.4.5 泛化和聚合关系的实现 176
6.4.6 关联关系的实现 177
6.4.7 依赖关系的实现 179
本章小结 181
习题 181
第7章 软件测试技术 183
7.1 软件测试概述 183
7.1.1 基本定义 183
7.1.2 软件测试的必要性 184
7.1.3 通过维恩图理解测试 184
7.1.4 软件测试的目的 185
7.1.5 软件测试的原则 186
7.1.6 软件测试的方法和步骤 188
7.2 白盒测试技术 188
7.2.1 静态测试 189
7.2.2 程序插桩 190
7.2.3 逻辑覆盖 191
7.2.4 测试覆盖准则 195
7.2.5 基本路径测试 196
7.2.6 域测试 198
7.2.7 符号测试 199
7.2.8 Z路径覆盖 199
7.3 黑盒测试技术 200
7.3.1 等价类划分法 200
7.3.2 边界值分析法 203
7.3.3 因果图法 204
7.3.4 错误推测法 207
7.3.5 场景法 207
7.3.6 判定表驱动法 209
7.4 灰盒测试技术 210
7.5 软件测试过程 211
7.5.1 单元测试 212
7.5.2 集成测试 214
7.5.3 系统测试 218
7.5.4 验收测试 219
7.6 面向对象的软件测试 220
7.6.1 面向对象软件的测试策略 220
7.6.2 面向对象软件的测试方法 221
7.7 测试工具的分类和选择 226
7.7.1 测试工具分类 226
7.7.2 测试工具的选择 229
7.8 测试计划与测试报告 229
7.8.1 测试计划 230
7.8.2 测试报告 232
本章小结 234
习题 234
第8章 软件配置与软件维护 236
8.1 软件配置活动 236
8.1.1 软件配置活动的意义 236
8.1.2 主要软件配置管理活动 236
8.1.3 配置管理流程 238
8.2 版本管理与变更管理 239
8.2.1 版本管理的必要性 239
8.2.2 早期的版本管理 240
8.2.3 元素、分支的版本管理 240
8.2.4 构件、基线的版本管理 240
8.2.5 现代版本管理 241
8.2.6 基于基线的变更管理 243
8.2.7 变更请求管理过程 243
8.3 配置审核与状态报告 248
8.3.1 配置审核 248
8.3.2 配置状态报告 248
8.4 软件维护的概念 249
8.4.1 软件维护的类型及策略 249
8.4.2 软件维护的内容及方法 251
8.4.3 软件维护的特点 252
8.5 软件维护的实施 254
8.5.1 软件维护机构 254
8.5.2 维护实施 254
8.5.3 维护文档 257
8.5.4 评价维护活动 258
8.6 软件可维护性 258
8.6.1 影响可维护性的因素 258
8.6.2 软件可维护性的定量度量 259
8.6.3 提高可维护性的方法 259
8.6.4 可维护性复审 260
8.7 软件再工程技术 261
8.7.1 软件再工程过程 261
8.7.2 软件再工程分析 264
本章小结 264
习题 265
第9章 质量保证与软件工程标准化 266
9.1 软件质量概念 266
9.1.1 软件质量及特征指标 266
9.1.2 质量评价模型 267
9.1.3 质量控制与质量保证 272
9.1.4 质量保证体系 273
9.2 软件可靠性与复杂性 276
9.2.1 可靠性 276
9.2.2 可靠性的评价指标 277
9.2.3 系统的稳态可用性计算 278
9.2.4 平均无故障运行时间的估算 279
9.2.5 复杂性 280
9.2.6 提高软件可靠性的方法 282
9.3 软件工程标准化 283
9.3.1 软件工程标准化的意义 283
9.3.2 软件工程标准化的层次 283
9.3.3 我国的软件工程标准化工作 284
9.3.4 ISO 9000标准简介 285
9.3.5 质量认证 286
9.4 软件能力成熟度模型CMM 287
9.4.1 CMM级别 287
9.4.2 CMM的内部结构和进化过程 289
9.4.3 利用CMM进行成熟度评估 291
9.4.4 CMM与ISO9000系列标准 292
9.4.5 我国的软件评估体系SPCA 292
本章小结 293
习题 294
第10章 软件项目管理 295
10.1 软件项目管理概念 295
10.1.1 软件项目的特点 295
10.1.2 软件项目管理的内容 295
10.2 风险管理 296
10.2.1 风险类型 296
10.2.2 风险识别 297
10.2.3 风险评估 300
10.2.4 风险应对策略 302
10.3 人员组织管理 304
10.3.1 项目组织结构 305
10.3.2 人员配置 306
10.3.3 激励与考核 308
10.4 软件规模估算 308
10.4.1 常用估算技术 309
10.4.2 IBM模型 312
10.4.3 Putnam模型 312
10.4.4 COCOMO模型 313
10.5 计划与进度管理 315
10.5.1 软件项目计划 315
10.5.2 工期估算 315
10.5.3 项目任务分解 316
10.5.4 进度安排 318
10.5.5 进度跟踪与控制 326
10.6 成本管理 327
10.6.1 资源计划 327
10.6.2 成本估算 328
10.6.3 成本控制 328
10.7 文档管理 329
10.7.1 文档编制目的 329
10.7.2 文档编制内容 329
10.7.3 提高文档编制的质量 330
10.7.4 文档的管理和维护 330
本章小结 331
习题 331
参考文献 333
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《天水师范学院60周年校庆文库 新工科视域下的工程基础与应用研究》《天水师范学院60周年校庆文库》编委会编 2019
- 《高等工程教育改革探析》李瀛心,吴价宝著 1997
- 《城市基坑工程设计施工实践与应用》李欢秋,刘飞,郭进军编著 2019
- 《高考快速作文指导》张吉武,鲍志伸主编 2002
- 《建筑施工企业统计》杨淑芝主编 2008
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《汉语词汇知识与习得研究》邢红兵主编 2019
- 《思维导图 超好用英语单词书》(中国)王若琳 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《黄遵宪集 4》陈铮主编 2019
- 《孙诒让集 1》丁进主编 2016
- 《近代世界史文献丛编 19》王强主编 2017
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《大学化学实验》李爱勤,侯学会主编 2016
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017