大象-thinking in uml

所需积分/C币:38 2019-01-22 15:24:45 65.99MB PDF
收藏 收藏
举报

《大象:Thinking in UML》以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言和精彩的事例将复杂枯燥的软件过程讲解得津津有味。全书分为准备篇、基础篇、进阶篇和总结篇四个部分。准备篇讲述面向对象分析的一些基本概念,及学习建模需要了解的一些基本知识。基础篇对UML的基础概念重新组织和归纳整理,进行扩展和讨论,引申出针对UML的这些概念在面向对象方法中应用方法的思考。进阶篇以一个实例贯穿全篇,阐述如何使用UML从头到尾地实施一个项目。总结篇针对在现实中经常遇到并且较难掌握的问题进行深入的探讨,升
部拼要爱! 内容提要 本书以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全 书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言和精彩的要 事例将复杂枯燥的软件过程讲解得津津有味 全书分为四个部分。第一部分讲述面向对象分析的一些基本概念,及学习建模需要了解 的一些基本知识。第二部分对UML的基础概念重新组织和归纳整理,进行扩展和讨论,引 申出针对UML的这些概念在面向对象方法中应用方法的思考。第三部分以一个实例贯穿全 篇,阐述如何使用UML从头到尾地实施一个项目。第四部分针对在现实中经常遇到并且较 难掌握的问题进行深入的探讨,升华在前几篇学习到的知识。 本书可供正在学习编程、软件工程等知识,准备将来从事IT行业的读者、正努力向设 计师或系统分析员转变的技术人员及期望对软件分析设计更上一层楼的设计人员学习和提 高之用。 图书在版编目(CIP)数据 大象: Thinking in UML/谭云杰著.--2版 北京:中国水利水电出版社,2012,3 ISBN978-7-5084-9234-6 I.①大…Ⅱ.①谭*…Ⅲ.①面向对象语言, UML一程序设计Ⅳ.①TP312 中国版本图书馆CIP数据核字(2011)第258602号 策划编辑:周春元 责任编辑:宋俊娥 书 名大象— Thinking in UML(第二版〕 作 者谭云杰著 出版发行中国水利水电出版社 北京市海淀区玉渊潭南路1号D座100038) 网址:www.waterpub.com.cn Emal; channe@263net(万水) salesawaterpub.com.cn 电话:(010)68367658(发行部)、82562819(万水 经 售北京科水图书销售中心(零售 电话:(010)8833994、63202643、68545874 全国各地新华书店和相关出版物销售网点 排 版北京万水电子信息有限公司 刷北京蓝空印刷厂 规 格184mm×240mm16开本34印张788千字 版 次/2009年1月第1版第I次印刷 2012年3月第2版2012年3月第1次印刷 数0001-4000册 定 价|68.00元 凡购买我社图书,如有缺页、倒页、脱页的,本社发行部负贵调换 版权所有·侵权必究 部拼没患 大象希形 ■可遇而不可求 中国彖棋,只有32棵棋子,规则简单、但水平高低之间,不在于是否堂握了马走日象走田。正如UML,简 单说只有元素、视图与模型,但水平高低之闸,绝不在于谁能在视图之上画岀各种元素堆积的模型,而是在于谁 能够借助UML提供的这些工具,灵活自如地为复杂项目的开发提供一个成熟的、统一的、系统的、广泛适用的系 统分析设计与建模方法,即软件的统一过程, 说到统一过程、不能不提一下RUP,正是由于RUP与UML师出同门,造就了RUP在软件统一过程中 的霸主地位。不过一提到RUP,文档、模型、迭代、组件、架构、软件层次等词汇,嵴蜡般的祝念扑面而来, 可以想象学刁的感受。RUP的官方文档晦涩而枯燥;相关的图书,缺少透彻的理解与思想,有时还不如官方 文档好看。痛苦在于,明明你知道RUP就是把守通向实现技术自由之梦想之路的任督二脉,却又无力打通 而亍菜乌同志们来说,层出不穷的开发框架,云山雾罩的设计模式,庞大复杂的体系和概念、无处着力的分 析设计与建模.,从何学起?如何学起? 这就是一本解决这些问题的书。 坦率地说,这样的书不是策划而来,全凭幸运之神的春顾。而于广大读者,这是一部可遇而不可求的技术宝作 ■天上人间 有句俗话叫吃水不忘挖井人,说起UML,不能忘记lvar, James, grady这三个UML的创始人—三位方 汏学大师,在软件领域,他们是教父级人物。但是并非所有读者都认可这个观点,原因是他们饱受UML与RUF 之晦涩复杂之苦,并且始终也未得其门而入。不能被大众所掌握,再巧妙再高深的知识也只是形同鸡肋。 本书笫一版的字字句句,如醍醐灌顶,使好多困扰本人多年的似是而非的晦涩技术穊念,茅塞顿开。本书笫 二版面市之际,我已经知道,那种无以言表的美好感觉,并非我的独自感受,两万余名笫一版的读者、无不向谭 云杰老师致以深深的敬意。正是因为大家的感思心情,使谭老师在软件技术的征途上,这三年来更加吋刻不敢懈 怠;正是因为大家的感思心情,谭老师又斟出了自己多年来对于面向对象的数据库的分析、设计与建模方面的心 得,与朋友们共勉。这就有了本书的第二版 有一点必须声明,作者本人非常惶恐于拿他与lvar, James,(rady三位大师相提开论。本人也并没有任何对 三位大师的不恭之意,我只是想说:三位大师在天上,谭老师在人间 ■大象 老子说,大象希形、大音希声。我的理解大概是,象至极大,形之其次;音至极美,声之其次;器至极 巧,工之其次。能把UML讲得如蛋清般清沏,已属罕见,在读完这本书之后,又突然发现已然把朝夕膜拜的 RUP之精髓收于寰中,同时让开发框架、软件架枸、设汁模式、分析、设计与建模等庞大而复杂的概念,再 也不像如鲠在喉,真的难以形容这是一种多么美妙的感觉。之余,不得不叹服作者功力之厚、思想之深、语 言之美、构思之巧,一切莫不彖至极大,故此书第一版,命名为《大象》 对于本书的第二版,我依然认为这是一个最为贴切的名字 周春元 部拼吾没要 再版序 《大象— Thinking in UML》自209年出版以来,已经过去了三年。在这三年中,《大象》获得了我预 期之中的关注,也获得了我意料之外的荣誉 我所预期的,是我坚信《大象》是我所知道的唯一一本结合了面向对象方法、软件工程方法、基于UML 的建模方法的全程建模的书;我相信也是唯一一本不仅仅是授技,而是试图论道的书。最重要的是在决定写 作本书时,我便决心不写那种引用、翻译、拼凑各种资料的书,因为我在工作中经过学习、思考和实践,已 经形成了一套自己的面向对象的建模、分析和设计方法,至少在我自己的项目中用起来得心应手,我觉得应 该将这套方法传播开来。既然这套方法能够让我自己的项目荻益,我相信也能够让更多的Ⅳ从业者获益。我 于是非常用心地写下每一个字,每一个观点都是自己的理解和经验总结,几乎倾尽了工作十年的所有经验和 思考。我相信这样的书一定会获得读者的喜爱,所以自写作时就期望着能得到读者的肯定 而意料之外的,则是受欢迎的程度远远超过了我的预期。我没想到在本书出版的第一年,便在互动网的 计算机图书销售排行版上冲上了销售榜的笫三名;没想到在接下来的这三年里,销售也一直非常蜉,至今已 经重印了6次之多;更没想到的是本书被许多学校采纳为教材或者课外资料。而最让我欣慰的则是读者的反 馈。读者购买本书后的每一条反馈我都会看,不论是贽扬的还是批评的。更多的读者在阅读后会给我来信, 要么询问书中不太明白的地方,要么指出书中的一些错误。甚至有读者建立了专门的QQ群来讨论与本书相 关的一些问题 与冷冰冰的销售紀录相比,我更看重这些热乎乎的评论、讨论。这为《大象》赋予了生命,或者说,之 所以会有今天的第二版,它的第二次生命就是由这些读者给予的。读者对《大象》的指正都改进到了笫二版 中;读者对《大象》更多的期待,更是直接促成了第二版的诞生. 在准备第二版之前,我曾经想过要不要大动手术,但一方面大部分读者的反馈表明《大象》第一版挺合 乎胃口。另一方面,在第一版出版后的这三年里,我应邀做了许多演讲、培训和公开课,在这些活动中我完 全依据《大象》的思想和方法来讲课,获得了绝大多数学员的认可和肯定。学员们普遍反映这套方法颠覆了 他们的认识,使得他们对面向对象方法、建模方法和UML的理解有了质的变化,经过学习,对软件本身也有 了全新的认识,这让我意识到,《大象》里我所传达的思想和方法是符合现实需要的,目前我没有足够的理由 对第—版进行大刀阔斧的更改,但第一版也绝不是完美的,除了错误、不严谨的地方,也有读者确实需要但 在第一版中未涉及的内容 因此,第二版我决定维持原有的主体不变化,包括贯穿全书的例子一方面改正错误、宠卷言组歙, 更重要的是补充读者期望的内容。基于此,在第二版中,最大的改变是:第一:应许多读者的要求,专门增 加了笫Ⅳ3章,深入讨论了面向对彖方法与面向关系方法的区別与联系,详细讨论了面向对象的数据建模的方 法;第二,在第5章中澄清了笫一版中所讲的“问题领城建樸”与大家所熟知的“领域驱动建模”在概念上 的不同,并在第17章中详细讲述了“领域驱动建模”与“用例驱动建模”方法的使用 在第二版即将完成的前夕,我完成了人生另一个重要的转变:随着小鱼鱼的出生,我成为了一个父亲 喜悦之情自不必多说,尽管两个月来我再没睡过完整的一觉。我相信孩子将从此永远改变我的生活方式,为 了与他一起成长,我得把书送给他,并留下这段话。或许以后,他会拿着书說:看,这是爸爸为我写的,虽 然我看不懂,但我知道大象鼻子很长…… 再次感謝您关注和购买本书。您的意见将是我最大的收获!我将与您一同成长 谭云杰 2012年03月 部拼吾没要 III 写给读者的话 近几年来,面向对象几乎成为软件技术的代名词。不论是学校设置的计算机课程,还是时下最流行的編 程语言、设计方法,以及新兴的概念、标准和新思想无不被冠以面向对象的标签。而UML是面向对象方法的 一面殡帜,谈到面向对象的分析和设计就不能不谈到UML。如今UM也成为面向对象分析和设计事实上的 行业标准,然而什么是UML?怎样使用UML?UML仅仅是一组符号吗?可以说,UML是面向对象思想和 方法的具体化和符号化。学习UML的过程就是掌握面向对象思想和方法的过程。相对学习UML的符号含义 而言、掌握它们背后的方法和思想是更为重要的,古人将知识分为“技”和“道”,习技固然可以成为人杰, 而悟道才能羽化升仙。希望读者不仅仅满足亍学会使用UML,而应该能够从中悟道 不论是面向对象的方法,还是面向对象的杰出代表UML,许多朋友在现实中并不能真正掌握它们,虽然 用着面向对象的工具,采用面向对象的语言,却做不出一个真正符合面向对象思想的软件。笔者在工作中发 现许多使用了多年UML的人其实并不真正理解UML的意义,常常用着UML却做出了并非面向对象的设计 就像一个不知道诗歌格律的人,不论采用什么文字都写不出诗歌一样;没有真正理解面向对象的思想,没有 真正掌握面向对象的方法,仅仅使用UML符号并不等于可以做出面向对象的分析和设计。 人类自从有思想以来,就在不断探寻和认识自己所生活的这个世界。从本质上说,面向过程和面向对象 都是人们认识这个世界的方法;而具体的技术,则是在釆用这种方法认识世界的过程中被发明、总结和归纳 出来的最佳实踐。对于学习者而言,掌握这些技术是重要的;掌握这些技术表示你巳经继承了前人的经验积 累,并且是一个捷径,一如设计模弌。但是,作者更建议把学习提升一个层次,超越具体技术細节去思考其 背后蕴含的思想和方法。这正是本书要冠名以 Thinking in UML的原因.本书并不是一本讲述哲学和方法论 的书籍、相反,仄书中将以大量的实例进行阐述,同时把作者在面向对象分析和设计领域的经验融入其中, 因此本书更像是一本实战手册。本书除了讲解面向对象的基本概念和UMⅦL语言之外,将采用更大篇幅现身说 法,深入浅出地把面向对象慇想的精髓、分析思路、推导方法传授给读者。本书的讲解均来自实际工作,乃 作者多年工作经验和最佳实践的总结和归纳。这些经验和最佳实践来源于实际,更贴近于实际 本书中某些实例或许正好与读者正面临的问题相同或相似,读者当然可以照葫芦画瓢,举一反三地去解 决现实中的问题,然而这并非作者的本意。作者在构思这本书的时候,是希望以实例为线索,将思考方法和 分析过程传达給读者,让读者理解某个具体解决方蒙背后的思考过程、分析过程和推导过程。哪怕读者经过 部恶今 思考得出与作者完全不同的结果,甚至证明出作者所给出的解决方靠并非一个好方案,这也是作者所期望的 希塑读者在阅读本书的过程中,关注并思考作者在面对一个问题饭域时的思考和分析过程而不要遂 于书中给出的具体实例。本书的核心是 Thinking,UML只是表达的載体。如果读者能从作者的分析方法中获 得灵感,对面向对象的分析和设计有所感触,开始有恍然大悟的感觉,那么作者将感到最大程度的欣慰。另 外,作者的分析方法和推导过程只是作者本人在工作中自己总结出的经验,不是标准答案,更不是圣经。期 望读者能够从作者的这些经验中经过思考,结合自己的实际,获得自己的方法。如果真是这样,作者的这些 文字工作就真正劳有所值了。 为了让读者方便阅读,本文中的绝大部分示例图中的UML元素都是用中文命名的。在实际工作中建议除 了业务模型部分外,其他模型都最好使用荚文,这是因为一方面Rose对中文的支持不太好,另一方面毕竟最 终代码实现是英文的,模型与实现都用英文会避免很多歧义。 本书为《大象一 Thinking in UML》的第二版,在本版中,加入了我近年来对于面向对象的数据库设 计方面的一些心得体会,与大掌共勉。这部分也是第一版不少读者非常期待学习但却不容易找到相关主题 的内容。 最后,感谢您购买此书,希望在本书中能够找到那些正在困扰着您的问题的答袋。祝大家阅读愉快! 关于本书 提到 Thinking这个词,读者大多会想到一本经典技术书籍巛 Thinking in Java》。之所以《 Thinking in Java》 会成为经典,原因在于这本书并不是教授读者Java语言本身,而是透过lava语言深入讨论其背后的思想和方 法。授人以鱼不如授人以渔 本书是讲述UML的。同样,本书也不是一本纯粹教授UML语法的书籍,而是通过UML这个表象来深 入探讨面向对象的分析方法;同时将结合软件工程,传达基于对象的思考方法、分析模式和推导过程以及它 们在软件工程的各个阶段如何发挥作用。本书冠以 Thinking in UML这一名称正是为了切合这个主题。作者不 敢奢望本书会成为巛 Thinking in Java》一样的经典书籍,但是作者在本书中倾尽了自己在面向对象分析和设计 领城中的实践和经验积鼠。至少对那些尚未能够深入此领域,感觉面向对象仍然似是而非的朋友们,本书中 将要传达的那些思路将会是一条线索,至少能够帮助你找到通往面向对象分析的大门。 本书在编写过程中,以大量实际项目中会遇到的实例引出问题,讲谜作者对这一问题的分析思路和解决 办法。再进一步升华,通过对实例的评点,分析思路的归纳和扩展,上升到面向对象方法理论。逐步引导读 者由点到面,由表及里,最后由对工具的使用上升到思想的高度,从而能够自如地跳出工具使用的局限,真 正从方法和思想的高度来看待和解决现实的问题。本书中的很多内容和思想将是你在其他书籍中看不到的 本书为第二版,依然分为四个部分,由浅入深,从基础到高级,每个章节都有具体的实例进行说明,同 时作者将耗赀更多的篇幅来评点和阐述这些实例。在某些章节最后还会就一些关键概念和不容易理解的地方 提出问题,让读者自行思考与笫一版不同的是,本书加入了近年来本人对于“面向对象的数据库设计”方 面的一些心得体会,这也是第一版的很多读者非常期特学习的。同时,本书的第二版吸收了部分第一版读者 提出的宝贲建议或杰出观点,在此表示感谢 第一郾分——你需要了解。在这一部分中,作者将从面向对象的困难和需要入手,讲述面向对象分析的 一些基本概念,由此提出为什么需要UML这一话题。另一方面,也讲述了接下来学习建模需要了解的一些基 本知识 第二部分一在学习中思考在这一部分中作者将从实用的角度对UML的基础概念重新组织和归纳整理, 同时进行一些扩展和讨论,引中出针对UML的这些概念在面向对象方法中应用方法的思考。这些内容将覆盖绝 大部分实际工作的需要。通过这一部分的学习,读者将从另一个角度了解UML,知道UML能够做什么 部吾没 第三部分一在实践中思考。在这一部分中,作者将以一个实例贯穿全篇,以软件过积为纲,阐述在条 一部分中学习到的那些UM元素和视图将如何在一个实陈的软仲过程中发挥作用,如何相互配合将一份原始 需求经过层层分析和推导,最终形成可执行的代吗。并且这个过程将是可验证的和可追溯的。读者在闶读本 部分的时快,应关注分析过程和推导过程,思考从需求到实现是如何保证可验证性和可遮溯性的。通过这一 部分的学习,读者将能够学会如何使用UML来从头到尾地实施一个项目。 笫四部分——在提炼中思考。在这一部分中,每个章节均会针对一个在现实中经常遇到并且较难掌握的 问题进行深入的探讨。这些探讨将有助于提升面向对象的思考能力,升华在前两部分学习到的知识。 本书中用到的UML图使用Rose绘制,完整的工程文件可以从中国水利水电出版社和万水书苑免费下载 网址为http:/www.waterpub.comcn/softdown/:和http://www.wsbookshow.com 由于作者水平有限,很多内容是自己的经验总结,出现错误在所难免,欢迎广大读者批评指正。读者在 阅读本书的过程中有任何不清楚的问题和批评建议,可以到作者的博客hp;:/ blog. csdn. net/coffeewoo或 hrp:/ coffeewoo. tpub. net留言,或者发邮件到 coffeepot@ gmail!com,作者将尽力给您答疑解惑,您的批评建 议也将鞭策作者做得更好。

...展开详情
试读 127P 大象-thinking in uml
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
  • 签到新秀

    累计签到获取,不积跬步,无以至千里,继续坚持!
关注 私信 TA的资源
上传资源赚积分or赚钱
最新推荐
大象-thinking in uml 38积分/C币 立即下载
1/127
大象-thinking in uml第1页
大象-thinking in uml第2页
大象-thinking in uml第3页
大象-thinking in uml第4页
大象-thinking in uml第5页
大象-thinking in uml第6页
大象-thinking in uml第7页
大象-thinking in uml第8页
大象-thinking in uml第9页
大象-thinking in uml第10页
大象-thinking in uml第11页
大象-thinking in uml第12页
大象-thinking in uml第13页
大象-thinking in uml第14页
大象-thinking in uml第15页
大象-thinking in uml第16页
大象-thinking in uml第17页
大象-thinking in uml第18页
大象-thinking in uml第19页
大象-thinking in uml第20页

试读结束, 可继续阅读

38积分/C币 立即下载 >