基本信息
- 原书名:Object-Oriented Modeling and Design with UML (2nd Edition)
- 原出版社: Prentice Hall
- 作者: (美)Michael Blaha James Rumbaugh
- 译者: 车皓阳 杨眉
- 丛书名: 图灵计算机科学丛书
- 出版社:人民邮电出版社
- ISBN:9787115224248
- 上架时间:2013-10-18
- 出版日期:2011 年7月
- 开本:16开
- 页码:378
- 版次:2-1
- 所属分类:计算机 > 软件工程及软件方法学 > 面向对象
编辑推荐
本书涵盖了大量新内容,增加了用例、活动模型和顺序图,兼容UML 2。
过程更为健壮,增加了迭代开发、实现建模和反向工程。
配有大量习题,除了书后的部分习题解答之外,网上还提供了多达200页的在线解题手册。
强调实用性和问题的求解。
内容简介
计算机书籍
《UML面向对象建模与设计(第2版)》是“面向对象建模与设计”领域的经典著作。全书由四个部分组成。第一部分以一种高层的、独立于语言的方式描述面向对象的概念,以及UML表示法;第二部分从问题陈述到分析、系统设计和类设计,一步一步地描述了软件开发的面向对象方法学;第三部分用面向对象语言和关系数据库描述了面向对象设计的实现;第四部分描述了成功的面向对象开发所需要的软件工程实践。本书还配有丰富的习题,覆盖了一系列应用领域以及实现目标,而且在书的后面给出了部分习题的答案。
《UML面向对象建模与设计(第2版)》可以作为高年级本科生或研究生软件工程或面向对象技术课程的教材,也可以供相关技术人员参考。
作译者
加拿大温哥华Modelsoft咨询公司以及美国芝加哥SentientPoint公司的合伙人。他是IEEE计算机学会的活跃人物,研究兴趣包括面向对象技术、建模、系统架构、数据库设计、企业集成和逆向工程。
James Rumbaugh
MIT计算机科学博士。先后在DEC、通用电气和Rational公司(2003年并入IBM公司)工作。他是UML三位首创者之一,撰写的有关面向对象的书籍和文章在计算机业界影响深远。他已于2006年退休。
目录
第1章 简介 1
1.1 什么是面向对象 1
1.2 什么是OO开发 3
1.2.1 对概念而非实现建模 3
1.2.2 OO方法论 3
1.2.3 三种模型 4
1.3 OO主题 5
1.3.1 抽象 5
1.3.2 封装 5
1.3.3 组合数据和行为 5
1.3.4 共享 6
1.3.5 强调对象的本质 6
1.3.6 协同 6
1.4 关于OO开发有效性的证据 7
1.5 OO建模历史 7
1.6 本书的组织结构 8
参考文献注释 8
参考文献 9
习题 9
前言
OO语言。C++已成为主流,Java也得到普遍应用。目前具有主导地位的编程语言都是OO的。
OO数据库。令人惊奇的是,OO数据库已经过气,但现在的关系数据库已经融入一些OO的特性。
OO建模。对象管理组织(Object Management Group,OMG)制定的统一建模语言(Unified Modeling Language,UML)标准已经合并和统一了各种相互竞争的表示法。
OO方法论。目前所有开发方法论都毫无例外地融合了OO的思想和概念。
OO技术已经真正成为计算机技术主流的一部分,它不再是什么“异类”,已经成为通常的实践。
本书内容
本书为软件开发提供了一种面向对象的方法,它的基础是,对来自现实世界的对象进行建模,随后使用这些模型围绕对象构造独立于语言的设计。面向对象建模与设计有助于更好地理解需求,进行更清晰的设计,创建更具维护性的系统。我们描述了一组面向对象的概念和一种独立于语言的图形表示法,可用于分析问题需求,设计问题的解决方案,之后通过编程语言或数据库加以实现。我们介绍的方法能够在整个软件开发过程中运用相同的概念和表示法,软件开发人员不需要在每个开发阶段都转换不同的表示法。
我们阐释了如何在整个软件生命周期(从分析、设计到实现)中使用面向对象的概念。本书并非以讲述面向对象语言或编程为主。相反,我们强调编程是开发过程中的最后阶段,整个过程包括陈述问题,理解需求,规划解决方案,用特定语言实现程序。好的设计技术会将实现细节推延至设计之后的阶段完成,以保持灵活性。开发过程之前的错误会对最终的产品和产品的完成时间产生巨大的影响。我们还描述了如何用面向对象语言和关系数据库来实现面向对象设计。
本书强调的面向对象技术并不只是一种编程方法,更重要的是,它是一种利用现实世界的概念而非计算机概念来抽象思考的方法。我们发现对于有些人来说,这种转换过程是很困难的。那些强调面向对象编程的书籍往往无法帮助程序员学会抽象思维。我们发现图形表示法有助于软件开发者直观地思考问题,而不是过早地去寻求实现的方法。
我们还阐释了对于大多数应用而言,无论其最终是用什么语言实现的,面向对象技术提供的都是一种高效实用的软件开发方法。本书采用了一种非形式化的方法,没有证明或希腊字母表示的形式化定义。借助面向对象技术所捕获的直觉,并且通过提供能够系统应用于实际问题的表示法和方法论,我们希望形成一种注重实效的解决问题的方法。我们将会同时提供好的和坏的设计技巧和示例,帮助软件开发者避免常见的陷阱。
本书的读者对象
本书面向的读者是软件专业人士和学生。读者可以了解到如何将面向对象的概念应用到软件开发生命周期的全部阶段。我们假定读者事先并不具备任何面向对象概念方面的知识,我们还假定读者熟知基本的计算概念,但不必有太多的形式化背景知识。即使是熟悉面向对象的程序员也会因懂得如何系统地设计程序而大受裨益,他们会吃惊地发现某些常见的面向对象编程实践恰恰违反了良好设计的原则。
数据库设计人员也会对本书感兴趣。尽管面向对象编程语言已经受到最大的关注,面向对象数据库设计也还是很引人注目且非常实用的。我们用整整一章的篇幅讲述如何使用关系数据库来实现面向对象模型。
本书可以作为高年级本科生及研究生软件工程或面向对象技术课程的教材。它也可以用作数据库或程序设计语言课程的补充教材。使用本书的前提是要掌握现代程序设计语言,了解基本的计算机科学术语和概念,如语法、语义、递归、集合、过程、图和状态,详细的形式化背景并不是必需的。
我们的关注点与面向对象编程界的一些人有所不同,但与信息建模与设计方法论界一致。我们强调面向对象结构是真实事物的模型,而不只是用于编程的技术。我们把对象之间的关系提高到和类相同的语义层次,而不是将其隐藏为对象内部的指针。在继承和方法上我们关注得较少,对继承机制的精确细节也没有过多强调。我们强调的是类型、类、建模和高级规划。我们还演示了如何将面向对象的概念应用于状态机。
本书由四部分组成。第一部分是以一种高层的、独立于语言的方式描述面向对象的概念。尽管一开始会忽略高级主题,但这些概念是本书其余部分的基础。第一部分还介绍了本书中所使用的UML表示法。第二部分从问题陈述到分析、系统设计和类设计,一步一步地描述了软件开发的面向对象方法学。在这个方法学中除了最后阶段以外所有阶段都是独立于语言的。第三部分用面向对象语言和关系数据库描述了面向对象设计的实现。尽管并不是想替代面向对象编程的书籍,但它还是描述了可应用于不同环境的一些考虑。第四部分描述了成功的面向对象开发所需要的软件工程实践。
作者曾经接触过许多应用,有着多年面向对象分析、设计、编程和数据库建模的经验。我们热衷于面向对象的方法,发现它几乎适用于各类应用。我们也发现使用面向对象的概念以及图形表示法和开发方法学,可以大大地提高软件的质量、灵活性和可理解性。我们希望本书会有助于传达这些信息。
本书配有丰富的习题,覆盖了一系列应用领域以及实现目标。我们建议读者随着阅读的进度,试着完成其中一些习题。OO技术是无法通过阅读来学习的,必须通过实践。本书的后面包含了部分习题的答案。
本书特色
媒体评论
——Michael J.Chonoles
“我 们信息系统专业的硕士和博士课程采纳了《UML面向对象建模与设计》一书中的方法学。这本书由本领域内两名卓越的专家编写,涵盖了面向对象建模与设计 (OOMD)的所有层面,充满真知灼见和最新的示例。它使我们的教学获益良多。” ——Peter H.Chang,劳伦斯技术大学
“如果你正在寻找一本介绍UML的图书,要包括简单实用的面向对象分析和设计过程,以及面向对象概念的重要细节知识,那么我强烈推荐你学习这本出色的著作。”
——Mikael Berndtsson,舍伍德(Skovde)大学
“由 James Rumbaugh和Michael Blaha及其同事编写的本书第1版已经成为经典之作。此书对我的影响远甚于任何其他与建模相关的书籍。在过去十年中,我曾成功地将他们的思想应用到知名 高校的课程项目当中,我很高兴看到这本具有里程碑意义的著作有了新的版本。它肯定会影响新一代软件设计师和建模人员的思维习惯。”——Bernd Bruegge