作者:empty 页数:383 出版社:empty |
本书是UML方面的一部权威著作, 三位作者是面向对象方法最早的但导者, UML的创始人。本版涵盖了UML 2.0。书中为UML具体特征的使用提供了指南, 描述了使用UML进行开发的过程, 旨在让读者掌握UML的术语、规则和恒用法, 以及如何有效地使用这种语言, 知道如何应用UML去解决一些常见的建模问题, 本书由7个部分33章组成, 每章都对一组UML特征及其具体用法进行了详细阐述, 其中大部分按入门、术语和概念、常用建模技术、提示和技巧的方式组织。本书还为高级开发人员提供了在高级建模问题中应用UML的一条非常实用的线索,本书适合作为高等院校计算机及相关专业本科生威研究生“统一建模语言(UML) “课程的教材, 也适用于从事软件开发的工程技术人员和软件工程领域的研究人员。
课程和本科生课程。写作和翻译了多部关于面向对象方法的学术著作。最近几年在面向对象技术、软件复用与构件技术、中间件技术等领域承担了多项国家高技术研究发展计划(863)项目、国家重大基础研究(973)项目和国家自然科学基金项目,曾获国家科技进步二等奖及国家部委级奖励多项。邵维忠北京大学信息科学技术学院教授、博士生导师,中国计算机学会理事。1970年毕业于北京大学数学力学系,1979~1983年在计算机科学技术系任教并攻读硕士学位。早期主要从事操作系统和软件工程领域的研究。1987-1989年在新加坡国立大学参加科技合作。回国后在导师杨芙清院士主持的国家“八五”、“九五”重点科技攻关课题“大型软件开发环境青鸟系统”和“软件工程环境工业化生产技术及系统”中担任主要技术负责人。自1991年起注重于面向对象建模方法的研究,并开设了研究生麻志毅北京大学信息科学技术学院副教授。1999年在东北大学获博士学位,同年到北京大学从事博士后研究,出站后留校工作。近年来发表学术论文40余篇,出版学术专著2部,译著4部。主要研究方向为软件工程与软件工程环境、面向对象技术、构件技术和面向服务技术,马浩海内蒙古大学计算机学院副教授。2006年在北京大学获计算机软件与理论专业博士学位。已发表学术论文30余篇,主要研究领域为软件工程、面向对象技术、软件建模语言和模型驱动的软件开发技术.刘辉北京大学信息科学与技术学院博士生。主要研究领域为面向对象建模、软件重构、元建模以及形式化软件工程方法。
开发一个复杂的软件系统和编写一个简单的程序大不一样, 其间的差别, 借用GradyBooch的比喻, 如同建造一座大厦和搭一个狗窝。大型的、复杂的软件系统开发是一项系统工程,必须按工程学的方法来组织软件生产,需要经过一系列的软件生命周期阶段。这是人们从软件危机中获得的最重要的教益。这一认识促使了软件工程学的诞生。虽然编程仍然是重要的,但是更具有决定意义的是系统建模。只有在分析和设计阶段建立了良好的系统模型,才有可能保证工程的正确实施。正是出于这一原因,在编程领域出现的许多新方法和新技术,总是很快地拓展到软件生命周期的分析与设计阶段。面向对象方法正是经历了这样的发展过程,它首先在编程领域兴起,作为一种崭新的程序设计范型引起世人瞩目。继Smalltalk-80之后, 20世纪80年代有一大批面向对象编程语言问世,标志着面向对象方法走向成熟和实用。此时,面向对象方法开始向系统设计阶段廷伸, 出现了一批早期的面向对象的设计(OOD) 方法。到20世纪80年代末期, 面向对象方法的研究重点转向面向对象的分析(00A) , 并将0OA与OOD密切地联系在一起, 出现了一批面向对象的分析与设计(OOA&D) 方法。至1994年, 公开发表并具有一定影响的OOA&D方法已达50余种, 这种繁荣的局面表明面向对象方法已经深入到分析与设计领域,目前,大多数比较成熟的软件开发组织已经从分析、设计到编程、测试全面地采用面向对象方法,使面向对象毋庸置疑地成为当前软件领域的主流技术。各种OOA&D方法都为面向对象理论与技术的发展做出了贡献。这些方法的主导思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少差异。这些差异所带来的问题是:不利于00方法向一致的方向发展,妨碍了技术交流,也给用户的选择带来困惑。在这种形势下, 统一建模语言(Unified Modeling Language, UML) 应运而生。UML是在多种面向对象分析与设计方法相互融合的基础上形成的, 其发展历史可以大致概括为四个阶段。最初的阶段是面向对象方法学家的联合行动, 由G Booch、J.Rumbaugh和L Jacobson将他们各自的方法结合起来, 形成UML 0.9.第二阶段是公司的联合行动, 由十多家公司组成UML伙伴组织, 共网提出UML 1.0和1.1, 于1997年被对象管理组织(OMG)正式采纳作为建模语言规范。第三阶段是在OMG控制下对UML规范进行修订和改进, 产生了UML 1.2、1.3、1.4和1.5等版本, 目前所处的阶段是本世纪开始以来的重大的修订, 推出了全新的版本UML 2.0。UML用于对软件密集型系统进行可视化、详述、构造和文档化, 也可以用于业务建模以及其他非软件系统的建模。UML定义了系统建模所需的概念并给出其可视化表示法, 但是它并不涉及如何进行系统建模。因此它只是一种建模语言, 而不是一种建模方法。UML是独立于过程的, 就是说, 它可以适应不同的建模过程。UML的出现使面向对象建模概念和表示法趋于统一和标准化, 目前, UML已成为被广泛公认的工业标准, 拥有越来越多的
译者序用户, 现今的大部分面向对象系统的建模均采用UML,amigos) , 他们为UML的形成和发展做出了卓越贡献。在广大读者的股切期待中, “三友”联G.Booch、J.Rumbaugh和L.Jacobson是UML的三位主要奠基人, 被称为“三友”(three名撰写的三本介绍UML以及Rational统一软件开发过程的著作(The Unified ModelingLanguage UserGuide、The Unified Modeling Language Reference Manual和The Unified Sofi wareDevelopment Process) 于1999年由Addison-Wesley出版, 深受广大读者的欢迎, 被视为UML方面的权威性著作。在此之后, UML经历了一次重大的版本修订, UML 2.0问世, 与UML1x系列相比, UML 2.0从结构到内容都有许多重要的变化。在这种背景下, “三友”对他们的上述三本著作进行了再创作, 以适应UML 2.0的新内容, 作为第2版, 于2005年陆续出版。Second Edition) 是“三友”的上述三本著作中的一本, 是阅读另外两本著作的基础。书中为现在我们翻译的《UML用户指南(第2版) (The Unified Modeling Language UserGuide,如何使用UML提供了指南, 旨在让读者掌握UML的术语、规则和惯用法, 学会如何有效地使用UML进行开发, 如何应用UML去解决常见的建模问题。实际上, 这不仅仅是一部深入介绍UML的技术文献, 而且处处闪烁着作者在方法学方面的真知灼见, 凝结了作者在软件工程、面向对象方法、构件技术等诸多领域的经验和智慧。该书语言生动、深入浅出、实例丰富、图文并茂。对于想学习和使用UML的广大读者, 这是一本难得的好书。该书的宗目并不是全面地介绍UML, 也不是完整地介绍软件开发过程, 这些内容属于“三友”的另外两本著作。
承担这样一本好书的翻译工作是一项愉快而又严肃的任务, 尽管我们对UML进行过多年的研究,并且翻译过该书的第1版,但是在新版的翻译中仍不敢有驾轻就熟的心理。对翻译中遇到的一些疑难问题, 往往要经过反复讨论, 并通过对UML的进一步研究, 才能获得比较准确的译法。这些研究工作得到国家自然科学基金项目60473064和国家重点基础研究发展计划(973计划)课题2005CB321805的支持。忠实于原文是我们始终遵循的宗旨!但是原著中存在着个别前后不一致或者与UML规范不一致的现象, 译文中采用了两种处理方式:对比较明显的错误在译文中做了订正,并通过译者注加以说明:对不太明显的错误按原文翻译,并在译者注中指出疑点。本书的技术术语译法,以国家标准GB/T11457-1995的修订版本(已报批,预计2006年颁布)《信息技术软件工程术语》和正在制定中的《统一建模语言术语标准》作为主要依据,书中绝大部分术语都遵照这两个标准化文件的译法,只有个别的几处例外,其原因在译者注中做了说明。,本书的翻译得到北京大学信息科学技术学院软件研究所许多同事的支持,其中许多问题曾与这些同事进行过深入的研究与探讨。软件研究所的面向对象建模工具课题组的教师和学生也多次参加讨论,贡献了宝贵意见。在此,向他们表示衷心感谢。同时,我们诚恳地希望广大读者对书中可能存在的疏漏和错误给予批评和指正。
统一建模语言(Unified Modeling Language, UML) 是一种用于对软件密集型系统的制品进行可视化、详述、构造和文档化的图形语言。UML给出了一种描绘系统蓝图的标准方法,其中既包括概念性的事物(如业务过程和系统功能),也包括具体的事物(如用特定的编程语言编写的类、数据库模式和可复用的软件构件).本书旨在教会读者如何有效地使用UML。本书涵盖了UML 2.0。
本书主要由7个部分组成:
·第一部分入门
·第六部分对体系结构建模
·第七部分结束语
本书还包含两个附录:UML表示法的概要和Ratinal统一过程的概要, 在附录后, 提
供了一个常见术语表和一个索引.
每章都描述了针对UML具体特征的用法, 其中的大部分按下述4节的方式组织:
(1)入门
(2)术语和概念
(3)常用建模技术
(4)提示和技巧
第3节“常用建模技术”提出一组常见建模问题并予以解决为了便于读者浏览本书找
到这些UML的应用场合, 每一个问题都标有一个明显的标题, 如下例所示
体系结构模式建模
每一章都从它所涵盖的特征概要开始,如下例所示
4.2.5职责.
4.2.6其他特征.
4.常用建模技术.
第一部分入门
语言.
对基本结构建模
7.2.2行为图.
7.3.1对系统的不同视图建模.72
7.3.2对不同的抽象层次建模.73
7.3.3对复杂视图建模.-75
8.3.1对简单协作建模-
8.3.2对逻辑数据库模式建模.80
8.3.3正向工程和逆向工程.82
9.2.1类目.
第1章为什么要建模.
1.1建模的重要性.
1.2建模原理.
1.3面向对象建模-
第2章UML介绍.
2.1UML概述.
2.2UML的概念模型.
4.3.1对系统的词汇建模.-.
4.3.2对系统中的职责分布建模.41
4.3.3对非软件事物建模.-42
4.3.4对简单类型建模..43
4.4提示和技巧.-.43
第5章关系.45
5.1入门.45
5.2术语和概念.46
第11章接、类型和角色.
2.1.1UML是一种语言.
第二部分
4.2.1名称.
4.2.2属性.
4.2.3操作.
4.2.4对属性和操作的组织.
7.1入门.
7.2.1结构图.
8.2.1普通特性.
8.2.2内容.
8.2.3一般用法.
第三部分对高级结构建模
9.2.2可见性.
9.2.3实例范围和静态范围.
9.2.4抽象元素、叶子元素和多态性
9.2.5
9.2.6属性-
9.2.7操作
9.2.8模板类
9.2.9标准元素.-
2.1.2UML是一种用于可视化的语言10
2.1.3UML是一种可用于详细描述的
2.1.4UML是一种用于构造的语言.-11
2.1.5UML是一种用于文档化的语言一1
2.1.6在何处能使用UML.11
2.2.1UML的构造块.12
2.2.2UML规则.19
2.2.3UML中的公共机制.20
2.3体系结构23
2.4软件开发生命周翔.
第3章Hell, Wrld I.
3.1关键抽象.
3.2机制-.
3.3制品.
第4章类.
4.1入门.35
4.2术语和概念-.-.
2日录
第7章图.-67
7.2术语和概念.1-.168
7.3常用建模技.-.72
7.4提示和技巧-75
第8章类.
8.1入门.
8.2术语和概念.78
8.3常用建模技术.
8.4提示和技巧
第9章高级类.
9.1入门.
9.2术语和概念.
9.3常用建模技术-
9.4提示和技巧.
第10章高级关系.
10.1入门-
10.2术语和概念.-.
5.2.1依赖.
5.2.2泛化.
5.2.3关联.
5.2.4其他特征.
5.2.5绘图风格.
5.3常用建模技术.
第6章公共机制.
5.3.1对简单依赖建模.51
5.3.2对单继承建模.52
5.3.3对结构关系建模.53
5.4提示和技巧.54
25.-57
.276.1入门.57
.276.2术语和概念.-59
.-306.2.1注解.-59
316.2.2其他修饰.-59
10.2.1依.
10.2.2泛化.
10.2.3关联.
10.3常用建模技术.
10.4提示和技巧.
11.1入门.
11.2术语和概念.
11.2.1名称.
11.2.2操作
11.3常用建模技术
6.2.4标记值.-
6.2.5约柬.
6.2.6标准元素-.-
6.2.7外麻.
6.3常用建模技术
376.3.2对新特性建模-.
-.-.-376.3.3对新语义建模.-.-
-386.4提示和技巧.-
.7010.2.4实现.
11.2.3关系.
11.2.4理解接.
12.2.1名称.
12.2.2拥有的元素.
12.2.3可见性.
12.24引入与引出.
12.3.1对成组的元素建模.
12.3.2对体系结构视图建模.125
13.2.1抽象和实例.128
13.2.2类型.129
11.3.1对系统中的接缝建.-.-115
11.3.2对静态类型和动志类型建模.117
11.4提示和技巧.1