第一章 软件危机和软件工程 1
第一节 软件工程发展历史 1
第二节 软件危机 4
一、什么叫软件危机 4
二、软件危机表现的形式 4
三、软件危机产生的原因 5
四、解决软件危机的办法 7
一、什么叫软件工程 8
第三节 软件工程 8
二、软件工程的基本内容 9
三、软件工程的生命期 10
第四节 软件质量分析 13
一、评价软件质量的标准 13
二、软件方法和软件工具 16
三、软件环境 17
第五节 软件技术审查和管理复审 18
一、技术审查 18
二、管理复审 19
三、技术审查标准和过程 21
小结 22
习题 23
第二章 软件分析 24
第一节 软件分析基本任务 26
一、软件分析中存在的问题 26
二、软件分析的基本任务 28
一、定义系统目标 34
第二节 软件分析步骤 34
二、可行性研究 36
三、需求分析 39
第三节 软件分析工具 44
一、软件分析工具 44
二、应用举例 45
第四节 成本和效益分析 50
一、成本估计 51
二、效益分析 61
小结 62
习题 63
第三章 软件分析工具 64
第一节 数据流程图 64
一、数据流程图的基本符号 64
二、画数据流程图的原则 71
三、画数据流程图的步骤 74
四、数据流程图的用途 75
一、数据字典的作用 77
第二节 数据字典 77
二、数据字典的定义 78
三、数据字典的用途 86
四、自动数据字典软件包 89
第三节 数据存储 91
一、数据存储规范化 92
二、第一规范化形式 93
三、第二规范化形式 96
四、第三规范化形式 98
五、数据存储结构规范化的步骤及特点 100
第四节 处理逻辑 101
一、表达一个处理逻辑可能存在的问题 102
二、结构式语言 104
三、判断树 106
四、判断表 108
五、三种表达工具的比较 112
小结 113
习题 114
一、基本思想 116
二、基本方法 116
第四章 软件设计 116
第一节 软件设计的基本概念 116
第二节 软件设计原则 119
一、系统设计指标 120
二、人工处理与机器处理的选择与衔接 125
第三节 硬、软件的配置 127
一、硬、软件的选择 127
二、计算机网络 129
第四节 一般设计 131
三、汉字信息处理 131
一、选择方案 132
二、设计结构图 133
三、结构图的设计方法 135
第五节 详细设计 147
一、结构程序设计 147
二、详细设计工具 151
三、杰克逊程序设计方法 158
四、瓦诺程序设计方法 166
五、程序复杂程度的定量度量 177
小结 181
习题 182
第五章 结构图 183
第一节 结构图的组成 183
一、模块 183
二、模块的图形符号 185
三、结构图的一般表示 189
一、模块之间的联接 190
第二节 模块设计 190
二、模块内部的紧凑性 200
三、模块内部紧凑性的判断 206
第三节 模块的辅助设计 208
一、模块的分解 209
二、模块的扇入和扇出 210
三、模块的控制范围和判断作用范围 213
小结 223
习题 225
一、编程语言 226
第六章 软件运行 226
第一节 编码 226
二、编程质量 232
第二节 测试 239
一、软件测试 239
二、软件调试 246
三、软件可靠性 252
四、验证程序的方法 255
五、测试工具 257
小结 261
习题 262
第七章 软件维护 264
第一节 软件评价 264
一、软件评价的目的 265
二、系统评价的指标 265
三、系统经济指标的评价 267
四、系统评价方法 269
五、系统评价报告 270
一、软件维护的内容 271
第二节 软件维护 271
二、软件维护的分类 272
三、软件维护的特点 273
四、软件维护过程 276
第三节 文档 280
一、文档分类 281
二、文档工具 282
小结 283
习题 284
第一节 画数据流程图与结构图 285
第八章 软件工程在管理系统中的应用 285
一、内容描述 291
第二节 软件工程项目设计 291
二、设计任务 292
三、项目设计要求 292
四、软件工程设计任务书 293
五、软件分析 294
六、软件设计 301
七、微机选型 305
一、软件分析 307
第三节 应用实例(一) 307
二、软件设计 308
三、软件运行 311
第四节 应用实例(二) 312
一、软件分析 313
二、软件设计 313
三、软件运行 318
主要参考文献 320