MDA与可执行UML
[特价中]
基本信息
- 作者: (美)Chris Raistrick,Paul Francis,John Wright等 [作译者介绍]
- 译者: 赵建华 张天 等
- 出版社:机械工业出版社
- ISBN:7111183711
- 上架时间:2006-4-24
- 出版日期:2006 年4月
- 开本:16开
- 页码:323
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > UML
内容简介回到顶部↑
书籍
计算机书籍
本书以rational统一软件开发过程(rational unified process)为框架,描述了使用xuml的mda开发方法在特定的软件开发过程中的应用。本书是作者多年的软件开发经验的总结,通过本书,读者可以学习到什么是模型驱动体系结构、如何使用可执行建模增强mda、什么是xuml、如何建立xuml模型、如何通过对pim的映射来完成代码生成过程,以及如何动态建模、如何使用xuml来表示这种映射等内容。相对于一些mda理论研究的书籍,本书具有更好的实用性,对可执行建模的技术细节进行更为详尽的介绍。作者在本书中给出的很多方法、思想可以直接应用到软件开发实践(包括不使用mda方法的开发过程)中去。作者以书中包含的多个实例揭示了mda这个革命性软件开发方法的各种优点,并指明了利用这些优点的方法。.
本书对于所有研究大中型软件项目开发方法未来发展趋势的人都是一个极好的参考,也适合作为高等院校计算机专业本科和研究生的参考书。..
本书以独特的视角讨论了软件开发中的一项革命性技术,即使得模型规约可以被完全、高效地转换成为代码的技术。读者将学会如何使用影响广泛的软件建模语言uml,基于omg的模型驱动的体系结构来建立强;隆的软件规约。作者还描述了把可执行uml(xuml)模型转换成任意的平台相关实现时所需要的步骤。这个方法的好处不仅能减少或者消除编码阶段,它还保证了平台无关性,使模型免于过时(程序设计语言可能改变,但是模型不会),并且,允许通过在一个支持测试—排错的xuml环境中执行模型而对模型进行完全的验证。
本书的作者们都是书中描述的技术和过程的富有经验的实践者。他们曾经在各种行业中参与了这些实践,这些行业包括国防、航天、汽车、电信、政府、医疗保健、保险、过程控制等。他们见证了面向对象、可执行建模和模型驱动的体系结构的各种各样的能力。他们曾经和客户一起把可执行建模和代码生成技术应用到各种系统中去。从多年的第一手经验中他们认识到,可执行建模和代码生成非常有用。他们也了解如何充分使用这些技术,以及需要注意的问题。本书正是用这些实践经验描绘了技术细节。对于那些正在思考大中型项目软件开发技术未来发展方向的人,本书是一个非常好的参考。...
计算机书籍
本书以rational统一软件开发过程(rational unified process)为框架,描述了使用xuml的mda开发方法在特定的软件开发过程中的应用。本书是作者多年的软件开发经验的总结,通过本书,读者可以学习到什么是模型驱动体系结构、如何使用可执行建模增强mda、什么是xuml、如何建立xuml模型、如何通过对pim的映射来完成代码生成过程,以及如何动态建模、如何使用xuml来表示这种映射等内容。相对于一些mda理论研究的书籍,本书具有更好的实用性,对可执行建模的技术细节进行更为详尽的介绍。作者在本书中给出的很多方法、思想可以直接应用到软件开发实践(包括不使用mda方法的开发过程)中去。作者以书中包含的多个实例揭示了mda这个革命性软件开发方法的各种优点,并指明了利用这些优点的方法。.
本书对于所有研究大中型软件项目开发方法未来发展趋势的人都是一个极好的参考,也适合作为高等院校计算机专业本科和研究生的参考书。..
本书以独特的视角讨论了软件开发中的一项革命性技术,即使得模型规约可以被完全、高效地转换成为代码的技术。读者将学会如何使用影响广泛的软件建模语言uml,基于omg的模型驱动的体系结构来建立强;隆的软件规约。作者还描述了把可执行uml(xuml)模型转换成任意的平台相关实现时所需要的步骤。这个方法的好处不仅能减少或者消除编码阶段,它还保证了平台无关性,使模型免于过时(程序设计语言可能改变,但是模型不会),并且,允许通过在一个支持测试—排错的xuml环境中执行模型而对模型进行完全的验证。
本书的作者们都是书中描述的技术和过程的富有经验的实践者。他们曾经在各种行业中参与了这些实践,这些行业包括国防、航天、汽车、电信、政府、医疗保健、保险、过程控制等。他们见证了面向对象、可执行建模和模型驱动的体系结构的各种各样的能力。他们曾经和客户一起把可执行建模和代码生成技术应用到各种系统中去。从多年的第一手经验中他们认识到,可执行建模和代码生成非常有用。他们也了解如何充分使用这些技术,以及需要注意的问题。本书正是用这些实践经验描绘了技术细节。对于那些正在思考大中型项目软件开发技术未来发展方向的人,本书是一个非常好的参考。...
作译者回到顶部↑
本书提供作译者介绍
Chris Raistrick Kennedy Carter有限公司(www.kc.com)的项目工程管理服务主管。自1989年起,Chris主要致力于将面向对象方法应用于具有战略重要性的系统的开发中。他为电信、汽车、分布式控制、嵌入式系统、卫生保健等部门的客户提供咨询服务。Chris有长达5年的将UML成功应用于许多项目的实践经验。他在可执行建模、组件集成和代码生成技术领域发表过多篇具有开创性的论文,并曾在所有关于UML、OMG和嵌入式系统的主流会议上作过技术报告。.
Paul Francis Kennedy Carter有限公司(www.kc.com)的.. << 查看详细
Paul Francis Kennedy Carter有限公司(www.kc.com)的.. << 查看详细
目录回到顶部↑
译者序.
前言
致谢
作者简介
第1章引论
1.1为什么需要读这本书
1.2从本书将会学到什么
1.3我们为什么写关于mda和uml的书
1.4什么是模型驱动体系结构
1.5omg简介
1.6软件方法的历史,通往mda之路
1.7什么是可执行uml(xuml)
1.8本书结构
1.9怎样阅读本书
第2章可执行模型驱动体系结构
2.1概述
2.2mda背景——软件工程和过程
2.3模型驱动体系结构
2.4可执行uml
2.5过程改进的需要
前言
致谢
作者简介
第1章引论
1.1为什么需要读这本书
1.2从本书将会学到什么
1.3我们为什么写关于mda和uml的书
1.4什么是模型驱动体系结构
1.5omg简介
1.6软件方法的历史,通往mda之路
1.7什么是可执行uml(xuml)
1.8本书结构
1.9怎样阅读本书
第2章可执行模型驱动体系结构
2.1概述
2.2mda背景——软件工程和过程
2.3模型驱动体系结构
2.4可执行uml
2.5过程改进的需要
译者序回到顶部↑
模型驱动的体系结构(Model Driven Architecture,MDA)是由OMG提出并且大力倡导的软件开发方法。在这种软件开发方法中,一系列不同抽象层次的系统模型成为软件开发过程的主要产品。这些模型被划分为两个较大的抽象层次:平台无关模型(Platform Independent Model,PIM)和平台相关模型(Platform Specific Model,PSM)。PIM描述了待开发系统的行为需求,但是不涉及如何在具体的平台上实现这个系统;PSM包含了所有在PIM中表示的功能,并添加了针对实现平台的设计因素。在MDA开发方法中,开发人员的主要工作是全面精确地描述系统的PIM,并根据特定的模型转换规则集合由PIM自动转换得到PSM。.
MDA的好处之一是将系统的业务需求和实现技术分离开来。一方面,PIM的设计者可以专注于系统的业务逻辑,不需要考虑具体的实现技术。最终的系统通过模型转换规则自动生成。当实现平台发生变化时,只需要应用新的转换规则就可以从PIM重新生成新平台上的PSM,从而完成系统的移植;另一方面,有关系统实现的知识被表示为模型转换规则。这些规则和系统的业务逻辑无关,同样的转换规则可以被应用到不同的系统开发工作中。这些转换规则本身也成为了可复用的企业财富。MDA方法还可以带来多种其他好处,比如更好的可复用性、易理解性、更高的软件质量、较低的软件开发费用等。
UML是一个被广泛采用的,用以表示面向对象系统的各个方面的标准符号系统(www.omg.org/uml)。自UML被推出以来,它已经被工业界广泛接受为标准的建模语言。但是,UML的语义不是十分精确,难以满足MDA开发中模型自动转换的要求。可执行UML(xUML)对UML进行了扩充和改进。一方面,xUML用动作规约语言(ASL)对UML进行扩充,使开发人员可以精确地描述模型,并得到可执行的PIM;另一方面,xUML选取了UML表示法的一个子集,使得建模过程更加简洁明了。可执行建模可以使得模型更加精确,更加容易测试。..
本书的作者以Rational统一软件开发过程(Rational Unified Process)为框架,描述了使用xUML的MDA开发方法在特定的软件开发过程中的应用。本书可以被看作是作者多年的软件开发经验的总结。相对于一些MDA理论研究的书籍,本书具有更好的实用性。作者在本书中给出的很多方法、思想可以被直接应用到软件开发实践(包括不使用MDA方法的开发过程)中去。作者以书中(包括随书光盘中)包含的多个实例揭示了MDA这个革命性软件开发方法的各种优点,并指明了利用这些优点的方法。
本书很适合那些试图了解软件开发方法新进展的读者阅读。虽然当前MDA开发方法还没有普及,但是它体现出的生命力,以及OMG的巨大影响力,必然会使得MDA被越来越多的人接受。虽然将来的MDA方法的具体细节可能和本书中的一些描述不同,但是MDA的基本思想是不会变的。预先了解这个方法,以及这个方法背后的思想,是很有好处的。
本书的引进出版首先由我的导师郑国梁教授提议。郑老师多年来一直从事软件开发方法的研究,对这个方面有着深刻的理解。他选择这本书,说明这本书是值得大家仔细阅读的。在其后的翻译工作中,他还给我们提出了很多很好的指导和建议,对于提高本书的翻译质量有很好的帮助。在此我们表示感谢。参加本书翻译工作的还有:姜泉、杨璐、肖舒、雷斌、陈铭松、吴光、龚嘉宇。他们也为本书的翻译做出了很重要的贡献,在此一并表示感谢。
由于我们的知识水平和翻译水平的限制,翻译不当之处在所难免,请读者批评指正。...
赵建华 张天
MDA的好处之一是将系统的业务需求和实现技术分离开来。一方面,PIM的设计者可以专注于系统的业务逻辑,不需要考虑具体的实现技术。最终的系统通过模型转换规则自动生成。当实现平台发生变化时,只需要应用新的转换规则就可以从PIM重新生成新平台上的PSM,从而完成系统的移植;另一方面,有关系统实现的知识被表示为模型转换规则。这些规则和系统的业务逻辑无关,同样的转换规则可以被应用到不同的系统开发工作中。这些转换规则本身也成为了可复用的企业财富。MDA方法还可以带来多种其他好处,比如更好的可复用性、易理解性、更高的软件质量、较低的软件开发费用等。
UML是一个被广泛采用的,用以表示面向对象系统的各个方面的标准符号系统(www.omg.org/uml)。自UML被推出以来,它已经被工业界广泛接受为标准的建模语言。但是,UML的语义不是十分精确,难以满足MDA开发中模型自动转换的要求。可执行UML(xUML)对UML进行了扩充和改进。一方面,xUML用动作规约语言(ASL)对UML进行扩充,使开发人员可以精确地描述模型,并得到可执行的PIM;另一方面,xUML选取了UML表示法的一个子集,使得建模过程更加简洁明了。可执行建模可以使得模型更加精确,更加容易测试。..
本书的作者以Rational统一软件开发过程(Rational Unified Process)为框架,描述了使用xUML的MDA开发方法在特定的软件开发过程中的应用。本书可以被看作是作者多年的软件开发经验的总结。相对于一些MDA理论研究的书籍,本书具有更好的实用性。作者在本书中给出的很多方法、思想可以被直接应用到软件开发实践(包括不使用MDA方法的开发过程)中去。作者以书中(包括随书光盘中)包含的多个实例揭示了MDA这个革命性软件开发方法的各种优点,并指明了利用这些优点的方法。
本书很适合那些试图了解软件开发方法新进展的读者阅读。虽然当前MDA开发方法还没有普及,但是它体现出的生命力,以及OMG的巨大影响力,必然会使得MDA被越来越多的人接受。虽然将来的MDA方法的具体细节可能和本书中的一些描述不同,但是MDA的基本思想是不会变的。预先了解这个方法,以及这个方法背后的思想,是很有好处的。
本书的引进出版首先由我的导师郑国梁教授提议。郑老师多年来一直从事软件开发方法的研究,对这个方面有着深刻的理解。他选择这本书,说明这本书是值得大家仔细阅读的。在其后的翻译工作中,他还给我们提出了很多很好的指导和建议,对于提高本书的翻译质量有很好的帮助。在此我们表示感谢。参加本书翻译工作的还有:姜泉、杨璐、肖舒、雷斌、陈铭松、吴光、龚嘉宇。他们也为本书的翻译做出了很重要的贡献,在此一并表示感谢。
由于我们的知识水平和翻译水平的限制,翻译不当之处在所难免,请读者批评指正。...
赵建华 张天
前言回到顶部↑
计算机软件业的历史就是将抽象层次分层的历史。从早年在曼彻斯特和费城紧随第一个存储程序计算机而出现的软件工具被发明开始,毫无疑问,同其他工程学科一样,控制系统复杂度的惟一方法就是建立多个抽象层,而每层都给出对其下一层次的简洁的描述。.
第一种存储程序描述——我们称之为汇编语言程序——本质上是与底层实现结构一一对应的(比如,曼彻斯特的EDSAC的指令集结构)。人们很快就发现,降低编程复杂度对开发复杂的系统至关重要。由于这些系统的复杂性,人们必须对其复杂性进行抽象。甚至在EDSAC被制造并投入运行之前,为了简化编程,人们就开发了第一个后来被称为“宏汇编器”的工具和第一个连接/装载器。
从Wheeler和Wilkes的最早期工作开始,到高级编程语言(1959年的FORTRAN和Lisp,它们同时带来了软件移植性的概念)的发明,直到Algol语言中明确提出数据抽象的概念,软件行业找到了问题的“正交性”。从本质上讲,通过抽象的方法去掉软件开发中的某些复杂性,我们几十年来一直在尝试的就是将软件开发任务简化为描述“业务流程”,而将与描述流程不必然相关的代码编制的复杂度最小化。
20世纪90年代,“中间件”系统得到广泛应用,它们隐藏了IT开发任务中各种困难的复杂度(事务完整性、持久性存储、名字空间和目录服务等等),同时保证了易移植性和互操作性。过去曾经有人引用过我的话,因为我把中间件定义为“没人愿意付费的软件”,因为开发者必须假定不管平台如何选择,中间件都是无所不在的,而用户通常不愿为这样的基础设施层付费。不过,这些关键(且难以设计)的实现服务包已经非常普遍,并成为软件抽象的下一步。
当然,对于一个给定的系统设计,所有抽象层次上的描述都是等价的;只是(我们认定)高层描述更容易理解且更充分展示了程序员所期望的业务功能。那么我们如何从一个抽象层转到另一个层次呢?通过转换机制;这些系统设计(我们称之为系统模型)间的转换通常被称之为“编译”和“解释”。..
本书讨论了另一个描述系统的抽象层,这是一个强大的且经过检验的抽象层。本质上,这只是另一个编译阶段,但是它却最终让我们弥补了系统设计和系统实现之间的差异,一劳永逸地给了我们梦寐以求的软件蓝图的圣杯:一种可以使我们抛开系统的实现、编程语言的选择、指令集结构、网络拓扑结构等诸如此类的问题,直接去定义系统体系结构的能力。自从OMG的MDA(Model-Driven Architecture)方法出现以来,它在实际的IT和嵌入式系统的开发中被一次又一次地证明是有效的。
那么,为什么MDA没有风行全球?其实从某种意义上说它已经做到了:OMG的统一建模语言(UML)和相关模型转换以及文本式的描述语言MOF和XMI已经在很短的时间内很快成为软件建模领域的通用混合语言。从1997年UML被采纳为OMG标准起到20世纪末,UML根本上代替了所有现存的面向对象建模语言(比如OMT、Booch和OOSE)。我们需要的是下一个步骤:促使人们认同这个观点,即建模必须是软件开发流程的一部分。建模不仅和需求分析、系统和软件设计有关,还支持软件实现、单元测试、系统测试、长期系统维护和集成等过程。
这就要求观念上的改变,而改变本身就需要很好的信息来源以及为基于模型的方法建立系统的训练。在你手中的这本书正好是第一步,它对模型驱动体系结构的目标和期望作了清楚的描述。更重要的是,它还给出了理解MDA并将其用于工作实践的翔实指导。在阅读本书时,不要期望看到其中隐藏了一个革命性进展;虽然生产效率的提高(而且支持可重用性、易移植性和互操作性)将使MDA成为你的得力开发工具,你还是应该仅仅把MDA看作是另外一层抽象,把MDA工具看成是编译器。
这只是软件开发工具发展过程中的另一次很自然的进步,但你会很喜欢这个进步!...
Richard Mark Soley博士
对象管理组(Object Management Group,Inc)
中国湖北武汉
第一种存储程序描述——我们称之为汇编语言程序——本质上是与底层实现结构一一对应的(比如,曼彻斯特的EDSAC的指令集结构)。人们很快就发现,降低编程复杂度对开发复杂的系统至关重要。由于这些系统的复杂性,人们必须对其复杂性进行抽象。甚至在EDSAC被制造并投入运行之前,为了简化编程,人们就开发了第一个后来被称为“宏汇编器”的工具和第一个连接/装载器。
从Wheeler和Wilkes的最早期工作开始,到高级编程语言(1959年的FORTRAN和Lisp,它们同时带来了软件移植性的概念)的发明,直到Algol语言中明确提出数据抽象的概念,软件行业找到了问题的“正交性”。从本质上讲,通过抽象的方法去掉软件开发中的某些复杂性,我们几十年来一直在尝试的就是将软件开发任务简化为描述“业务流程”,而将与描述流程不必然相关的代码编制的复杂度最小化。
20世纪90年代,“中间件”系统得到广泛应用,它们隐藏了IT开发任务中各种困难的复杂度(事务完整性、持久性存储、名字空间和目录服务等等),同时保证了易移植性和互操作性。过去曾经有人引用过我的话,因为我把中间件定义为“没人愿意付费的软件”,因为开发者必须假定不管平台如何选择,中间件都是无所不在的,而用户通常不愿为这样的基础设施层付费。不过,这些关键(且难以设计)的实现服务包已经非常普遍,并成为软件抽象的下一步。
当然,对于一个给定的系统设计,所有抽象层次上的描述都是等价的;只是(我们认定)高层描述更容易理解且更充分展示了程序员所期望的业务功能。那么我们如何从一个抽象层转到另一个层次呢?通过转换机制;这些系统设计(我们称之为系统模型)间的转换通常被称之为“编译”和“解释”。..
本书讨论了另一个描述系统的抽象层,这是一个强大的且经过检验的抽象层。本质上,这只是另一个编译阶段,但是它却最终让我们弥补了系统设计和系统实现之间的差异,一劳永逸地给了我们梦寐以求的软件蓝图的圣杯:一种可以使我们抛开系统的实现、编程语言的选择、指令集结构、网络拓扑结构等诸如此类的问题,直接去定义系统体系结构的能力。自从OMG的MDA(Model-Driven Architecture)方法出现以来,它在实际的IT和嵌入式系统的开发中被一次又一次地证明是有效的。
那么,为什么MDA没有风行全球?其实从某种意义上说它已经做到了:OMG的统一建模语言(UML)和相关模型转换以及文本式的描述语言MOF和XMI已经在很短的时间内很快成为软件建模领域的通用混合语言。从1997年UML被采纳为OMG标准起到20世纪末,UML根本上代替了所有现存的面向对象建模语言(比如OMT、Booch和OOSE)。我们需要的是下一个步骤:促使人们认同这个观点,即建模必须是软件开发流程的一部分。建模不仅和需求分析、系统和软件设计有关,还支持软件实现、单元测试、系统测试、长期系统维护和集成等过程。
这就要求观念上的改变,而改变本身就需要很好的信息来源以及为基于模型的方法建立系统的训练。在你手中的这本书正好是第一步,它对模型驱动体系结构的目标和期望作了清楚的描述。更重要的是,它还给出了理解MDA并将其用于工作实践的翔实指导。在阅读本书时,不要期望看到其中隐藏了一个革命性进展;虽然生产效率的提高(而且支持可重用性、易移植性和互操作性)将使MDA成为你的得力开发工具,你还是应该仅仅把MDA看作是另外一层抽象,把MDA工具看成是编译器。
这只是软件开发工具发展过程中的另一次很自然的进步,但你会很喜欢这个进步!...
Richard Mark Soley博士
对象管理组(Object Management Group,Inc)
中国湖北武汉
评论交流
共有15人开贴评论 16人参与评论 15人参与打分 查看
评价等级:
发表于:2011-8-12 12:26:00
MDA是最近几年开始兴起的设计方法论,和一般的技术不同。该书从业务建模层面阐述了在软件开发中我们应该专注的核心点。用模型化的思想去构建系统和平常的构建系统有天壤之别,这也是MDA模型架构师的特点,如果你在软件开发中仅仅是关注技术点,从来没有从方法论的层面去考虑系统的架构,在读本书的时候你会感觉很一般,只是做为一种新的知识来看待。
其实这是一种已经存在的设计方法,是一种思维的设计理念,只有在领悟了面向对象的方法论后,知道了其的优缺点后,才能真正的看懂MDA方法论。
本书表面上是在讲可执行XML,什么工具,实际是一种思维的阐述。
MDA模型架构师全国很少,
其实这是一种已经存在的设计方法,是一种思维的设计理念,只有在领悟了面向对象的方法论后,知道了其的优缺点后,才能真正的看懂MDA方法论。
本书表面上是在讲可执行XML,什么工具,实际是一种思维的阐述。
MDA模型架构师全国很少,
| 我要写评论 |
| 查看所有评论交流(共15条) |








点击看大图




加载中...
