目录
第1章软件工程概述1
1.1软件1
1.1.1软件的发展1
1.1.2软件定义2
1.1.3软件的特点3
1.1.4软件的分类4
1.2软件工程概念7
1.2.1软件危机与软件工程定义7
1.2.2软件工程的基本内容与目标11
1.2.3软件工程的原则11
1.3软件生存周期与软件开发模型12
1.3.1软件生存周期12
1.3.2软件开发模型14
小结20
习题20
第2章可行性研究21
2.1可行性研究的任务21
2.2可行性研究的步骤22
2.3系统流程图24
2.4成本效益分析25
2.4.1成本估计26
2.4.2费用估计27
2.4.3几种度量效益的方法28
小结29
习题30
第3章需求分析31
3.1需求分析的任务与步骤31
3.1.1需求分析的任务31
3.1.2需求分析的步骤33
3.1.3需求分析的原则36
3.2需求分析的方法37
3.2.1面向数据流的需求分析方法39
3.2.2数据流图39
3.2.3数据字典45
3.3图形工具51
3.3.1层次方框图51
3.3.2Warnier图51
3.3.3IPO图52
3.4需求规格说明与评审53
3.4.1需求规格说明的主要内容53
3.4.2需求分析的评审54
3.4.3需求分析评审的方法55
小结56
习题56
第4章概要设计57
4.1概要设计的任务与步骤57
4.1.1概要设计的任务57
4.1.2概要设计的过程58
4.2软件设计的概念与原则60
4.2.1模块化60
4.2.2抽象与逐步求精61
4.2.3信息隐蔽和局部化63
4.2.4模块独立性63
4.2.5结构设计原则68
4.3面向数据流的设计方法71
4.3.1基本概念72
4.3.2系统结构图的组成73
4.3.3变换分析75
4.3.4事务分析79
4.3.5设计优化80
4.4面向数据结构的分析设计方法81
4.4.1Jackson系统开发方法81
4.4.2Warnier方法90
4.5概要设计文档评审92
小结93
习题93
第5章详细设计95
5.1详细设计的任务与原则95
5.1.1详细设计的任务95
5.1.2详细设计的原则95
5.2详细设计的方法96
5.2.1程序流程图96
5.2.2NS图98
5.2.3PAD图100
5.2.4PDL(过程设计语言)102
5.2.5HIPO图103
5.2.6详细设计工具的选择104
5.3详细设计规格说明与复审105
5.3.1详细设计说明105
5.3.2设计复审107
小结107
习题107
第6章面向对象的分析和设计方法109
6.1面向对象方法的基本概念和特征109
6.1.1面向对象方法概述109
6.1.2面向对象的软件工程111
6.1.3面向对象的基本概念和特征115
6.2面向对象的分析123
6.2.1面向对象分析的基本过程及原则123
6.2.2确定对象、类128
6.2.3确定属性131
6.2.4定义服务132
6.2.5对象间通信135
6.3面向对象设计142
6.3.1面向对象设计的基本概念142
6.3.2面向对象设计的方法144
6.4UML方法146
6.4.1UML的发展147
6.4.2UML的表示法150
6.4.3UML软件开发过程概述165
小结167
习题167
第7章编码169
7.1程序设计语言169
7.1.1程序设计语言的分类169
7.1.2程序设计语言的特点171
7.1.3程序设计语言的选择174
7.2编码风格175
7.2.1源程序文档化176
7.2.2数据说明178
7.2.3语句结构178
7.2.4输入输出180
7.3程序效率181
7.3.1有关程序效率的几条准则181
7.3.2算法对效率的影响181
7.3.3影响存储器效率的因素182
7.3.4影响输入输出的因素182
7.4编程安全182
7.4.1冗余程序设计183
7.4.2防错程序设计183
7.5面向对象程序设计步骤184
小结185
习题185
第8章软件质量与质量保证187
8.1软件质量的定义187
8.2影响软件质量的因素187
8.3软件质量保证策略189
8.4软件质量保证活动190
8.5软件评审191
8.5.1设计质量的评审内容191
8.5.2程序质量的评审内容196
8.6软件质量保证的标准198
8.7结构化的软件测试199
8.7.1软件测试的概念和原则200
8.7.2软件测试技术202
8.7.3测试的步骤207
8.7.4软件纠错技术211
8.8面向对象的软件测试212
8.8.1面向对象分析和面向对象设计的模型测试213
8.8.2面向对象的测试策略215
8.8.3面向对象软件测试用例设计216
8.9软件测试计划与测试分析报告218
8.10软件维护220
8.10.1软件维护的定义、分类与特点220
8.10.2软件维护的步骤及组织222
8.10.3软件的可维护性226
8.10.4软件维护的副作用227
8.10.5逆向工程和再生工程228
小结230
习题230
第9章项目计划与管理231
9.1软件项目特点、管理的特殊性及软件管理功能231
9.1.1软件项目的特点231
9.1.2软件管理的功能232
9.1.3确定软件项目的工作范围232
9.2确定软件开发所需的资源233
9.2.1人力资源233
9.2.2硬件233
9.2.3软件234
9.3人员的计划和组织234
9.4成本估计及控制235
9.4.1软件开发成本估计方法236
9.4.2专家判定技术236
9.4.3成本估算模型237
9.5进度计划239
9.5.1软件工作的特殊性239
9.5.2各阶段工作量的分配240
9.5.3制定开发进度240
9.6软件配置管理241
9.6.1基线242
9.6.2软件配置项242
9.6.3软件配置管理过程244
9.7软件管理方案247
小结248
习题248
附录1可行性研究报告规范250
附录2项目开发计划规范255
附录3需求规格说明书规范258
附录4概要设计说明书规范264
附录5详细设计说明书规范268
附录6项目开发总结报告规范271
附录7用Word撰写文档规范274
参考文献279