图书介绍

面向对象的分析与设计PDF|Epub|txt|kindle电子书版本网盘下载

面向对象的分析与设计
  • (美)Andrew Haigh著;贾爱霞等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111113799
  • 出版时间:2003
  • 标注页数:335页
  • 文件大小:17MB
  • 文件页数:345页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

面向对象的分析与设计PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 什么是面向对象1

第1章 面向对象简介1

1.1 结构化技术和面向对象技术的比较3

1.2 什么是面向对象4

1.2.1 面向对象技术是如何与用户关联的5

1.2.2 面向对象技术的其他优势5

1.2.3 面向对象技术的一些弱势7

1.3 什么是对象7

1.3.1 识别对象8

1.3.2 属性12

1.3.3 方法13

1.3.4 对象状态14

1.3.5 类14

1.4 面向对象基础15

1.5 继承17

1.6 重定义21

1.7 文档21

1.7.1 类的描述21

1.7.2 图的使用22

1.7.3 继承23

1.7.4 编码规范23

1.8 小结24

第二部分 分析25

第2章 分析25

2.1 预分析26

2.2 当一个对象不成为对象时27

2.1.1 公共汽车站问题域的实例28

2.2.2 桌子问题域的实例29

2.3 使用用例分析31

2.3.1 用例图31

2.2.3 问题域小结31

2.3.2 一个简单用例的例子32

2.3.3 一个用例模板32

2.3.4 一个用例实例33

2.3.5 写好用例的七个要点34

2.4 记录分析36

2.4.1 分析文档:类的静态特性36

2.4.2 分析文档:类的动态特性38

2.4.3 分析文档:系统的静态特性39

2.4.4 分析文档:系统的动态特性45

2.5 小结50

第三部分 设计51

第3章 设计方案51

3.1 抽象类52

3.2.1 API结构出现以前53

3.2 应用程序编程接口53

3.2.2 为什么使用API结构54

3.2.3 从API类中派生54

3.2.4 使用API类54

3.2.5 Java原始接口55

3.3 模板57

3.3.1 何时使用模板而不使用继承57

3.3.2 在C++中实现的模板样本58

3.4 好的设计--原则和度量标准60

3.4.1 认识设计中“毒瘤”产生的原因60

3.4.2 面向对象的类的设计原则61

3.4.3 设计的度量标准64

3.5 全局对象71

3.6 确定实现方法73

3.7 虚方法74

3.8.1 表层复制构造函数76

3.8.2 深层复制构造函数76

3.8 复制构造函数76

3.9 关联的实现77

3.9.1 双向关联77

3.9.2 单向关联77

3.10 小结78

第4章 需要避免的设计方案79

4.1 过程对象79

4.1.1 过程的变化81

4.1.2 差异处理82

4.1.3 增加新的订单类型82

4.1.4 将控制过程放在对象内部82

4.2 责任的委托82

4.2.1 实例1--确定某人的年龄83

4.2.2 实例2--过滤数据84

4.3.1 实例1--买一台烤面包炉85

4.3 方法责任85

4.3.2 实例2--显示运动队的信息86

4.3.3 实例3--更新联盟中各运动队列表87

4.3.4 实例4--对联盟中各运动队排序88

4.3.5 方法的回顾89

4.4 C++中的友元结构90

4.4.1 访问级别90

4.4.2 友元是如何影响访问级别的90

4.4.3 使用友元结构91

4.4.4 对友元结构的评价92

4.5 多重继承92

4.5.1 从WorkingStudent派生一个类94

4.5.2 重新定义被继承的name方法95

4.5.3 多重继承菱形96

4.5.4 多重继承的替代方法98

4.6 继承的不当使用99

4.7小结102

第5章 高级设计技术103

5.1 高级API结构103

5.1.1 什么是高级API结构104

5.1.2 如何克服缺点104

5.2 线程105

5.2.1 资源同步106

5.2.2 Java同步的问题106

5.2.3 资源的死锁110

5.3 Model/View/Controller机制113

5.3.1 中心MVC Controller方案114

5.3.2 线程方案116

5.3.3 被动反应式方案118

5.3.4 Java方案118

5.4 暴露接口方案125

5.5.1 通过继承实现引用计数127

5.5 引用计数127

5.5.2 通过关联实现引用计数128

5.5.3 多线程应用程序129

5.6 小结130

第四部分 编程132

第6章 测试132

6.1 测试装备132

6.2 关于构造方法和析构方法的测试133

6.3 方法测试134

6.3.1 if-then-else135

6.3.2 for循环135

6.3.3 while循环136

6.3.4 switch语句137

6.3.5 try-catch137

6.3.6 函数调用138

6.3.7 测试单个方法的例子138

6.4 类测试139

6.5 整体测试147

6.6 图形用户界面测试153

6.6.1 基本窗口测试153

6.6.2 使用菜单156

6.7 强度测试160

6.8 系统测试160

6.9 规模测试163

6.10 回归测试163

6.11 小结163

第7章 调试164

7.1 使用调度工具前的准备165

7.2 启动调试工具165

7.2.1 首先启动调试工具165

7.2.2 将调试工具联上运行中的应用程序165

7.3 调试工具的子命令166

7.2.3 使用调试工具和核心文件166

7.3.1 使应用程序停止167

7.3.2 运行应用程序167

7.3.3 检查应用程序168

7.3.4 检查数据169

7.3.5 确定逐行控制170

7.3.6 检查多线程应用程序170

7.3.7 别名173

7.4 调试实例173

7.4.1 实例代码173

7.4.2 使用调试工具175

7.5 小结186

第8章 移植187

8.1 移植到新的操作系统187

8.1.1 Microsoft Visual C++中的线程支持188

8.1.2 UNIX中的线程支持189

8.1.3 Java中的线程支持191

8.2 移植到新的硬件平台192

8.2.1 支持Endianism192

8.2.2 32位和64位机器的比较195

8.3 移植到新的语言195

8.3.1 国际化和本地化195

8.3.2 应用程序国际化时需要考虑的问题196

8.3.3 单字节和双字节字符集199

8.3.4 宽字符串200

8.3.5 Unicode200

8.4 将消息中的字符串本地化201

8.4.1 创建消息目录--UNIX201

8.4.2 资源文件--Microsoft205

8.5 开发国际化应用程序205

8.5.1 策划一个国际化应用程序205

8.5.5 测试应用程序206

8.5.4 设计用户界面206

8.5.2 确定接受哪些数据206

8.5.3 编写代码206

8.6 设计用户界面207

8.6.1 创建应用程序消息文本207

8.6.2 设计菜单和表单207

8.6.3 使用图标和位图207

8.7 建立可被移植的应用程序的目标结构208

8.8 小结208

第9章 应用程序生命周期209

9.1 写出源代码的文档209

9.1.1 一般的注释209

9.1.2 C++文件的文档210

9.1.3 C++头文件的语法211

9.1.4 Java文件的文档212

9.1.5 源代码语句的安排213

9.2 组织项目的目录结构215

9.3 使用make工具216

9.3.1 选项217

9.3.2 操作数217

9.3.3 读取makefile和环境218

9.3.4 makefile目标项218

9.3.5 特殊字符218

9.3.6 特殊功能目标219

9.3.7 后缀替换宏引用219

9.3.8 makefile的例子222

9.3.9 可移植makefile的例子222

9.3.10 创建依赖条件227

9.4 使用源代码管理控制工具227

9.4.1 源代码管理控制系统227

9.4.2 SCCS的例子231

9.5 错误报告238

9.6 改进需求238

9.7 修改记录238

9.8 回归测试238

9.9 小结239

第五部分 实例学习242

第10章 实例学习1--一个模拟的公司242

10.1 项目需求242

10.2 用例242

10.2.1 用例模板的翻版243

10.2.2 Use Case #1--贷款申请243

10.2.3 Use Case #2--购置机器设备245

10.2.4 Use Case #3--生产运营245

10.2.5 Use Case #4--处理公司的财务247

10.3 分析文档--类的静态特性248

10.2.6 Use Case #5--显示公司的详细信息248

10.3.1 类图249

10.3.2 CRC卡片250

10.3.3 脚本250

10.4 分析文档--类的动态特性253

10.5 分析文档--系统的静态特性255

10.5.1 类关系图255

10.5.2 协作图258

10.6 分析文档--系统的动态特性262

10.6.1 活动图263

10.6.2 序列脚本267

10.6.3 序列图272

10.7 小结274

第11章 实例学习2--开发一个多线程机场管理模拟程序275

11.1 一次只有一架飞机275

11.2.1 降落过程280

11.2 一个停机位入口同时有两架飞机280

11.2.2 起飞过程281

11.2.3 修改后的降落/起飞过程282

11.2.4 修改后的Java代码283

11.3 一个停机位入口同时有三架飞机289

11.3.1 降落过程289

11.3.2 起飞过程290

11.3.3 修改后的降落过程291

11.3.4 修改后的Java代码291

11.4 更多的飞机--再增加一些停机位入口293

11.5 飞机在机场活动的整个生存周期295

11.6 最终的解决方案305

11.6.1 机场细节信息窗口305

11.6.2 Java代码306

11.7 小结306

附录 “哲学家”源代码307

热门推荐