UML面向对象建模与设计(第2版)(“面向对象建模与设计”领域的经典著作)
基本信息
编辑推荐
Blaha & Rumbaugh王者归来了!他们为当今时代更新了其经典之作,通过简明直接的讲解,精深的洞察力,以及关键的示例和练习,再次显示了采用面向对象方法其实并不复杂。任何一名实践者都应该拥有、阅读和研究本书。
内容简介回到顶部↑
本书是“面向对象建模与设计”领域的经典著作。全书由四个部分组成。第一个部分以一种高层的、独立于语言的方式描述面向对象的概念,以及uml表示法;第二部分从问题陈述到分析、系统设计和类设计,一步一步地描述了软件开发的面向对象方法学;第三部分用面向对象语言和关系数据库描述了面向对象设计的实现;第四部分描述了成功的面向对象开发所需要的软件工程实践。本书还配有丰富的习题,覆盖了一系列应用领域以及实现目标,而且在书的后面给出了部分习题的答案。.
本书可以作为高年级本科生或研究生软件工程或面向对象技术课程的教材,也可以供相关技术人员参考。..
本书是最畅销的技术书籍之一!这部获得巨大成功的著作现在已经兼容uml2。michael blaha和james rumbaugh对面向对象最重要的概念给出了极为清晰的解释,并提出一个过程,将这些思想应用到用c++、java和关系数据库进行的软件开发和实现中。书中丰富的工程实践、案例研究、提示列表和习题不仅能够为开发人员提供实用的指导,也使本书成为教授uml与面向对象技术的绝佳教材。...
本书特色
·本书不仅与大获成功的第1版的风格相近,还涵盖了大量最新内容,增加了用例、活动模型和顺序图,使其兼容uml2。.
·过程更为健壮,增加了迭代开发、实现建模和逆向工程。..
·配有大量习题,除了在书的最后有部分习题解答之外,还在网上为指导教师提供了200页的在线解题手册。
·强调实用性和问题的求解。...
本书可以作为高年级本科生或研究生软件工程或面向对象技术课程的教材,也可以供相关技术人员参考。..
本书是最畅销的技术书籍之一!这部获得巨大成功的著作现在已经兼容uml2。michael blaha和james rumbaugh对面向对象最重要的概念给出了极为清晰的解释,并提出一个过程,将这些思想应用到用c++、java和关系数据库进行的软件开发和实现中。书中丰富的工程实践、案例研究、提示列表和习题不仅能够为开发人员提供实用的指导,也使本书成为教授uml与面向对象技术的绝佳教材。...
本书特色
·本书不仅与大获成功的第1版的风格相近,还涵盖了大量最新内容,增加了用例、活动模型和顺序图,使其兼容uml2。.
·过程更为健壮,增加了迭代开发、实现建模和逆向工程。..
·配有大量习题,除了在书的最后有部分习题解答之外,还在网上为指导教师提供了200页的在线解题手册。
·强调实用性和问题的求解。...
作译者回到顶部↑
本书提供作译者介绍
Michael Blaha博士和James Rumbaugh博士(以及Bill Premerlani、Fred Eddy和Bill Lorensen)是统一建模语言(UML)前身之一面向对象建模技术(OMT)的发明者。当时OMT只是一种应用最广泛的设计方法,如今它的大部分概念已经直接被UML采用。
Michael Blaha博士是加拿大温哥华Modelsoft咨询公司以及美国伊利诺伊州芝加哥SentientPoint公司的合伙人。他是IEEE计算机学会的活跃人物。他的研究兴趣包括面向对象技术、建模、系统架构、数据库设计、企业集成和逆向工程。
James Rumbaugh博士是IBM Ra.. << 查看详细
Michael Blaha博士是加拿大温哥华Modelsoft咨询公司以及美国伊利诺伊州芝加哥SentientPoint公司的合伙人。他是IEEE计算机学会的活跃人物。他的研究兴趣包括面向对象技术、建模、系统架构、数据库设计、企业集成和逆向工程。
James Rumbaugh博士是IBM Ra.. << 查看详细
目录回到顶部↑
第1章 简介.
1.1 什么是面向对象?
1.2 什么是oo开发?
1.3 oo主题
1.4 关于oo开发有效性的证据
1.5 oo建模历史
1.6 本书的组织结构
参考文献注释
参考文献
习题
第一部分 建模的概念
第2章 建模是一种设计技术
2.1 建模
2.2 抽象
2.3 三种模型
2.4 小结
参考文献注释
习题
第3章 类建模
3.1 对象和类的概念
1.1 什么是面向对象?
1.2 什么是oo开发?
1.3 oo主题
1.4 关于oo开发有效性的证据
1.5 oo建模历史
1.6 本书的组织结构
参考文献注释
参考文献
习题
第一部分 建模的概念
第2章 建模是一种设计技术
2.1 建模
2.2 抽象
2.3 三种模型
2.4 小结
参考文献注释
习题
第3章 类建模
3.1 对象和类的概念
前言回到顶部↑
欢迎阅读本书第2版!继本书第1版在1991年写成以后,技术领域已有诸多变化。回想当年,那时,面向对象(OO)技术还相当新颖,初始的兴奋和激情过后,人们对于OO技术究竟是真实可用还是只是一种短暂的时尚,仍怀有疑虑。俱往矣,想一想十多年来发生的变化吧!.
·OO语言。C++已成为主流,Java也得到普遍应用。目前具有主导地位的编程语言都是OO的。
·OO数据库。令人惊奇的是,OO数据库已经过气,但现在的关系数据库已经融入一些OO的特性。
·OO建模。对象管理组织(Object Management Group,OMG)制定的统一建模语言(Unified Modeling Language,UML)标准已经合并和统一了各种相互竞争的表示法。
·OO方法论。目前所有开发方法论都毫无例外地融合了OO的思想和概念。
OO技术已经真正成为计算机技术主流的一部分,它不再是什么“异类”,已经成为通常的实践。
本书内容
本书为软件开发提供了一种面向对象的方法,它的基础是,对来自真实世界的对象进行建模,随后使用这些模型围绕对象构造独立于语言的设计。面向对象建模与设计有助于更好地理解需求,进行更清晰的设计,创建更具维护性的系统。我们描述了一组面向对象的概念和一种独立于语言的图形表示法,它们可被用来分析问题需求,并设计问题的解决方案,之后通过编程语言或数据库加以实现。我们介绍的方法能够在整个软件开发过程中运用相同的概念和表示法。软件开发人员不需要在每个开发阶段都转换不同的表示法。
我们阐释了如何在整个软件生命周期(从分析、设计到实现)中使用面向对象的概念。本书并非以讲述面向对象语言或编程为主。相反,我们强调编程是开发过程中的最后阶段,整个过程包括陈述问题,理解需求,规划解决方案,用特定语言实现程序。好的设计技术会将实现细节推延至设计之后的阶段完成,以保持灵活性。开发过程之前的错误会对最终的产品和产品的完成时间产生巨大的影响。我们还描述了如何用面向对象语言和关系数据库来实现面向对象设计。
本书强调的面向对象技术并不只是一种编程方法,更重要的是,它是一种利用真实世界的概念而非计算机概念来抽象思考的方法。我们发现对于有些人来说,这种转换过程是很困难的。那些强调面向对象编程的书籍往往无法帮助程序员学会抽象思维。我们发现图形表示法有助于软件开发者直观想象问题,而不是过早地去寻求实现的方法。
我们还阐释了对于大多数应用而言,无论其最终是用什么语言实现的,面向对象技术提供的都是一种高效实用的软件开发方法。本书采用了一种非形式化的方法;没有证明或希腊字母表示的形式化定义。借助面向对象技术所捕获的直觉,并且通过提供能够系统应用于实际问题的表示法和方法论,希望形成一种注重实效的解决问题的方法。我们将会同时提供好的和坏的设计技巧和示例,帮助软件开发者避免常见的陷阱。
本书的读者对象
本书面向的读者是软件专业人士和学生。读者可以了解到如何将面向对象的概念应用到软件开发生命周期的全部阶段。我们假定读者事先并不具备任何面向对象概念方面的知识。我们还假定读者熟知基本的计算概念,但不必有太多的形式化背景知识。甚至熟悉面向对象的程序员也会因懂得如何系统地设计程序而大受裨益;他们会吃惊地发现某些常见的面向对象编程实践恰恰违反了良好设计的原则。
数据库设计人员也会对本书感兴趣。尽管面向对象程序设计语言已经受到最大的关注,面向对象数据库设计也还是很引人注目且非常实用的。我们用整整一章的篇幅讲述如何使用关系数据库来实现面向对象模型。
本书可以作为高年级本科生及研究生软件工程或面向对象技术课程的教材。它也可以用作数据库或程序设计语言课程的补充教材。使用本书的前提是掌握现代程序设计语言,了解基本计算机科学术语和概念,如语法、语义、递归、集合、过程、图和状态;详细的形式化背景并不是必需的。
我们的关注点与面向对象编程界的一些人有所不同,但与信息建模与设计方法论界一致。我们强调面向对象构造是真实事物的模型,而不单是用于编程的技术。我们把对象之间的关系提高到和类相同的语义层次,而不是将其隐藏为对象内部的指针。在继承和方法上我们关注得较少。对继承机制的精确细节不予过多强调。我们所大力强调的是类型、类、建模和高级规划。我们还演示了如何将面向对象的概念应用于状态机。
本书由四部分组成。第一部分是以一种高层的、独立于语言的方式描述面向对象的概念。尽管一开始会忽略高级主题,但这些概念对于本书的其余部分都是基础。第一部分还介绍了本书中所使用的UML表示法。第二部分从问题陈述到分析、系统设计和类设计,一步一步地描述了软件开发的面向对象方法学。在这个方法学中除了最后阶段以外所有阶段都是独立于语言的。第三部分用面向对象语言和关系数据库描述了面向对象设计的实现。尽管并不是想替代面向对象编程的书籍,但它还是描述了可应用于不同环境的一些考虑。第四部分描述了成功的面向对象开发所需要的软件工程实践。..
作者曾经接触过许多应用,有着多年面向对象分析、设计、编程和数据库建模的经验。我们热衷于面向对象的方法,发现它几乎适用于各类应用。我们也发现使用面向对象的概念以及图形表示法和开发方法学,可以大大地提高软件的质量、灵活性和可理解性。我们希望本书会有助于传达这些信息。
本书配有丰富的习题,覆盖了一系列应用领域以及实现目标。我们建议读者随着阅读的进度,试着完成其中一些习题。OO技术是无法通过阅读来学习的,必须通过实践。本书的后面包含了部分习题的答案。
本书特色
·OO语言。C++已成为主流,Java也得到普遍应用。目前具有主导地位的编程语言都是OO的。
·OO数据库。令人惊奇的是,OO数据库已经过气,但现在的关系数据库已经融入一些OO的特性。
·OO建模。对象管理组织(Object Management Group,OMG)制定的统一建模语言(Unified Modeling Language,UML)标准已经合并和统一了各种相互竞争的表示法。
·OO方法论。目前所有开发方法论都毫无例外地融合了OO的思想和概念。
OO技术已经真正成为计算机技术主流的一部分,它不再是什么“异类”,已经成为通常的实践。
本书内容
本书为软件开发提供了一种面向对象的方法,它的基础是,对来自真实世界的对象进行建模,随后使用这些模型围绕对象构造独立于语言的设计。面向对象建模与设计有助于更好地理解需求,进行更清晰的设计,创建更具维护性的系统。我们描述了一组面向对象的概念和一种独立于语言的图形表示法,它们可被用来分析问题需求,并设计问题的解决方案,之后通过编程语言或数据库加以实现。我们介绍的方法能够在整个软件开发过程中运用相同的概念和表示法。软件开发人员不需要在每个开发阶段都转换不同的表示法。
我们阐释了如何在整个软件生命周期(从分析、设计到实现)中使用面向对象的概念。本书并非以讲述面向对象语言或编程为主。相反,我们强调编程是开发过程中的最后阶段,整个过程包括陈述问题,理解需求,规划解决方案,用特定语言实现程序。好的设计技术会将实现细节推延至设计之后的阶段完成,以保持灵活性。开发过程之前的错误会对最终的产品和产品的完成时间产生巨大的影响。我们还描述了如何用面向对象语言和关系数据库来实现面向对象设计。
本书强调的面向对象技术并不只是一种编程方法,更重要的是,它是一种利用真实世界的概念而非计算机概念来抽象思考的方法。我们发现对于有些人来说,这种转换过程是很困难的。那些强调面向对象编程的书籍往往无法帮助程序员学会抽象思维。我们发现图形表示法有助于软件开发者直观想象问题,而不是过早地去寻求实现的方法。
我们还阐释了对于大多数应用而言,无论其最终是用什么语言实现的,面向对象技术提供的都是一种高效实用的软件开发方法。本书采用了一种非形式化的方法;没有证明或希腊字母表示的形式化定义。借助面向对象技术所捕获的直觉,并且通过提供能够系统应用于实际问题的表示法和方法论,希望形成一种注重实效的解决问题的方法。我们将会同时提供好的和坏的设计技巧和示例,帮助软件开发者避免常见的陷阱。
本书的读者对象
本书面向的读者是软件专业人士和学生。读者可以了解到如何将面向对象的概念应用到软件开发生命周期的全部阶段。我们假定读者事先并不具备任何面向对象概念方面的知识。我们还假定读者熟知基本的计算概念,但不必有太多的形式化背景知识。甚至熟悉面向对象的程序员也会因懂得如何系统地设计程序而大受裨益;他们会吃惊地发现某些常见的面向对象编程实践恰恰违反了良好设计的原则。
数据库设计人员也会对本书感兴趣。尽管面向对象程序设计语言已经受到最大的关注,面向对象数据库设计也还是很引人注目且非常实用的。我们用整整一章的篇幅讲述如何使用关系数据库来实现面向对象模型。
本书可以作为高年级本科生及研究生软件工程或面向对象技术课程的教材。它也可以用作数据库或程序设计语言课程的补充教材。使用本书的前提是掌握现代程序设计语言,了解基本计算机科学术语和概念,如语法、语义、递归、集合、过程、图和状态;详细的形式化背景并不是必需的。
我们的关注点与面向对象编程界的一些人有所不同,但与信息建模与设计方法论界一致。我们强调面向对象构造是真实事物的模型,而不单是用于编程的技术。我们把对象之间的关系提高到和类相同的语义层次,而不是将其隐藏为对象内部的指针。在继承和方法上我们关注得较少。对继承机制的精确细节不予过多强调。我们所大力强调的是类型、类、建模和高级规划。我们还演示了如何将面向对象的概念应用于状态机。
本书由四部分组成。第一部分是以一种高层的、独立于语言的方式描述面向对象的概念。尽管一开始会忽略高级主题,但这些概念对于本书的其余部分都是基础。第一部分还介绍了本书中所使用的UML表示法。第二部分从问题陈述到分析、系统设计和类设计,一步一步地描述了软件开发的面向对象方法学。在这个方法学中除了最后阶段以外所有阶段都是独立于语言的。第三部分用面向对象语言和关系数据库描述了面向对象设计的实现。尽管并不是想替代面向对象编程的书籍,但它还是描述了可应用于不同环境的一些考虑。第四部分描述了成功的面向对象开发所需要的软件工程实践。..
作者曾经接触过许多应用,有着多年面向对象分析、设计、编程和数据库建模的经验。我们热衷于面向对象的方法,发现它几乎适用于各类应用。我们也发现使用面向对象的概念以及图形表示法和开发方法学,可以大大地提高软件的质量、灵活性和可理解性。我们希望本书会有助于传达这些信息。
本书配有丰富的习题,覆盖了一系列应用领域以及实现目标。我们建议读者随着阅读的进度,试着完成其中一些习题。OO技术是无法通过阅读来学习的,必须通过实践。本书的后面包含了部分习题的答案。
本书特色


点击看大图





加载中...
