出版时间:2006-5 出版社:机械工业出版社 作者:拉曼 页数:500 译者:李洋,郑䶮
Tag标签:无
前言
感谢你阅读本书!我提供问题解答、咨询或培训等服务(在OOA/D、UML、建模、迭代和敏捷方法等方面),欢迎访问我的网站www.craiglarman.com。本书是面向对象分析和设计(OOA/D)的实用指南,并且阐述了迭代开发相关方面的内容。我很高兴地看到本书的第1版和第2版在全世界范围内得到广泛认可。我衷心地感谢所有读者!通过阅读本书,你将会有如下收益:第一,对象技术已广泛地应用在软件开发中,掌握OOA/D对创建健壮、可维护的对象系统至关重要。
内容概要
本书英文版面世以来,广受业界专家和读者的好评,历经3个版本的锤炼,吸收了大量OOA,D的精华思想和现代实践方法。全书叙述清晰、用词精炼、构思巧妙,将面向对象分析设计的概念、过程、方法、原则和个人的实践建议娓娓道来,以实例为证,将软件的分析和设计的过程叙述得如逻辑推理一般,于细节处见真知。 本书是一本经典的面向对象分析设计技术的入门书,适用范围广泛,从初学者到有一定对象技术知识但希望进一步提高开发水平的中级读者,甚至是资深的专业人员,都可以从本书获益匪浅,同时,本书也适合作为高等院校相关课程的教材和各类培训班的辅导教材。 作者简介: Craig Larman,Valtech公司首席科学家,Valtech是一家领先的跨国技术咨询公司,在美国、欧洲和亚洲都有分支机构。他是国际软件界知名的专家和导师,专长为OOA/D与设计模式、敏捷/迭代方法、统一过程的敏捷途径和UML建模。除本书外,他还著有畅销的《Agile and lterative Development:A Manager's Guide》(敏捷迭代开发,该书影印版由机械工业出版社引进出版)一书,并且与Rhett Guthrie合著了《Java 2 Performance and ldiom Guide》一书。Larman是ACM和IEEE会员,拥的计算机科学学士和硕士学位。他的中文网站是www.craiglarman.cn。
书籍目录
译者序序前言第一部分 绪论 第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么是敏捷方法及其观点 2.7 什么是敏捷建模 2.8 什么是敏捷UP 2.9 UP的其他关键实践 2.10 什么是UP的阶段 2.11 什么是UP科目 2.12 如何定制过程和UP开发案例 2.13 判断你是否理解迭代开发或UP 2.14 历史 2.15 参考资料 第3章 案例研究 3.1 案例研究中涵盖的内容 3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会创建的制品 4.4 何时知道自己并不了解初始阶段 4.5 初始阶段中有多少UML 第5章 进化式需求 5.1 定义:需求 5.2 进化式需求与瀑布式需求 5.3 寻找需求可以采用的方法 5.4 需求的类型和种类 5.5 UP制品如何组织需求 5.6 本书是否包含这些制品的示例 5.7 参考资料 第6章 用例 6.1 示例 6.2 定义:参与者、场景和用例 6.3 用例和用例模型 6.4 动机:为什么使用用例 6.5 定义:用例是功能性需求吗 6.6 定义:参与者的三种类型 6.7 表示法:用例的三种常用形式 6.8 示例:详述风格的处理销售 6.9 各小节的含义 6.10 表示法:有其他格式吗?两栏变体 6.11 准则:以无用户界面约束的本质风格编写用例 6.12 准则:编写简洁的用例 6.13 准则:编写黑盒用例 6.14 准则:持有参与者和参与者目标的视点 6.15 准则:如何发现用例 6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22 历史 6.23 参考资料 第7章 其他需求 7.1 如何完成这些示例 7.2 准则:初始阶段是否应该对此彻底地进行分析 7.3 准则:这些制品是否应该放在项目Web站点上 7.4 NextGen示例:(部分)补充性规格说明 7.5 注解:补充性规格说明 7.6 NextGen示例:(部分)设想 7.7 注解:设想 7.8 NextGen示例:(部分)词汇表 7.9 注解:词汇表(数据字典) 7.10 NextGen示例:业务规则(领域规则) 7.11 注解:领域规则 7.12 过程:迭代方法中的进化式需求 7.13 参考资料 第三部分 细化迭代1—基础第四部分 细化迭代2—更多模式第五部分 细化迭代3——中级主题第六部分 其他主题参考文献术语表
媒体关注与评论
实践之旅――评《UML和模式应用》 李洋 多年来,无数软件开发的实践者都怀揣着一个梦想,希望软件开发像设计和构造建筑一样,即能够优雅和艺术地设计,又可以精准和稳定地实施。基于这样的理想,实践者们不断艰辛地开拓,从而涌现出大量方法和理论。其中引导当今软件开发的、最令人瞩目的莫过于直观反映实现世界的面向对象思想、描绘软件蓝图的UML、易于付诸实践的敏捷过程和有效复用的设计模式等。 然而,这些理论的博大精深往往会使学习者怯而止步或迷失方向。例如,人们在阅读了大量面向对象的书籍之后,却在实践中忽略了最为本质的内涵;在了解了敏捷过程的思想之后,却不知从何入手;在学习了UML语法和语义后,却迷失于表象,等等。这些现象都反映出了学习途径上的缺失,即缺乏可遵循和模仿的实践之路。 社会学习理论认为,学习的产生是通过模仿过程获得的。如果存在一些实际项目案例,能够综合应用这些理论知识,并加以深刻的刨析,那么学习者就可以获得模仿的样本,从而在自己的项目实践中加以模仿、思考并升华。 〈UML和模式应用》正是一本这样的书,值得我们置于案头,随时参考采撷。 Craig Larman以其对面向对象思想和软件过程的深刻理解,加之其数十载的项目和教学经验,使得本书对概念和理论进行精确阐述的同时,又能够给出完整深入的学习案例。并且,正是有了贯穿全书的两个实际软件开发项目,才使得面向对象分析与设计、UML、模式、敏捷过程等理论知识以生动和实用的方式呈现在读者面前。 读者在阅读本书过程中,既能够获取大量准确深入的理性知识,又同时会得到对这些知识的大量感性认识。例如,文中有大量迭代精化的用例,可以让读者感受到有效用例的内容与形式,通过什么样的活动来逐步形成这样的用例,用例的本质是什么等等。再如,文中介绍了大量敏捷过程的活动形式,包括包装盒设计、投票表决、白板和数据相机的使用等等,这些活动或技巧看似简单,却往往是我们容易忽视的,并且是在我们束手无策时能够行之有效的方法。 这些实际案例正是我们可以模仿并用于实践的,同时也使读者更易于理解和感受表象背后的原理。随着作者的深入阐述和我们在模仿中的思考,我们将会更容易掌握灵活运用的方法。作者正是通过这样一条实践之旅,帮助读者更容易掌握软件开发的方法。 此外,许多大师级人物都对本书有过赞誉之辞,但更为可贵的是,Craig Larman并没有止步于前,而是不断吸收软件领域新兴并被验证过的知识,继续丰富和修订了本书的内容。本书第三版较之前的版本而言,更加务实并更为准确,尤其是吸收了敏捷思想,并结合于统一过程之中,使得这一实践之旅更具有现实意义。 总而言之,获得一本让人茅塞顿开的书籍实为不易,但正如Martin Fowler大师所说“人们经常问我,对于介绍OO设计而言,哪本书最好?在遇到〈UML和模式应用》之后,我毫无保留地选择了它”。 串起珍珠的项链 - 评 〈UML和模式应用》第三版 陶达其 面向对象技术无疑是当今最为流行的软件设计方法,而且在今后的很长一段时间内,都将是占据业界的主流.正因为如此,几乎每位程序员都有过曾经学习面向对象设计思想经历或者正在开始学习面向对象思想. 不知道各位是如何开始的面向对象之旅,我记得我学习面向对象编程是从C++ 编程思想开始第一步的,可以说从实践中摸索.之后更加深入学习便是从GoF的那本设计模式 可以说很多人都是从同样的学习过程中走过来的。如果你也刚刚开始学习面向对象的理论,那太好了,不必在像我一样“摸石过桥”, 从我建议你放下手中的其它书籍,跑到书店,先买一本 最新的〈UML和模式应用》第三版(以下简称 〈U模》3),因为只有这样,你才能更快更好的理解面向对象的精髓,才能更加游刃有余的把OO思想运用到实践中。 本书被包括Martin Fowler等无数大师评价为OO设计的最佳入门书籍,从亚马逊的众多读者评论上,我们也可以清晰地看出这一点,初学者刚刚开始学习面向对象的时候,常常容易被时髦的技术吸引,设计模式,重构,UML,敏捷编程,分析模式,每一种技术好像都像是面向对象技术上的一个珍珠,当我们努力学习了这一切所有技术,认为自己终于修炼完毕,成为“面向对象”的武林高手了。 然而当我们接触到真实世界的案例的时候,却发现自己甚至不能动手开工,因为自己根本不知道从那里开始,不知道把现实的需求变成OO代码应该遵循什么样的流程,不知道如何进行系统分析,不知道开发应遵循什么样的项目流程,虽然我们每项技术都很熟练。这是因为我们的知识缺少了一个系统的结构,这些技术珍珠缺少一个将他们串在一起的一个链子。 Craig Larman 〈U模》3的就是起了这样一个关键的角色,它像一根链子一样把各种面向对象技术有机的结合起来,让你的知识结构成为完整的一体。 读者在读这本书的时候,隐约会有一种空虚的感觉,因为书中没有深入介绍某一种具体的技术。 而是围绕着两个“NextGen POS系统” 和 “Monopoly游戏系统”的案例,从需求分析循序渐进的开始,经过一次次的迭代,渐入的引入了需求分析,用例模型 领域模型,设计模式,重构,迭代开发 等几乎全部的面向对象知识。读者随着作者的这个案例最终完成,也把自己的面向对象 的技术从头到尾来了一遍“三军大演习”,真正的在实战中从项目开始到代码完成演练了一个完整的案例. 值得一提的是:虽然本书赞誉不断,作者Craig Larman却没有因此而停步不前,从本书的第一版到第三步, 作者一直不遗余力地大幅度更新书的内容. 从书的副标题可以清晰的看出这一点. 1. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design (1e) 2. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2e) 3. Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development (3e) 软件工程界一直是活跃的,不断有新的思想迸发,Craig Larman 深知这一点,每一次更新,不仅对前一版进行更正和改进,并且加入最新的软件工程的技术,使得本书一直紧跟时代。 第三版的更是加入了敏捷思想和迭代开发,使得本书不仅含有经典的OO 分析,还包含了最新流行的OO分析技术和项目管理成果. 对这本书的介绍,多为最佳的OO入门教科书,其实这本书远远不止入门这么简单,书中涉及了众多的技术,用例技术,需求获取,领域模型,设计模式,UML,签约式编程,GRASP 模式,敏捷建模等等,而且运用了一个实例有机结合了起来,我想即使对每种技术都很熟悉的OO开发人员,对如何把这些技术联系起来也缺少系统的知识,这本书就能起到这样的作用.并且本书并不是像教科书那样说教,作者Craig Larman围绕实例来说明问题,给读者以感性上的认识。 在〈U模》3当中,处处闪现着充满了智慧的简约明言,这些大多是作者对多年软件开发的精髓的体会和感悟,我在读这本书的时候经常会被这样语句拍案叫绝。:比如 (1)分析和设计被概括为:做正确的事(分析),正确的做事(设计)。 (2)最关键的软件开发工具是受过良好设计原则训练的思维,而不是UML或任何其他技术 这样的句子在排版上都被粗体字或者方框标示,阅读的时候碰到这样句子,你就要提醒自己多读两遍,然后仔细地体会一下这些软件开发的至理名言,相信你也会被作者生动而精辟的描写而打动的. 可能很多读者在读完这本书感到很不过瘾,因为书中对太多技术均有涉及,不可能对每种技术进行深入的探讨,Craig Larman 也看到了这点, 在每一章的最后,都有供读者进一步深入的书籍列表.对于国内已经引进的书籍译者都体贴地加以了注释。当然 Craig Larman 推荐的书都是每个领域响当当权威之作,读者如果想深入了解某一方面的主体,不需要去网上搜索,只需按图索骥便可,在我看来,单单这份书单,就已经赚回这本书一半的价格了. 从第一版到第三版,这本经典著作机械工业出版社都已经引进了,不过直到第三版,封面才改成了跟英文原版相同经典的封面,不像前面两版,使用系列书籍雷同的页面,很容易淹没在良莠不齐的丛书当中,本书还有配套的中文站点在上面你可以找到丰富教学资料和Craig Larman 的其他文章. 〈U模》3译者的翻译中规中矩,建议大家阅读中文版,毕竟中文的阅读速度远远大于英文。 还是开头的那段话,如果你现在正在学习OO技术,希望你先拿起〈U模》3这根黄金项链,然后再去采摘其他珍珠,然后把这些珍珠一个个串到这根项链上。如果你已经学习了很多OO技术,也请你拿起这本书,把这些你这些散乱的珍珠,用〈U模》3串成一个完整的项链,最终完成自己的OO珍珠项链。
编辑推荐
《UML和模式应用(原书第3版)》的结构和重点建立在作者多年教授和培训成千上万学生掌握OOA/D的经验之上,它提供了一个精炼的、已证明的和高效率的掌握OOA/D的学习方法。 “人们经常问我,介绍OO设计的最佳图书是哪一本。读过《UML和模式应用(原书第3版)》之后,我毫无保留地选择了它。” ——Martin Fowler,《UML Distilled》和《Refactoring》的作者 “这一版体现了Larman一贯的风格,精确且富有思想,确实是一本上乘之作。” ——Alistair Cockburn,《Writing Effective Use Cases》和《Surviving OO Projects》的作者 “很少有人拥有解释事物的技巧,拥有软件分析和设计能力的人就更少了,但Craig Larman同时拥有这两种能力。” ——John Vlissides,《Design Patterns》和《Pattern Hatching》的作者 · 享誉世界的崭新版本,面向对象分析与设计及UML的介绍。 · 全面升级到UML 2和最新的迭代/敏捷实践。 · 增加了全新的案例研究,阐述了大量关键思想。 《UML和模式应用(原书第3版)》介绍了“对象思想”,并在实际的面向对象分析和设计中应用了这一思想,即如何以对象进行思考和设计,以及如何创建精致、健壮和可维护的系统。 开发者和学生可以通过贯穿全书的两个案例研究的三个迭代来学习面向对象分析和设计(OOA/D),这两个案例研究增量地介绍了关键技能、OO的本质原则和模式、UML表示法和最佳实践。读者不仅可以从中学习到UML图,更重要的是可以学习到如何在OO软件开发环境下应用UML。 · 享誉世界的崭新版本,面向对象分析与设计及UML的介绍。 · 全面升级到UML 2和最新的迭代/敏捷实践。 · 增加了全新的案例研究,阐述了大量关键思想。 无论对于专业人士还是教师来说,本书都堪称世界一流。书中介绍了“对象思想”,并在实际的面向对象分析和设计中应用了这一思想,即如何以对象进行思考和设计,以及如何创建精致、健壮和可维护的系统。 开发者和学生可以通过贯穿全书的两个案例研究的三个迭代来学习面向对象分析和设计(OOA/D),这两个案例研究增量地介绍了关键技能、OO的本质原则和模式、UML表示法和最佳实践。读者不仅可以从中学习到UML图,更重要的是可以学习到如何在OO软件开发环境下应用UML。 基于广受赞誉的前两版,本版进行了修订,充分反映了新的UML 2标准,提倡了具有高度影响的、迭代的和有效的敏捷建模实践,有助于读者掌握对象设计,理解进化式需求和用例、领域对象建模、职责驱动设计、OO设计本质、分层架构、“四人帮”设计模式、GRASP、迭代方法、UP的敏捷途径等。该版本的主要改进包括: · 更专注于帮助读者掌握OOA/D,通过案例研究论述了关键的OO原则和模式,同时还应用了UML。 · 涵盖了UML 2、敏捷建模、测试驱动开发和重构。 · 针对迭代和进化式开发与OOA/D的结合增加了大量技巧。 · 更加易于学习,引入了新的学习帮助和插图。 · 增加了新的教学资源。 · 对以轻量和敏捷精神应用UP给予了指导,补充了诸如XP和Scrum等其他迭代方法。 · 增加了应用UML对架构进行文档化的技术。 · 对进化式需求增加了新的章节。
图书封面
图书标签Tags
无
评论、评分、阅读与下载