不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2015-01-18 23:32  分类:杂七杂八 

第1章 简介

1.1 什么是面向对象
1.2 什么是OO开发
1.2.1 对概念而非实现建模
1.2.2 OO方法论
1.2.3 三种模型
1.3 OO主题
1.3.1 抽象
1.3.2 封装
1.3.3 组合数据和行为
1.3.4 共享
1.3.5 强调对象的本质
1.3.6 协同
1.4 关于OO开发有效性的证据
1.5 OO建模历史
1.6 本书的组织结构
参考文献注释
参考文献
习题
第一部分 建模的概念

第2章 建模是一种设计技术

2.1 建模
2.2 抽象
2.3 三种模型
2.3.1 类模型
2.3.2 状态模型
2.3.3 交互模型
2.3.4 模型间的关系
2.4 小结
参考文献注释
习题

第3章 类建模

3.1 对象和类的概念
3.1.1 对象
3.1.2 类
3.1.3 类图
3.1.4 值和属性
3.1.5 操作和方法
3.1.6 类表示法小结
3.2 链接和关联的概念
3.2.1 链接和关联
3.2.2 多重性
3.2.3 关联端名
3.2.4 排序
3.2.5 包和序列
3.2.6 关联类
3.2.7 限定关联
3.3 泛化和继承
3.3.1 定义
3.3.2 泛化的用途
3.3.3 覆写特征
3.4 类模型的一个示例
3.5 类模型导航
3.5.1 遍历类模型的OCL构件
3.5.2 构建OCL表达式
3.5.3 OCL表达式的示例
3.6 实践技巧
3.7 小结
参考文献注释
参考文献
习题

第4章 高级类建模

4.1 高级对象和类的概念
4.1.1 枚举
4.1.2 多重性
4.1.3 作用域
4.1.4 可见性
4.2 关联端
4.3 n元关联
4.4 聚合
4.4.1 聚合与关联
4.4.2 聚合与组合
4.4.3 操作的传播
4.5 抽象类
4.6 多重继承
4.6.1 多重继承的种类
4.6.2 多重分类
4.6.3 应对方案
4.7 元数据
4.8 具体化
4.9 约束
4.9.1 对象上的约束
4.9.2 泛化集上的约束
4.9.3 链接上的约束
4.9.4 使用约束
4.10 派生数据
4.11 包
4.12 实践技巧
4.13 小结
参考文献注释
参考文献
习题

第5章 状态建模

5.1 事件
5.1.1 信号事件
5.1.2 变更事件
5.1.3 时间事件
5.2 状态
5.3 迁移和状态
5.4 状态图
5.4.1 状态图示例
5.4.2 单触发状态图
5.4.3 状态图的基本表示法小结
5.5 状态图行为
5.5.1 活动效应
5.5.2 do活动
5.5.3 进入和退出活动
5.5.4 完成迁移
5.5.5 发送信号
5.5.6 带有活动的状态图示例
5.6 实践技巧
5.7 小结
参考文献注释
参考文献
习题

第6章 高级状态建模

6.1 嵌套状态图
6.1.1 平面状态图的问题
6.1.2 扩展状态
6.2 嵌套状态
6.3 信号泛化
6.4 并发
6.4.1 聚合并发
6.4.2 对象内的并发
6.4.3 并发活动的同步
6.5 状态模型示例
6.6 类状态模型的关系
6.7 实践技巧
6.8 小结
参考文献注释
参考文献
习题

第7章 交互建模

7.1 用例模型
7.1.1 参与者
7.1.2 用例
7.1.3 用例图
7.1.4 用例模型的准则
7.2 顺序模型
7.2.1 场景
7.2.2 顺序图
7.2.3 顺序模型的准则
7.3 活动模型
7.3.1 活动
7.3.2 分支
7.3.3 初始和终止
7.3.4 并发活动
7.3.5 可执行活动图
7.3.6 活动模型的准则
7.4 小结
参考文献注释
参考文献
习题

第8章高级交互建模

8.1 用例关系
8.1.1 包含关系
8.1.2 扩展关系
8.1.3 泛化
8.1.4 用例关系的组合
8.1.5 用例关系的准则
8.2 过程式顺序模型
8.2.1 带有被动对象的顺序图
8.2.2 带有临时对象的顺序图
8.2.3 过程化顺序模型的准则
8.3 活动模型的特殊结构
8.3.1 发送和接收信号
8.3.2 泳道
8.3.3 对象流
8.4 小结
参考文献
习题

第9章 概念小结

9.1 类模型
9.2 状态模型
9.3 交互模型
9.4 模型之间的关系
9.4.1 泛化
9.4.2 聚合
第二部分 分析和设计

第10章 过程概述

10.1 开发阶段
10.1.1 系统构思
10.1.2 分析
10.1.3 系统设计
10.1.4 类设计
10.1.5 实现
10.1.6 测试
10.1.7 培训
10.1.8 部署
10.1.9 维护
10.2 开发生命周期
10.2.1 瀑布式开发
10.2.2 迭代开发
10.3 小结
参考文献注释
习题

第11章 系统构思

11.1 形成系统概念
11.2 阐释概念
11.3 准备问题陈述
11.4 小结
习题

第12章 领域分析

12.1 分析概述
12.2 领域类模型
12.2.1 寻找类
12.2.2 保留正确的类
12.2.3 准备数据词典
12.2.4 寻找关联
12.2.5 保留正确的关联
12.2.6 寻找属性
12.2.7 保留正确的属性
12.2.8 使用继承来细化
12.2.9 测试访问路径
12.2.10 迭代类模型
12.2.11 变换抽象的层次
12.2.12 把类分组打包
12.3 领域状态模型
12.3.1 确定具有状态的类
12.3.2 寻找状态
12.3.3 寻找事件
12.3.4 构建状态图
12.3.5 评价状态图
12.4 领域交互模型
12.5 将分析迭代
12.5.1 细化分析模型
12.5.2 重述需求
12.5.3 分析和设计
12.6 小结
参考文献注释
参考文献
习题

第13章 应用分析

13.1 应用程序交互模型
13.1.1 确定系统边界
13.1.2 寻找参与者
13.1.3 寻找用例
13.1.4 寻找初始和终止事件
13.1.5 准备普通场景
13.1.6 增加变化和异常场景
13.1.7 寻找外部事件
13.1.8 编制复杂用例的活动图
13.1.9 组织参与者和用例
13.1.10 检查领域类模型
13.2 应用类模型
13.2.1 确定用户界面
13.2.2 定义边界类
13.2.3 确定控制器
13.2.4 检查交互模型
13.3 应用状态模型
13.3.1 使用状态来确定应用类
13.3.2 寻找事件
13.3.3 构建状态图
13.3.4 检查其他状态图
13.3.5 检查类模型
13.3.6 检查交互模型
13.4 增加操作
13.4.1 来自类模型的操作
13.4.2 来自用例的操作
13.4.3 购物清单操作
13.4.4 简化操作
13.5 小结
参考文献注释
参考文献
习题

第14章 系统设计

14.1 系统设计概述
14.2 估算性能
14.3 制订复用计划
14.3.1 库
14.3.2 框架
14.3.3 模式
14.4 将系统拆分成子系统
14.4.1 分层
14.4.2 分区
14.4.3 组合分层和分区
14.5 确定并发性
14.5.1 识别内部的并发性
14.5.2 定义并发任务
14.6分 配子系统
14.6.1 估算硬件资源需求
14.6.2 权衡硬件和软件
14.6.3 给处理器分配任务
14.6.4 确定物理连通性
14.7 管理数据存储
14.8 处理全局资源
14.9 选择软件控制策略
14.9.1 过程驱动型控制
14.9.2 事件驱动型控制
14.9.3 并发控制
14.9.4 内部控制
14.9.5 其他范型
14.10 处理边界条件
14.11 设定权衡优先级
14.12 常见的架构风格
14.12.1 批处理转换
14.12.2 连续型转换
14.12.3 交互式界面
14.12.4 动态仿真
14.12.5 实时系统
14.12.6 事务管理器
14.13 ATM系统的架构
14.14 小结
参考文献注释
参考文献
习题

第15章 类设计

15.1 类设计概述
15.2 填补空白区
15.3 实现用例
15.4 设计算法
15.4.1 选择算法
15.4.2 选择数据结构
15.4.3 定义内部类和操作
15.4.4 把操作分配给类
15.5 向下递归
15.5.1 功能分层
15.5.2 机制分层
15.6 重构
15.7 设计优化
15.7.1 为了高效访问而增加冗余的关联
15.7.2 为了效率而重新调整执行顺序
15.7.3 将派生值保存下来以避免重新计算
15.8 行为具体化
15.9 调整继承
15.9.1 重新调整类和操作
15.9.2 提取公共行为
15.9.3 使用委托来共享行为
15.10 组织类设计
15.10.1 信息隐藏
15.10.2 实体的内聚性
15.10.3 微调包
15.11 ATM示例
15.12 小结
参考文献注释
参考文献
习题

第16章 过程小结

16.1 系统构思
16.2 分析
16.2.1 领域分析
16.2.2 应用分析
16.3 设计
16.3.1 系统设计
16.3.2 类设计
第三部 分实现

第17章 实现建模

17.1 实现概述
17.2 微调类
17.3 微调泛化
17.4 实现关联
17.4.1 分析关联遍历
17.4.2 单向关联
17.4.3 双向关联
17.4.4 高级关联
17.4.5 ATM示例
17.5 测试
17.5.1 单元测试
17.5.2 系统测试
17.6 小结
参考文献注释
参考文献
习题

第18章 OO语言

18.1 简介
18.1.1 C++简介
18.1.2 Java简介
18.1.3 比较C++和Java
18.2 简化的ATM模型
18.3 实现结构
18.3.1 数据类型
18.3.2 类
18.3.3 访问控制
18.3.4 泛化
18.3.5 关联
18.4 实现功能
18.4.1 创建对象
18.4.2 对象的生存期
18.4.3 对象销毁
18.4.4 链接创建
18.4.5 链接销毁
18.4.6 派生属性
18.5 实践技巧
18.6 小结
参考文献注释
参考文献
习题

第19章 数据库

19.1 简介
19.1.1 数据库的概念
19.1.2 关系数据库的概念
19.1.3 范式
19.1.4 选择DBMS产品
19.2 简化的ATM模型
19.3 实现结构--基础
19.3.1 类
19.3.2 关联
19.3.3 泛化
19.3.4 标识
19.3.5 RDBMS实现的基本规则小结
19.4 实现结构--高级
19.4.1 外键
19.4.2 检查约束
19.4.3 索引
19.4.4 视图
19.4.5 小结RDBMS实现的高级规则
19.5 为ATM示例实现结构
19.6 实现功能
19.6.1 将程序设计语言耦合到数据库中
19.6.2 数据转换
19.6.3 封装与查询优化
19.6.4 使用SQL代码
19.7 面向对象数据库
19.8 实践技巧
19.9 小结
参考文献注释
参考文献
习题

第20章 程序设计风格

20.1 面向对象的风格
20.2 可复用性
20.2.1 可复用性的类别
20.2.2 可复用性的风格准则
20.2.3 使用继承
20.3 可扩展性
20.4 健壮性
20.5 大规模程序设计
20.6 小结
参考文献注释
参考文献
习题
第四部分 软件工程

第21章 迭代开发

21.1 迭代开发概述
21.2 迭代开发与瀑布式开发
21.3 迭代开发与快速原型法
21.4 迭代的适用范围
21.5 执行一次迭代
21.6 规划下一次迭代
21.7 建模和迭代开发
21.8 识别风险
21.9 小结
参考文献注释
参考文献

第22章 管理建模

22.1 管理建模概述
22.2 模型的类型
22.3 建模的缺陷
22.4 建模会话
22.4.1 密室建模
22.4.2 轮转建模
22.4.3 实况建模
22.5 组织人员
22.6 学习技术
22.7 教授技术
22.8 工具
22.8.1 建模工具
22.8.2 配置管理工具
22.8.3 代码生成器
22.8.4 模拟工具
22.8.5 库
22.9 估算建模工作量
22.10 小结
参考文献注释
参考文献

第23章 遗留系统

23.1 逆向工程
23.1.1 逆向工程与正向工程
23.1.2 逆向工程的输入
23.1.3 逆向工程的输出结果
23.2 构造类模型
23.2.1 实现复原
23.2.2 设计复原
23.2.3 分析复原
23.3 构造交互模型
23.4 构造状态模型
23.5 逆向工程的技巧
23.6 包装
23.7 维护
23.8 小结
参考文献注释
参考文献
附录A UML图形化表示法
附录B 术语表
部分习题答案

 

电子书下载:http://download.csdn.net/download/hongsiye/5046383