第一章 基础知识 1
第一节 软件的概述 1
一、软件的概念 1
总序 1
二、软件的特征 2
三、软件与硬件的联系和区别 2
第二节 软件的发展 4
第三节 软件开发的原则 8
一、通用的原则 8
二、具体的原则 14
第四节 软件的生命周期 16
一、软件的生命周期 16
二、软件的生命周期模型 18
复习思考题 22
本章小结 22
第二章 软件开发的规划与可行性分析 23
第一节 软件开发规划的内容 23
一、软件开发规划的任务与特点 23
二、软件开发的战略规划 25
第二节 软件开发的可行性研究 27
一、经济上的可行性研究 28
二、技术上的可行性研究 31
三、人员的可行性研究 31
四、社会的可行性研究 32
五、可行性研究报告 32
本章小结 33
复习思考题 33
第一节 软件需求分析的原则、方法 34
第三章 软件的需求分析 34
一、软件需求分析的工具 35
二、分析的其他工具 49
三、需求分析的原则 52
第二节 需求分析的任务 53
一、软件需求分析的任务 54
二、软件需求分析的过程 56
第三节 验证软件需求 67
一、验证软件的正确性 68
二、验证需求的方法 68
本章小结 69
复习思考题 69
第四章 软件的总体设计 70
二、软件设计的任务 71
第一节 软件设计目标和任务 71
一、软件设计的目标 71
第二节 总体设计的过程 74
一、挑选最佳解决方案 74
二、确定软件的结构 75
三、设计文档 76
第三节 软件总体设计的内容 77
一、处理过程的抽象 77
二、信息隐蔽和局部化 78
三、模块化 78
四、模块的独立性 80
第四节 从DFD导出结构图 91
一、结构图 91
二、从数据流图导出结构图 93
复习思考题 103
本章小结 103
第五章 软件的详细设计 104
第一节 软件详细设计的概念 104
第二节 结构化设计方法 105
第三节 详细设计的工具 108
一、程序流程图 108
二、盒图 109
三、问题分析图 110
四、判定表 112
五、过程设计语言 114
一、Jackson方法概述 120
二、Jackson设计方法 120
第四节 Jackson设计方法 120
本章小结 129
复习思考题 129
第六章 软件的测试与调试 130
第一节 软件的测试 130
一、软件测试的基本概念 130
二、软件的测试 135
第二节 软件的调试 144
一、软件的调试步骤 144
二、软件的调试方法 146
三、软件的调试策略 147
本章小结 149
复习思考题 149
一、软件维护的定义 150
第一节 软件维护的概念 150
第七章 软件的维护 150
二、影响软件维护工作量的因素 151
三、软件维护的策略 152
四、软件维护的代价 153
第二节 软件的维护过程 154
一、维护的组织机构 154
二、软件维护的申请报告 154
三、软件维护的工作流程 155
四、保存维护记录 156
五、评价维护活动 157
本章小结 157
复习思考题 158
一、传统开发方法的不足 159
第一节 面向对象方法的产生 159
第八章 面向对象的软件开发 159
二、传统开发方法存在不足的原因 161
第二节 面向对象技术的概念 163
一、对象 163
二、类 165
三、消息和多态性 165
四、继承 166
第三节 面向对象的开发方法 167
一、Rumbaugh方法 167
二、Booch方法概述 177
三、Coad 与Yourdon方法 181
本章小结 188
复习思考题 188