第一章 概述 1
第一节 软件 2
第二节 软件危机 5
第三节 软件工程 8
思考题与习题 13
第二章 软件生命周期与软件开发模型 15
第一节 软件生命周期的基本任务 15
第二节 瀑布模型 18
第三节 快速原型模型 20
第四节 增量模型 22
第五节 螺旋模型 24
第六节 V型模型 27
第七节 渐进式阶段模型 28
第八节 喷泉模型 30
第九节 案例说明 31
思考题与习题 34
第三章 结构化分析 36
第一节 软件定义过程概述 36
第二节 结构化分析 38
第三节 需求规格说明与评审 46
第四节 需求规格说明书写作范例 48
思考题与习题 50
第四章 系统设计 52
第一节 概要设计的任务与步骤 52
第二节 软件设计的概要与原则 53
第三节 面向数据流的设计方法 58
第四节 概要设计文档评审 64
第五节 概要设计文档写作范例 64
第六节 详细设计的任务与原则 66
第七节 详细设计的方法 66
第八节 人机界面设计 71
第九节 详细设计规格说明书与评审 75
第十节 详细设计文档写作范例 76
思考题与习题 78
第五章 结构化实现 79
第一节 编码 79
第二节 软件测试基础 83
第三节 控制结构测试 89
第四节 黑盒测试技术 96
第五节 测试策略 101
第六节 调试 108
第七节 软件可靠性 110
思考题与习题 114
第六章 面向对象程序设计 119
第一节 面向对象方法学概述 119
第二节 面向对象方法学的主要优点 121
第三节 面向对象的概念 124
第四节 面向对象建模 130
第五节 对象模型 131
第六节 动态模型 136
第七节 功能模型 137
第八节 面向对象程序设计规则 138
第九节 设计问题域子系统 141
第十节 设计人—机交互子系统 143
第十一节 设计任务管理子系统 145
第十二节 设计数据管理子系统 147
第十三节 设计类中的服务 150
第十四节 面向对象实现技术 151
第十五节 面向对象测试 159
思考题与习题 165
第七章 UML建模基础 166
第一节 UML概述 166
第二节 用例和用例图 171
第三节 类图和对象图 181
第四节 顺序图和协作图 194
第五节 状态图和活动图 211
第六节 构件图和部署图 230
第七节 包图 240
第八节 UML的结构 242
第九节 扩展UML 243
思考题与习题 244
第八章 软件维护 246
第一节 软件维护的内容 246
第二节 软件维护的特点 247
第三节 软件维护的实施 249
第四节 维护的副作用 252
第五节 软件可维护性 253
第六节 软件再工程 255
思考题与习题 257
第九章 配置管理与文档技术 258
第一节 软件配置管理基本概念 258
第二节 软件配置管理的任务 261
第三节 软件文档技术 267
思考题与习题 273
第十章 软件质量管理 275
第一节 软件质量的定义 275
第二节 软件的质量保证 276
第三节 软件质量保证标准 278
第四节 软件过程成熟度模型(CMM) 281
思考题与习题 287
第十一章 软件复用和CASE技术 288
第一节 软件复用的概念 288
第二节 面向对象与软件复用 290
第三节 计算机辅助软件工程(CASE) 291
思考题与习题 294
第十二章 软件开发计划 295
第一节 度量软件规模 295
第二节 工作量估算 298
第三节 进度计划 302
思考题与习题 310
第十三章 软件开发组织 311
第一节 民主制程序员组 311
第二节 主程序员组 312
第三节 现代程序员组 314
第四节 软件项目组 315
思考题与习题 318
参考文献 319