第一章 概论 1
第一节 软件工程简述 1
一、软件工程发展史 1
二、软件危机 2
三、软件、软件工程 3
第二节 软件开发模型 5
一、软件生存周期 5
二、软件开发模型 7
第三节 软件的开发方法 11
一、面向数据流设计方法 12
二、面向数据结构设计方法 14
三、面向对象设计方法 19
习题一 21
第二章 需求分析 22
第一节 需求分析的任务 22
一、确定目标系统的具体要求 22
五、编写用户手册 23
四、制订初步的系统测试计划 23
三、修正系统开发计划 23
二、建立目标系统的逻辑模型 23
第二节 需求分析步骤 24
一、进行调查研究 24
二、分析和描述系统的逻辑模型 24
三、复审 24
二、数据流图几种附加符号 25
三、几点注意事项 25
一、数据流图四种基本符号 25
第三节 数据流图 25
第四节 数据字典 28
一、数据字典的内容 28
二、数据字典使用的符号 29
第五节 需求分析图形工具 31
一、层次图 31
二、Warnier图 31
习题二 32
二、推荐最佳实现方案 33
一、设计供选择的方案 33
三、软件结构设计 33
第三章 系统设计与实现 33
第一节 总体设计 33
四、数据文件设计 34
五、设计测试方案 34
第二节 模块和模块化 35
一、模块 35
二、模块化 35
三、模块分割评价标准 36
四、模块设计规则 39
第三节 详细设计工具 40
一、程序流程图 41
二、盒图 43
三、PAD图 44
四、结构图 45
五、判定表 47
六、判定树 48
七、过程设计语言 48
一、变换型 49
第四节 结构化设计方法 49
二、事务型 50
第五节 结构化程序设计 50
一、程序设计语言的选择 51
二、程序设计风格 52
习题三 53
第四章 软件测试、验证与确认 55
第一节 软件测试目标 55
第二节 测试方法 55
一、黑盒法 56
二、白盒法 56
三、测试原则 57
第三节 测试步骤 57
一、模块测试 57
二、子系统测试 57
三、系统测试 57
六、程序审查会 58
七、人工运行 58
四、验收测试 58
五、平行运行 58
第四节 设计测试方案、实用测试策略 59
一、设计测试方案 59
二、实用测试策略 63
三、软件调试 64
第五节 软件验证与确认 65
习题四 66
第五章 软件维护 67
第一节 维护的定义、特点、过程 67
一、维护的定义 67
二、维护的特点 67
三、维护的过程 69
第二节 可维护性 71
一、决定可维护性的因素 72
二、可维护性的度量 72
三、如何提高程序的可维护性 73
第三节 软件质量因素 73
习题五 74
第六章 面向对象设计方法 75
一、功能分解法 75
二、实时系统的事件响应法 75
三、面向对象分析方法 75
第一节 面向对象分析 75
一、信息模型、状态模型和处理模型 75
二、信息结构图使用的图形符号 77
三、建立信息模型的基本方法 79
四、状态转换图 81
五、行为和数据流图 81
第二节 面向对象设计 82
一、概念级设计 84
二、系统级设计 84
三、规范级设计 84
四、系统实现 85
习题六 86
第一节 成本估计技术 87
一、代码行技术 87
第七章 软件工程管理技术 87
二、任务估算技术 88
第二节 人员组织 88
一、Brooks定律 88
二、软件开发组织的管理结构 88
三、程序设计小组的组织 89
第三节 计划管理 89
一、Gantt图 89
二、工程网络技术 90
第四节 软件工程文件规范 92
第五节 软件配置管理 96
一、配置标识 96
二、变动控制 97
三、配置审计 97
四、配置状态报告 97
习题七 97
第一节 软件开发工具 99
一、什么是软件工具 99
第八章 软件开发工具与集成化环境 99
二、软件工具的分类 100
第二节 集成化环境 101
一、软件工程环境的定义 101
三、软件工程环境的构成和特性 102
四、集成化环境 102
二、软件工程环境的分类 102
五、集成化的层次 103
习题八 104
二、可行性研究 105
一、问题定义 105
三、需求分析 105
第九章 实例 105
四、总体设计 107
五、详细设计 112
六、测试 113
参考文献 114
三、IPO图 312