



以下步骤概括了模式开发过程。
分析目标领域
确定环境,分析再现问题,并找到再现样本解决方案。对于更复杂问题的解决方案可能会涉及多个模式。分析目标领域,以获得输入、输出(您试图生成的东西),及可变点(输入应该留给用户的东西,以及模式应该提供的东西)的清晰定义。模式描述了以前做过的事情,因此,收集您想要生成的产品的真实实例,以及最佳实践。
设计配方
确定问题的最佳解决方案,以及设计的固有且实际的入口点。找出开始时可用的信息是什么,每个阶段需要的是什么。生成每个阶段将要发生的事情的概要。
实现模式
到此,您已经定义了一系列设计活动,并且了解了入口点和退出点处的信息内容。对于每个模式都有一个模式实现,它是一种类型的 micro-tool,可以用来推进个别的模式应用程序。需要建立调用环境来提供配置、触发和执行模式的应用的机制。对于模式实现的一个关键决策点是确定是否将输出表示为模型还是文本。
打包及部署
一旦开发了模式实现,就需要为了发布,及适合预期用户团体的文档,将结果打包。应该考虑将可复用资产规范(Reusable Asset Specification,RAS)与 RAS 存储库一同使用。
对模式实现的技术选择取决于输入和输出的特性。目标是生成一组解决方案工件(Java 源文件、XML 文件等),利用输入模型(UML 模型、XML schema 实例等)来指导所生成工件的自定义。该目标经常用连续的“应用模式”步骤增量地实现,生成更接近最终解决方案的中间模型。
模式本来就是独立于技术的,因此没有限制哪些技术可以用来实现模式。设想是构建 micro-tools,它们要能够:
- 跨团体重现
- 作为可复用资产分布,并且存储在存储库中
- 很容易地集成到整个开发环境中,并且与其他工具能够很好地协作
许多 meta-tooling 技术能够符合不同的需求。
Design Pattern Toolkit (DPTK)/JET2
- 根据可定制的,“模型到文本”的转换生成应用程序的模板引擎
- 特性样本分析工具,模板编辑器
寻找更多关于 Design Pattern Toolkit (DPTK)/JET2的信息。
Rational 软件设计及构造工具(RSx)
Rational Software Architect 和 Rational Software Modeler(RSx)建立在 Eclipse 的基础上,为更专用的基于模式的 micro-tool 开发提供充足的环境。Rational Software Architect 提供了将设计和构造自动化的内嵌框架。
-
Rational Software Architect Patterns Framework: 通过简单地定义模式、模式参数,并实现代码来编写模式。在单个模型及相同抽象层中应用模式是很容易的,且可以通过拖拽及绑定模式参数来可视化地完成。Rational Software Architect 还提供 Pattern Explorer View,该视图可以让您连接到其他模式存储库去导入附加的模式。
-
Rational Software Architect Transform Framework:编写您自己的转换。转换与模式不同,因为转换是跨源模型、模型,及不同的抽象层来应用的,转换为其他工件(代码、脚本、其他模型)。Rational Software Architect 包含了转换(UML to Java、UML to EJB、Java to UML)。
- Pluglets、建模框架、RAS 框架
在 Rational 专区寻找更多关于软件开发工具的信息。
一般都将输入作为模型。当一个没有对应的模型的文本文件必须用作输入时,需要首先进行语法分析,并且放入适当的模型中。关键的决策点是确定模式实现将要生成的是什么工件或输出。
- 模型:修改输入模型,或由输入模型生成新的模型
- 文本:由输入模型生成工件,例如代码、脚本、描述符、数据文件
如果您的模式实现生成UML 模型作为输出:
使用 RSx 模式和转换
-
使用 RSx 模式如果原地扩展模式的话,为您的模式使用具有简单、交互性的,可拖放的,图形介面的 RSx 模式,其中,问题和解决方案区域是相同的 UML 模型。向模型中添加细节。
-
使用 RSx 转换如果输入参数不能在 RSx Patterns 框架中表示出来,或者如果执行其他跨模型或源模型的模型到模型的模式,那么就使用 RSx 转换。RSx 转换可以以标准的方式由较抽象的工件生成较详细的软件工件(包括 UML to UML、UML to Java、UML to EJB)。
使用 RSx 的另一种方案
在任何可能的地方使用 RSx 中的生产工具。如果不能使用 RSx 时,考虑这些选择:
附加的参考资料
如果您的模式实现生成文本作为输出:
使用 DPTK/JET2 模式和转换
- RSx 转换支持 Model2Text,但是不予推荐,因为太复杂,并且不便于复用。当不允许 DPTK 时,使用带有 JET1 的 RSx。
- 默认情况下,应该将工件作为文本处理(而不是模型)并且用 JET2 来生成/操纵工件。
- 如果您的输入模型已经是文本格式的,或者输入模型是已经接近于转换所需的 EMF 模型的形式,那么就选择 JET2。
- 如果输入模型是 UML 的,或是带有转换所不需要的重要内容的 EMF 模型,那么就开发一个 RSx 转换,从输入模型中抽取恰当的信息,放入直接匹配转换需求的中间文本或 EMF 模型中,并使用 JET2。
该图展示了 DPTK/JET2 框架视图。
在此您可以看到 DPTK/JET2 代码视图。
附加的参考资料
可重用资产规范资产
模式开发的一个重要方面是采用标准的方法来组织、描述,及对资产打包。可重用资产规范(Reusable Asset Specification,RAS),作为 2004 年的 OMG 标准,定义了一种标准的方法来描述并将可复用的软件资产打包。可重用资产为已知环境的问题提供解决方案,并且它拥有可以由资产消费者定制的可变点。
每个可重用资产都必须包括:
工件可以是:
良好的资产应该拥有:
RAS 是可扩展的
附加的参考资料
Rational Software Architect
Rational Software Architect 使您将资产打包为 RAS 资产,从而浏览、搜索、导入,并导出 RAS 资产存储库中存储的资产。
使用 Rational® Software Architect 来连接 developerWorks 上面的 RAS 存储库。
使用 Asset Explorer 浏览 developerWorks 存储库中的资产。定位并导入您想应用的模式资产。
选择 Pattern Explorer 中的模式。
创建 UML 模型,应用一个或多个模式,并指定模式参数。
运行转换,将模型变换为工件(代码、脚本、文档)。
|