标题：面向对象的系统设计
内容简介
本书是一本论述面向对象设计方法的专著，其第1版于2003年由清华大学出版社出版，被国内许多大学用作研究生或高年级本科生教材，并被许多软件开发单位作为工程技术用书。二者构成一个完整的面向对象的分析与设计方法体系。
. 　 面向对象的设计(OOD)是在面向对象的分析(OOA)基础上继续运用面向对象方法解决软件生命周期中设计阶段的问题，产生一个满足用户需求，并且完全可实现的系统模型，即OOD模型。在面向对象的软件开发中，系统分析建立的OOA模型离实现的要求还有很大的距离，因为还有很多设计问题尚未解决，需要在设计阶段运用OOD方法去解决这些问题，并且把设计结果在OOD模型中表达出来，使模型成为真正可实现的，这就是OOD所要解决的问题
阅读本书的基础
至少熟悉一种编程语言，最好熟悉的是面向对象编程语言。
对软件工程有一定的了解。
如果你只有结构化思想的开发经验，那么阅读本书后会对你有所启发。
如果你有面向对象思想的开发经验，那么就让我们一起来探讨吧。
目录
第1章　什么是OOD　
1.1　早期的OOD
1.2　基于OOA的OOD　
1.2.1　Booch方法　
1.2.2　Coad/Yourdon方法　
1.2.3　Jacobson方法　
1.2.4　Rumbaugh方法　
1.3　OOD在软件生命周期的位置　
1.4　OOA与OOD的关系　
1.4.1　“做什么”和“怎么做”　
1.4.2　分析——需求分析和系统分析
1.4.3　“问题空间”和“解空间”　
1.4.4　一致的概念与表示法　
1.4.5　不同的目标、内容和抽象层次　
1.4.6　从模型驱动的体系结构看OOA与OOD的关系　
第2章　本书的OOD方法概貌　
2.1　概念与表示法　
2.1.1　建模元素　
2.1.2　表示法　
2.1.3　建模原则　
2.2　OOD模型框架　
2.3　OOD过程　
第3章　问题域部分的设计　
3.1　什么是问题域部分　
3.2　实现条件对问题域部分的影响　
3.3　设计过程　
3.3.1　设计准备　
3.3.2　设计内容及策略　
3.3.2.1　针对编程语言支持能力的调整　
3.3.2.2　增加一般类，提供共同协议　
3.3.2.3　为实现复用采取的设计策略　
3.3.2.4　提高性能　
3.3.2.5　为实现对象永久存储所做的修改　
3.3.2.6　完善对象的细节　
3.3.2.7　定义对象实例　
3.3.2.8　修改或补充辅助模型及模型规约　
3.3.3　建立与OOA文档的映射　
第4章　人机交互部分的设计　
4.1　什么是人机交互部分　
4.2　人机交互部分的需求分析　
4.2.1　分析参与者——与系统交互的人　
4.2.2　从用况分析人机交互　
4.2.3　分析处理异常事件的人机交互　
4.2.4　命令的组织　
4.2.5　输出信息的组织结构　
4.2.6　总结与讨论　
4.3　人机界面的设计准则　
4.4　人机界面的OO设计
4.4.1　界面支持系统
4.4.2　界面元素
4.4.3　设计过程与策略
4.5　可视化编程环境下的人机界面设计
4.5.1　问题的提出
4.5.2　所见即所得的界面开发
4.5.3　设计的必要性
4.5.4　基于可视化编程环境的设计策略
第5章　控制驱动部分的设计
5.1　什么是控制驱动部分
5.2　相关技术问题
5.2.1　系统总体方案
5.2.2　软件体系结构
5.2.3　分布式系统的体系结构风格
5.2.4　系统的并发性
5.3　如何设计控制驱动部分
5.3.1　选择软件体系结构风格
5.3.2　确定系统分布方案
5.3.3　识别控制流
5.3.4　用主动对象表示控制流
5.3.5　把控制驱动部分看成一个包
第6章　数据接口部分的设计
6.1　什么是数据接口部分
6.2　数据管理系统及其选择
6.2.1　文件系统
6.2.2　数据库管理系统
6.2.2.1　关系数据库和数据库管理系统
6.2.2.2　面向对象数据库和数据库管理系统
6.2.3　数据管理系统的选择
6.3　对象存储方案和数据接口的设计策略
6.3.1　针对文件系统的设计
6.3.1.1　对象在内存空间和文件空间的映像
6.3.1.2　对象存放策略
6.3.1.3　设计数据接口部分的对象类
6.3.1.4　问题域部分的修改
6.3.2　针对RDBMS的设计
6.3.2.1　对象及其对数据库的使用
6.3.2.2　对象在数据库中的存放策略
6.3.2.3　数据接口部分的对象设计和问题域部分的修改
6.3.3　使用OODBMS
6.4　本章小结
第7章　UML介绍与评论
7.1　UML的背景与演化历史
7.2　UML内容简介
7.2.1　UML是什么，不是什么
7.2.2　UML规范的主要文
7.2.3　UML语言体系结构及定义方式
7.2.3.1　四层元模型体系结构
7.2.3.2　包结构
7.2.3.3　语法及语义定义方式
7.2.3.4　关于若干术语译法问题的讨论
7.2.4　UML的各种图、建模元素及表示法
7.3　评论与问题研究
7.3.1　UML的成就及其原因
7.3.2　UML能够起到的积极作用
7.3.3　UML不能起到的作用
7.3.4　UML的缺点与问题
7.3.4.1　与四层元模型体系结构有关的问题
7.3.4.2　形式化方面的问题
7.3.4.3　类图和对象图并存问题
7.3.4.4　协作图的问题
7.3.4.5　无道理的复杂性
7.4　从UML1.x到UML2.0
7.4.1　UML2.0提案需求
7.4.2　被采纳的UML2.0提案、
7.4.3　UML2.0概况
7.4.4　进步与不足
索引
作者简介
邵维忠，[1]北京大学信息科学技术学院教授、博士生导师，中国计算机学会事。1970年毕业于北京大学数学力  邵维忠教授学系，1979—1983年在计算机科学技术系任教并攻读硕士学位。早期主要从事操作系统和软件工程领域的教学、科研与开发。1987—1989年在新加坡国立大学参加科技合作。回国后在导师杨芙清院士主持的国家“八五”、“九五”重点科技攻关课题“大型软件开发环境青鸟系统”和“软件工程环境工业化生产技术及系统”中担任主要技术负责人。自1991年起注重于面向对象建模方法的研究，并开设了研究生课程和本科生课程。组织研制了“青鸟面向对象建模工具集”，并指导其新版本开发。写作和翻译了多部学术著作。最近几年在面向对象技术、软件复用与构件技术、中间件技术等领域承担了多项国家高技术研究发展计划（863）项目、国家重大基础研究(973)项目和国家自然科学基金项目。曾获国家科技进步二等奖及国家部委级奖励多项。
杨芙清，[2]中国科学院院士，北京大学信息科学技术学院教授、博士生导师、国务院学位委员会委员，中国计算机学会、中国软件行业协会副理事长。1958年北京大学数学力学系研究生毕业。1957—1959年在前苏联学  杨芙清教授习程序设计和计算机软件。1962—1964年任莫斯科杜勃纳联合核子物理研究所计算中心中国专家。20世纪70年代主持研制我国第一个支持高级语言的多道操作系统和我国第一个全部用高级语言书写的操作系统。20世纪80年代以来，在国内首先倡导开展软件工程研究。“六五”、“七五”、“八五”和“九五”期间，主持国家重点科技攻关课题，研制成功我国第一个大型软件开发环境青鸟系统、基于构件/构架模式的应用软件集成组装环境等软件工业化生产技术与系统。 获得多种荣誉和奖励，包括：国家科技进步二等奖、三等奖、电子工业部科技进步特等奖等十余项国家级及部委级的科技进步奖，荣获全国及北京市“三八”红旗手、全国高等学校先进科技工作者等光荣称号，并获得“光华科技基金”一等奖、何梁何利1979年度科学与技术进步奖、潘文渊文教基金会2001年度研究杰出奖等。