第一章 计算机软件系统的发展 1
1.1 程序和软件 1
1.1.1 程序 1
1.1.2 软件 3
1.2 程序设计的发展 4
1.2.1 程序开发初期的变迁 5
1.2.2 程序设计语言的发展历程 6
1.2.3 典型高级程序语言 8
1.2.4 程序设计方法的发展趋势 10
第二章 经典软件开发技术 11
2.1 程序执行的机理 11
2.2 软件开发工具的结构 14
2.2.1 代表性程序设计语言的结构 15
2.2.2 高级语言程序的编译与执行 27
2.3 结构化程序设计与良结构的程序 28
2.3.1 结构化程序设计 28
2.3.2 被保留的转移语句结构 32
2.3.3 良结构的程序 34
2.3.4 结构化程序设计工具 34
2.4 分而治之方法在软件开发的作用 35
2.4.1 分而治之的工具——函数 36
2.4.2 逐步求精法 42
第三章 工程学软件开发技术 48
3.1 软件生命周期 48
3.2 软件开发过程 53
3.2.1 软件开发过程 53
3.2.2 软件开发过程中的方法 56
3.2.3 软件开发过程中的相关人员 59
3.2.4 软件开发原则 59
3.3 软件设计 62
3.4 模块的划分与模块化软件开发方法 64
3.4.1 模块、子程序与函数 64
3.4.2 模块设计方法的准则 67
3.4.3 模块划分方法 69
3.4.4 模块程序设计 73
第四章 面向对象的软件开发技术 77
4.1 对象的基本概念 77
4.1.1 对象 78
4.1.2 类 79
4.1.3 消息和方法 80
4.2 面向对象的程序设计 82
4.2.1 类与对象在面向对象语言中的封装 82
4.2.2 实现重用技术的继承 86
4.2.3 多态性(多形性) 93
4.2.4 面向对象程序设计中的高级技术 94
4.3 面向对象的生命周期 96
4.4 面向对象的开发方法 97
第五章 面向组件的软件开发技术 99
5.1 软件体系结构的概述 99
5.1.1 软件体系结构 99
5.1.2 软件体系结构的模型 101
5.2 组件技术 103
5.2.1 软件重用 103
5.2.2 组件 104
5.2.3 面向重用的组件开发 114
5.3 中间件技术 117
5.3.1 应用结构的发展 117
5.3.2 中间件(middleware) 118
5.3.3 基于中间件的软件系统开发和部署方式 121
5.4 分布式网络计算结构 122
5.5 分布式对象技术 123
5.5.1 CORBA 125
5.5.2 DCOM 128
5.5.3 J2EE 130
5.6 应用系统集成 132
5.6.1 应用系统集成模型 134
5.6.2 开发一个J2EE应用程序 137
参考文献 140