软件工程PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:李爱萍,崔冬华,李东生主编
- 出 版 社:北京:人民邮电出版社
- 出版年份:2014
- ISBN:9787115340795
- 页数:354 页
第1篇 面向过程的软件工程 2
第1章 概述 2
1.1软件和软件危机 2
1.1.1软件的定义、特点及分类 2
1.1.2软件危机的定义及表现形式 3
1.1.3软件危机的产生原因及解决途径 4
1.2软件工程 5
1.2.1软件工程的定义及目标 5
1.2.2软件工程的研究内容和基本原理 6
1.2.3软件工程的发展史 7
1.3软件过程和软件的生存周期 8
1.3.1软件过程 8
1.3.2软件生存周期 8
1.4软件开发模型 10
1.4.1瀑布模型 10
1.4.2快速原型模型 11
1.4.3增量模型 12
1.4.4螺旋模型 13
1.4.5喷泉模型 14
1.4.6基于构件的开发模型 14
1.4.7统一过程(RUP)模型 15
1.4.8基于形式化的开发模型 15
1.5传统的软件工程和面向对象的软件工程 15
1.5.1传统软件工程方法 15
1.5.2面向对象软件工程方法 15
1.5.3传统软件工程和面向对象软件工程的分析方法对比 16
本章小结 16
习题1 16
第2章 可行性研究 17
2.1可行性研究的目的和任务 17
2.2可行性研究的步骤 18
2.3系统流程图 19
2.3.1系统流程图的符号 19
2.3.2系统流程图示例 20
2.4成本—效益分析 20
2.4.1货币的时间价值 20
2.4.2投资回收期 21
2.4.3纯收入 21
2.5可行性研究报告的主要内容 21
本章小结 22
习题2 22
第3章 软件需求分析 23
3.1需求分析的任务和步骤 23
3.1.1需求分析的任务 23
3.1.2需求分析的步骤 24
3.2需求获取的常用方法 25
3.2.1需求获取的常用方法 25
3.2.2快速建立软件原型模型来获取需求 26
3.3需求分析的常用方法 27
3.3.1功能分解方法 27
3.3.2结构化分析方法 27
3.3.3信息建模方法 27
3.3.4面向对象方法 28
3.4结构化分析方法 28
3.4.1自顶向下逐层分解的分析策略 28
3.4.2结构化分析描述工具 29
3.4.3数据流图 29
3.4.4数据字典 32
3.4.5加工逻辑的描述 34
3.5需求分析图形工具 36
3.5.1层次方框图 36
3.5.2维纳图 36
3.5.3 IPO图 37
3.6 SA方法的应用 37
3.7数据库内容的需求分析和描述 42
3.7.1数据库内容的需求分析 42
3.7.2数据库内容的需求分析描述 44
3.8需求规格说明书 45
本章小结 46
习题3 46
第4章 软件总体设计 48
4.1软件总体设计的目标和任务 48
4.2软件结构设计准则 48
4.2.1软件体系结构设计准则 49
4.2.2软件模块设计准则 49
4.3软件设计的概念和原理 50
4.3.1模块和模块化 50
4.3.2抽象 51
4.3.3信息隐蔽和局部化 51
4.3.4模块独立性及其度量 52
4.4数据库设计 54
4.4.1数据库系统的三级模式概念 54
4.4.2数据库逻辑设计原则 55
4.4.3关系数据库规范化 56
4.5软件结构设计的图形工具 58
4.5.1软件结构图 58
4.5.2层次图 58
4.5.3 HIPO图 59
4.6结构化设计方法 59
4.6.1数据流图及其类型 59
4.6.2结构化设计方法的步骤 60
4.6.3变换型数据流图的分析设计 61
4.6.4事务型数据流图的分析设计 62
4.6.5综合分析设计 64
4.7总体设计说明书 64
本章小结 65
习题4 66
第5章 软件详细设计 67
5.1详细设计的目的与任务 67
5.2结构化程序设计 67
5.3详细设计工具 68
5.3.1程序流程图 68
5.3.2盒图(N-S图) 69
5.3.3问题分析图(PAD图) 69
5.3.4过程设计语言(PDL) 70
5.4人机界面设计 73
5.4.1人机界面设计问题 73
5.4.2人机界面设计原则 75
5.4.3人机界面设计过程 75
5.5详细设计说明书 76
本章小结 76
习题5 77
第6章 软件编码 78
6.1程序设计语言的分类 78
6.1.1基础语言 78
6.1.2结构化语言 79
6.1.3面向对象语言 80
6.2程序设计语言的选择 81
6.3程序设计风格 82
6.3.1程序内部文档 82
6.3.2数据说明 83
6.3.3语句构造 83
6.3.4输入/输出 83
6.3.5效率 83
本章小结 85
习题6 85
第7章 软件测试 86
7.1软件测试的目标 86
7.2软件测试的原则 86
7.3软件测试方法及分类 87
7.3.1静态测试与动态测试 87
7.3.2黑盒测试与白盒测试 88
7.4软件测试用例的设计 89
7.4.1白盒技术 89
7.4.2黑盒技术 93
7.5软件测试过程 97
7.5.1单元测试 98
7.5.2集成测试 99
7.5.3确认测试 101
7.5.4系统测试 102
7.5.5α测试和β测试 103
7.6调试 103
7.6.1调试的目的和任务 103
7.6.2常用调试技术 103
7.7软件测试阶段终止的条件 104
本章小结 105
习题7 105
第8章 软件维护 107
8.1软件维护概述 107
8.1.1软件维护的定义 107
8.1.2软件维护的分类 107
8.1.3软件维护的特点 109
8.2软件维护的过程 109
8.2.1结构化维护与非结构化维护 109
8.2.2维护组织 110
8.2.3维护工作的流程 111
8.2.4维护工作的组织管理 113
8.3软件可维护性 113
8.3.1软件可维护性的定义 114
8.3.2软件可维护性的度量 115
8.3.3提高软件可维护性的方法 115
8.4软件维护中存在的问题 117
8.4.1软件维护困难的表现 117
8.4.2软件维护的副作用 118
8.4.3软件维护的代价 118
8.5再工程和逆向工程 119
8.5.1再工程与逆向工程的概念 119
8.5.2为什么要实施软件再工程 120
8.5.3软件再工程技术 121
本章小结 122
习题8 123
第2篇 面向对象的软件工程 125
第9章 面向对象方法学 125
9.1面向对象方法概述 125
9.1.1面向对象方法学的发展 125
9.1.2面向对象方法学的优点和不足 126
9.2面向对象的软件工程 127
9.2.1面向对象基本概念 128
9.2.2对象、类及类之间关系的分析 129
9.2.3典型的面向对象开发方法 133
9.3统一建模语言UML 138
9.3.1 UML的发展 138
9.3.2 UML的定义及主要内容 139
9.3.3 UML的特点和用途 141
9.3.4 UML的模型视图简介 142
9.3.5 UML常用软件开发工具 144
9.4统一软件开发过程RUP概述 148
9.4.1 RUP的历史 149
9.4.2 RUP的特色 149
9.4.3 RUP软件开发的生存周期 150
9.4.4 RUP过程的建模 152
本章小结 153
习题9 153
第10章 面向对象的分析 155
10.1面向对象的分析过程 155
10.1.1用例模型 156
10.1.2对象模型 156
10.1.3动态模型 156
10.1.4物理(实现)模型 157
10.1.5 4种模型之间的关系 157
10.2建立用例模型 158
10.2.1需求分析与用例建模 158
10.2.2确定系统范围和系统边界 158
10.2.3确定参与者 158
10.2.4确定用例 159
10.2.5确定用例之间的关系 161
10.3建立对象模型 162
10.3.1确定类和对象 163
10.3.2确定关联 163
10.3.3确定属性 164
10.3.4建立对象类图 164
10.3.5划分主题 165
10.3.6优化对象模型 165
10.4建立动态行为模型 166
10.4.1建立顺序图 166
10.4.2建立通信图 167
10.4.3建立状态图 168
10.4.4建立活动图 171
10.5建立物理实现模型 175
10.5.1建立构件图 175
10.5.2建立部署图 178
10.6面向对象软件开发过程的案例分析 181
10.6.1系统需求 181
10.6.2系统用例模型 182
10.6.3系统对象模型 182
10.6.4系统动态行为模型 183
10.6.5系统物理实现模型 185
本章小结 186
习题10 186
第11章 面向对象的设计与实现 188
11.1面向对象的设计准则和启发式规则 188
11.1.1面向对象设计准则 188
11.1.2启发式规则 189
11.2系统设计 190
11.2.1问题域子系统设计 191
11.2.2人机交互子系统设计 193
11.2.3任务管理子系统设计 194
11.2.4数据管理子系统设计 195
11.3服务、关联与聚合关系设计 197
11.3.1服务设计 197
11.3.2关联设计 198
11.3.3聚合关系设计 202
11.4面向对象设计优化 203
11.5面向对象系统的实现 205
11.5.1面向对象程序设计语言的选择 205
11.5.2面向对象程序设计风格 205
本章小结 206
习题11 206
第12章 软件开发工具StarUML及其应用 208
12.1软件开发工具StarUML概述 209
12.1.1 StarUML的安装及使用 209
12.1.2 StarUML的主要功能 209
12.2 StarUML环境下的UML图形建模 211
12.2.1 StarUML的用例图、类图和包图 213
12.2.2 StarUML的交互图和状态机图 217
12.2.3 StarUML的构件图与部署图 222
12.2.4 StarUML的正向工程和逆向工程 223
12.3一个简易教学管理系统的分析和设计 225
12.3.1系统需求描述及分析 226
12.3.2系统问题领域分析 226
12.3.3静态结构模型的建立 230
12.3.4动态行为模型的建立 232
12.3.5系统物理模型的建立 236
12.3.6代码框架自动生成的过程 237
本章小结 238
习题12 238
第13章 软件体系结构 240
13.1软件体系结构概述 240
13.2经典的软件体系结构风格 241
13.2.1管道-过滤器(流程处理)体系结构 241
13.2.2分层体系结构 242
13.2.3客户机/服务器体系结构 243
13.2.4浏览器/服务器体系结构(B/S) 245
13.3现代的软件体系结构风格 246
13.3.1公共对象请求代理体系结构 246
13.3.2基于层次消息总线的体系结构风格 248
13.3.3异构结构风格 248
本章小结 251
习题13 251
第14章 设计模式 252
14.1设计模式概述 252
14.1.1设计模式的出现和发展 252
14.1.2设计模式和软件体系结构的关系 253
14.1.3设计模式的优点和分类 253
14.2 GRASP设计模式及其应用 254
14.2.1 GRASP设计模式概念及其分类 254
14.2.2几种典型的GRASP设计模式应用简介 256
14.3 GoF设计模式及其应用 258
14.3.1 GoF设计模式的组成及其分类 260
14.3.2创建型GoF设计模式应用实例 261
14.3.3结构型GoF设计模式应用实例 265
14.3.4行为型GoF设计模式应用实例 268
本章小结 269
习题14 270
第15章 软件工程新技术 271
15.1软件复用技术 271
15.1.1软件复用概念及分类 271
15.1.2软件复用的关键技术和复用粒度 272
15.2基于构件的软件工程技术 272
15.2.1中间件技术 273
15.2.2构件与构件化 275
15.2.3构件模型及描述语言 276
15.2.4构件的检索与组装 278
15.2.5基于构件的软件工程方法 281
15.2.6 SOA与SaaS 283
15.3软件过程与标准化 285
15.3.1软件过程及其改进 285
15.3.2 ISO 9000标准 286
15.3.3软件能力成熟度模型(CMM) 287
15.3.4 PSP、TSP和CMMI 289
15.4敏捷软件开发过程 291
15.4.1敏捷及敏捷过程相关概念 292
15.4.2典型的敏捷过程模型 294
15.5 Web软件工程 298
15.5.1 Web软件工程概述 298
15.5.2 Web软件的需求分析 300
15.5.3 Web软件的设计 302
15.5.4 Web软件的测试 305
15.6软件产品线技术 306
15.6.1软件产品线基本概念 307
15.6.2软件产品线方法 309
15.6.3北大青鸟工程 310
本章小结 311
习题15 312
第3篇 软件工程实验 314
第16章 软件工程实验 314
16.1面向过程的软件工程实验 315
实验1图书管理系统的可行性分析 316
实验2图书管理系统的项目开发计划 316
实验3图书管理系统的需求分析 317
实验4图书管理系统的总体设计 317
实验5图书管理系统的详细设计及编码实现 318
实验6图书管理系统的测试 319
实验7图书管理系统用户手册的撰写 319
实验8图书管理系统项目开发总结报告的撰写 320
16.2面向对象的软件工程实验 320
实验9浏览器系统的可行性分析 320
实验10浏览器系统的项目开发计划 321
实验11浏览器系统的需求分析 322
实验12浏览器系统的体系结构设计 327
实验13采用面向对象方法进行浏览器系统的详细设计 329
实验14利用StarUML正向工程功能完成代码框架的自动生成实验 331
实验15利用StarUML逆向工程功能完成修改设计的实验 332
实验16浏览器系统的测试 332
实验17浏览器系统用户手册的撰写 334
实验18浏览器系统项目开发总结报告的撰写 334
附录A UML图总结 335
A.1活动图 335
A.2类图 336
A.3通信图 336
A.4构件图 337
A.5组合结构图 337
A.6部署图 337
A.7对象图 338
A.8包图 338
A.9参数化通信图 338
A.10顺序图 338
A.11状态图 338
A.12计时图 339
A.13用例图 339
附录B UML中定义的常用版型(stereotype)、约束(constraint)和标记(tag) 341
附录C GOF给出的软件设计模式 344
C.1创建型模式(Creational) 344
C.2结构型(Structural)模式 346
C.3行为(Behavioral)模式 349
参考文献 354
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《天水师范学院60周年校庆文库 新工科视域下的工程基础与应用研究》《天水师范学院60周年校庆文库》编委会编 2019
- 《高等工程教育改革探析》李瀛心,吴价宝著 1997
- 《城市基坑工程设计施工实践与应用》李欢秋,刘飞,郭进军编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019