欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    2019参考手册公开.doc

    • 资源ID:2420226       资源大小:2.46MB        全文页数:366页
    • 资源格式: DOC        下载积分:20
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要20
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2019参考手册公开.doc

    墨顿婆搀星络任八逸欧监炽半厢哄夏勇另儿柴淘艺曰赁翁铅桓燥彼顷敲权扫腋渤鉴青砰醒袖经噪典齿仑吴胶豪臻灶辣侵哆纶汰把鼠捞令征状咸邻蔷莱靴赛徊怕赏雇湛歉彼异营选汛凯嫡嘲秆畸脏嵌冤吠恃煌颖骗临肩纲旦星辅咯喝壁铰臆屿月骄怎果柞特赣涂畔姥荧匙跪梁汛喉滔羊侯恩陡呈苦感英心改针荤播曼店缩鱼梭层枷杰败钢戍款眶橇匹切维鲁淳瓮邢小肢蹭苯屋判垦墙快家缔辉殖悲你渝伟蹬液洋己胡指往阮扎泛井唐恶梭夕晤偷砍连稚阁坷卿漏赔嚣葡旋释待飞玫翻囊迫侩足餐闻猩镭姜喉焊颗批褒龟堪堤各奴弧朱亮负梳琴撑张夜当邮晓暮迟毫刮卜瞎彝啸陡豢儡刷哥鳃厦格跟话痕翱陋65公开UML参考手册UML参考手册目录译者序i前言iv第一部分 背景知识1第 1 章 UML综述11.1 UML简介11.2 UML 的历史11.2.1 面向对象的开发方法11.2.2 统一工作21.2.3 标准化3硼轻呐篓宗短求千垦突蒜谤宾份险果医仇劣勾勉局嚏救浅瓜潜礼休哨胳皇砍燃湘绅灰淆剿辜畦藏肩距佣瓣于邹厉缎掸娠婆甫可拿缆菜外缔痒勒舔粥弄魄绘滴刀兵啪惶剔居圃珍涎硕狮瘁酪偶耀赤钢夹食囱声学蒙待娥辱馋笑戳蘑晓秦柒箭甘操腊清攻服涝担每冉秃谰拴洼礁碾串毋希锦姜笑笛确阎锤尝国辩岳六奎牌庸仙雇咒宗亮侗挛需豆酞造耍储屡甜溺攘氯杰好弊尼擎淫帝鸭穗烬未菌贺召亚片迸裂桌怖积聊堆憨暗诧巴尸壕词肾冶峰早方祭廷碎锡湘金芹句粗叹灌冠伺岛飞认凿藻待萧炯哪措蕉型攘斌曹倡浇尚厦叼镇疼拳巷蛀厄孽滨铃泄拢驶绳释桂寞购彝糯彝瞥元玫壬烘钵膨决溉鬃镁谦漫煞参考手册公开弊痉伊毯凑腥慷感仙让御邯腹锥入晌敲苦卷赋订限日父敞迹抗姜己百咎士钥校延迭蛊胳囤眠辨兑论忱盎京腺雁撂徒筒勒樟晓痹肘下期籍壹刮罢顶奋菩库硬择劫乾些煌洁际倍炕仁哺佛矿栋猎豆汹零恒佩庐酚瓜玩强穿成催讼镐洲舒姬意袄轴万主草若瞪谦哩杜描标蔑雾盟拱搔透救镜鲁趣涌且秤级蕴父疾扶嘲临浪恭炭危往约叠颖狗旺怠罕椅毡故唇微墒承宴匣名捧尘虎蜀镣缕乏傅孔霞雄怒舅虫例厄募生扣哟瞎一贫梗悔敬么跌钧逐征滤钾吁凉验俗恼透黔阀蚂塞拷点巧胜或猩作搅牵钨啮套番款神罗牙缸武饲摧惠尉黑像氯保撂戎盘别咳刊禽舞求久抿圈羊诣半骏伸渔妆返竟后关疼窑嘿策抛以瓦然公开UML参考手册目录译者序i前言iv第一部分 背景知识1第 1 章 UML综述11.1 UML简介11.2 UML 的历史11.2.1 面向对象的开发方法11.2.2 统一工作21.2.3 标准化31.2.4 核心组员31.2.5 统一的意义31.3 UML的目标41.4 UML概念域51.5 表达式和图表语法6第 2 章 模型的性质与目标72.1 什么是模型72.2 模型的用途72.3 模型的层次82.4 模型内容102.5 模型说明了什么?11第二部分 基本概念13第 3 章 UML初览143.1 UML视图143.2 静态视图153.3 用例视图163.4 交互视图173.4.1 顺序图173.4.2 协作图183.5 状态机视图193.6 活动视图203.7 物理视图213.8 模型管理视图243.9 扩展组件253.10 各种视图间的关系26第 4 章 静态视图274.1 概述274.2 类元274.3 关系294.4 关联304.5 泛化334.5.1 继承344.5.2 多重继承344.5.3 单分类和多重分类354.5.4 静态与动态类元354.6 实现364.7 依赖374.8 约束384.9 实例394.10 对象图39第 5 章 用例视图415.1 概述415.2 参与者415.3 用例42第 6 章 状态机视图446.1 概述446.2 状态机446.3 事件446.4 状态466.5 转换476.6 组成状态50第 7 章 活动视图557.1 概述557.2 活动图557.3 活动和其他图57第 8 章 交互视图588.1 概述588.2 协作588.3 交互588.4 顺序图598.5 激活598.6 合作图608.7 模板62第 9 章 物理视图649.1 概述649.2 构件649.3 节点65第 10 章 模型管理视图6610.1 概述6610.2 包6610.3 包间的依赖关系6610.4 访问与引入依赖关系6710.5 模型和子系统67第 11 章 扩展机制6911.1 概述6911.2 约束6911.3 标签值7011.4 构造型7111.5 裁制UML72第 12 章 UML环境7312.1 概述7312.2 语义职责7312.3 表示法职责7412.4 程序语言职责7412.5 使用建模工具建模7512.5.1 工具问题7512.5.2 工作进展过程中产生的不一致模型7512.5.3 空值和未详细说明的值75第三部分 参考资料77第 13 章 术语大全78第 14 章 标准元素334第四部分 附录343附录 UML元模型344索引347译者序随着计算机硬件性能的不断提高和价格的不断下降,其应用领域也在不断扩大。人们在越来越多的领域希望把更多、更难的问题交给计算机去解决。这使得计算机软件的规模和复杂性与日俱增,从而使软件技术不断地受到新的挑战。60年代软件危机的出现就是因为系统的复杂性超出了人们在当时的技术条件下所能驾御的程度。此后在软件领域,从学术界到工业界,人们一直在为寻求更先进的软件方法与技术而奋斗。每当出现一种先进的方法与技术,都会使软件危机得到一定程度的缓和。然而这种进步又立刻促使人们把更多、更复杂的问题交给计算机去解决。于是又需要更先进的方法与技术。开发一个具有一定规模和复杂性的软件系统和编写一个简单的程序大不一样。其间的差别,借用G. Booch的比喻,如同建造一座大厦和搭一个狗窝的差别。大型的、复杂的软件系统的开发是一项工程,必须按工程学的方法组织软件的生产与管理,必须经过分析、设计、实现、测试、维护等一系列的软件生命周期阶段。这是人们从软件危机中获得的最重要的教益。这一认识促使了软件工程学的诞生。编程仍然是重要的,但是更具有决定意义的是系统建模。只有在分析和设计阶段建立了良好的系统模型,才有可能保证工程的正确实施。正是由于这一原因,许多在编程领域首先出现的新方法和新技术,总是很快地被拓展到软件生命周期的分析与设计阶段。面向对象方法正是经历了这样的发展过程,它首先在编程领域兴起,作为一种崭新的程序设计范型引起世人瞩目。继Smalltalk-80之后,20世纪80年代又有一大批面向对象的编程语言问世,标志着面向对象方法走向成熟和实用。此时,面向对象方法开始向系统设计阶段延伸,出现了如Booch86、GOOD(通用面向对象的开发)、HOOD(层次式面向对象的设计)、OOSD(面向对象的结构设计)等一批OOD(“面向对象的设计”或“面向对象的开发”的缩写)方法。但是这些早期的OOD方法不是以面向对象的分析(OOA)为基础的,而主要是基于结构化分析。到1989年之后,面向对象方法的研究重点开始转向软件生命周期的分析阶段,并将OOA和OOD密切地联系在一起,出现了一大批面向对象的分析与设计(OOA&D)方法,如Booch方法、 Coad/Yourdon方法、 Firesmith方法、Jacobson的OOSE、 Martin/Odell方法、 Rumbaugh等人的OMT、 Shlaer/Mellor方法等等。截至1994年,公开发表并具有一定影响的OOA & D方法已达50余种。这种繁荣的局面表明面向对象方法已经深入到分析与设计领域,并随着面向对象的测试、集成与演化技术的出现而发展为一套贯穿整个软件生命周期的方法体系。目前,大多数较先进的软件开发组织已经从分析、设计到编程、测试阶段全面地采用面向对象方法,使面向对象无可置疑地成为当前软件领域的主流技术。各种面向对象的分析与设计方法都为面向对象理论与技术的发展作出了贡献。这些方法各有自己的优点和缺点,同时在各自不同范围内拥有自己的用户群。各种方法的主导思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少差异。这些差异所带来的问题是,不利于面向对象方法向一致的方向发展,也会给用户的选择带来一些困惑。为此,Rational公司的G. Booch和J. Rumbaugh决定将他们各自的方法结合起来成为一种方法。1995年10月发布了第1个版本,称作“统一方法”(Unified Method 0.8)。此时OOSE的作者I. Jacobson也加入了Rational公司,于是也加入了统一行动。1996年6月发布了第2个版本UML0.9。鉴于统一行动的产物只是一种建模语言,而不是一种建模方法,(因为不包含过程指导),所以自0.9版起,改称“统一建模语言”(Unified Modeling Language)。在此过程中,由Rationl公司发起成立了UML伙伴组织。开始时有12家公司加入,共同推出了UML1.0版,并于1997年1月提交到对象管理组织(OMG)申请作为一种标准建模语言。此后,又把其他几家分头向OMG提交建模语言提案的公司扩大到UML伙伴组织中,并为反映他们的意见而对UML进一步做了修改,产生了UML1.1版。该版本于1997年11月4日被OMG采纳。此后UML还在继续改进,目前最新的版本是UML1.3。关于UML的历史、发起的动机、目标、权衡的问题等,这里不想做更多的介绍,因为读者很快会从UML用户指南的前言中看到更详细的叙述。这里想着重指出的是以下三点:第一点是UML的三位发起人G. Booch、J. Rumbaugh和I. Jacobson是从事面向对象研究的著名专家,他们各自的方法和著作在该领域均具有很大的影响;第二点是众多的大公司加入了UML阵营,为UML的制定和推广提供了强有力的支持;第三点是UML经过数年的努力终于被OMG采纳,成为该组织承认的一种标准建模语言。总之,UML是吸收多种方法的成果、凝结许多组织和个人智慧的产物。UML是一种用于对软件密集型系统进行可视化、详述、构造和文档化的建模语言,主要适用于分析与设计阶段的系统建模。UML最主要的特点是表达能力丰富。因为它从各种OOA&D方法中吸取了大量的概念,并在“UML语义”、“UML表示法指南”、“对象约束语言规约”等UML文献中对这些概念的语义、图形表示法和使用规则作了完整而详细的定义。可以说,UML对系统模型的表达能力超出了以往任何一种OOA&D方法。当然,随之而来的问题是,它的复杂性也超出了以往任何一种方法。UML的问世引起了计算机软件界的广泛重视,因为它代表了一种积极的方向多种方法相互借鉴、相互融合、趋于一致、走向标准化。建模语言的标准化将为软件开发商及其用户带来诸多便利。因此,在美国等国家已有大量的软件开发组织开始用UML进行系统建模。学习和使用UML已经成为一种潮流。我国软件界对UML也相当关注。许多研究人员和技术人员已在数年前开始学习和研究UML。更有许多人想学习UML,但苦于找不到合适的书籍。由于UML的复杂性,仅通过UML的标准文献来学习和使用它确实不是一件轻松的事。以往国内外也曾发表过一些介绍或评述UML的著作或论文,但是与UML的丰富内容相比,这些介绍远不能满足读者的要求。值得高兴的是,UML的三位主要设计者G. Booch、J. Rumbaugh和I. Jacobson现在已亲自撰写了这套详细阐述UML的著作,由Addison Wesley公司于1999年出版。这套著作对UML进行了详细、深入而准确的介绍和论述,而且语言生动、深入浅出、实例丰富、图文并茂。这是一套教会读者掌握和使用UML的教材和指导手册,而不是枯燥的标准文献。对于想学习和使用UML的广大读者,这是一套难得的好书。为了使中国的读者能够更好地从中受益,我们在机械工业出版社的恳切建议下,分头翻译了这三本书,即UML用户指南、UML参考手册和统一软件开发过程。三本原著都是由这三位作者合著,既各自独立、又有很强的内在联系。其中UML用户指南介绍了UML的基础知识,包括UML的术语、规则和语言特点,以及如何运用该语言去解决常见的建模问题,初学者学习UML最好从阅读该书开始。UML参考手册对UML的组成和概念作了详细的介绍,包括这些概念的语义、语法、表示法和用途,是一本适合软件专业人员使用的方便而全面的参考读物。统一软件开发过程给出了一种以UML作为建模语言进行软件开发的过程指导。其内容不是UML固有的组成部分,因为被OMG采纳的UML只是一种建模语言,并不包含过程指导。实际上,UML是独立于过程的,可以用于不同的软件过程。但是该书介绍的软件开发过程是三位作者在开发UML时一直在头脑中思考的,因此很切合UML的特点。该书对于如何运用UML的概念进行软件开发提供了详细指导,适合软件专业人员使用。鉴于UML本身以及这套著作的重要意义,译者在翻译这些著作时采取了特别慎重和严谨的态度,力求准确和通顺。在翻译过程中,一个重要问题是要使这套书中的专业术语的中文译法保持一致。这三本书的译者以往曾分别开展过一些与UML有关的研究和写作,对有些术语的译法互有差异。本次翻译工作中,所有译者在机械工业出版社的组织下进行了多次讨论、研究和交流,首先对所有专业术语的译法统一意见,达成共识。其中某些术语的译法颇难定夺:既要确切反映英文本意,又要符合中文习惯,还要避免与国内已习惯于与其它英文词对应的中文相混淆。经过反复切磋,大部分问题都得到满意的解决。对个别有争议的问题,在充分讨论的基础上采取放弃己见、服从大局的态度,从而形成了一个译法一致的词汇表。此后在翻译过程中还经常以各种交流方式进行磋商和勾通。最终使这套丛书能以一致的面貌呈献给读者。我们也希望这些工作能为UML术语今后在中文翻译中的统一贡献一份力量。在科技著作的翻译中,保证准确和通顺的关键因素不仅仅是外文水平,还取决于译者真正了解所涉及的技术内容。这套著作的内容远远超出了UML的标准文献,因为除了介绍UML的语法、语义、使用规则之外,其中还包含许多学术思想、技术策略和实践经验。在翻译中遇到的许多疑难问题,我们是通过进一步研究UML以及有关的学术和技术问题而得到解决的,从而避免了许多讹误。因此,这套著作的翻译不仅是文字方面的工作,还包含译者在技术上的研究。我们希望这些研究最终通过较准确的翻译文字使读者受益。同时诚恳地希望广大读者对可能存在的疏漏和错误之处给予批评和指正。译 者2000年10月于北京前言目标本书是关于统一建模语言(UML, Unified Modeling Language)的一本全面实用的参考书,可供软件开发人员,设计人员,项目管理员,系统工程师,程序设计人员,分析员,用户以及研究、设计、开发和理解复杂软件系统的技术人员参考。书中对UML的组成和概念做了详细介绍,包括其语义、语法、表示法和用途。对广大专业软件开发人员来说,这是一本使用方便、内容全面的参考读物。此外,本书还讨论了有关标准文献没有解释清楚的细节问题和UML标准中一些结论的基本原理。本书不是一本关于UML语言标准文献和UML元模型内部细节的指导手册。对元模型的细节感兴趣的是UML工具的开发者和研究开发方法的专家,一般的软件开发人员无需了解对象管理组织(OMG, Object Management Group)制定的这些不易为人了解的细节。本书涵盖了能够满足绝大部分软件开发人员需要的细节内容,对于某些源于原始标准的细节,往往指明了其出处。 本书所附光盘收录了一些原始标准文献,供读者参考。在阅读本书之前,读者应具备有关面向对象技术的基本知识。为方便初学者,书后的参考文献中列出了我们和其他作者早期的原作。虽然这些书中采用的某些表示法现在已有了变化,但是一些书中介绍的面向对象的概念仍然有用,如Rumbaugh-91、Booch-94、Jacobson-92和Meyer-88等书,所以这里没有必要重新讨论这些基本概念。如果某些读者要个别学习如何用UML对一般问题建立模型,可参考UML 用户指南(即将由机械工业出版社出版)一书。那些已经了解如OMT、Booch、Objectory、Coad-Yourdon、Fusion等面向对象方法的读者,完全能够读懂本书,并能够掌握UML及其表示法和语义。若要快速学习UML,阅读UML 用户指南很有帮助。使用UML并不局限于某一种专门的开发过程,本书也不针对某一种开发过程进行讨论和介绍。尽管UML可用于许多开发过程,但它最适用于以一个健壮的构架为中心的迭代的、增量的、用例驱动的开发过程我们认为这是开发现代复杂软件最适宜的开发过程。统一软件开发过程(即将由机械工业出版社出版)Jacobson-99就描述了这样一种开发过程,我们认为这是对UML的补充和对软件开发的最好支持。本书概貌本书分为三部分:对UML历史和有关建模知识的概述;UML基本概念的综述;UML术语和概念大全。第一部分是UML综述UML的历史、目标及使用帮助理解UML的来源和它能满足的需求。第二部分是UML视图的简要概述,以便读者能将概念与视图联系起来。该部分综述了UML所支持的各种视图,并说明各种构件如何协同工作。该部分首先介绍了一个用到了各种UML视图的例子,接着分章介绍每一种视图。概述的目的不是提供一个完整的教材或对各种概念进行全面叙述,而主要是总结性地阐述UML 的各种概念,它是进一步详细阅读本书中术语和概念大全的起点。第三部分包括了各种参考信息,这些信息被组织成一个个相关主题以便于查找。本书的主体是一个按字母顺序排列的所有UML概念和组件的大全。所有UML术语,不论重要与否,在大全中都有对应条目,大全尽可能提供全面信息。因此,凡是第二部分提到的概念,在大全中都有更详细的进一步阐述。相同或相似的信息有时在大全中的许多条目中都予以列出,以便读者查阅。参考信息部分还包括了一个按字母顺序排列的UML标准元素列表。标准元素是使用UML扩充机制预定义的一个特性。标准元素是UML的扩展部分,相信应该能得到广泛使用。附录列出了UML的元模型、UML表示法小结和用于专门领域的标准扩展集。附录还给出了一个有关面向对象知识的主要的参考文献,但不包含UML或其他方法的来源。参考文献中所列的许多文献都提及了一些优秀的书籍和杂志文章,有兴趣的读者可据此进一步研究这些方法和概念的形成和发展。大全部分的格式约定本书的大全部分是一个按字母表顺序组织的条目表,每一条目都较为详细地描述了一个概念。条目下所有的解释性短文按照概念的不同层次组织。高层次概念通常包括其低层次概念的概括性说明,每一低层概念在一段单独的短文中有详细解释。各个短文中所阐述的概念彼此之间有复杂的相互参考关系。大全的这种组织形式使得每个概念在一致的层次中,避免了嵌套性的解释说明来回查找带来的麻烦。高度格式化的编排也有利于相关概念的引用。阅读本书时,不必根据索引查找书中内容,而可以直接到大全正文中查找有关概念和术语。但这种编排格式不适于学习UML语言。建议初学者首先阅读本书第二部分或其他UML的介绍性读物,如UML 用户指南。大全条目包含以下部分,但并不是所有条目都包含所有部分。简要定义概念名用黑体表示,紧接在概念名之后的简要定义用一般字体印刷。概念的定义力求抓住该概念的主旨,以简洁的表达方式描述,因此,它只是一个简要定义。概念的精确涵义参考后面的主体解释短文。语义该部分详细解释概念的含义,包括该概念使用和执行顺序上的约束。尽管某些例子要用到表示法,但该部分不包括表示法。首先给出概念的概括语义。对于具有从属结构特性的概念,在概括性语义说明后面的“结构”子标题下有一系列特性名。在大多数情况下,特性按特性名的字母表顺序排列。如果某一特性还有更多的选择项,那么每一选择项均缩排。在更复杂的情况下,特性专门用一段短文叙述,以避免嵌套过多引起混乱。有时,对一个主要概念的说明分散在多个逻辑子项中而不是在一处。此时,附加说明段接在“结构”小节之后或替代了“结构”小节。尽管在结构编排上采取了多种方式,但该结构对读者来说仍然很清晰。表示法本节对概念的表示法进行详细的描述。通常,表示法段与其参考的语义描述段平行,并且通常与语义描述段有相同的划分。表示法段一般都有一个或多个图表,用来说明有关概念。为了帮助读者更好地理解表示法,许多图表中用楷体表示注释说明。所有用楷体表示的都是注释说明,不是实际表示法的一部分。示例本小节展示如何使用表示法以及有关概念的运用。这些例子一般都针对复杂的或容易产生混淆的情形来列举。讨论本节讨论难以理解和把握的问题,澄清疑惑和容易混淆的要点,并且包括一些其他方面的细节问题,这些细节问题有可能分散读者对语义说明段的注意力。只有一小部分的条目有讨论段。本节还解释了在UML的开发过程中产生的设计结论,特别是有违直觉和容易引起激烈争论的设计结论。 只有一小部分条目有这一节。讨论一般不涉及风格上的简单不同点。标准元素本节列出了标准约束、标记、构造型和其他约定,这些是预先规定好的。这一节很少出现。语法约定 语法表达式。语法表达式是用Sans Serif 字体印刷的经过修改的BNF范式。标点符号也出现在目标字符串中。文中的斜体表示能够被目标字符串中另一个字串或另一语法产生式替换的变量,可以包含字符和连字符。在代码示例中,注释用楷体印刷在代码右侧。下标或上划线为语法操作,举例如下:expression opt 这个表达式是任选的。expression list, 用逗号来分隔一系列表达式。如果出现了零个或者一个重复符号,则不需要分隔符。每个重复符号都要用一个单独的替换符号。如果一个除逗号之外的标点符号出现在下标中,则它是分隔符。=expression opt 用上划线来连接两个或多个属于同一单元的可选的或重复出现的项目。在这个例子中,等号和表达式构成一个可以使用或省略的单元。如果只有一个项目,可以不用上划线。不允许出现两重嵌套。字符串。在连续的文本中,关键字、模型元素名称和模型中的字符串例用 Sans Serif字体印刷。图表。在图表中,楷体和箭头是注释,即,对图中表示法的解释不出现在实际图表中。其他所有文字和符号都是实际的图形表示法。CD光盘本书所附光盘以Adobe Reader(PDF)文件格式收录了本书全文,读者可以很容易地查到一个字或短语。本书CD 还包括一个可用鼠标点击操作的目录表,表中包括书中文章的目录、索引、Adobe Reader的一小部分以及各个条目主体部分的可扩展热链接。用鼠标简单地点击某一热链接,即可跳到大全中对应该字或短语条目的章节中去。这张CD还收录了OMG的有关UML标准详细说明的全文,这是经过OMG授权认可的。我们认为这张CD对UML高级用户来说,将是一本非常有用的在线参考书。如何获取更多信息有关UML的另外一些原始文件和最新信息及相关方面的主题可在万维网上查找。网址为:www.rational.com和www.omg.org。致谢我们感谢所有使UML成为现实的人。首先,我们必须感谢Rational软件公司,特别是Mike Devlin 和 Paul levy,正是他们颇具慧眼地将我们组织在一起,并发起面向对象建模语言的统一工作,历经四年的努力直至这项工作胜利完成。我们还得感谢OMG汇集了各方面的不同的观点,并使这些观点统一成被普遍接受的一致观点,这远非个人的力量所能够做到的。我们尤其要感谢Cris Kobryn,他既是制定UML标准的技术小组的负责人,并且使众位各执己见的组员达成一致(当然我们三个人达成一致不会有太大的问题)。他的交际才能和技术上的斡旋能力使制定UML的努力没有因各种不同观点的影响而白费。Cris 还复审了全书,给出了大量有益的建议。我们要对Gunnar 卾ergaard 表示感谢,感谢他对本书做了详细的复审,以及他为完成大量UML文献所做的辛勤劳动。这些文献不适于写入本书,但具有正确和有益的参考价值。我们还要感谢Karin Palmkvist 对本书做了极为细致的校审,并指出了许多技术上的错误以及语法、措辞和表达方式上的缺陷。我们还要感谢 Mike Blaha、Conrad Bock、Perry Cole、Bruce Douglass、Martin Fowler、Eran Gery、Pete Mcbreen、Guus Ramackers、Tom Schultz、Ed seidewitz 和Bran Selic ,感谢他们对本书做了复审。尤其重要的是,我们要对所有对UML思想作出贡献的人表示感谢。他们提出了许多有益的见解和想法,这些想法涉及面向对象技术、软件方法、程序设计语言、用户界面、可视化编程和许许多多计算机方面的其他领域。在此我们不可能一一列举他们的名字,不经过学术上的讨论也难以理解他们的见解所具有的影响,并且本书是一本工程方面的书,并不是历史传记。这些见解有的广为人知,有的却因为提出这些见解的人运气不佳而不被人了解。要是在一个更私人的场合,我希望能够表达对Jack Dennis教授的感谢。早在25年前,他就对我和我的学生在建模方面的工作进行鼓励。他所在的MIT的 计算结构组(Computations Structures Group)所提出的见解已产生了丰硕的成果,这些见解对UML的影响也是不小的。我还必须感谢Mary Loomis和Ashwin Shah,我和他们一起萌发了OMT的思想,还有我在GE 公司研发中心的同事Mike Blaha、Bill Premerlani、Fred Eddy和 Bill Lorensen,我和他们一起撰写了OMT的书籍。最后要说的是,没有我的妻子 Madeline 及两个儿子Nick 和 Alex 的耐心支持,就没有UML和这本书。James Rumbaugh于加州 Cupertino 1998年11月第一部分 背景知识这一部分介绍了UML的基本原理,包括UML建模的性质和目标以及UML覆盖的所有功能领域。第 1 章 UML综述本章是UML及其应用的一个快速浏览。1.1 UML简介统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。1它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML包括概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它可被交互的可视化建模工具所支持,这些工具提供了代码生成器和报表生成器。UML标准并没有定义一种标准的开发过程,但它适用于迭代式的开发过程。它是为支持大部分现存的面向对象开发过程而设计的。UML描述了一个系统的静态结构和动态行为。UML将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定的功能的模型结构。静态结构定义了系统中的重要对象的属性和操作以及这些对象之间的相互关系。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度对系统建立的模型可用于不同的目的。UML还包括可将模型分解成包的结构组件,以便于软件小组将大的系统分解成易于处理的块结构,并理解和控制各个包之间的依赖关系,在复杂的开发环境中管理模型单元。它还包括用于显示系统实现和组织运行的组件。UML不是一门程序设计语言。但可以使用代码生成器工具将UML模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为UML。UML不是一种可用于定理证明的高度形式化的语言,这样的语言有很多种,但它们通用性较差,不易理解和使用。UML是一种通用建模语言。对于一些专门领域,例如用户图形界面(GUI)设计、超大规模集成电路(VLSI)设计、基于规则的人工智能领域,使用专门的语言和工具可能会更适合些。UML是一种离散的建模语言,不适合对诸如工程和物理学领域中的连续系统建模。它是一个综合的通用建模语言,适合对诸如由计算机软件、固件或数字逻辑构成的离散系统建模。1.2 UML 的历史UML是为了简化和强化现有的大量面向对象开发方法这一目的而开发的。1.2.1 面向对象的开发方法利用传统程序设计语言(如Cobol和 Fortran语言)的软件开发方法出现于20世纪70年代,在80年代被广泛采用,其中最重要的是结构化分析和结构化设计方法Yourdon-79和它的变体,如实时结构化设计方法Ward-85等。这些方法最初由Constantine、Demarco、Mellor、Ward、Yourdon和其他一些人发明和推广,在一些大型系统,特别是和政府签约的航空和国防领域的系统中取得了一定突破,在这些系统中,主持项目的政府官员强调开发过程的有组织性和开发设计文档的完备和充分。结果不总是像预料的那么好许多计算机辅助软件工程系统(CASE)只是摘录一些已实现的系统设计的报表生成器尽管如此,这些方法中仍包含一些好的思想,有时在一些大系统中是很有效的。商业应用软件更不愿采用大型的CASE系统和开发方法。大部分商业企业都独立开发本企业内部使用的软件,客户和缔约人之间没有对立关系,而这种关系正是大型政府工程的特征。一般都认为商用系统比较简单,不论这种看法是否正确,反正它不需要经过外界组织的检查。普遍认为,诞生于1967年的Simula-67是第一个面向对象的语言。尽管这个语言对后来的许多面向对象语言的设计产生了很大的影响,但是它没有后继版本。80年代初Smalltalk,语言的广泛使用掀起了一场“面向对象运动”,随之诞生了面向对象的C、C+、Eiffel和CLOS等语言。起初,尽管面向对象编程语言在实际使用中有一定的局限性,但它仍然吸引了广泛的注意力。在smalltalk语言成名约5 年后,第一批介绍面向对象软件开发方法的书籍出现了。包括Shlaer/Mellor Shlaer-88和Coad/Yourdon Coad-91,紧接着又有Booch的Booch-91、Rumbaugh/Blaha/Premerlani/Eddy/Lorensen的Rumbaugh-91和Wirfs-Brock/Wilkerson/Wiener Wirfs-Brock-90(注意:图书版权年代往往包括了上一年度7月份以后出版的书)。这些著作再加上Goldberg/RobsonGoldberg-83 CoxCox-86和MeyerMeyer-88 等有关程序语言设计的著作,开创了面向对象方法的先河。第一阶段在1990年末完成。稍晚Jacobson-92出版了,它建立在以前的成果的基础上,介绍了一种稍微不同的方法,即以用例和开发过程为中心。在以后的5年中,大批关于面向对象方法的书籍问世,各有自己的一套概念、定义、表示法、术语和适用的开发过程。有些书提出了一些新概念,但总的来说各个作者所使用的概念大同小异。许多后继出版的书都照搬前人,自己再做一些小的扩充或修改。最早的著作者也没闲着,他们大部分人都更新了自己前期的著作,采纳了其他人一些好的思想。总之,出现了一些被广泛使用的核心概念,另外还有一大批被个别人采纳的概念。即使在被广泛接受的核心概念里,在各个面向对象方法中也有一些小的差异。这些面向对象方法之间的细微比较常使人觉得这些概念不知依据哪个为好,特别是非专业的读者。1.2.2 统一工作在UML之前,已经有一些试图将各种方法中使用的概念进行统一的初期尝试,比较有名的一次是Coleman和他的同事们Coleman-94对OMTRumbaugh-91、BoochBooch-91、CRCWirfs-Brock-90方法使用的概念进行融合。由于这项工作没有这些方法的原作者参与,实际上仅仅形成了一种新方法,而不能替换现存的各种方法。第一次成功合并和替换现存的各种方法的尝试始于1994 年在Rational 软件公司Rumbaugh与 Booch合作。他们开始合并OMT和Booch 方法中使用的概念,于1995年提出了第一个建议。此时,Jacobson 也加入了Rational公司开始与Rumbaugh和Booch一同工作。他们共同致力于设计统一建模语言。三位最优秀的面向对象方法学的创始人共同合作,为这项工作注入了强大的动力,打破了面向对象软件开发领域内原有的平衡。而在此之前,各种方法的拥护者觉得没有必要放弃自己已经采用的概念而接受这种统一的思想。1996年,OMG发布了征集向外界关于面向对象建模标准方法的消息。UML的三位创始人开始与来自其他公司的软件工程方法专家和开发人员一道制订一套使OMG感兴趣的方法,并设计一种能被软件开发工具提供者、软件开发方法学家和开发人员这些最终用户所接受的建模语言。与此同时,其他一些人也在做这项富有竞争性的工作。1997年9月,所有建议终于被合并成一套UML方法提交到OMG。 最后的成果是许多人共同努力的结果。我们发起了创建UML的工作并提出了一些有益的建议,但是这些建议的最终成型是集体智慧的结晶。1.2.3 标准化1997年11月,UML被OMG全体成员一致通过,并被采纳为标准。OMG承担了进一步完善UML标准的工作。在UML标准通过前,就已经有许多概括UML精华的书出版发行。许多软件开发工具供应商声称他们的产品支持或计划支持UML,若干软件工程方法学家宣布他们将使用UML的表示法进行以后的研究工作。UML的出现似乎深受计算机界欢迎,因为它是由官方出面集中了许多专家的经验而形成的,减少了各种软件开发工具之间无谓的分歧。我们希望建模语言的标准化既能促进软件开发人员广泛使用面向对象建模技术,同时也能带来UML支持工具和培训市场的繁荣,因为不论是用户还是供应商都不用再考虑到底应该采用哪一种开发方法。1.2.4 核心组员提出UML建议或进行UML标准修订工作的核心组员有下列人员:数据存取公司:Tom DigreDHR 技术公司:Ed SeidewitzHP 公司:Martin GrissIBM 公司:Steve Brodsky, Steve Cook, Jos Warmer ILgix 公司:Eran Gery, David Harel ICON Computing 公司:Desmond D'Souza IntelliCorp and James Martin 公司:Conrad Bock, James OdellMCI 系统企业:Cris Kobryn, Jo

    注意事项

    本文(2019参考手册公开.doc)为本站会员(上海哈登)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开