目录
第1章软件工程基础1
1.1软件工程的发展1
1.1.1软件危机概述1
1.1.2软件工程的发展过程2
1.2软件及软件工程概述4
1.2.1软件的概念、特点和分类4
1.2.2软件工程的概念、特点和目标6
1.2.3软件工程学及其内容和方法7
1.2.4软件过程及实际开发过程12
1.2.5软件工程的基本原理及原则14
1.3软件生存周期及任务15
1.3.1软件生存周期的相关概念15
1.3.2软件生存周期的阶段划分16
1.3.3软件生存周期各阶段的任务16
1.4常用软件开发模型17
1.4.1瀑布模型概述17
1.4.2快速原型模型概述18
1.4.3增量模型概述18
1.4.4螺旋模型概述20
1.4.5喷泉模型概述20
1.4.6基于面向对象的模型21
1.4.7软件开发模型的选定22
1.5实验1软件开发准备及Visio 2017应用23
1.5.1任务1软件开发团队与选题23
1.5.2任务2Microsoft Visio 2017应用25\软\件\工\程\与\实\践\(第3版)\/目录/ 1.6本章小结28
1.7练习与实践129
第2章可行性分析及研发策划31
2.1软件问题的调研和定义31
2.1.1软件问题的初步调研31
2.1.2软件问题定义的概念33
2.1.3软件问题定义的内容33
2.2可行性分析及项目立项36
2.2.1可行性分析的概念及意义36
2.2.2可行性分析的任务和内容37
2.2.3可行性分析的实施过程41
2.3项目立项、合同和任务书43
2.3.1软件项目立项方法及文档43
2.3.2软件项目签订合同和文档44
2.3.3任务下达的方式及文档45
2.4系统流程图及应用45
2.4.1系统流程图的用途45
2.4.2系统流程图画法及符号46
2.5软件开发计划及方案48
2.5.1软件开发计划的目的及分类48
2.5.2软件开发计划的内容与制订48
2.5.3软件开发计划书及方案51
2.6实验2软件可行性分析报告54
2.6.1实验目的54
2.6.2实验任务及要求55
2.6.3实验内容及步骤55
2.7本章小结56
2.8练习与实践257
第3章软件需求分析60
3.1软件需求分析概述60
3.1.1软件需求分析的概念及特点60
3.1.2软件需求分析的目的和原则62
3.2软件需求分析的任务及过程63
3.2.1软件需求分析的任务63
3.2.2软件需求分析的过程65
3.3软件需求分析方法67
3.3.1软件需求分析方法类型67
3.3.2软件需求分析方法对比67
3.3.3软件需求分析技巧68
3.4结构化分析方法68
3.4.1结构化分析方法的基本思想68
3.4.2结构化分析的步骤69
3.5结构化分析建模工具71
3.5.1实体联系图71
3.5.2数据流图72
3.5.3数据字典78
3.5.4处理过程描述80
3.5.5状态转换图83
3.6软件需求分析文档84
3.6.1软件需求文档概述84
3.6.2软件需求文档编写85
3.7实验3需求分析文档与建模87
3.7.1实验目的87
3.7.2实验要求87
3.7.3实验内容和步骤88
3.7.4实验报告要求88
3.8本章小结88
3.9练习与实践389
第4章软件设计92
4.1软件设计概述92
4.1.1软件设计的概念和目标92
4.1.2软件设计的过程93
4.2软件总体设计94
4.2.1软件总体设计的任务94
4.2.2总体设计的原则和过程94
4.2.3软件总体设计的方法99
4.3软件详细设计103
4.3.1详细设计的任务和原则103
4.3.2详细设计的方法和工具104
4.4数据库设计概述106
4.4.1数据库设计的任务及步骤106
4.4.2概念数据模型设计106
4.4.3逻辑结构及物理结构设计107
4.5网络系统设计概述108
4.5.1网络技术及结构设计108
4.5.2网络站点及接入设计109
4.5.3网络性能及安全性设计110
4.5.4网络设计应用实例111
4.6用户界面设计113
4.6.1界面设计的意义及任务113
4.6.2用户界面的特性及设计原则113
4.6.3屏幕对话界面设计114
4.6.4数据输入界面设计115
4.6.5数据输出界面设计117
4.6.6控制界面的设计118
4.7软件设计文档120
4.7.1系统/子系统设计(结构设计)说明120
4.7.2详细设计文档及其评审120
4.8实验4软件详细设计及文档编写121
4.8.1实验目的121
4.8.2实验内容及步骤121
4.8.3实验结果122
4.9本章小结122
4.10练习与实践4123
第5章面向对象开发方法125
5.1面向对象的相关概念125
5.1.1对象与类的相关概念126
5.1.2继承及多态性的概念127
5.1.3消息与方法的相关概念128
5.2面向对象方法概述128
5.2.1面向对象方法的概念128
5.2.2面向对象方法的特点129
5.2.3面向对象开发过程及范型129
5.2.4面向对象开发方法130
5.3面向对象分析132
5.3.1面向对象分析的原则与任务132
5.3.2面向对象分析的过程133
5.3.3对象建模方法和步骤134
*5.3.4统一建模语言概述136
5.4面向对象设计141
5.4.1面向对象设计的准则及任务141
5.4.2系统设计的过程142
5.4.3对象设计的过程146
5.4.4类设计的目标及方法147
5.5面向对象分析和设计实例148
5.5.1图书管理信息系统OOA实例148
5.5.2Web图书管理信息系统OOD151
5.6实验5Rational Rose应用154
5.6.1用Rational Rose绘制用例图154
5.6.2用Rational Rose绘制类图156
5.7本章小结161
5.8练习与实践5162
第6章软件编程实现163
6.1软件编程实现基础163
6.1.1软件实现的主要任务及过程163
6.1.2软件实现方法的准则164
6.1.3软件实现和软件编程框架166
6.2软件编程语言和技术方法168
6.2.1软件编程语言概述168
6.2.2软件编程语言的选择172
6.2.3常用软件编程方法174
6.2.4软件编程标准、规范和风格176
6.3移动WebApp开发技术应用180
6.3.1移动WebApp开发技术和过程180
6.3.2移动WebApp开发操作应用案例181
6.4软件研发常用工具与环境184
6.4.1常用软件研发工具和集成环境184
6.4.2常用的WebApp开发工具 185
6.4.3编码管理系统及编译程序185
6.4.4软件生成技术186
6.5软件实现文档187
6.5.1实现文档的组成及要求187
6.5.2软件用户手册编写188
6.5.3软件用户手册的审核鉴定190
6.6实验6手机WebApp研发操作应用与软件实现190
6.6.1任务1手机WebApp研发操作应用190
6.6.2任务2应用软件编程实现194
6.7本章小结194
6.8练习与实践6195
第7章软件测试与维护197
7.1软件测试概述197
7.1.1软件测试的概念及内容197
7.1.2软件测试的目的和原则199
7.2软件测试的特点及过程201
7.2.1软件测试的特点201
7.2.2软件测试的过程201
7.3软件测试阶段及任务204
7.3.1单元测试及任务204
7.3.2软件集成与集成测试205
7.3.3有效性测试及要求207
7.3.4系统测试及验收208
7.4软件测试策略及面向对象测试209
7.4.1软件测试策略209
7.4.2面向对象软件测试212
7.5软件测试方法、用例和标准213
7.5.1软件测试方法213
7.5.2软件测试用例设计及方法215
7.5.3软件测试标准和工具220
7.5.4软件测试文档222
7.6软件调试与发布223
7.6.1软件调试的特点及过程223
7.6.2软件调试的方法224
7.6.3软件调试的原则226
7.6.4软件推广及发布226
7.7软件维护227
7.7.1软件维护的类型及特点227
7.7.2软件维护策略及方法228
7.7.3软件维护过程及任务229
7.7.4软件再工程技术230
7.8实验7软件测试与调试应用231
7.9本章小结232
7.10练习与实践7232
第8章软件项目管理234
8.1软件项目管理概述234
8.1.1软件项目管理的概念及特点234
8.1.2软件项目管理过程及内容236
8.2软件项目启动与组织管理237
8.2.1软件项目的启动过程及任务237
8.2.2软件项目组织管理238
8.3软件项目进度管理240
8.3.1软件项目进度估算240
8.3.2软件项目进度安排243
8.4软件项目的过程管理247
8.4.1软件项目的需求管理 247
8.4.2软件项目的质量管理248
8.4.3软件项目的配置管理251
8.4.4软件项目的风险管理253
8.5软件项目监控与验收256
8.5.1软件项目的监控过程256
8.5.2软件项目监控内容及方法257
8.5.3软件项目的评审258
8.5.4软件项目收尾与验收259
8.6实验8软件项目管理应用261
8.7本章小结264
8.8练习与实践8265
第9章软件工程新技术及体系267
9.1软件工程新技术267
9.1.1面向服务的计算268
9.1.2云计算技术270
9.1.3大数据技术274
9.1.4人工智能技术概述276
9.2能力成熟度集成模型278
9.2.1CMMI基本概述278
9.2.2CMMI能力成熟度级别278
9.2.3CMMI的评估及应用279
9.3软件工程新体系281
9.3.1IBM Rational软件工程体系281
9.3.2微软软件工程体系284
9.3.3敏捷软件工程体系288
9.4形式化方法及其软件工程体系291
9.4.1形式化方法291
9.4.2净室软件工程体系294
9.5本章小结297
9.6练习与实践9298
第10章WebApp开发综合应用301
10.1WebApp项目开发基础301
10.1.1WebApp的特点及类型302
10.1.2WebApp开发任务、过程和方法303
10.1.3WebApp需求分析306
10.1.4WebApp设计实现方法309
10.1.5WebApp测试技术和方法312
10.1.6WebApp项目管理316
10.2移动WebApp开发及应用318
10.2.1移动WebApp的制作方法318
10.2.2移动WebApp调试及配置324
10.3Web商品进销存信息系统325
10.3.1系统需求分析325
10.3.2系统设计331
10.3.3系统实现335
10.4Web图书商城信息系统开发340
10.4.1软件研发的可行性分析340
10.4.2软件需求分析341
10.4.3软件设计345
10.4.4软件实现349
10.5课程设计任务书及评价352
10.5.1课程设计任务书352
10.5.2课程设计报告评价355
10.6本章小结356
附录A练习与实践习题部分参考答案357
第1章部分参考答案357
第2章部分参考答案357
第3章部分参考答案358
第4章部分参考答案359
第5章部分参考答案359
第6章部分参考答案359
第7章部分参考答案360
第8章部分参考答案360
第9章部分参考答案360
附录B软件工程部分文档编写指南361
B.1软件需求规格说明(SRS)361
B.2软件(结构)设计说明(SDD)369
参考文献375