第一章 软件工程概述 1
第一节 软件工程学与软件危机 1
第二节 软件工程的基本概念 3
第三节 软件过程 8
第四节 软件开发模型 11
第五节 软件开发方法 14
习题 17
第二章 软件生存周期与软件计划 18
第一节 软件生存周期的确定 18
第二节 计算机系统工程 21
第三节 可行性研究 24
第四节 软件计划的制定 26
第五节 软件成本估算 32
习题 39
第三章 需求分析 40
第一节 需求分析的任务和方法 40
第二节 面向数据流的结构化分析(SA)方法 43
第三节 数据流图 45
第四节 数据词典和加工逻辑 53
第五节 结构化分析法的工作步骤和CASE工具 60
习题 64
上机练习题 64
第四章 软件设计 65
第一节 软件设计和复审过程 65
第二节 概要设计的技术和概念 70
第三节 结构化设计方法(SD) 78
第四节 面向数据结构的JACKSON方法 94
第五节 详细设计工具和SP方法 102
习题 111
上机练习题 112
第五章 用户界面设计 113
第一节 界面软件开发综述 113
第二节 用户界面友好性和交互性 116
第三节 图形用户界面设计 124
第四节 多媒体用户界面设计和实现 128
习题 134
上机练习题 135
第六章 程序设计语言和编码 136
第一节 程序设计语言的特性 136
第二节 程序设计风格 138
第三节 程序设计语言的分类和代码的文档 141
习题 143
第七章 软件测试 145
第一节 测试的基本概念 145
第二节 软件测试策略 150
第三节 静态分析方法 155
第四节 动态测试方法 168
第五节 测试情况设计技术 172
第六节 软件测试的步骤和工具 184
习题 189
上机练习题 191
第八章 软件的维护和重用 192
第一节 软件维护的定义和分类 192
第二节 维护的特点和工序 194
第三节 维护工作的管理 197
第四节 维护工程与软件重用 202
第五节 软部件的重用技术 204
习题 212
第九章 软件生产过程的管理 213
第一节 软件项目的管理 213
第二节 软件开发的人员组织、检验和培训 216
第三节 软件的配置管理 219
第四节 软件的质量管理 222
第五节 软件的风险管理 226
第六节 软件的产权保护 230
第七节 软件工程实践 232
习题 237
综合练习题 237
第十章 集成化的Case技术 238
第一节 Case概论 238
第二节 需求分析和软件设计阶段的Case工程 240
第三节 Case中心信息库 244
第四节 程序实现、测试和维护的Case工程 249
第五节 项目管理的Case工程 253
第六节 Case技术综述和展望 256
习题 258
上机练习题 258
第十一章 面向对象的技术和方法 259
第一节 面向对象的基本概念和特性 259
第二节 面向对象的分析方法 264
第三节 面向对象的设计(OOD) 274
第四节 面向对象的语言 282
第五节 为面向对象的分析和设计选择Case工具 284
习题 286
上机练习题 287
第十二章 软件开发的新技术 288
第一节 软部件组装开发方法(组件技术) 288
第二节 构件软件连接的技术规范OLE和DCOM标准 294
第三节 对象技术规范CORBA标准 302
习题 309
第十三章 抽象逻辑结构图程序设计技术 310
第一节 抽象逻辑结构图程序表示法 310
第二节 表示法的理性、有效性和一致性 318
第三节 抽象逻辑结构图的功能和应用 323
第四节 JACKSON程序规格说明到ALSD的转换和映射 325
第五节 程序设计实例 334
第六节 一个C++函数开发工具CFDST 353
第七节 FPDST的交互式编程界面技术 360
第八节 FOXPRO程序设计支援工具FPDST的设计与实现 366
习题 373
参考文献 375