0.1 课程的内容 1
0.1.1 OOAD的主要原理、理论和原则 1
0.1.2 UML主要用法以及常用UML工具 1
0.1.3 基本设计思想和典型的设计模式 2
0.1.4 软件开发过程管理的基本知识 2
0.1.5 软件质量保证的标准以及CMM原理和实施 2
0.2 了解系统分析员 3
0.3 本书内容组织 7
0.3.1 软件专家的技能 7
0.3.2 系统分析员应当具备的知识体系 9
0.3.3 系统分析设计的目的和判断标准 10
0.4 系统分析常用的思考方法 10
0.4.1 分析——自顶向下 11
0.4.2 构造——自底向上 11
0.4.3 模拟与抽象 11
0.4.4 试验——原型化 12
0.4.5 简化和扩展 12
0.4.6 继承和使用 12
0.5 系统分析策略和原则 12
0.5.1 突出特点——加权平衡 12
0.5.2 演进式采用新技术 13
0.5.3 从分析到设计 13
0.6 本书的预备知识——Java语言的发展和使用概述 13
0.6.1 Java语言的特点 13
0.6.2 Java语法简介 14
0.6.3 Java语言的优势简介 16
第1章 面向对象的程序设计 17
1.1 00的好处和如何发挥这些优势 17
1.2 什么是对象 18
1.2.1 对象概念的引入 18
1.2.2 对象的静态结构 21
1.2.3 对象的空间结构 22
1.2.4 对象的时间结构(生存周期) 22
1.2.5 对象的环境 23
1.2.6 OOAD的目标和对象 23
1.3 类 24
1.3.1 类的结构(静态结构) 24
1.3.2 类之间的相互关系 32
1.4 接口 40
1.4.1 抽象类 41
1.4.2 接口 41
1.5 异常 43
1.6 包 46
1.7 组件和控件 47
1.8 消息(事件) 51
1.9 对象持久化 51
1.9.1 信息持久化的数据库方式 52
1.9.2 信息持久化的XML方式 55
小结 59
第2章 UML的概念和使用 60
2.1 UML概述 60
2.1.1 好处和使用方法 60
2.1.2 UML工具介绍和使用方式 61
2.2 UML的图和视图 63
2.2.1 UML中图的种类 63
2.2.2 UML的标准视图 64
2.3 用例图 66
2.3.1 用例和行为者的概念 67
2.3.2 行为者的确定 69
2.3.3 用例的提取 69
2.3.4 用例图 69
2.3.5 用例总结 71
2.3.6 实例 71
2.4 类图和对象图 77
2.4.1 基本标识 77
2.4.2 使用UML工具刻画类的结构 78
2.4.3 类之间的关系 79
2.4.4 包图 87
2.4.5 作用 88
2.4.6 实例 89
2.5 顺序图 93
2.5.1 基本标识 93
2.5.2 顺序图的作用 96
2.5.3 实例 96
2.6 协作图 106
2.6.1 基本标识 106
2.6.2 使用 108
2.7 状态图 109
2.7.1 主要标识符 109
2.7.2 实例 112
2.8 活动图 114
2.8.1 主要标识 115
2.8.2 实例 116
2.9 组件图 116
2.9.1 基本标识 117
2.9.2 作用 118
2.9.3 实例 118
2.10 物理图 118
2.10.1 基本标识 119
2.10.2 实例 121
小结 122
第3章 设计模式 123
3.1 概述 123
3.1.1 设计模式的概念 124
3.1.2 设计模式的原则 124
3.1.3 模式的运用 125
3.2 创建型模式 126
3.2.1 抽象工厂 127
3.2.2 生成器 130
3.2.3 工厂方法 132
3.2.4 单子 134
3.3 结构型模式 136
3.3.1 适配器 136
3.3.2 桥接 137
3.3.3 装饰 139
3.3.4 代理 141
3.4 行为型模式 143
3.4.1 命令 144
3.4.2 观察者 146
3.4.3 策略 148
3.4.4 访问者 150
3.4.5 模板方法 153
小结 154
第4章 软件工程和软件项目管理 155
4.1 软件生存期 155
4.1.1 软件产品的特点 155
4.1.2 软件的生存周期 155
4.2 软件过程 158
4.2.1 概念发展 158
4.2.2 软件过程模型 160
4.3 软件工程 165
4.3.1 概念 165
4.3.2 基本目标 166
4.4 软件项目管理 167
4.4.1 软件项目管理 167
4.4.2 摸清软件项目的目标和资源使用的方式 169
4.4.3 项目的度量和测算 173
4.4.4 风险识别和管理 175
4.4.5 制订计划 177
4.4.6 人员的组织管理 179
4.4.7 执行以及跟踪 182
4.4.8 项目总结 182
小结 183
第5章 CMM和其他软件开发标准 184
5.1 软件特点和质量保证体系 184
5.1.1 软件的特点 184
5.1.2 质量管理过程的进化 185
5.1.3 软件质量管理标准 186
5.2 IS09000质量保证体系 187
5.2.1 ISO体系特点 187
5.2.2 ISO9000标准的科学依据 188
5.2.3 质量体系 189
5.2.4 如何实施 191
5.2.5 最新改进 192
5.3 CMM概述 194
5.3.1 CMM诞生的意义 194
5.3.2 CMM的大体架构 194
5.3.3 CMM关键过程域的参与者 196
5.3.4 软件过程评估的应用领域 197
5.4 CMM的内容 197
5.4.1 CMMl 197
5.4.2 CMM2 199
5.4.3 CMM3 210
5.4.4 CMM4 218
5.4.5 CMM5 222
5.5 CMM的实施 226
5.5.1 实施目标和实施策略 226
5.5.2 实施的关注点 227
5.5.3 实施过程的基本动力 227
5.5.4 实施步骤的决定因素 228
5.6 XP 228
5.6.1 CMM和XP的思想 228
5.6.2 什么是XP 229
5.6.3 XP原则 230
5.6.4 XP方法 231
5.6.5 XP的实施 235
小结 237
附录 计算机水平考试——系统分析员考试简介 238