目录 1
第一章CASE的背景 1
1.1 软件危机与软件工程学 1
1.1.1软件危机 1
1.1.2软件开发工程化 1
1.1.3软件生存期(Software Life Cycle) 2
1.1.3.1瀑布模型(Waterfall model) 2
1.1.3.2递增模型(Incremental model) 3
1.1.3.3原型化/仿真模型(Prototypin8/simulation model) 4
1.1.3.5螺旋模型(Spiral model) 5
1.1.3.4可重用部件组装模型(Assembing reusable components model) 5
1.1.3.6操作模型(Operational model) 6
1.1.3.7转换模型(Transformational model) 6
1.2软件开发自动化 7
1.2.1软件工程的目的与CASE的诞生 7
1.2.2 CASE基本概念、目的与发展历史 9
1.2.3 CASE简单分类 11
1.3 CASE例:SEWB3 13
1.3.1 SEWB3的特长与功能 13
1.3.2 SEWB3构成 13
2.1.1调查、研究、学习过程 16
2.1软件开发过程 16
第二章软件工程方法学 16
2.1.2分析过程 17
2.1.3设计过程 19
2.1.4实现过程 20
2.1.5维护过程 22
2.2软件工程方法学 25
2.2.1结构化方法(Structured approach) 26
2.2.1.1结构化分析 26
2.2.1.2结构化设计 26
2.2.1.3结构化程序设计语言与结构化程序设计 29
2.2.1.4常用的结构化方法 34
2.2.2面向对象方法(Object-Oriented approach) 36
2.2.3实体关系方法(Entity Relationship approach) 38
2.2.4 面向事件方法(Event Oriented approach) 38
2.2.5逐步求精方法(Stepwise Refinement Approach) 39
2.2.6测试方法 40
2.2.6.1静态测试方法(Static test approach) 40
2.2.6.2测试用例设计方法(Test case design approach) 42
第五章 项目管理CASE 1 43
5.1.1.1预测内容与步骤 1 44
5.1.1.2产品与使用资源预测工具箱 1 44
5.1.1项目计划的预测支持 1 44
2.2.6.3测试集成方法(Test integrated approach) 44
2.2.6.4测试环境与工具 46
2.2.7维护方法 46
2.2.8.1项目管理方法论 47
2.2.8软件项目管理方法 47
2.2.8.2进度管理 49
2.2.8.3测试管理 50
第三章 上游CASE 55
3.1 需求分析阶段 55
3.1.1 概况 55
3.1.2图形工具 56
3.1.3原型化工具 59
3.1.4面向对象模型化和分析工具 60
3.2设计阶段 62
3.2.2数据设计工具 62
3.2.1概况 62
3.2.3形式化文档辅助工具 63
3.3共享信息资源中心库 64
3.3.1集成化CASE概念 64
3.3.2 中心库任务及信息资源内容 65
3.3.2.1 中心库概念与任务 65
3.3.2.2中心库的信息资源内容 66
3.3.2.3中心库报告 68
3.3.3.1 RDB中心库 69
3.3.3中心库的实现方法 69
3.3.3.2 OODB中心库 70
3.3.3.3中心库与CASE系统 70
3.3.3.4多中心库系统 71
3.4 SEWB3的上游环境工具 72
3.4.2.1 SEWB3中心库的实现方式 72
3.4.2 SEWB3系统信息中心库 72
3.4.1 SEWB3的软件工程方法论背景 72
3.4.2.2 SEWB3中心库的功能 73
6.1.1 软件生存期CASE 1 73
3.4.2.3 SEWB3支持的系统开发环境 75
3.4.2.4中心库在SEWB3支持的系统开发环境中的作用 76
3.4.3面向系统分析者的SEWB3工具 80
3.4.3.1 SEWB3分析方法 80
3.4.3.2 SDF图形工具 83
3.4.3.3中心库数据辞典生成工具 85
3.4.4.1 SEWB3设计方法 86
3.4.4面向系统设计者的SEWB3工具 86
3.4.4.2 SEWB3批处理系统设计支持 88
3.4.4.3 SEWB3联机系统设计支持 95
3.4.5 SEWB3上游支持小结 99
4.1.1 概况 101
4.1.1.1上、下游CASE的衔接问题 101
第四章 下游CASE 101
4.1程序设计与实现阶段 101
4.1.2程序内部规格设计图形工具 102
4.1.1.2程序设计与实现阶段CASE工具箱 102
4.1.3源代码自动生成工具 103
4.1.4程序单元测试工具 103
4.1.4.1程序静态分析工具 103
4.1.4.3自动测试支持工具 105
4.2.1概况 105
4.2测试阶段 105
4.1.4.2程序动态分析工具 105
4.2.3集成测试支持工具 106
4.2.2测试环境模拟工具 106
4.3维护阶段 107
4.3.1概况 107
4.3.2程序分析工具 107
4.3.2.1查重工具 107
4.3.2.2查死数据、死代码工具 109
4.3.3.1重新结构化 109
4.3.3重新结构化工具和逆向软件工程工具 109
4.3.3.2逆向软件工程与再软件工程 110
4.4.1支持COBOL程序开发工程的SEWB3工具 111
4.4.1.1支持COBOL的SEWB3程序开发方法 111
4.4 SEWB3的下游环境工具 111
4.4.1.2用合成法生成源代码 112
4.4.1.3由PAD生成源代码 118
4.4.2.1支持C的SEWB3程序开发流程 122
4.4.2支持C程序开发工程的SEWB3工具 122
4.4.2.2程序结构设计 124
4.4.2.3数据辞典功能 129
4.4.2.4由程序规格说明书生成C程序 131
4.4.2.5由PAD生成C源程序 135
5.1项目管理计划工具 143
5.1.1.3测试前软件差错预测工具 147
5.1.2项目计划支持 150
5.1.2.1进度管理计划工具 150
5.1.2.2成本管理计划工具 150
5.1.2.3质量管理计划工具 152
5.2项目管理跟踪工具 154
5.3项目管理评价、报告工具 154
5.3.1项目评测工具 154
5.3.2质量评测工具 164
5.4中心库支持 165
5.5 SEWB3的项目管理环境工具 165
5.5.1SEWB3项目管理支持的功能概要 166
5.5.1.1可视化项目管理 166
5.5.1.2层次化项目管理 166
5.5.1.3管理信息的自动跟踪、采集 166
5.5.1.4与其他CASE工具的协作 167
5.5.2 SEWB3项目管理体制 167
5.5.2.1管理体制 167
5.5.2.2计划做成 167
5.5.2.3进度管理 168
5.5.3.2管理表 169
5.5.3.1 日程计划表 169
5.5.3 SEWB3项目管理资料 169
5.5.3.3测试工程管理图 171
5.5.3.4管理资料间的关系 171
5.5.4 SEWB3项目跟踪与信息自动收集 171
第六章CASE技术综述 173
6.1 CASE综合分类 173
6.1.2再软件工程CASE 174
6.1.3 CASE工具分类 175
6.2 CASE评价基准 175
6.2.1 易用性(Ease of use) 175
6.2.1.1易用性概念 175
6.2.1.2用户友好性(User-friendness) 176
6.2.1.3用户中心性(User-centricity) 177
6.2.2容量(Capability) 177
6.2.3健壮性(Robusmess) 177
6.2.4功能性(Functionality) 178
6.2.5易插入性(Ease of insertion) 178
6.2.6支持特性(Quality of support) 178
6.3 CASE与方法学 179
6.3.1方法指导 179
6.3.2方法驱动器 180
6.3.2.1方法驱动器概念 180
6.3.2.2方法驱动器组成 181
6.3.2.3使用方法驱动器的软件开发过程 184
6.4 CASE与软件生存期 185
6.4.1传统的重视下游的软件生存期 186
6.4.2结构化方法的重视上游的软件生存期 186
6.4.3 CASE软件生存期 186
6.4.3.1 CASE改变着软件生存期 186
6.4.3.2软件生存期模型的问题 188
6.5 CASE与其他软件技术 189
6.5.1 CASE与DBMS 190
6.5.1.1 DBMS工具体系与CASE工具体系 190
6.5.1.2 CASE中心库与IRDS 191
6.5.2 CASE与人工智能技术 192
6.5.2.2专家系统(Expert System) 195
6.5.2.1集成化工具的智能外壳 195
6.5.3 CASE与软件重用 196
6.5.3.1关于重用技术 196
6.5.3.2可重用库与CASE 200
6.5.3.3支持重用技术的CASE工具 201
6.6 CASE与标准化开发环境 202
6.6.1理想的软件开发环境结构 202
6.6.1.1软件开发环境条件 202
6.6.1.2开放平台(Open Platform)的作用 202
6.6.1.3 CASE环境构成 203
6.6.2软件开发环境标准 204
6.7.1如何成功地使用CASE 206
6.7 CASE实践 206
6.7.2选择CASE工具的技术考虑 207
6.7.3使用CASE不成功的原因 208
6.8 CASE展望 209
6.8.1 CASE所面临的课题 209
6.8.1.1 CASE标准化 209
6.8.1.2 CASE软件工程 209
6.8.1.3 CASE智能化 210
6.8.1.4 CASE与第四代语言 210
6.8.1.5上游CASE与下游CASE的集成 211
6.8.2结束语 211
参考文献 211
索引 212