面向对象设计UML实践(第2版)
基本信息
- 原书名:Practical Object-Oriented Design with UML
- 原出版社: McGraw-Hill
编辑推荐
一本实用的和易于理解的面向对象设计的入门教程。第2版在保留第1版特点的同时,精心选择了最主要的基本内容进行介绍。全书语言准确严谨,表达规范,简洁明了,很适合作为面向对象设计的教材。
内容简介回到顶部↑
本书自第1版出版以来,深受读者喜爱。为了适应面向对象设计发展,第2版在保留第1版特点的同时,根据当前软件工程的发展趋势和教学特点,精心选择了最主要的基本内容进行介绍。全书包括14章和3个附录,分别为UML导论,对象建模、软件开发过程,餐馆系统的业务建模、分析、设计及实现,类和对象图,交互图,状态图,构件图,约束,实现策略,原则和模式等。
全书语言准确严谨,表达规范,简洁明了,很适合作为面向对象设计的教材。
全书语言准确严谨,表达规范,简洁明了,很适合作为面向对象设计的教材。
目录回到顶部↑
第1章 uml导论
1.1 模型与建模
1.1.1 软件模型
1.1.2 应用模型
1.1.3 分析模型和设计模型的关系
1.2 方法学
1.2.1 方法学的分类
1.3 统一建模语言
1.3.1 视图
1.3.2 模型
1.3.3 模型元素
1.3.4 图
1.3.5 理解uml
1.4 设计模型和代码
1.5 软件开发过程
1.6 本章小结
1.7 练习题
第2章 对象建模
2.1 对象模型
2.1.1 对像模型在设计中的作用
1.1 模型与建模
1.1.1 软件模型
1.1.2 应用模型
1.1.3 分析模型和设计模型的关系
1.2 方法学
1.2.1 方法学的分类
1.3 统一建模语言
1.3.1 视图
1.3.2 模型
1.3.3 模型元素
1.3.4 图
1.3.5 理解uml
1.4 设计模型和代码
1.5 软件开发过程
1.6 本章小结
1.7 练习题
第2章 对象建模
2.1 对象模型
2.1.1 对像模型在设计中的作用
序言回到顶部↑
Mr Palomer的规则一直在逐渐改变:现在,在综合过程中他需要多种多样的模型,很可能是可以互换的,以便找出一个最符合于实际情况的模型,而这个实际情况就其本身来说总是由许多在时间上和空间上不同的实际情况构成。
Italo Calvino
本书的目的是提供一本实用的和易于理解的面向对象设计的入门教程,它要求读者具有面向对象程序设计语言的知识(最好是Java),而且阐述了UML的原则和应用。本书针对的读者主要是计算机科学或软件工程专业的大学本科高年级学生或硕士生,当然也希望其他读者会发觉这本书是有用的。
本书的总体设想是强调设计的表示法与代码之间的联系。现在已经有许多讨论用UML进行系统分析和设计的教程,不过对最终产品,即被开发系统的代码,给予特别注意的还不多见。然而UML实质上是一种表达面向对象程序的设计语言,从这个角度考虑该语言的表示法和语义看来是很自然的。在过去几年,我已发现这是把设计表示法的真实含义传授给学生的好方法。
与这个总体设想有关,本书有两个主要目标。第一个是提供一个使用UML描述的面向对象开发的完整示例。开始讲述需求,最后讲述一个完整的可执行代码,这个代码可以运行、修改和扩展。
教程的目标限制了可以考虑的事例的规模。为此,本书采用一个典型的独立的桌面应用系统,作为范例体系结构。它支持图形用户界面并与关系数据库接口。在这个框架中,正文仔细地对某些核心功能的开发进行了探讨,并把系统的扩展作为练习留给读者。
第二个目标是对UML在开发这种应用的重要方面提供指导。特别把重点放在清楚地阐明此设计语言的结构和表示法,并通过示例说明设计和面向对象程序实现之间的紧密关系。这些问题在许多书中讲的相当粗略。然而,如果对此没有清楚的理解,就难以正确使用UML。
UML是一个庞大而复杂的语言,学习UML时的危险是被这些表示法的细节所淹没。为了避免这点,本书使用的是足以用于开发桌面应用的UML的一个子集。并发性、活动图和除了部署图的简要叙述外的其他部分,都作了相当大的省略。UML语言的这些方面对于UML的"工业化"应用显然是重要的,但是这些已超出本书针对的读者的经验。
本书的结构
第1章导论之后,第2章结合一个简单的程序设计示例介绍对象建模的基本概念。第3~7章是使用UML的一个案例研究,而第8~12章系统地介绍最重要的UML表示法。这两部分是相互独立的,可以按照如图0.1所示的不同阅读计划学习。第13章讨论实现UML的策略,第14章总体讨论了面向对象设计的一些基本原则。
第2版的改变
第2版最大的改变是用一个新的简单餐馆预约系统案例,替换了图编辑器示例。这就提供了一个比图编辑器具有更"贴近生活"环境的应用,许多学生发现这个案例与他们更接近。与原来的案例相比,这个案例也允许更自然地介绍不同框架层的概念。容易看到,现在的第4~7章包括了这些题目。
虽然本书的重点是语言而不是过程,然而在任何有实用价值的方式中,使这两部分完全分离是不可能的。在本书新的第3章中,现在包括了软件开发过程中一些问题的明确讨论,并对统一过程给出了一个简要说明。
其余各章相当多的内容与第1版是一样的,只是在内容上和表达上有少量修改。为了给新的章节和案例让出地方,第1版中的某些资料已从这一版中删去,显而易见的是第2个案例。所有已删去的资料,包括图编辑器的示例,仍然可以从本书的网站得到。
其他资料
本书的Web页提供访问本书使用的示例的源代码、所有练习的答案和第1版的资料。这些资料可以在下述URL找到:
http://www.mcgraw-hill.co.uk/textbooks/priestley
教师手册、幻灯片、本书中使用的图和增加的练习,可以供真正使用本书进行课堂教学的大学教师使用。如何获得手册中的这些信息可以在出版商的网站上找到。
致 谢
我非常感激在本书新版的准备中使用过早期版本的学生和自始至终参加这个餐馆预定系统早期描述的学生。我还要感谢Michael Richards,是他最早提出了这个案例的思想。
Italo Calvino
本书的目的是提供一本实用的和易于理解的面向对象设计的入门教程,它要求读者具有面向对象程序设计语言的知识(最好是Java),而且阐述了UML的原则和应用。本书针对的读者主要是计算机科学或软件工程专业的大学本科高年级学生或硕士生,当然也希望其他读者会发觉这本书是有用的。
本书的总体设想是强调设计的表示法与代码之间的联系。现在已经有许多讨论用UML进行系统分析和设计的教程,不过对最终产品,即被开发系统的代码,给予特别注意的还不多见。然而UML实质上是一种表达面向对象程序的设计语言,从这个角度考虑该语言的表示法和语义看来是很自然的。在过去几年,我已发现这是把设计表示法的真实含义传授给学生的好方法。
与这个总体设想有关,本书有两个主要目标。第一个是提供一个使用UML描述的面向对象开发的完整示例。开始讲述需求,最后讲述一个完整的可执行代码,这个代码可以运行、修改和扩展。
教程的目标限制了可以考虑的事例的规模。为此,本书采用一个典型的独立的桌面应用系统,作为范例体系结构。它支持图形用户界面并与关系数据库接口。在这个框架中,正文仔细地对某些核心功能的开发进行了探讨,并把系统的扩展作为练习留给读者。
第二个目标是对UML在开发这种应用的重要方面提供指导。特别把重点放在清楚地阐明此设计语言的结构和表示法,并通过示例说明设计和面向对象程序实现之间的紧密关系。这些问题在许多书中讲的相当粗略。然而,如果对此没有清楚的理解,就难以正确使用UML。
UML是一个庞大而复杂的语言,学习UML时的危险是被这些表示法的细节所淹没。为了避免这点,本书使用的是足以用于开发桌面应用的UML的一个子集。并发性、活动图和除了部署图的简要叙述外的其他部分,都作了相当大的省略。UML语言的这些方面对于UML的"工业化"应用显然是重要的,但是这些已超出本书针对的读者的经验。
本书的结构
第1章导论之后,第2章结合一个简单的程序设计示例介绍对象建模的基本概念。第3~7章是使用UML的一个案例研究,而第8~12章系统地介绍最重要的UML表示法。这两部分是相互独立的,可以按照如图0.1所示的不同阅读计划学习。第13章讨论实现UML的策略,第14章总体讨论了面向对象设计的一些基本原则。
第2版的改变
第2版最大的改变是用一个新的简单餐馆预约系统案例,替换了图编辑器示例。这就提供了一个比图编辑器具有更"贴近生活"环境的应用,许多学生发现这个案例与他们更接近。与原来的案例相比,这个案例也允许更自然地介绍不同框架层的概念。容易看到,现在的第4~7章包括了这些题目。
虽然本书的重点是语言而不是过程,然而在任何有实用价值的方式中,使这两部分完全分离是不可能的。在本书新的第3章中,现在包括了软件开发过程中一些问题的明确讨论,并对统一过程给出了一个简要说明。
其余各章相当多的内容与第1版是一样的,只是在内容上和表达上有少量修改。为了给新的章节和案例让出地方,第1版中的某些资料已从这一版中删去,显而易见的是第2个案例。所有已删去的资料,包括图编辑器的示例,仍然可以从本书的网站得到。
其他资料
本书的Web页提供访问本书使用的示例的源代码、所有练习的答案和第1版的资料。这些资料可以在下述URL找到:
http://www.mcgraw-hill.co.uk/textbooks/priestley
教师手册、幻灯片、本书中使用的图和增加的练习,可以供真正使用本书进行课堂教学的大学教师使用。如何获得手册中的这些信息可以在出版商的网站上找到。
致 谢
我非常感激在本书新版的准备中使用过早期版本的学生和自始至终参加这个餐馆预定系统早期描述的学生。我还要感谢Michael Richards,是他最早提出了这个案例的思想。







点击看大图



加载中...

