第一图书网

基于模式的工程

Lee Ackerman,Celso Gonzalez 机械工业出版社华章公司
出版时间:

2012-10-1  

出版社:

机械工业出版社华章公司  

作者:

Lee Ackerman,Celso Gonzalez  

页数:

290  

译者:

徐波  

Tag标签:

无  

前言

前言:软件开发过程中存在着日益增长且无穷无尽的压力:要求我们更快地完成开发、提出更高质量的解决方案、占用更少的资源。我们可以使用模式,即被证明行之有效的已知问题的最佳实践解决方案,把它作为一种强大的工具帮助迎接这些挑战。但是,如果答案简单如“使用模式就可以了”,你可能已经搞定这些挑战了。使用模式存在复杂性、深度和微妙之处。为了成功地使用模式,需要具备知识、专家技能和指南。并且,我们不仅想成功地使用模式,而且想采用一种可伸缩的、可重复的和可预测的方式。本书介绍了一种称为基于模式的工程(Pattern-Based Engineering,PBE)的方法,提供了怎样成功地在软件开发中吸收和利用模式的指南。我们并不仅仅使用模式,而且包括对模式的思考、评估、创建、革新、协作、抽象、简化、调整、自动化和复用。基于模式的工程PBE是一种基于资产开发的专用方法,它的焦点集中在一种特殊类型的可复用资产即模式上。PBE提供了一种以系统性的、训练有素的和可量化的方法使用模式的指南和支持。通过PBE,公司在使用模式时可以采用多种形式、实现许多用途并采用一些不同的方式。更具体地说,我们关注两种特定类型的模式:模式规范和模式实现。我们使用这两种类型的模式支持软件开发生命周期的设计、测试、部署以及其他方面的工作。在完成这些任务时,我们通过许多方法使用模式,例如文档、生成、重构和收获。结果,我们可以使用模式提高生产率、改进质量、利用专业技能、简化工作和加强公司内部的交流。我们的目标是在使用和创建模式时,能够为我们的项目和公司增加价值并提高敏捷性。PBE的一个重要方面是它超越了技术范畴。项目的成功从来不是仅仅依靠技术就可以的,将来也不会如此。我们需要保证开发团队能够协同工作,知道自己所扮演的角色、需要完成的任务和创建的工作产品并且与他人进行交流。怎样阅读本书本节首先对本书的结构进行概括;然后提供了按照角色阅读本书的指导;最后提出了为最大限度地利用本书,你最好具备的一些背景,并列出了一些学习目标。本书的结构本书分为四部分。第一部分是对PBE的介绍。在第一部分中,第1章定义PBE,而第2章提供了模式实现的一些例子,因为它对于大多数人来说是个新概念,并且是PBE的一个重要方面。第3~7章通过案例研究的形式展示了一个实际的PBE例子。第8章对第一部分进行了总结,讨论了PBE过程方面的内容以及它怎样配合现有的软件开发过程,包括极限编程、Scrum和OpenUP。第二部分以模式和指导方针的形式描述了一些与PBE相关的最佳实践。第9章解释了第二部分的组织形式,并对每个模式和指导方针进行了总结。第10~16章详细描述了模式和指导方针,其中每一章都把注意力集中在一个特定的分类上。第三部分覆盖了一些其他话题,提供了对PBE的更深入的讨论,尤其是非技术方面的讨论。第17章详细描述了PBE的一些优点,而在第18章讨论了PBE的经济因素。第三部分最后的第19章,讨论了在公司内部推广PBE时可能出现的一些误解。第四部分是一组附录,提供了支持材料和参考信息。附录A对主要的PBE定义进行了总结,方便读者快速参考在本书中反复使用的术语和概念。附录B将PBE与其他的软件开发方法进行了比较。附录C提供了可以帮助我们在公司中应用PBE的工具列表。附录D提供了一组PBE模式和指导方针的概括图。附录E提供了在本书的案例研究中所使用的子系统外观模式的模式规范。附录F可以作为第8章的附属读物,增加了许多细节,帮助我们理解PBE实践。要对PBE有一个高层次的理解,读者应该阅读第一部分的所有章节以及第二部分的第9章。这一章提供了PBE模式和指导方针的一个高层总结。为了更深入地理解PBE,读者至少应该仔细阅读一遍PBE模式和指导方针,对它们所解决的问题以及相关联的解决方案有一个更好的理解。如果读者对PBE的一些非技术内容感兴趣,那么第三部分更是不可不读。谁应该阅读本书模式在开发生命周期的整个过程中都会浮现并可以应用,同时可用于多种用途。因此,本书所面向的读者群范围很广,包括:软件架构师、设计人员和开发人员:阅读全书。项目经理:阅读第一部分(至少第1章)和第三部分。过程工程师:阅读全书,重点阅读第8章和附录F。分析师,包括负责测试、需求和业务方面的人员:阅读第一部分,至少阅读第1章。建议的背景为了最大限度地利用本书,我们建议读者对下面这些术语有基本的理解:用Java或C#这样的语言进行面向对象编程模式统一建模语言(Unified Modeling Language,UML)XML学习目标在完成本书的学习之后,读者将能够:描述在交付软件中怎样利用模式。描述PBE所定义的角色、任务、工作产品和最佳实践。描述一些有助于在PBE的有关投资上做出决策的因素,并描述这类决策的预期影响。描述使用模式的价值和用途(包括实现和规范)。成功地确认、指定和实现模式。理解模式适用于所有人和所有项目。本书的意义为什么要写作本书呢?为什么还需要这样一本关于模式的书呢?不是已经有了足够多的这类书籍了吗?一个关于这些问题的答案是我们不想一次又一次地解决相同的问题。事实上,我们在编写软件时已经疲于处理那些机械性的问题和老生常谈的任务。我们渴望创新精神,希望解决新的、独特的问题。我们想利用自动化帮助我们尽量减少甚至避免那些机械性的和老生常谈的任务。回答这些问题的另一个答案是保持热情还不够,具有创新精神也不够,使用工具和自动化也不够。关于这些话题的内容非常多且形式各异,包括各种书籍、课程和文章。但是,我们并没有把这些思路结合在一起。我们需要一种整体的方法,讨论怎样更有策略性、更系统性地使用模式。我们需要能够围绕整个机构对模式的使用进行裁剪,并保证应用了模式的项目具有可预测性和可重复性。可下载的内容本书具有三种相关联的下载资源,下载网站为www.PatternsBasedEngineering.net。这些下载资源包括:在案例研究中所讨论的模式实现的源工件。在Eclipse的过程框架合成器中所使用的用于PBE实践的源插件。由一组HTML页面所组成的已发布的PBE实践配置,可以通过标准浏览器查看。写作风格软件开发是一项团队活动,我们在本书剩余部分中也表现出团队精神。我们坐在一起,讨论怎样在我们的项目中更好地利用模式。

内容概要

本书是目前唯一讲解基于模式的工程(PBE)的专著,由两位具有30余年软件行业从业经验的资深软件工程专家撰写。软件工程领域泰斗、UML之父Grady
Booch亲自作序推荐。本书透彻而系统地阐述了PBE的原理和实践方法,为在软件开发过程中成功地使用各种模式提高开发效率、改进软件质量和交付成功的软件提供了绝佳指导。
本书分为四个部分:第一部分介绍了PBE的定义、模式实现实例,模式的构思、创建、包装和消费,以及PBE与软件开发过程的关系;第二部分详细讲解了PBE模式及其指导方针,包括发现模式、设计模式、创建模式、包装模式、消费模式,以及在模式中使用DSL;第三部分讨论了PBE的优点和在经济方面的考虑,以及软件工程师对它的误解;第四部分是附录,收录了PBE的详细定义、开发方法、相关工具选项、模式和指导方针、子系统外观模式的规范等重要资源和信息。

作者简介

Lee
Ackerman,资深软件工程专家,有30余年软件行业从业经验,对基于模式的工程有非常深刻的研究和认识,在模式、模型驱动开发、XML和SOA等方面也拥有丰富经验。现担任Emphasys
Group 公司的产品副总裁兼CTO,曾担任IBM
SWG竞技项目高级认证IT专家和SOA市场部营销经理,曾利用基于模式的工程的方法帮助IBM改进了Rational软件产品体系的架构和开发方法。
Celso Gonzalez,资深软件工程专家,有30余年软件行业从业经验,IBM
Rational开发团队高级开发人员,对基于模式的工程有非常深刻的研究和认识,在模式、模型驱动开发等方面也拥有丰富经验。一直致力于在全球推广基于模式的工程方法以及该方法本身的演进,不仅在很多大型会议上发表相关的技术演讲,在全球知名刊物上发表相关的技术文章,而且为大量企业提供相关方面的咨询和服务。

书籍目录

译者序
序言
前言
致谢
第一部分 理解PBE
第1章 基于模式的工程的定义
 1.1 基于资产的开发
 1.2 模式
 1.3 工程
 1.4 基于模式的工程
 1.5 使PBE获得成功的模型
  1.5.1 PBE核心价值
  1.5.2 PBE模式和指导方针
  1.5.3 PBE实践
 1.6 PBE结果实例
  1.6.1 服务团队:portlet概念验证
  1.6.2 软件开发商:产品更新
  1.6.3 娱乐行业:增强MDD
  1.6.4 政府:部门之间的集成
 1.7 为什么需要PBE
 1.8 重要定义
  1.8.1 模型
  1.8.2 元模型
  1.8.3 范例
  1.8.4 领域特定语言
 1.9 小结
第2章 模式实现的实例
 2.1 模式实现的类型
 2.2 UML模式实现
  2.2.1 抽象工厂模式
  2.2.2 非循环依赖模式
  2.2.3 服务提供者模式
  2.2.4 主-明细模式
 2.3 模型到模型的模式实现
 2.4 模型到文本的模式实现
  2.4.1 Bean Factory模式实现
  2.4.2 Hibernate模式实现
 2.5 不同实现的组合使用
 2.6 小结
第3章 案例研究简介
 3.1 概述
 3.2 与团队的会面
 3.3 Oslec的开发过程
 3.4 计划概述
 3.5 案例研究路线图
 3.6 小结
第4章 迭代0:构思
 4.1 开始
 4.2 PBE焦点
 4.3 LogoAuction应用程序的需求
  4.3.1 功能性需求
  4.3.2 LogoAuction的域模型
  4.3.3 非功能性需求
 4.4 架构详述
  4.4.1 LogoAuction的逻辑架构
  4.4.2 LogoAuction的部署架构
  4.4.3 LogoAuction数据架构
 4.5 记录所使用的模式
 4.6 机会确认
 4.7 评估候选模式
 4.8 小结
第5章 迭代1:创建模式
 5.1 启动迭代
 5.2 设计子系统外观模式
  5.2.1 理解子系统外观模式的本质
  5.2.2 子系统外观范例
 5.3 创建子系统外观模式规范
 5.4 创建子系统外观模式的实现
  5.4.1 创建JET组件
  5.4.2 实现模式的UML前端
  5.4.3 测试完整的模式实现
 5.5 小结
第6章 迭代2:模式的包装
 6.1 启动迭代
 6.2 把子系统外观模式应用于新的子系统
 6.3 包装模式
  6.3.1 创建模式的文档
  6.3.2 创建模式包装
 6.4 使模式可以被复用
  6.4.1 模式元数据
  6.4.2 模式评审过程
 6.5 小结
第7章 迭代3:模式的消费
 7.1 启动迭代
 7.2 在一个新子系统中使用这个模式
  7.2.1 安装模式实现
  7.2.2 把模式应用于用户管理子系统
  7.2.3 提供模式的反馈
 7.3 对拍卖项管理子系统进行重构以应用模式
 7.4 小结
第8章 PBE和软件开发过程
 8.1 PBE实践简介
 8.2 场景中的PBE角色和任务
 8.3 PBE实践起步
 8.4 在自己的过程中利用PBE实践
  8.4.1 Scrum
  8.4.2 OpenUP
  8.4.3 极限编程
 8.5 小结
第二部分 PBE模式和指导方针
第9章 PBE模式和指导方针简述
 9.1 模式和指导方针与PBE的其他元素之间的关系
 9.2 PBE模式和指导方针导航
  9.2.1 第10章:基础
  9.2.2 第11章:发现模式
  9.2.3 第12章:设计模式
  9.2.4 第13章:创建模式
  9.2.5 第14章:包装模式
  9.2.6 第15章:在模式中使用领域特定语言
  9.2.7 第16章:消费模式
 9.3 小结
第10章 基础模式和指导方针
 10.1 模式
  10.1.1 贯穿始终的模式使用
  10.1.2 分块式模式创建
  10.1.3 简单解决方案空间
  10.1.4 单模式-变化的用例
 10.2 指导方针
  10.2.1 域驱动的模式
  10.2.2 模式搜索
 10.3 小结
第11章 发现模式
 11.1 模式
  11.1.1 反面模式
  11.1.2 模式机会
  11.1.3 重复解决方案
 11.2 指导方针
  11.2.1 确定业务影响
  11.2.2 模式描述
  11.2.3 模式收获
  11.2.4 更新现有的模式
 11.3 小结
第12章 设计模式
 12.1 模式
  12.1.1 复合模式
  12.1.2 范例分析
  12.1.3 中间相遇模式的设计
  12.1.4 模式实现
 12.2 指导方针
  12.2.1 受限的可变点
  12.2.2 模式创建生命周期
  12.2.3 模式实现的可扩展性
  12.2.4 团队模式实现的使用
 12.3 小结
第13章 创建模式
 13.1 模式
  13.1.1 模型到模型的模式实现
  13.1.2 模型到文本的模式实现
  13.1.3 UML模式实现
 13.2 指导方针
  13.2.1 模式实现的自动创建
  13.2.2 模式规范
  13.2.3 模式测试
 13.3 小结
第14章 包装模式
 14.1 模式
  14.1.1 嵌入式模式实现指南
  14.1.2 可供应的模式实现
 14.2 指导方针
  14.2.1 创建模式文档
  14.2.2 创建模式关系文档
  14.2.3 使模式文档容易访问
  14.2.4 把相关的模式包装在一起
  14.2.5 模式的包装
  14.2.6 模式的版本
  14.2.7 在模式文档中使用模型
 14.3 小结
第15章 在模式中使用领域特定语言
 15.1 模式
  15.1.1 DSL模型模板
  15.1.2 集成模式和DSL
 15.2 指导方针
  15.2.1 创建DSL
  15.2.2 设计DSL
  15.2.3 DSL中有意义的图标
 15.3 小结
第16章 消费模式
 16.1 指导方针
  16.1.1 用模式交流设计
  16.1.2 用模式设计解决方案
  16.1.3 模式的密度
  16.1.4 需求驱动的模式选择
  16.1.5 用模式进行重构
  16.1.6 大范围模式优先
  16.1.7 使用资产库
  16.1.8 使用模式定义理解现有的解决方案
  16.1.9 使用模式寻找模式
 16.2 小结
第三部分 其 他 话 题
第17章 PBE的优点
 17.1 提高生产率
  17.1.1 复用
  17.1.2 模式的组合
  17.1.3 模式实现
 17.2 改进质量
 17.3 促进交流
 17.4 更好地利用技能和专家知识
 17.5 加强管理
 17.6 小结
第18章 PBE的经济考虑
 18.1 PBE的关键经济因素
 18.2 模式的来源
  18.2.1 模式的选择标准
  18.2.2 模式来源的建议
 18.3 PBE的采用
 18.3.1 工具
  18.3.2 方法改进
  18.3.3 培训
  18.3.4 文化改变
  18.3.5 模式的获取成本
  18.3.6 模式的支持成本
  18.3.7 模式的开发成本
 18.4 模式实现
 18.5 PBE项目
  18.5.1 系统集成商
  18.5.2 IT公司
  18.5.3 独立软件开发商
 18.6 小结
第19章 PBE的误解
 19.1 PBE抹杀了创造力
 19.2 PBE引入了项目风险
 19.3 模式确认并不适合所有人
 19.4 模式应该在任何时候、任何场合使用
 19.5 PBE过分形式化
 19.6 PBE只用于设计
 19.7 PBE只用于前向工程
 19.8 关联之罪
 19.9 PBE需要特定开发商的工具
 19.10 小结
第四部分 附  录
附录A PBE定义
附录B PBE和其他开发方法
附录C PBE的工具选项
附录D PBE模式和指导方针
附录E 子系统外观模式的规范
附录F PBE实践介绍
参考书目和资源

章节摘录

第1章 基于模式的工程的定义万事开头难。从哪里开始呢?是不是已经具备了必要的专业技能?能不能按时完成项目?项目的质量能否符合要求?项目中的每个人是否遵循了最佳实践?开发团队在使用和完善他们的技能时是否有机会展现他们的创造力?是不是真正明白和理解了需求?作为软件工程师,不论是开发全新的项目还是维护遗留应用程序,我们都会向自己提出这些问题。这些问题的答案常常并不是我们所喜欢的。在项目开始时,我们常常会开玩笑说又要错过最后期限了,并对能否完成任务感到焦虑。经验告诉我们,前方的道路将充满困难和挫折。就像Grady Booch所说的:“软件开发过去是、现在是、将来仍然是一项非常困难的工作。”

媒体关注与评论

本书介绍了一种新的软件工程方法——基于模式的工程,这种方法为软件工程师更好地应用已有的各种模式提供了一种新的思路。随着我们积累的模式越来越多,理解和掌握如何在软件开发生命周期的各个环节正确地应用模式已经变得十分重要。—— Kyle Brown IBM Software Group杰出工程师,《Persistence in the Enterprise》作者Lee和Celso在本书中所提供的指导意见可以解决困扰许多软件工程师的难题。本书将坚实的理论与实用的案例结合在一起,可以为学习PBE的软件工程师提供很好的指导。—— Gregory Hodgkinson 软件工程专家(在软件生命周期相关的工具和方法领域成就卓著)自从GoF的名著《设计模式:可复用面向对象软件的基础》问世之后,软件中的设计模式已经成为一种通过最佳实践解决某些特定问题的伟大方式。这本书对如何管理公司内部的设计模式以及如何编写最佳实践提供了极为实用的建议。—— Dave Hendricksen Thomson-Reuters公司软件架构师Lee和Celso为所有软件开发机构提供了一本极具参考价值的参考书,它提出了一种新的软件工程方法——基于模式的工程(PBE)。本书通过颇具价值的研究案例及其详细分析,充分阐述了如何管理和使用企业已经存在的各种模式。作为软件工程师,我们应该理解使用模式的必要性和好处。PBE提供了一个框架,可以极大地提高生产率,并提高企业内部的模式的可复用性。—— Davie Sweis Robert Bosch LLC公司解决方案架构师Lee和Celso在交付密集型软件系统方面具有丰富的行业经验。在本书中,他们将自己在该领域所掌握的最佳实践和方法毫无保留地引入交付密集型软件系统的工程实践中,并且通过扩展案例进一步演示了如何系统地应用这些实践和方法。本书为使用基于模式的工程的系统总结了大量最佳模式和反面模式。随着密集型软件系统的复杂度和重要性的不断增加,作为软件工程师,我们的责任就是交付高质量的系统。这本书将帮助你在这条道路上顺利前行。—— Grady Booch 软件工程领域泰斗、UML之父


编辑推荐

《基于模式的工程:软件开发过程中的模式使用指南》系统而透彻地阐述了基于模式的工程(PBE)的原理和实践方法,为在软件开发过程中成功地使用各种模式提高开发效率、改进软件质量和交付成功的软件提供了绝佳指导。资深软件工程专家撰写,软件工程领域泰斗、UML之父Grady Booch亲自作序推荐!

名人推荐

本书介绍了一种新的软件工程方法——基于模式的工程,这种方法为软件工程师更好地应用已有的各种模式提供了一种新的思路。随着我们积累的模式越来越多,理解和掌握如何在软件开发生命周期的各个环节正确地应用模式已经变得十分重要。—— Kyle Brown IBM Software Group杰出工程师,《Persistence in the Enterprise》作者Lee和Celso在本书中所提供的指导意见可以解决困扰许多软件工程师的难题。本书将坚实的理论与实用的案例结合在一起,可以为学习PBE的软件工程师提供很好的指导。—— Gregory Hodgkinson 软件工程专家(在软件生命周期相关的工具和方法领域成就卓著)自从GoF的名著《设计模式:可复用面向对象软件的基础》问世之后,软件中的设计模式已经成为一种通过最佳实践解决某些特定问题的伟大方式。这本书对如何管理公司内部的设计模式以及如何编写最佳实践提供了极为实用的建议。—— Dave Hendricksen Thomson-Reuters公司软件架构师Lee和Celso为所有软件开发机构提供了一本极具参考价值的参考书,它提出了一种新的软件工程方法——基于模式的工程(PBE)。本书通过颇具价值的研究案例及其详细分析,充分阐述了如何管理和使用企业已经存在的各种模式。作为软件工程师,我们应该理解使用模式的必要性和好处。PBE提供了一个框架,可以极大地提高生产率,并提高企业内部的模式的可复用性。—— Davie Sweis Robert Bosch LLC公司解决方案架构师Lee和Celso在交付密集型软件系统方面具有丰富的行业经验。在本书中,他们将自己在该领域所掌握的最佳实践和方法毫无保留地引入交付密集型软件系统的工程实践中,并且通过扩展案例进一步演示了如何系统地应用这些实践和方法。本书为使用基于模式的工程的系统总结了大量最佳模式和反面模式。随着密集型软件系统的复杂度和重要性的不断增加,作为软件工程师,我们的责任就是交付高质量的系统。这本书将帮助你在这条道路上顺利前行。—— Grady Booch 软件工程领域泰斗、UML之父

图书封面

图书标签Tags

广告

下载页面


基于模式的工程 PDF格式下载



好书,提供软件的设计方法。


书中介绍了软件模板的设计方法,平时工作较难遇见。


更深层次剖析了设计模式在软件工程中的应用


相关图书