UML工具箱
基本信息
- 原书名: UML Toolkit
- 原出版社: John Wiley
- 作者: (美)Hans-Erik Eriksson,Magnus Penker
- 译者: 俞俊平 余安萍 徐敏
- 丛书名: 软件工程丛书
- 出版社:电子工业出版社
- ISBN:7505392700
- 上架时间:2004-2-11
- 出版日期:2004 年1月
- 开本:16开
- 页码:415
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > UML
内容简介回到顶部↑
本书为读者深入学习UML提供了综合、详细的指南。全书以一种完整而实用的方式向读者展示UML语言,覆盖了所有已定义的图、概念、实时系统、设计模式、过程以及其他有助于读者深入理解UML的重要话题。书中包括大量的示例和示意图,有助于读者最大程度地快速获取UML的知识和技巧。
本书适合所有对UML感兴趣的读者。
本书适合所有对UML感兴趣的读者。
目录回到顶部↑
第1章 uml介绍
1.1 uml概述
1.1.1 方法之战
1.1.2 uml方法
1.1.3 uml的认可
1.1.4 omg标准
1.2 方法和建模语言
1.3 面向对象软件开发
1.4 uml的用途
1.4.1 不同类型的系统
1.4.2 业务工程
1.5 系统开发阶段
1.5.1 需求分析阶段
1.5.2 分析阶段
1.5.3 设计阶段
1.5.4 编码阶段
1.5.5 测试阶段
第2章 uml概述
2.1 视图
2.1.1 用例视图
1.1 uml概述
1.1.1 方法之战
1.1.2 uml方法
1.1.3 uml的认可
1.1.4 omg标准
1.2 方法和建模语言
1.3 面向对象软件开发
1.4 uml的用途
1.4.1 不同类型的系统
1.4.2 业务工程
1.5 系统开发阶段
1.5.1 需求分析阶段
1.5.2 分析阶段
1.5.3 设计阶段
1.5.4 编码阶段
1.5.5 测试阶段
第2章 uml概述
2.1 视图
2.1.1 用例视图
前言回到顶部↑
从我们在面向对象领域中从事培训和顾问工作所得的经验来看,缺乏面向对象建模的标准这一严重问题已经越来越明显地表现出来。现有的每一种方法、工具和实践都有自己单独的一套符号和术语,由此导致大家在学习过程中有许多容易混淆的地方,并产生挫折感。尤其对那些试图学会面向对象技术的人来说,不应该把主要精力都放在记忆每一种特定的工具或标记法中的各种对象如何绘制上(如各种箭头应该往哪个方向绘制),而应该集中精力创建高质量的模型,从而帮助他们构建更好的、更有效的软件系统。
当UML(Unified Modeling Language,统一建模语言)第一次出现时,面向对象领域中的许多人都以极大的热情来欢迎它,因为UML正是大家一直所期待的结果。UML可以用于所有类型的系统和所有的开发阶段,能适应各种大小规模的应用,并且针对不同的情况有许多不同的处理方法。通过建立这样一种通用的建模语言,可以使面向对象技术进一步渗透到主流市场。这一点已经能够从许多新涌现出来的基于UML的新一代CASE和可视化建模工具中明显地感受到。不仅如此,在对现有的或新的过程/方法的进一步开发中,UML的作用也是显著的。
UML的贡献不仅仅在于它是一种标准,创建了一个统一的标记法,UML还包括一些在面向对象领域中通常无法找到的、新颖而有趣的概念。例如,如何在一个建模语言中描述和使用模式;如何使用构造型的概念对建模语言进行扩展和适应;如何提供一种从系统的概念性模型到物理体系结构中的可执行组件的全面跟踪能力等。因此,懂得UML不仅仅意味着学习各种符号及其含义,而是意味着在一种代表最新发展水平的模式下去学习面向对象建模。
UML是由Grady Booch, James Rumbaugh和Ivar Jacobson(他们被公认为建模领域的三巨头)一起设计的。他们的工作之所以给人印象深刻,不仅仅在于UML是一种优秀的建模语言,更重要的是,为了取得这种标准化的成果,他们三个人能够放弃自己的方法和标记法。因为他们的工作,所以现在方法学家、建模工具制造者、培训者和从业者都可以集中精力去寻找和建立合适的方法将UML应用到实际系统中,而不用再去争论哪一种标记法最好了。
本书的结构
本书的目的是为读者深入学习UML提供一个综合的、详细的指南。现在市面上有一些OMG(Object Management Group,对象管理组织,是面向对象领域的标准化领导机构),Booch, Rumbaugh和Jacobson的参考书,这些书的主要笔墨都放在了描述UML的最终定义上。而本书则试图以一种完整而实用的方式向读者展示UML语言,其中覆盖了所有已定义的图和概念。我们已经尽可能地去避免做理论上的探讨,并且在本书的文字中包括了大量的示例和示意图——毕竟这是一本介绍可视化建模语言的书。然而,要清楚明了地展示UML,就不能不从总体上讨论面向对象的建模和技术。因此,本书也花费了大量笔墨来介绍它们。我们也覆盖了实时系统、设计模式和过程以及其他一些有助于读者深入理解UML的重要话题。我们以一个案例学习来结束本书,此案例演示了如何在一个小型应用中使用UML。最后还给读者布置了一些练习,以便读者以不同的方式来扩展该案例学习。
第1章包含统一建模语言的背景信息:UML是如何产生的,怎样才能使用UML以及UML的设计目标。本章还介绍了UML所使用的语言环境,并对全书的结构做了描述。
第2章对UML做了一个概述,使读者对该语言有一个感性认识。其中描述了最常用的元素及它们的关系,补充介绍了一些系统的各种视图。本章最后讨论了使用UML进行建模的问题。
从参与者(Actor)的观点来看,用例建模是一种设计得很好的用来捕获系统需求的技术。第3章介绍了用例,以及在UML中如何表示用例。
第4章包含对类和对象的描述。在UML中主要通过类图来描述它们。类图是UML中最具有扩展性的图。类和对象的表示,它们之间可能拥有的不同关系以及应用在它们上的各种不同变化等内容都在本章中作了全面的讨论。在本章结束时,对模型的质量进行了讨论,包括什么是模型质量以及如何才能在一个模型中取得最佳质量。
类图可以捕获大多数静态结构以及各种类之间和各种对象之间的关系。然而,系统中也有一些行为是动态的,它们在系统生命期中的特定时刻发生,并随着时间的推移而改变,或者包含了对象之间的各种复杂的交互。第5章处理的就是动态建模。在UML中,这是通过一些图来描述的,包括状态图、活动图、顺序图和协作图。
实时系统是指那些具有极高时间要求的软件系统。实时系统中包含一些并发执行的进程(主动对象(Active Object))。实时系统的一些特定问题以及在UML中如何对实时系统建模是第6章的中心话题。
第7章处理的是物理体系结构。在前几章中,我们处理的都是逻辑体系结构。物理体系结构包括组成系统的代码和可执行软件组件、相关硬件组件,如计算机、设备等,以及软硬件之间的关系。这种物理体系结构——通常也被称做系统拓扑结构(Sytem Topology),和软件组件的分布性都在本章使用UML进行了建模。
第8章描述如何对UML进行扩展和适应。在该语言中大量地使用了构造型(Stereotype)的概念。构造型允许用户使用特定的语义创建它们自己的元素类型,这使得将UML扩展或适应到满足一个特殊过程或体系结构标准成为可能。
在面向对象的编程和设计中,一个非常有趣的研究领域就是设计模式的概念。模式用来描述一些针对常见问题的良好的、可用的和经过广泛验证的解决方案。第9章描述如何使用UML来表示和说明模式。
由于UML只是一种没有过程的建模语言,因此,很有必要来创建或修改一些过程来使用该语言。第10章描述过程的特征以及需要哪些东西来定义过程,同时也描述UML的作者在设计UML时所考虑的过程的主要标准。另外还介绍了统一过程(Unified Process),这是一个进度管理工作,并由此提到Rational软件公司力图为UML定义一个过程,同时给出了一个示例过程来展示如何使用UML。最后,讨论了CASE工具的使用,同时对一些最流行的工具做了概述。
第11章描述如何开始使用UML。由于许多读者可能是从其他建模语言转到UML的,因此,本章讨论了从其他方法(如Booch, OMT或OOSE/Objectory)升级到UML的过程。同时还描述了如何执行和领导一个建模任务,其中介绍了一些关于如何才能取得有效的和建设性成果的技巧。
全书以一个案例结束,该案例演示如何在一个小型应用中使用UML。将一个系统的需求转换成最终代码的工作是通过一组UML模型来展示的。接下来有两个附录,第一个附录是一个可视化术语表,其中包含UML中所有的模型元素,并做了简短解释;第二个附录是一个文本术语表,其中包含UML中使用的所有常见术语以及简要的描述。
每章结束时都有一个小结,有时还会给读者留一些练习。在全书中,我们使用了Java编程语言来为不同的UML概念和结构显示其相对应的Java代码。虽然UML的作用远远不止于程序代码的可视化表示,但是如果能正确地将UML模型转换成代码,也是非常重要的。目前市面上大部分介绍UML的书籍和报刊都缺乏这方面的内容,而本书却做了相当多的转换工作。这也是本书的一大特色,有助于读者更好地理解各种UML模型。之所以选择Java语言来表示这些转换示例,是因为它是一种现代的面向对象语言,可以用于任何平台。由于Java具有与C++ 相同的风格,因此,C++ 程序员在阅读和理解这些代码时应该是没有任何问题的。
本书还随附一张CD-ROM,其内容包括:
当UML(Unified Modeling Language,统一建模语言)第一次出现时,面向对象领域中的许多人都以极大的热情来欢迎它,因为UML正是大家一直所期待的结果。UML可以用于所有类型的系统和所有的开发阶段,能适应各种大小规模的应用,并且针对不同的情况有许多不同的处理方法。通过建立这样一种通用的建模语言,可以使面向对象技术进一步渗透到主流市场。这一点已经能够从许多新涌现出来的基于UML的新一代CASE和可视化建模工具中明显地感受到。不仅如此,在对现有的或新的过程/方法的进一步开发中,UML的作用也是显著的。
UML的贡献不仅仅在于它是一种标准,创建了一个统一的标记法,UML还包括一些在面向对象领域中通常无法找到的、新颖而有趣的概念。例如,如何在一个建模语言中描述和使用模式;如何使用构造型的概念对建模语言进行扩展和适应;如何提供一种从系统的概念性模型到物理体系结构中的可执行组件的全面跟踪能力等。因此,懂得UML不仅仅意味着学习各种符号及其含义,而是意味着在一种代表最新发展水平的模式下去学习面向对象建模。
UML是由Grady Booch, James Rumbaugh和Ivar Jacobson(他们被公认为建模领域的三巨头)一起设计的。他们的工作之所以给人印象深刻,不仅仅在于UML是一种优秀的建模语言,更重要的是,为了取得这种标准化的成果,他们三个人能够放弃自己的方法和标记法。因为他们的工作,所以现在方法学家、建模工具制造者、培训者和从业者都可以集中精力去寻找和建立合适的方法将UML应用到实际系统中,而不用再去争论哪一种标记法最好了。
本书的结构
本书的目的是为读者深入学习UML提供一个综合的、详细的指南。现在市面上有一些OMG(Object Management Group,对象管理组织,是面向对象领域的标准化领导机构),Booch, Rumbaugh和Jacobson的参考书,这些书的主要笔墨都放在了描述UML的最终定义上。而本书则试图以一种完整而实用的方式向读者展示UML语言,其中覆盖了所有已定义的图和概念。我们已经尽可能地去避免做理论上的探讨,并且在本书的文字中包括了大量的示例和示意图——毕竟这是一本介绍可视化建模语言的书。然而,要清楚明了地展示UML,就不能不从总体上讨论面向对象的建模和技术。因此,本书也花费了大量笔墨来介绍它们。我们也覆盖了实时系统、设计模式和过程以及其他一些有助于读者深入理解UML的重要话题。我们以一个案例学习来结束本书,此案例演示了如何在一个小型应用中使用UML。最后还给读者布置了一些练习,以便读者以不同的方式来扩展该案例学习。
第1章包含统一建模语言的背景信息:UML是如何产生的,怎样才能使用UML以及UML的设计目标。本章还介绍了UML所使用的语言环境,并对全书的结构做了描述。
第2章对UML做了一个概述,使读者对该语言有一个感性认识。其中描述了最常用的元素及它们的关系,补充介绍了一些系统的各种视图。本章最后讨论了使用UML进行建模的问题。
从参与者(Actor)的观点来看,用例建模是一种设计得很好的用来捕获系统需求的技术。第3章介绍了用例,以及在UML中如何表示用例。
第4章包含对类和对象的描述。在UML中主要通过类图来描述它们。类图是UML中最具有扩展性的图。类和对象的表示,它们之间可能拥有的不同关系以及应用在它们上的各种不同变化等内容都在本章中作了全面的讨论。在本章结束时,对模型的质量进行了讨论,包括什么是模型质量以及如何才能在一个模型中取得最佳质量。
类图可以捕获大多数静态结构以及各种类之间和各种对象之间的关系。然而,系统中也有一些行为是动态的,它们在系统生命期中的特定时刻发生,并随着时间的推移而改变,或者包含了对象之间的各种复杂的交互。第5章处理的就是动态建模。在UML中,这是通过一些图来描述的,包括状态图、活动图、顺序图和协作图。
实时系统是指那些具有极高时间要求的软件系统。实时系统中包含一些并发执行的进程(主动对象(Active Object))。实时系统的一些特定问题以及在UML中如何对实时系统建模是第6章的中心话题。
第7章处理的是物理体系结构。在前几章中,我们处理的都是逻辑体系结构。物理体系结构包括组成系统的代码和可执行软件组件、相关硬件组件,如计算机、设备等,以及软硬件之间的关系。这种物理体系结构——通常也被称做系统拓扑结构(Sytem Topology),和软件组件的分布性都在本章使用UML进行了建模。
第8章描述如何对UML进行扩展和适应。在该语言中大量地使用了构造型(Stereotype)的概念。构造型允许用户使用特定的语义创建它们自己的元素类型,这使得将UML扩展或适应到满足一个特殊过程或体系结构标准成为可能。
在面向对象的编程和设计中,一个非常有趣的研究领域就是设计模式的概念。模式用来描述一些针对常见问题的良好的、可用的和经过广泛验证的解决方案。第9章描述如何使用UML来表示和说明模式。
由于UML只是一种没有过程的建模语言,因此,很有必要来创建或修改一些过程来使用该语言。第10章描述过程的特征以及需要哪些东西来定义过程,同时也描述UML的作者在设计UML时所考虑的过程的主要标准。另外还介绍了统一过程(Unified Process),这是一个进度管理工作,并由此提到Rational软件公司力图为UML定义一个过程,同时给出了一个示例过程来展示如何使用UML。最后,讨论了CASE工具的使用,同时对一些最流行的工具做了概述。
第11章描述如何开始使用UML。由于许多读者可能是从其他建模语言转到UML的,因此,本章讨论了从其他方法(如Booch, OMT或OOSE/Objectory)升级到UML的过程。同时还描述了如何执行和领导一个建模任务,其中介绍了一些关于如何才能取得有效的和建设性成果的技巧。
全书以一个案例结束,该案例演示如何在一个小型应用中使用UML。将一个系统的需求转换成最终代码的工作是通过一组UML模型来展示的。接下来有两个附录,第一个附录是一个可视化术语表,其中包含UML中所有的模型元素,并做了简短解释;第二个附录是一个文本术语表,其中包含UML中使用的所有常见术语以及简要的描述。
每章结束时都有一个小结,有时还会给读者留一些练习。在全书中,我们使用了Java编程语言来为不同的UML概念和结构显示其相对应的Java代码。虽然UML的作用远远不止于程序代码的可视化表示,但是如果能正确地将UML模型转换成代码,也是非常重要的。目前市面上大部分介绍UML的书籍和报刊都缺乏这方面的内容,而本书却做了相当多的转换工作。这也是本书的一大特色,有助于读者更好地理解各种UML模型。之所以选择Java语言来表示这些转换示例,是因为它是一种现代的面向对象语言,可以用于任何平台。由于Java具有与C++ 相同的风格,因此,C++ 程序员在阅读和理解这些代码时应该是没有任何问题的。
本书还随附一张CD-ROM,其内容包括:








点击看大图





加载中...

