面向对象分析和设计
分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: 宛延闿 定海 编著
出 版 社: 清华大学出版社
出版时间: 2001-2-1字数:版次: 1版1次页数: 450印刷时间:开本:印次:纸张: 胶版纸I S B N : 9787302012719包装: 精装编辑推荐
内容简介
本书详尽地叙述了面向对象概念集和与编程无关的图形表示法——对象模型技术(OMT)。OMT表示法适用于从分析问题需求到设计这个问题的解,然后用编程语言或数据库实现这个解的全过程。
本书共分4个部分21章。第一部分介绍基本的与编程无关的面向对象高层概念和 OMT技术表示法,并将OMT贯穿于权术啊例子之中;第二部分循序渐进地描述软件开发的面向对象方法学;第三部分描述在不同开发环境中面向对象设计的实现,包括面向对象语言、非面向对象语言和关系数据库;第四部分介绍了几个典型的实例和实践技巧。这些实例对面向对象方法在各个领域中的应用和开发具有现实意义。书中每章都有练习并在书后对较难的练习作了提示性解答。
本书可作为计算机专业本科生和研究生的软件工程和面向对象技术课程的教材,或作为数据库、程序设计语言的补充教材,也可作为系统分析和设计人员、软件开发人员以及面向对象程序设计人员必备的参考书。
作者简介
目录
第1章 引言
1.1 面向对象的概念
1. 1. 1 对象的特性
1.2 面向对象开发的概念
1. 2. 1 面向对象的思维
1. 2. 2 面向对象方法学
1. 2. 3 三种模型
1. 2. 4 功能方法学上的差异
1.3 面向对象技术要点
1. 3. 1 抽象
1. 3. 2 封装
1. 3. 3 数据和行为的联合
1. 3. 4 共享
1. 3. 5 重点在对象结构, 不是在过程结构
1. 3. 6 协同作用
1.4 面向对象开发的可用性例证
1.5 面向对象方法的要点和主要优点
1.6 本书的组织
练习......................................................12
第2章 一种设计技术的建模
2.1 建模
2. 1. 1 使用模型的目的
2. 1. 2 抽象
2.2 对象模型技术
2. 2. 1 对象模型
2. 2. 2 动态模型
2. 2. 3 功能模型
2. 2. 4 三种模型的联系
2.3 小结
练习.......................................................20
第3章 对象模型
3.1 对象和类
3. 1. 1 对象
3. 1. 2 类
3. 1. 3 对象图
3. 1. 4 属性
3. 1. 5 操作和方法
3. 1. 6 对象类的表示方法
3. 1. 7 对象和类的OMT表示的改进
3. 1. 8 改进的对象和类的表示小结
3.2 链接和关联
3. 2. 1 一般概念
3. 2. 2 重数
3. 2. 3 关联的重要性
3.3 高级链接和关联概念
3. 3. 1 链接属性
3. 3. 2 用关联模型化分类
3. 3. 3 角色名
3. 3. 4 排序
3. 3. 5 资格符
3. 3. 6 聚合
3.4 概括和继承
3. 4. 1 一般概念
3. 4. 2 概括的使用
3. 4. 3 重写的特征
3.5 构造分组
3. 5. 1 模块
3. 5. 2 表
3.6 对象模型的一个实例
3.7 OMT 对象模型在链接和关联方面的改进
3.8 实践的技巧
3.9 小结
练习......................................................47
第4章 高级对象模型
4.1 对象和类的概念
4. 1. 1 例化
4. 1. 2 类属性和操作
4. 1. 3 属性的重数
4. 1. 4 类的候选关键字
4. 1. 5 域
4. 1. 6 数据的辅助特征
4.2 链接和关联的概念
4. 2. 1 重数
4. 2. 2 三元关联
4. 2. 3 关联的候选关键字
4. 2. 4 异或关联
4. 2. 5 资格关联
4.3 聚合
4. 3. 1 聚合与关联
4. 3. 2 聚合与概括
4. 3. 3 递归聚合
4. 3. 4 操作的传播
4. 3. 5 物理聚合与分类聚合
4. 3. 6 物理聚合的语义扩展
4. 3. 7 分类聚合的语义扩展
4.4 概括
4. 4. 1 抽象类和具体类
4. 4. 2 概括与其他对象建模结构
4.5 多重继承
4. 5. 1 有不同鉴别器的多重继承
4. 5. 2 无公共祖先的多重继承
4. 5. 3 多重继承的工作环境
4.6 包
4. 6. 1 水平逻辑
4. 6. 2 包的实例
4.7 导出数据和约束
4.8 对象元模型
4. 8. 1 元数据和元模型
4. 8. 2 框架
4. 8. 3 模式
4.9 高级实践技巧
4.10 小结
练习....................................................89
第5章 动态模型
5.1 事件和状态
5. 1. 1 事件
5. 1. 2 脚本和事件轨迹
5. 1. 3 状态
5. 1. 4 状态图
5. 1. 5 条件
5.2 操作
5. 2. 1 控制操作
5. 2. 2 操作的状态图小结
5.3 嵌套状态图
5. 3. 1 平状态图问题
5. 3. 2 嵌套状态图
5. 3. 3 状态概括
5. 3. 4 事件概括
5.4 并发性
5. 4. 1 聚合并发性
5. 4. 2 对象内部并发性
5.5 高级动态模型概念
5. 5. 1 进入和退出动作
5. 5. 2 内部动作
5. 5. 3 自动变迁
5. 5. 4 发送事件
5. 5. 5 并发活动的同步
5.6 动态模型的实例
5.7 对象模型和动态模型的关系
5.8 实践技巧
5.9 小结
练习.....................................................117
第6章 功能模型
6.1 功能模型
6.2 数据流图
6. 2. 1 处理
6. 2. 2 数据流
6. 2. 3 施动者
6. 2. 4 数据存储
6. 2. 5 嵌套数据流图
6. 2. 6 控制流
6.3 指定的操作
6.4 约束
6.5 数据库应用中的功能模型
6. 5. 1 伪码
6. 5. 2 ONN的伪码
6. 5. 3 ONN的构造
6. 5. 4 组合ONN构造
6. 5. 5 添加ONN特性
6. 5. 6 其他范畴
6. 5. 7 实践技巧
6.6 功能模型的实例(飞行模拟机装置)
6.7 功能模型与对象模型和动态模型的关系
6.8 小结
练习....................................................151
第7章 方法学简介
7.1 OMT是一种软件工程方法学
7.2 OMT方法学
7.3 面向对象方法的深远影响
7.4 小结
练习....................................................160
第8章 分析
8.1 分析综述
8.2 需求陈述
8.3 自动取款机例子
8.4 建立对象模型
8. 4. 1 找出对象类
8. 4. 2 筛选出正确的对象类
8. 4. 3 准备数据字典
8. 4. 4 确定关联
8. 4. 5 划分主题
8. 4. 6 确定属性
8. 4. 7 用继承性改进对象模型
8. 4. 8 反复修改对象模型
8.5 动态模型
8. 5. 1 编写脚本
8. 5. 2 用户界面
8. 5. 3 画事件轨迹图
8. 5. 4 画状态图
8. 5. 5 审查动态模型
8.6 功能模型
8. 6. 1 找出输入和输出值
8. 6. 2 建立数据流图
8. 6. 3 描述功能
8. 6. 4 找出对象之间的约束
8. 6. 5 指定优化规则
8.7 定义服务
8. 7. 1 常规行为
8. 7. 2 从事件导出的操作
8. 7. 3 与数据流图中处理框对应的操作
8. 7. 4 利用继承减少冗余操作
8.8 小结
练习.....................................................189
第9章 系统设计
9.1 系统设计综述
9.2 将系统划分为子系统
9. 2. 1 分层
9. 2. 2 分块
9. 2. 3 系统拓扑
9.3 识别并发性
9. 3. 1 识别固有并发性
9. 3. 2 定义并发任务
9.4 给子系统分配处理器和任务
9. 4. 1 估计硬件资源需求
9. 4. 2 硬件与软件之间的折中
9. 4. 3 为任务指定处理器
9. 4. 4 确定物理连接
9.5 数据存储管理
9. 5. 1 使用数据库的优点
9. 5. 2 使用数据库的缺点
9.6 处理全局资源
9.7 选择软件控制实现
9. 7. 1 过程驱动系统
9. 7. 2 事件驱动系统
9. 7. 3 并发系统
9. 7. 4 内部控制
9. 7. 5 其他范型
9.8 处理边界条件
9.9 设置折中的优先权
9.10 公共的体系结构框架
9. 10. 1 批处理变换
9. 10. 2 连续交换
9. 10. 3 交互式接口
9. 10. 4 动态模拟
9. 10. 5 实时系统
9. 10. 6 事务处理管理
9.11 ATM系统的结构
9.12 小结
练习....................................................214
第10章 对象设计
10.1 对象设计综述
10. 1. 1 从分析和系统结构着手
10. 1. 2 对象设计的步骤
10. 1. 3 对象模型工具
10.2 组合三种模型
10.3 设计算法
10. 3. 1 选择算法
10. 3. 2 选择数据结构
10. 3. 3 定义内部类和操作
10. 3. 4 指定操作的职责
10.4 设计优化
10. 4. 1 添加冗余关联获取有效访问
10. 4. 2 重新安排执行次序以获得效率
10. 4. 3 保存导出属性避免重复计算
10.5 控制实现
10. 5. 1 在程序内进行状态设置
10. 5. 2 状态机器引擎
10. 5. 3 控制作为并发任务
10.6 继承的调整
10. 6. 1 重新安排类和操作
10. 6. 2 抽象出公共的行为
10. 6. 3 使用授权共享实现
10.7 关联设计
10. 7. 1 分析关联遍历
10. 7. 2 单向关联
10. 7. 3 双向关联
10. 7. 4 链接属性
10.8 对象的表示
10.9 物理打包
10. 9. 1 信息隐藏
10. 9. 2 实体的相关性
10. 9. 3 构造模块
10.10 设计决策文档
10.11 小结
练习.......................................................240
第11章 方法学总结
11.1 分析
11.2 系统设计
11.3 对象设计
11.4 小结
练习.......................................................248
第12章 方法学比较
12.1 结构化分析/结构化设计(SA/SD)
12. 1. 1 SA/SD方法概述
12. 1. 2 与OMT方法学的比较
12.2 Jackson结构化开发方法
媒体评论