面向对象的分析与设计PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:(美)Andrew Haigh著;贾爱霞等译
- 出 版 社:北京:机械工业出版社
- 出版年份:2003
- ISBN:7111113799
- 页数:335 页
第一部分 什么是面向对象 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-else 135
6.3.2 for循环 135
6.3.3 while循环 136
6.3.4 switch语句 137
6.3.5 try-catch 137
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 支持Endianism 192
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 Unicode 200
8.4 将消息中的字符串本地化 201
8.4.1 创建消息目录--UNIX 201
8.4.2 资源文件--Microsoft 205
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
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《分析化学》陈怀侠主编 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《影响葡萄和葡萄酒中酚类特征的因素分析》朱磊 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《仪器分析技术 第2版》曹国庆 2018
- 《景观艺术设计》林春水,马俊 2019
- 《全国普通高等中医药院校药学类专业十三五规划教材 第二轮规划教材 分析化学实验 第2版》池玉梅 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019