《面向对象分析设计与编程 OOA/OOD/OOP/AOP》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:吴炜煜编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302141207
  • 页数:312 页
图书介绍:本书系统讲述面向对象软件的分析设计理论和表达实现方法。

1.1 引论 1

1.1.1 软件概念的发展 1

第1章 面向对象技术概论 1

1.1.2 软件开发原理的4次变革 2

1.1.3 面向对象语言的3个里程碑 4

1.2 面向对象的基本概念 4

1.2.1 对象、类、消息 5

1.2.2 封装性、继承性和多态性 6

1.2.3 常用术语简释和定义 8

1.2.4 概念内涵的区别 9

1.3 面向对象的分析方法 10

1.3.1 OOA方法评介 10

1.3.3 OOA模型 11

1.3.2 OOA步骤 11

1.3.4 OOA视图 12

1.3.5 OOA提交 13

1.4 面向对象的设计初步 14

1.4.1 OOD模型 14

1.4.2 什么是优良的OOD 15

1.4.3 对象标识设计 15

1.4.4 复杂对象的构造设计 16

1.4.5 一个GIS的OOD模型实例 17

1.5 教学建议 18

习题 19

2.1 面向对象软件工程特点 20

2.1.1 面向对象软件工程概述 20

第2章 面向对象软件工程 20

2.1.2 对象建模技术 21

2.1.3 RUP简介 26

2.1.4 面向对象软件工程实例 28

2.2 系统分析阶段 34

2.2.1 OOA过程模型 34

2.2.2 研究问题论域及用户需求 35

2.2.3 对象识别的客观性方法 35

2.2.4 识别对象的内部特征 40

2.2.5 识别对象的外部特征 42

2.2.6 信息建模的规范化过程 45

2.3 系统设计阶段和步骤 47

2.3.1 系统划分 47

2.3.2 设计阶段 48

2.3.3 设计步骤 49

2.4 评审和修正OOA模型 49

2.4.1 分析模型的一致性和完整性 49

2.4.2 OOA模型的评审策略 52

2.4.3 从OOA到OOD的过渡 53

2.5 系统文档编制、系统实现和测试 54

2.5.1 编制设计文档 54

2.5.2 系统实现 55

2.5.3 系统测试 56

习题 57

第3章 统一建模语言 58

3.1 UML语言概述 58

3.1.1 UML发展历史 58

3.1.3 UML的4层架构模型 59

3.1.4 UML的视图 59

3.1.2 建模语言的重要性 59

3.1.5 UML的图形表示 60

3.1.6 UML的模型元素 60

3.1.7 UML的扩展机制与通用机制 60

3.2 UML静态建模 61

3.2.1 用例图 61

3.2.2 类图 62

3.2.3 对象图 63

3.3 UML的动态建模 63

3.3.1 序列图 63

3.3.2 状态图 64

3.3.4 协作图 65

3.3.3 活动图 65

3.4 UML物理架构建模 66

3.4.1 组件图 66

3.4.2 配置图 66

3.5 UML的应用及实例 67

3.5.1 需求分析 67

3.5.2 UML静态建模表示 68

3.5.3 UML动态建模表示 68

3.5.4 UML物理架构建模表示 69

习题 73

第4章 C++基本知识速成 74

4.1 C++语言概述 74

4.1.1 C++的面向对象特征 74

4.1.2 C++语言对C语言在非面向对象方面的增强 77

4.2.1 C++程序示例 80

4.2 C++程序构架及词法符号约定 80

4.2.2 C++程序的一般结构 82

4.2.3 C++的词法符号约定 87

4.3 C++的数据类型 91

4.3.1 C++的数据类型及类型修饰符 91

4.3.2 常量 99

4.3.3 变量 102

4.4 C++的运算符和表达式 105

4.4.1 C++中的基本运算符 105

4.4.2 C++表达式 114

4.5 C++的语句及程序流程控制 114

4.5.1 if条件分支语句 115

4.5.2 switch开关分支语句 116

4.5.3 循环控制语句 118

4.5.4 跳转控制语句 120

4.6 输入输出流简介 122

4.6.1 无格式输入输出 122

4.6.2 指定格式输入输出 123

习题 126

第5章 聚合数据类型与操作函数 129

5.1 数组类型与简单线性表处理 129

5.1.1 线性表结构的C++处理方法 129

5.1.2 数组的定义与使用 131

5.1.3 多维数组 132

5.1.4 字符数组 134

5.2 指针类型与地址算法 134

5.2.1 指针的概念与定义 134

5.2.2 指针变量的运算规则 136

5.2.3 指针与数组的关系 138

5.2.4 指针与字符串 139

5.2.5 指针数组 140

5.2.6 多级指针 141

5.2.7 void型和const型指针 141

5.3 函数类型与应用方法 142

5.3.1 函数的定义与调用 142

5.3.2 函数类型与参数传递 143

5.3.3 内联型函数 147

5.3.4 递归调用 148

5.3.5 函数重载 148

5.3.6 函数指针 150

5.4 结构类型及链表处理 153

5.4.1 结构变量定义及使用 153

5.4.2 结构数组 154

5.4.3 结构指针 155

5.4.4 结构的嵌套与递归 156

5.4.5 链表类数据处理 157

5.4.6 联合 158

5.4.7 位域 160

5.4.8 枚举类型 160

习题 162

第6章 类与对象的构造设计 164

6.1 类的构造和创建 164

6.1.1 类设计的基本概念 165

6.1.2 类的说明与对象定义 165

6.1.3 成员函数的功能与定义方式 167

6.1.4 对类成员的访问 168

6.2 构造函数和析构函数 168

6.2.1 构造函数的特性 169

6.2.2 构造函数的设计和使用 170

6.2.3 析构函数的特性和用法 174

6.3 类构造的存储设计 174

6.3.1 类的静态成员 174

6.3.2 对象的动态存储分配 175

6.4 类中类用法 176

6.4.1 类对象作为成员 176

6.4.2 类的自引用 177

6.5 类与对象的进一步用法 178

6.5.1 类对象指针 178

6.5.2 对象数组 179

6.5.3 友元函数 180

6.5.4 对象作函数参数 181

6.6.2 联合与类 183

6.6 类与结构、联合的关系 183

6.6.1 结构与类 183

6.7 类设计应用实例解析 185

习题 187

第7章 继承性和派生类 188

7.1 类层次、数据抽象和模块化 188

7.1.1 类的层次 188

7.1.2 软件设计模块化 189

7.1.3 继承性的含义 190

7.2 基类和派生类 191

7.2.1 基类与派生类的说明 191

7.2.2 派生类的继承权与访问域 193

7.2.3 派生类的构造函数和析构函数 196

7.3.1 多层继承方法 198

7.3 多重继承的设计 198

7.3.2 直接继承多个基类的方法 199

7.3.3 多继承的构造函数与析构函数 200

7.3.4 继承成员二义性与虚基类方法 200

7.4 OOP的通用类和类模板方法 204

7.4.1 类属函数 204

7.4.2 类属类 206

7.4.3 类模板的应用 207

7.5 继承性应用实例分析 209

习题 213

第8章 多态性与虚函数 214

8.1 重载与程序的多态性设计 215

8.1.1 函数重载 215

8.1.2 运算符重载 216

8.1.3 各种运算符重载设计的问题讨论 218

8.1.4 编译时的多态 222

8.1.5 运行时的多态 223

8.2 虚函数方法与多态机制 224

8.2.1 虚函数的应用特性 224

8.2.2 虚函数与构造函数、析构函数 230

8.2.3 多继承中的虚函数用法 232

8.2.4 虚函数的多态性应用实例分析 233

8.3 纯虚函数与同一协议的多版本 235

8.3.1 纯虚函数的定义和性质 235

8.3.2 抽象类的用法 236

8.3.3 纯虚函数的应用例析 237

习题 240

8.4 利用类库中虚函数进行多态程序设计 240

第9章 面向方面编程方法 242

9.1 AOP方法和概念 242

9.1.1 什么是软件的关注点 242

9.1.2 AOP的概念 243

9.2 AOP基本组件 243

9.3 AOP程序设计方法 244

9.3.1 AOP实现的原理 244

9.3.2 AOP程序设计的步骤 245

9.3.3 AOP在Java中的实现 245

9.4 AOP方法实例 246

9.5 面向方面的软件工程 248

9.6 AOP研究与发展讨论 249

习题 250

第10章 面向对象编程环境与工具 251

10.1 开发环境的重要性 251

10.2 开发环境总览 252

10.3 Visual C++ 255

10.3.1 Microsoft Visual C++使用方法简介 255

10.3.2 新应用的创建 269

10.3.3 将基本应用框架进一步开发为自己的应用程序 278

10.3.4 MFC指南 288

10.4 Visual J++ 292

10.4.1 快速熟悉Visual J++开发环境 292

10.4.2 在Visual J++下开发小程序和应用程序 299

习题 308

附录A 面向对象分析/设计课程实习大作业 310

参考文献 312